44
55AgentCode 是一个面向 AI Coding / Agent 时代的工程能力训练平台。
66
7- 它不是传统 LeetCode,也不再主要训练“手写算法题”。AgentCode 想训练的是 AI 时代真正重要的能力:
8-
9- 1 . 借助 AI / Agent 完成真实开发任务。
10- 2 . 审核 AI / Agent 生成的代码,判断它是否可以合并。
7+ 它不是传统 LeetCode,也不再主要训练“手写算法题”。AgentCode 训练的是 AI 时代更重要的工程能力:借助 AI / Agent 完成真实开发任务,并审核 AI / Agent 生成的代码是否可以合并。
118
129一句话定位:
1310
@@ -21,355 +18,35 @@ AgentCode 是一个面向 AI Coding / Agent 时代的工程能力训练平台。
2118
2219AI 时代已经来了,但很多企业仍然在用传统 LeetCode 的方式考察工程师。
2320
24- 我们花了大量时间去刷 Hot100,反复训练手写算法题。可是在真实工作里,尤其是在 AI Coding 和 Coding Agent 越来越强的今天,这种训练和工程交付之间的距离越来越远。
25-
26- 在过去,也许我们没有太多选择。写代码本身很贵,工程师的能力常常被简化成“你能不能自己把代码写出来”。所以刷题、背题、手写算法,成了很多人进入行业前必须消耗的时间。
27-
28- 但 AI 时代不应该继续这样。
29-
30- AI 时代真正稀缺的能力,不只是手写代码,而是:
31-
32- - 能不能把需求拆成清晰、可执行的工程任务。
33- - 能不能驱动 AI / Agent 把任务做到可交付。
34- - 能不能看懂 AI 写出来的代码到底对不对。
35- - 能不能发现隐藏 bug、边界条件、兼容性问题和安全风险。
36- - 能不能判断一个 PR 是否真的可以进入主分支。
37- - 能不能补上真正有价值的测试,而不是只让测试数量变多。
38- - 能不能像高级工程师一样,对 AI 生成的代码负责。
39-
40- 这就是我做 AgentCode 的原因。
41-
42- 我希望它成为一个新的练习场:不是继续训练大家机械地刷算法题,而是帮助大家练习 Agent 时代真正需要的技能。希望每个使用它的人,都能成为 Agent 时代的 AgentCoder。
43-
44- ## 产品方向
45-
46- 传统刷题平台主要问:
47-
48- > 你能不能自己写出正确代码?
49-
50- AgentCode 要问的是:
51-
52- > 你能不能用 AI 把任务做到可交付?
53-
54- 以及:
55-
56- > 你能不能识别 AI 写出来的代码到底能不能上线?
57-
58- V0 版本先做两个入口:
59-
60- - ** Task Mode** :用 AI 完成真实工程任务。
61- - ** Review Mode** :审核 AI / Agent 生成的 PR。
62-
63- V0 不做传统算法 Hot100,不做复杂社区、竞赛、排行榜,也不先做完整在线 IDE。第一阶段先把 20 道高质量题做好,让产品方向足够清晰。
64-
65- V0 的质量标准不是功能数量,而是前 20 道题是否足够真实、可复现、可评分,并且明显区别于传统刷题。
66-
67- ## V0 架构决策
68-
69- AgentCode 应该先做成一个 ** 题目资产 + 提交评估 + AI PR 审核** 平台,而不是一个完整在线 IDE。
70-
71- 用户可以在平台外使用 Cursor、Claude Code、Codex、Copilot、ChatGPT 或其他 AI 工具。AgentCode 负责定义题目、管理题库资产、接收提交、执行评估、返回反馈,并训练用户的工程判断力。
72-
73- V0 推荐从聚焦的单体架构开始。最重要的边界不是微服务拆分,而是:
74-
75- > 平台可信代码 和 用户提交的不可信代码 必须隔离。
76-
77- 推荐的 V0 架构分三层:
78-
79- 1 . ** 题目资产层**
80- - 存储 Task Mode 和 Review Mode 题目。
81- - 每道题都可版本化、可复现。
82- - Task Mode 题目包含初始仓库、任务说明、公开测试、隐藏测试和参考解法。
83- - Review Mode 题目包含 AI 生成的 PR / diff、答案要点、评分 rubric 和讲解。
84-
85- 2 . ** 产品体验层**
86- - 提供题目列表、题目详情、任务说明、提交入口和结果页。
87- - Task Mode 支持 patch、GitHub PR URL 或 repo URL 提交。
88- - Review Mode 提供 diff 阅读界面和结构化 review 提交表单。
89-
90- 3 . ** 评估层**
91- - 在隔离容器里运行 Task Mode 提交。
92- - 将用户改动应用到初始仓库。
93- - 运行安装、lint、测试、隐藏测试和题目专属校验。
94- - 用 rubric 对 Review Mode 答案进行结构化评分。
95-
96- 这个架构能让 V0 足够可落地,同时保留产品最核心的判断:AgentCode 评估的是交付能力和审核判断力,而不是打字速度。
97-
98- ## 核心题型
99-
100- ### Task Mode:任务完成题
101-
102- Task Mode 给用户一个真实工程任务。
103-
104- 典型流程:
105-
106- 1 . 用户打开一道题。
107- 2 . 平台提供 repo、issue、约束条件和验收标准。
108- 3 . 用户在本地或自己熟悉的 AI Coding 工具里完成任务。
109- 4 . 用户提交 patch、PR URL 或 repo URL。
110- 5 . AgentCode 自动评估并返回结果。
111-
112- Task Mode 训练的是:
113-
114- - 理解需求。
115- - 驱动 AI / Agent 完成开发。
116- - 安全地修改代码。
117- - 补充或调整测试。
118- - 识别并修复 AI 生成代码里的问题。
119- - 最终交付一个可合并的结果。
120-
121- 示例题目方向:
122-
123- - 修复一个真实 bug。
124- - 实现一个小 feature。
125- - 优化慢查询。
126- - 修复缓存不一致。
127- - 补充缺失测试。
128- - 重构一段复杂代码。
129- - 修复异步任务重复执行。
130- - 实现 rate limit。
131- - 增加参数校验。
132- - 修复分页边界问题。
133-
134- ### Review Mode:AI PR 审核题
135-
136- Review Mode 给用户一个由 AI / Agent 生成的 PR 或 diff。
137-
138- 用户需要判断:
139-
140- - 这个 PR 能不能 merge?
141- - 如果不能,问题在哪里?
142- - AI 有没有只做表面修复?
143- - 有没有隐藏 bug?
144- - 有没有边界条件遗漏?
145- - 有没有破坏兼容性?
146- - 有没有安全、性能、并发问题?
147- - 测试是不是看起来很多,但没有覆盖真正风险?
148- - 代码是不是过度工程、逻辑重复、不可维护?
149-
150- Review Mode 训练的是判断 AI 生成代码的能力,而不是让用户从零重写一遍。
151-
152- 示例题目方向:
153-
154- - AI PR 看似修复了 bug,但漏掉边界条件。
155- - AI PR 通过了现有测试,但破坏了兼容性。
156- - AI PR 增加了功能,但缺少权限校验。
157- - AI PR 测试很多,但没有测到核心风险。
158- - AI PR 修复性能问题,但引入数据不一致。
159- - AI PR 改动过大,风险不可控。
160- - AI PR 逻辑重复、不可维护。
161- - AI PR 修复了前端展示,但后端数据仍然错误。
162- - AI PR 引入并发问题。
163- - AI PR 是一个合格改动,用户需要判断可以合并。
164-
165- ## 核心数据模型
21+ 我们花了大量时间刷 Hot100,反复训练手写算法题。过去也许没有太多选择,但 AI 时代不应该继续这样。AI 时代真正稀缺的能力,不只是手写代码,而是需求拆解、AI 协作交付、代码审核、风险判断、测试设计和合并决策。
16622
167- V0 的领域模型可以保持简单:
23+ 这就是 AgentCode 想做的事情:提供一个新的练习场,让大家练习 Agent 时代真正需要的技能,成为 Agent 时代的 AgentCoder。
16824
169- - ** User**
170- - 用户身份、资料、进度和提交记录。
25+ ## 核心入口
17126
172- - ** Challenge**
173- - Task Mode 和 Review Mode 共用的题目实体。
174- - 字段包括 title、slug、mode、difficulty、tags、status、version、estimated time。
27+ - ** Task Mode** :使用 AI 完成真实工程任务。
28+ - ** Review Mode** :审核 AI / Agent 生成的 PR,判断是否可以合并。
17529
176- - ** ChallengeAsset**
177- - 指向初始仓库、diff、测试、rubric、fixtures、参考答案等题目资产。
30+ ## 文档
17831
179- - ** TaskSubmission**
180- - Task Mode 的用户提交。
181- - 记录 patch、repo URL、commit SHA、运行状态、分数和结果摘要。
32+ - [ 项目初心] ( ./docs/zh/vision.md )
33+ - [ 产品方向] ( ./docs/zh/product-direction.md )
34+ - [ V0 架构] ( ./docs/zh/architecture.md )
35+ - [ 评估设计] ( ./docs/zh/evaluation.md )
36+ - [ 首批题库规划] ( ./docs/zh/challenges.md )
37+ - [ V0 执行计划] ( ./plan.md )
38+ - [ English] ( ./README_en.md )
18239
183- - ** EvaluationRun**
184- - Task Mode 的一次评估执行。
185- - 记录 runner image、命令、日志、测试结果、超时和最终 verdict。
40+ ## 当前阶段
18641
187- - ** ReviewSubmission**
188- - Review Mode 的用户答案。
189- - 记录 merge decision、findings、severity、affected files、解释和得分。
190-
191- - ** ReviewRubric**
192- - 记录必需发现项、可接受表达、严重程度权重、误报规则和参考解释。
193-
194- - ** Progress**
195- - 记录完成题目、尝试次数、最佳分数和 review 准确率。
196-
197- ## 题库资产结构
198-
199- 题目应该作为版本化内容放在仓库里,而不是只存在数据库中。
200-
201- 推荐结构:
202-
203- ``` text
204- content/
205- challenges/
206- task/
207- fix-pagination-boundary/
208- challenge.yaml
209- prompt.md
210- repo/
211- tests/
212- public/
213- hidden/
214- solution.patch
215- explanation.md
216- review/
217- ai-pr-missing-permission-check/
218- challenge.yaml
219- prompt.md
220- base.diff
221- ai-pr.diff
222- rubric.yaml
223- explanation.md
224- ```
225-
226- ` challenge.yaml ` 定义题目元信息和执行配置:
227-
228- ``` yaml
229- id : fix-pagination-boundary
230- mode : task
231- title : Fix pagination boundary behavior
232- difficulty : medium
233- tags :
234- - backend
235- - testing
236- - edge-case
237- runtime :
238- image : node:22
239- install : npm install
240- test : npm test
241- limits :
242- timeoutSeconds : 120
243- ` ` `
244-
245- 这种结构让题目可 review、可迁移、可复现。
246-
247- ## 评估设计
248-
249- ### Task Mode 评估
250-
251- Task Mode 以确定性检查为主:
252-
253- - patch 能否干净应用。
254- - 项目能否成功安装。
255- - lint / typecheck 是否通过。
256- - 原有测试是否通过。
257- - 公开测试是否通过。
258- - 隐藏测试是否通过。
259- - 题目专属行为校验是否通过。
260- - 是否存在硬编码、绕测试等明显作弊方式。
261-
262- 结果应尽量透明:
263-
264- - ` accepted`:通过必需检查。
265- - ` failed` :测试或校验失败。
266- - ` needs_review` :自动检查通过,但题目需要人工或 rubric 进一步判断。
267-
268- LLM 可以作为辅助反馈层,用来检查可疑 patch、硬编码修复或可维护性问题。但 LLM 不应该替代确定性测试和 rubric。
269-
270- # ## Review Mode 评估
271-
272- Review Mode 使用结构化 rubric 评分:
273-
274- - merge decision 是否正确。
275- - 是否找到必需问题。
276- - 严重程度判断是否合理。
277- - 影响范围是否准确。
278- - 解释质量是否足够。
279- - 是否有误报。
280- - 是否漏掉核心风险。
281-
282- V0 中,rubric 是评分的事实来源。LLM 可以辅助归一化自由文本答案,但不能成为唯一裁判。
283-
284- # # 推荐技术架构
285-
286- V0 可以采用实用的 monorepo:
287-
288- ` ` ` text
289- apps/
290- web/ # Next.js 产品 UI
291- worker/ # 评估 runner worker
292- packages/
293- db/ # Prisma schema 和数据库访问
294- evaluator/ # 共享评估逻辑
295- ui/ # 共享 UI 组件
296- challenge/ # 题目加载与校验工具
297- content/
298- challenges/ # 版本化题库资产
299- ` ` `
300-
301- 推荐技术栈:
302-
303- - **Web**:Next.js + TypeScript。
304- - **Database**:Postgres。
305- - **ORM**:Prisma。
306- - **Auth**:优先 GitHub OAuth,可使用 Clerk、Auth.js 或其他简单托管方案。
307- - **Queue**:BullMQ、Inngest、Trigger.dev 或托管队列。
308- - **Runner**:V0 使用 Docker 隔离 worker。
309- - **Storage**:S3 / R2 等对象存储,用于 patch、日志和评估产物。
310- - **Diff UI**:Monaco Editor、CodeMirror 或专门的 diff viewer。
311-
312- 最重要的工程边界是 runner。用户提交的是不可信代码,执行时必须有隔离、超时、网络限制、资源限制和干净 workspace。
313-
314- V0 的题目技术栈也应保持收敛。先用 TypeScript、React、Node.js 证明核心循环,再扩展更多语言和框架。
315-
316- # # MVP 范围
317-
318- V0 应包含:
319-
320- - 题目列表。
321- - Task Mode 题目页。
322- - Review Mode 题目页。
323- - patch 或 PR URL 提交。
324- - Task Mode 自动评估。
325- - Review Mode 结构化评分。
326- - 带可执行反馈的结果页。
327- - 添加题目的 admin / content 工作流。
328- - 20 道高质量种子题。
329-
330- V0 不做:
331-
332- - 传统算法题库。
333- - 完整在线 IDE。
334- - 浏览器终端。
335- - 社交信息流。
336- - 复杂讨论系统。
337- - 竞赛。
338- - 公开排行榜。
339- - 公司面试题 marketplace。
340- - 重型 AI tutor 流程。
341- - 完整查重系统。
342- - 宽泛多语言支持。
343-
344- 这些可以在核心循环被证明有效之后再做。
345-
346- # # 首批 20 道题
347-
348- 初始内容目标:
42+ V0 先聚焦 20 道高质量题:
34943
35044- 10 道 Task Mode。
35145- 10 道 Review Mode。
35246
353- 题目质量比数量更重要。每道题都应该有明确工程教训、真实失败模式、确定性资产和清晰讲解 。
47+ 暂不做传统算法 Hot100、复杂社区、竞赛、排行榜和完整在线 IDE。第一阶段最重要的是题目质量、评估可信度和 AI 时代工程能力训练闭环 。
35448
35549## 品牌
35650
357- 仓库:
358-
359- - ` agentcode`
360-
361- 域名:
362-
363- - ` agentcoder.codes`
364-
365- 英文定位:
366-
367- > Practice real coding work in the AI agent era.
368-
369- 中文定位:
370-
371- > 练习 Agent 时代真正需要的工程能力。
372-
373- 核心判断:
374-
375- > 当 AI 让写代码越来越便宜,判断代码能不能安全上线会越来越重要。
51+ - 仓库:` agentcode `
52+ - 域名:` agentcoder.codes `
0 commit comments