|
1 | 1 | # AgentCode |
2 | 2 |
|
3 | | -[English](./README_en.md) |
| 3 | +<p align="center"> |
| 4 | + <strong>AI Agent 时代的工程能力训练场。</strong> |
| 5 | +</p> |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + <a href="./README_en.md">English</a> |
| 9 | + · |
| 10 | + <a href="./challenges/review/001-sympy-point2d-ai-patch/README.zh.md">试做第一题</a> |
| 11 | + · |
| 12 | + <a href="./docs/zh/product-direction.md">产品方向</a> |
| 13 | + · |
| 14 | + <a href="./plan.md">V0 Roadmap</a> |
| 15 | +</p> |
| 16 | + |
| 17 | +<p align="center"> |
| 18 | + <img alt="Status" src="https://img.shields.io/badge/status-V0%20Prototype-111827?style=flat-square"> |
| 19 | + <img alt="Modes" src="https://img.shields.io/badge/modes-Task%20%2B%20Review-2563eb?style=flat-square"> |
| 20 | + <img alt="Stack" src="https://img.shields.io/badge/stack-Next.js%20%2B%20TypeScript-000000?style=flat-square"> |
| 21 | + <img alt="Challenge first" src="https://img.shields.io/badge/focus-real%20engineering%20judgment-16a34a?style=flat-square"> |
| 22 | +</p> |
| 23 | + |
| 24 | +AgentCode 不是另一个 LeetCode。 |
| 25 | + |
| 26 | +它面向的是 AI Coding / Agent 时代更稀缺的工程能力:把真实需求拆成可交付的代码变更,驱动 AI 工具完成实现,补上关键测试,并判断一个 AI 生成的 PR 到底能不能合并。 |
4 | 27 |
|
5 | | -AgentCode 是一个面向 AI Coding / Agent 时代的工程能力训练平台。 |
| 28 | +> LeetCode 训练你写代码。AgentCode 训练你交付代码,并审核 AI 写的代码。 |
6 | 29 |
|
7 | | -它不是传统 LeetCode,也不再主要训练“手写算法题”。AgentCode 训练的是 AI 时代更重要的工程能力:借助 AI / Agent 完成真实开发任务,并审核 AI / Agent 生成的代码是否可以合并。 |
| 30 | +## 为什么值得做 |
8 | 31 |
|
9 | | -一句话定位: |
| 32 | +AI 已经改变了工程师写代码的方式,但很多训练和面试仍然停留在手写算法题。真实工作里更常见的问题是: |
10 | 33 |
|
11 | | -> 练习 Agent 时代真正需要的工程能力。 |
| 34 | +- AI 给出的修复看起来能跑,但有没有漏掉边界条件? |
| 35 | +- PR 加了很多测试,但测试是否真的覆盖了核心风险? |
| 36 | +- 需求能不能被拆成小而安全的变更? |
| 37 | +- 什么时候应该继续让 Agent 改,什么时候应该自己接管? |
| 38 | +- 一个改动通过了 lint 和单测,是否仍然存在安全、兼容性、并发或可维护性问题? |
12 | 39 |
|
13 | | -更直接地说: |
| 40 | +AgentCode 想提供一个新的练习场:不刷打字速度,不堆算法套路,而是练习 Agent 时代真正需要的工程判断力。 |
14 | 41 |
|
15 | | -> LeetCode 训练你写代码。AgentCode 训练你交付代码,并审核 AI 写的代码。 |
| 42 | +## 核心模式 |
| 43 | + |
| 44 | +| 模式 | 你要做什么 | 训练重点 | |
| 45 | +| --- | --- | --- | |
| 46 | +| **Task Mode** | 使用 Cursor、Claude Code、Codex、Copilot 或其他 AI 工具完成一个真实工程任务 | 需求拆解、AI 协作、测试补强、可合并交付 | |
| 47 | +| **Review Mode** | 审核 AI / Agent 生成的 PR 或 diff,判断是否可以合并 | 风险识别、边界条件、测试质量、合并决策 | |
| 48 | + |
| 49 | +AgentCode 不要求你在平台内写代码。你可以继续使用自己熟悉的本地 IDE 和 AI Coding 工具;平台负责定义题目、管理资产、接收提交、执行评估并给出反馈。 |
| 50 | + |
| 51 | +## 和传统平台不同 |
| 52 | + |
| 53 | +| 传统刷题 / 代码评测 | AgentCode | |
| 54 | +| --- | --- | |
| 55 | +| 主要训练手写算法和标准答案 | 训练真实工程交付和 AI 协作判断 | |
| 56 | +| 输入通常是单文件函数 | 输入是 repo、issue、diff、测试和约束 | |
| 57 | +| 结果多是通过 / 不通过 | 结果关注能否合并、风险在哪里、测试是否可信 | |
| 58 | +| 重点是写出代码 | 重点是交付可维护改动,并审核 AI 写出的代码 | |
| 59 | +| 评测常围绕公开用例 | Task Mode 结合确定性检查,Review Mode 使用结构化 rubric | |
| 60 | + |
| 61 | +## 当前可以体验 |
| 62 | + |
| 63 | +V0 正在构建中,目前仓库已经包含: |
| 64 | + |
| 65 | +- 一个 Next.js + TypeScript 产品原型。 |
| 66 | +- Review Mode 首页、题目详情页和结构化 review 提交表单。 |
| 67 | +- 首道真实来源改编题:SymPy `Point2D` AI 补丁审查。 |
| 68 | +- 可版本化的题库资产结构:题面、metadata、AI diff、expected findings、rubric。 |
| 69 | +- 评估设计、V0 架构、产品方向和首批题库规划文档。 |
| 70 | + |
| 71 | +第一题入口: |
| 72 | + |
| 73 | +- [Review 001:这个 AI 修复能合并吗?SymPy Point2D 回归审查](./challenges/review/001-sympy-point2d-ai-patch/README.zh.md) |
| 74 | +- [题目 metadata](./challenges/review/001-sympy-point2d-ai-patch/metadata.json) |
| 75 | +- [AI PR diff](./challenges/review/001-sympy-point2d-ai-patch/ai-pr.diff) |
| 76 | +- [评分 rubric](./challenges/review/001-sympy-point2d-ai-patch/rubric.md) |
| 77 | + |
| 78 | +## 快速开始 |
| 79 | + |
| 80 | +```bash |
| 81 | +pnpm install |
| 82 | +pnpm dev |
| 83 | +``` |
| 84 | + |
| 85 | +然后打开本地 Next.js 开发地址,进入题库首页和第一道 Review Mode 题。 |
| 86 | + |
| 87 | +常用开发命令: |
| 88 | + |
| 89 | +```bash |
| 90 | +pnpm lint |
| 91 | +pnpm typecheck |
| 92 | +pnpm build |
| 93 | +``` |
| 94 | + |
| 95 | +如果需要连接本地数据库,可以先复制环境变量模板: |
| 96 | + |
| 97 | +```bash |
| 98 | +cp .env.example .env |
| 99 | +pnpm db:generate |
| 100 | +pnpm db:push |
| 101 | +``` |
| 102 | + |
| 103 | +当前 V0 前端仍以题库原型和本地 review 反馈为主;Task Mode runner 尚未执行用户代码,后续会引入隔离容器、隐藏测试和结构化评估结果。 |
| 104 | + |
| 105 | +## 题库资产 |
| 106 | + |
| 107 | +AgentCode 的题目不是只存在数据库里,而是作为可 review、可迁移、可复现的版本化资产放在仓库中。 |
| 108 | + |
| 109 | +```text |
| 110 | +challenges/ |
| 111 | + review/ |
| 112 | + 001-sympy-point2d-ai-patch/ |
| 113 | + metadata.json |
| 114 | + README.zh.md |
| 115 | + README.en.md |
| 116 | + ai-pr.diff |
| 117 | + expected-findings.json |
| 118 | + rubric.md |
| 119 | +``` |
| 120 | + |
| 121 | +这种结构让每道题都能明确回答几个问题: |
| 122 | + |
| 123 | +- 来源是否真实、可追溯? |
| 124 | +- AI 补丁或任务资产是否可复现? |
| 125 | +- 标准答案和评分规则是否可审查? |
| 126 | +- 用户到底是在练实现能力、测试能力,还是 review 判断力? |
16 | 127 |
|
17 | | -## 项目初心 |
| 128 | +## V0 路线 |
18 | 129 |
|
19 | | -AI 时代已经来了,但很多企业仍然在用传统 LeetCode 的方式考察工程师。 |
| 130 | +AgentCode V0 先聚焦 20 道高质量题,而不是堆功能数量。 |
20 | 131 |
|
21 | | -我们花了大量时间刷 Hot100,反复训练手写算法题。过去也许没有太多选择,但 AI 时代不应该继续这样。AI 时代真正稀缺的能力,不只是手写代码,而是需求拆解、AI 协作交付、代码审核、风险判断、测试设计和合并决策。 |
| 132 | +- 10 道 Task Mode:修 bug、做小 feature、补测试、修并发、修缓存、做兼容性改动。 |
| 133 | +- 10 道 Review Mode:审核 AI PR 是否漏掉权限、边界条件、兼容性、测试质量、性能或可维护性风险。 |
| 134 | +- 评估优先使用确定性检查和结构化 rubric,LLM 只作为辅助反馈层。 |
| 135 | +- 平台边界保持克制:先做好题目质量、评估可信度和训练闭环。 |
22 | 136 |
|
23 | | -这就是 AgentCode 想做的事情:提供一个新的练习场,让大家练习 Agent 时代真正需要的技能,成为 Agent 时代的 AgentCoder。 |
| 137 | +更多细节见 [V0 执行计划](./plan.md)。 |
24 | 138 |
|
25 | | -## 核心入口 |
| 139 | +## 技术栈 |
26 | 140 |
|
27 | | -- **Task Mode**:使用 AI 完成真实工程任务。 |
28 | | -- **Review Mode**:审核 AI / Agent 生成的 PR,判断是否可以合并。 |
| 141 | +- **Web**:Next.js、React、TypeScript |
| 142 | +- **UI 原型**:题库列表、训练模式筛选、Review 题详情、结构化提交表单 |
| 143 | +- **Data model**:Prisma schema |
| 144 | +- **Challenge assets**:Markdown、JSON、diff、rubric |
| 145 | +- **Runner 方向**:Docker 隔离执行、公开测试、隐藏测试、日志和 verdict |
29 | 146 |
|
30 | | -## 文档 |
| 147 | +V0 最重要的工程边界是隔离:平台可信代码和用户提交的不可信代码必须分开执行。 |
31 | 148 |
|
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 | | -- [第一题:SymPy Point2D AI 补丁审查](./challenges/review/001-sympy-point2d-ai-patch/README.zh.md) |
39 | | -- [English](./README_en.md) |
| 149 | +## 文档导航 |
40 | 150 |
|
41 | | -## 当前阶段 |
| 151 | +| 文档 | 内容 | |
| 152 | +| --- | --- | |
| 153 | +| [项目初心](./docs/zh/vision.md) | 为什么 AgentCode 应该存在 | |
| 154 | +| [产品方向](./docs/zh/product-direction.md) | Task Mode / Review Mode 的产品边界 | |
| 155 | +| [V0 架构](./docs/zh/architecture.md) | 题目资产层、产品体验层、评估层 | |
| 156 | +| [评估设计](./docs/zh/evaluation.md) | Task Mode 与 Review Mode 如何评分 | |
| 157 | +| [首批题库规划](./docs/zh/challenges.md) | 前 20 道题的方向和资产结构 | |
| 158 | +| [V0 执行计划](./plan.md) | 当前阶段和后续任务 | |
42 | 159 |
|
43 | | -V0 先聚焦 20 道高质量题: |
| 160 | +## 适合贡献什么 |
44 | 161 |
|
45 | | -- 10 道 Task Mode。 |
46 | | -- 10 道 Review Mode。 |
| 162 | +AgentCode 现在最需要的不是大而全的功能,而是高质量训练资产和可信评估闭环。 |
47 | 163 |
|
48 | | -暂不做传统算法 Hot100、复杂社区、竞赛、排行榜和完整在线 IDE。第一阶段最重要的是题目质量、评估可信度和 AI 时代工程能力训练闭环。 |
| 164 | +- 真实工程任务题:小范围、可复现、可测试。 |
| 165 | +- AI PR 审核题:有明确错误模式、边界条件和评分 rubric。 |
| 166 | +- Runner 能力:隔离执行、日志采集、隐藏测试、结果结构化。 |
| 167 | +- 产品体验:让用户更快理解题目、提交 review、获得可执行反馈。 |
| 168 | +- 文档和题解:帮助用户理解自己缺的是实现、测试,还是 review 判断力。 |
49 | 169 |
|
50 | 170 | ## 品牌 |
51 | 171 |
|
52 | 172 | - 仓库:`agentcode` |
53 | 173 | - 域名:`agentcode.codes` |
| 174 | +- 目标用户:想在 AI Agent 时代继续变强的工程师 |
0 commit comments