Skip to content

Commit cb081c9

Browse files
committed
docs: reorganize product documentation
1 parent dc253a6 commit cb081c9

13 files changed

Lines changed: 848 additions & 683 deletions

README.md

Lines changed: 19 additions & 342 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44

55
AgentCode 是一个面向 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

2219
AI 时代已经来了,但很多企业仍然在用传统 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

Comments
 (0)