自动端到端需求交付的 AI Coding 平台:架构设计与落地实现
一份给工程负责人和架构师的现实主义指南。我们不堆砌概念,只回答一个问题:要把"自然语言需求 → 可交付软件"这条链路真的跑通,平台应该怎么搭,难点在哪里,代价是什么。
DeepThink 项目开源代码: Gitcode: gitcode.com/AIGeniusIns… Github: github.com/AIGeniusIns…
@[toc]
0. 写在前面:先把话说清楚
过去两年,AI Coding 这条赛道被反复讲。讲的人讲出了三种东西:
- 演示型故事:录屏里 Agent 五分钟搭了个 Todo 应用,看起来神乎其神。
- 榜单型故事:SWE-bench Verified 从 12% 涨到 80%,曲线漂亮得像骗投资人。
- 范式型故事:"Vibe Coding"、"Agentic Engineering"、"Spec-Driven",新词一年三换。
但这些故事回答不了一个真问题:一家公司,今天,怎么搭一个能持续把需求变成可交付软件的 AI 平台?
这份报告试图回答这个问题。我们的视角很明确:
- 平台不是模型,模型只是发动机。底盘、变速箱、刹车系统才是平台。
- 端到端交付不是"演示跑通",而是"需求-设计-编码-测试-评审-合并-部署-回滚"全链路可信。
- 自进化的重点不是"AI 自己变强",而是"失败可沉淀、知识可复用"。
- 任何架构决策都伴随代价。下面每一条决策都会标注它的代价。
1. 先定义清楚"端到端需求交付"
这个词被滥用了。我们先收紧定义,否则后面所有讨论都是空的。
端到端需求交付指:用户提供自然语言形式的需求(PRD、Issue、口头描述),平台在无需人类工程师介入编码本身的前提下,产出可被生产环境接收的交付物,包括:
- 可运行代码(通过 CI)
- 单元测试与集成测试(覆盖率达标)
- 文档与变更说明
- 通过 Code Review(人或 AI)
- 可回滚的部署
- 关键:失败时能停下来,把控制权交还人类
注意三个边界:
- 不是"代码生成":代码生成只是其中一个环节。
- 不是"无人值守":人类介入点会减少,但不会归零。
- 不是"100% 通过率":通过率是工程指标,不是哲学命题。SWE-bench Verified 现在 SOTA 是 80% 出头,这意味着每五个任务至少有一个失败需要兜底。
定义清楚了,我们才能谈架构。
2. 行业现状速览:谁在做,做到什么程度
不挨个点评产品,只挑有代表性的几条路线。
| 代表 | 路线 | 数据切片(2026 上半年公开口径) | 启示 |
|---|---|---|---|
| Devin / Cognition | 闭源 SWE Agent,垂直整合模型+框架 | FrontierCode 1.1 Main:SWE-1.7 拿到 42.3%,对标 GPT-5.5 的 43.0%、Opus 4.8 的 46.5%;单任务成本约 1.97 美元 | 垂直整合 RL pipeline + 长任务工程,仍能从开源基座(Kimi K2.7)上压榨收益 |
| SWE-agent (Princeton) | 开源学术系,ACI(Agent-Computer Interface)原创者 | SWE-bench 12.29% 起家,最新已显著提升 | ACI 设计(linter 拦截、文件查看器、滚动/搜索命令)对结果影响巨大,验证了"工具层比模型层更值得做" |
| Claude Code | CLI + 五层上下文压缩管道 + 子代理 | SWE-bench Verified Opus 4.6 ≈ 80.8% | 上下文工程是核心壁垒;CLAUDE.md 四层加载机制是工程范例 |
| Codex CLI / Cloud | 容器文件系统快照 + OS 级沙箱(Seatbelt/Landlock)+ 多级审批 | 入口覆盖 App/IDE/CLI/Web | 把"上下文窗口"换成"按需读盘",绕开 token 限制,代价是隔离与审批链路更长 |
| Cursor | IDE 原生 + 多 Agent 并行(8 路) | 主流商业 IDE 体验 | IDE 集成是触达开发者的关键路径 |
| 通义灵码 / 文心快码 / CodeGeeX / Trae | 国内大厂 IDE 插件 + 工程化增强 | IDC 1H25 评估,国内 10 家产品对开发者覆盖率约 30%(vs 美国 91%) | 中国市场仍有空间,但工程化深度是分水岭 |
| MiniMax M2.5 | 模型侧突破 | SWE-bench Verified 80.2%,100 TPS 一小时一美元 | 模型成本曲线在快速下探,平台侧必须按"模型可热插拔"来设计 |
几个结论:
- 模型在涨,但天花板还在。80% 意味着五分之一任务会失败,平台必须按"失败是常态"来设计。
- 工程层是真正差异化。Claude Code 的五层压缩、Codex 的容器快照、SWE-agent 的 ACI,都是工程决策,不是模型决策。
- 协议趋同。MCP(Model Context Protocol)已经成为五家头部工具的公约数,A2A 协议也开始铺开。"换框架不再伤筋动骨"是趋势,平台必须按协议优先设计。
3. 核心架构:七层分层模型
我们直接给出一个可落地的分层架构。每一层都标注职责、关键决策、代价。
flowchart TB
subgraph L7["L7 自进化层 Memory & Reflection"]
L7a[失败案例库] --- L7b[知识沉淀] --- L7c[行为画像]
end
subgraph L6["L6 验证闭环层 Verification Loop"]
L6a[CI/CD] --- L6b[测试] --- L6c[AI Review] --- L6d[回滚]
end
subgraph L5["L5 上下文管理层 Context Engineering"]
L5a[CLAUDE.md式注入] --- L5b[压缩管道] --- L5c[检索/RAG]
end
subgraph L4["L4 工具与ACI层 Agent-Computer Interface"]
L4a[文件查看器] --- L4b[Linter拦截] --- L4c[终端沙箱]
end
subgraph L3["L3 执行Agent层 Multi-Agent"]
L3a[Planner] --- L3b[Coder] --- L3c[Reviewer] --- L3d[Tester]
end
subgraph L2["L2 规划调度层 Supervisor Loop"]
L2a[任务拆解] --- L2b[路由] --- L2c[监控] --- L2d[退出判定]
end
subgraph L1["L1 需求理解层 Spec Contract"]
L1a[需求解析] --- L1b[Spec生成] --- L1c[契约确认]
end
L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7
L7 -. 反馈 .-> L1
L6 -. 证据 .-> L2
L1 需求理解层:Spec 契约
职责:把模糊的自然语言需求,转成 Agent 和人都能签字的精确契约。
关键决策:
- 需求进入平台,先做 Spec 而不是先写代码。这是 Qoder、Traycer 等新一代工具的共同选择。原因很现实——LLM 写代码的失败,60% 以上不是模型不行,是需求没拆清楚。
- Spec 是结构化文档,不是自然语言段落。至少包含:功能边界、输入输出契约、验收标准、显式排除项("不做 X"必须写出来)。
- Spec 必须有"人类确认点"。完全自动生成 Spec 然后直接执行,是当前最大的失败源。
代价:增加了一个前置环节,看似拖慢了交付。实测数据看,Spec 阶段多花 10 分钟,后期返工减少 40% 以上。值得。
L2 规划调度层:Supervisor Loop
职责:把确认过的 Spec 拆解成可执行子任务,路由到 Agent,监控执行,决定何时退出。
关键决策:
- 不要做"一次性 Pipeline",要做 Loop。Supervisor Agent 持有全局视图,每个子任务结束后回来汇报,Supervisor 决定下一步。
- 退出条件必须显式声明,不能由 Agent 自己判断。常见退出条件:所有验收用例通过 + AI Review 通过 + 人类签字。
- 内部用状态机而非自由对话编排。AutoGen 的"专家圆桌"很性感,但生产环境里状态机可调试、可重放。
- 这一层就是 DeepThink 内部叫的 "Ralph Loop E2E"——一个监督者 Agent 持续驱动 Code Agent 直到客观证据达标。
代价:Supervisor 自己是个 LLM 调用,有成本。可以拿小模型(如 Haiku 级别)做路由,大模型只在关键节点上用。
L3 执行 Agent 层:多 Agent 协作
职责:真正干活的 Agent 群。至少四个角色:
- Planner:拆任务,出方案
- Coder:写代码
- Reviewer:代码评审,对标规范
- Tester:写测试、跑测试、解读失败
关键决策:
- 角色边界要硬。Coder 不能改测试用例,Reviewer 不能直接改代码——只能返回评论让 Coder 改。这条规则把"自己评自己"的幻觉路径切断。
- Agent 之间通过结构化消息(带 schema 的 JSON)通信,不通过自由文本。这点 LangGraph 做得对。
- 子代理(SubAgent)模式值得借鉴:主 Agent 把"调研某模块"、"跑某条命令"这种重活儿派给子代理,子代理结果回来后主 Agent 上下文不被淹没。Claude Code 的 Explore/Plan/code-reviewer 子代理就是这套思路。
- 并发别贪多。Cursor 8 路并行是 IDE 场景的特例。生产平台建议 2-4 路并行,超过这个数,冲突解决成本会指数上升。
代价:多 Agent 协作引入协调开销。简单任务(改一个函数)单 Agent 更快。要根据任务复杂度动态决定并行度。
L4 工具与 ACI 层:Agent-Computer Interface
职责:定义 Agent 怎么"看见"和"操作"计算机。这层是被严重低估的。
关键决策(直接抄 SWE-agent 的实证结论):
- 不要让 Agent 直接
cat文件。给它专门设计的文件查看器:每屏 100 行、可滚动、可搜索。SWE-agent 论文里这条改动让准确率显著提升。 - 编辑命令必须跑 linter。语法错就不让编辑生效。这一条单独把"代码根本编译不过"这类硬错误基本消灭。
- 终端输出要截断和结构化。原始 stdout 几万行直接喂给 LLM 是上下文灾难。
- 工具描述(tool description)本身值得反复打磨。Anthropic 公开过经验:工具描述改几个字,调用准确率差几个百分点。
代价:ACI 是平台自己的工程产物,需要持续迭代。一旦选定,迁移成本很高——这既是壁垒也是枷锁。
L5 上下文管理层:Context Engineering
职责:在模型上下文窗口有限的前提下,让 Agent 看到它该看的,看不到它不该看的。
这是当前 AI Coding 平台最核心的技术分水岭。两条主流路线:
路线 A:压缩管道(Claude Code 派)
把"对话历史+工具输出+文件内容"塞进一个有限窗口(典型 100 万 token),通过五层压缩管道把无关内容裁掉。关键机制:
- CLAUDE.md 四层加载:系统级 → 用户全局 → 项目级 → 本地私有。优先级递增,团队约定进项目级,个人偏好进本地。
- Compact 检查点:上下文接近窗口上限时自动压缩,留下摘要+关键事实。
- 子代理隔离:重活儿派给子代理,子代理的完整对话不进主上下文,只返回结论。
路线 B:按需读盘(Codex 派)
把整个仓库当文件系统,Agent 按需读取,理论上没有上限。代价是必须配 OS 级沙箱和审批链路,因为 Agent 看到的更多,风险也更大。
怎么选:
- 重 IDE / 单仓库深度任务 → 压缩管道。
- 多仓库 / 大型遗留系统改造 → 按需读盘。
- 实际生产平台建议两条都要:Agent 类型决定走哪条路。
代价:上下文管理是平台的核心壁垒,但也是最容易随着模型窗口扩大而"显得过时"的部分。设计时要把这层做成可替换的。
L6 验证闭环层:Verification Loop
职责:让 Agent 的产出可被客观验证。没有这一层,平台就是花架子。
关键决策:
- 测试是契约。Spec 阶段就要生成验收测试用例,Agent 写的代码必须跑通这些用例才算完成。
- AI Code Review 必备。CodeRabbit、Graphite 这类工具已经在主流仓库里跑通。AI Review 不能替代人,但能挡掉 70% 的低级问题。
- 回滚是默认能力。每次合并都生成可回滚点。Agent 出问题不要"修补",直接回滚到上个绿灯状态。
- 退出由证据决定。Supervisor 看的是 CI 绿灯、测试通过率、Review 通过——不是 Agent 自己说"我做完了"。
代价:CI 资源消耗大。一个任务跑十次 CI 是常态。要预算好。
L7 自进化层:Memory & Reflection
职责:让平台从每次失败里学到东西。这是大多数平台缺失的一层。
关键决策:
- 失败案例库。Agent 失败的任务、失败原因、修复路径,全部入库。下次类似任务来时,先检索案例库。
- 行为画像。给每个仓库建画像:技术栈、依赖版本、命名约定、历史踩坑点。Agent 进入新仓库先读画像。
- 反思机制。Reviewer Agent 不仅要返回"这段代码有问题",还要沉淀"这类问题下次怎么避免"。
- 不能让 Agent 自己改自己的 prompt。这是当前最容易出大事故的玩法。Memory 增量入库,但 prompt 调整走人类审批。
代价:知识沉淀需要人来标注和审核,全自动化的"自进化"目前都不靠谱。
4. 五个绕不开的工程问题
4.1 上下文爆炸
长任务里上下文一定爆。三件事一起做:
- 子代理隔离——重活儿不进主上下文。
- 结构化记忆——CLAUDE.md 式分层注入,团队约定不每次重述。
- Compact 检查点——别等模型自己忘了,到点就压。
实测:Claude Code 在 100 万窗口下能跑通一个中型仓库的端到端改造,靠的就是这三件套。
4.2 幻觉与不可验证
幻觉消不掉,只能限制它的爆炸半径。
- 代码必须有 linter、测试、CI 三道闸门。Agent 想象出来的 API、不存在的函数,过不了这三关。
- RAG 优先于微调。把代码库、API 文档、历史 PR 都做成向量检索,Agent 决策前先检索。
- 关键路径强制人工确认。涉及数据库 schema 变更、权限修改、支付逻辑——不能让 Agent 自主决策。
- 不要让 Agent 写"看起来对"的代码。强制要求每个改动附带"我跑了什么验证"的清单。
4.3 长任务自治与人类介入点
- 任务超过 30 分钟无进展 → 强制暂停,请求人类。
- 同一位置连续失败 3 次 → 强制暂停。
- 涉及不可逆操作(删数据、改 schema、外部 API 调用)→ 强制人工签字。
- 这是 Codex CLI "受控循环+多级审批"的思路,比 Claude Code 的"自由循环"更适合企业。
4.4 多 Agent 并发冲突
每个"开发项目"内的多个并行会话,必须有一个中央调度防止:
- 两个会话改同一个文件
- 一个会话在跑测试,另一个会话在改依赖
- 一个会话的部署影响了另一个会话的环境
实现上:文件锁 + 环境隔离 + 任务依赖图。这是 DeepThink 内部架构的核心约束之一。
4.5 安全沙箱
Agent 能跑命令、能联网、能改文件——这意味着它能把 token 偷出去、能 rm -rf、能装后门。
- OS 级沙箱:macOS Seatbelt、Linux Landlock、Docker 容器,三选一或叠加。
- 网络白名单:默认禁网,按域名白名单放行。
- 凭据隔离:API key、token 通过环境变量注入,Agent 不能读取自身配置目录。
- 操作日志全量留存:每条命令、每次文件改动都可回溯。
- 危险命令拦截:
rm -rf /、mkfs、curl | sh这类必须人工确认。
5. 评估对齐:怎么知道平台真的在变强
不做内部 benchmark 是不行的,但只信 SWE-bench 也是错的。
评估体系三层:
- 公开 benchmark:SWE-bench Verified、SWE-bench Lite、FrontierCode、Multi-SWE-Bench。用来对外讲清楚能力水位。
- 内部 benchmark:拿自家历史 Issue / PR 做数据集,定期跑。这个数比公开 benchmark 更接近真实业务。
- 线上指标:任务通过率、人工介入率、平均完成时长、回滚率、单任务成本。这些是产品指标,不是模型指标。
几个常见陷阱:
- 不要在训练数据上测。SWE-bench 已经被一些工具"刷榜"过,要交叉验证。
- 任务难度分层。简单 bug 修复、新功能开发、跨模块重构——三类任务的"通过率"不能混着报。
- 成本必须算。一个任务 50 美元跑通和 2 美元跑通,是两个完全不同的商业模型。
6. 落地路径:从 MVP 到生产
三阶段,每个阶段大概 3-6 个月。
阶段一:单 Agent + 单仓库闭环
目标:跑通"一个需求 → 一个仓库 → 一个 PR"的端到端。
- 选一个内部非核心仓库(内部工具类)
- 一个 Coder Agent + 一个 Tester Agent
- CLAUDE.md 注入 + 简单 ACI
- 内部 CI 接通
- 退出条件:CI 绿灯 + 人工 Review
这一阶段不做多 Agent、不做自进化、不做多租户。先把闭环跑通。
阶段二:多 Agent + 多仓库
目标:扩展到生产仓库,引入 Supervisor Loop。
- 加入 Planner、Reviewer Agent
- Supervisor 状态机上线
- 子代理隔离上下文
- 失败案例库开始建
- 接入更多仓库(建议 3-5 个,复杂度递增)
这一阶段开始有"平台感"了,但仍是单团队使用。
阶段三:SaaS + 多租户 + 自进化
目标:对外服务,多团队、多租户隔离。
- 租户隔离(代码、Memory、凭据)
- 权限分级
- 计费按"任务复杂度 × 模型成本 × 工程层成本"
- 自进化层全量上线(失败案例库、行为画像、反思机制)
- 企业集成(飞书/钉钉/企微/LDAP)
反模式警告:直接跳到阶段三。没有阶段一二的闭环打磨,多租户 SaaS 是空中楼阁。
7. 风险与边界
诚实地讲清楚哪些事做不到。
短期做不到:
- 100% 自动通过率。80% 是当前天花板,剩下 20% 是人类工作。
- 完全无监督的生产部署。涉及钱、数据、用户的服务,必须人审。
- "AI 自己改自己的 prompt"实现安全自进化。目前不可行。
长期不确定:
- 模型窗口继续扩大,上下文管理层是否还有独立价值。我们的判断:有,因为窗口再大也不够装整个企业代码库。
- 多 Agent 架构是否会收敛到单 Agent + 强工具。这个趋势存在,但 3-5 年内多 Agent 仍是主流。
伦理与合规:
- Agent 写的代码出 bug,谁负责?平台方、用户、还是模型方?法律层面仍在博弈。平台必须显式声明边界。
- 数据安全。代码、Spec、Memory 都是企业核心资产,多租户隔离要做硬隔离不是逻辑隔离。
8. 一张架构总图
flowchart TB
User([用户/PRD/Issue]) --> L1[L1 需求理解<br/>Spec Contract]
L1 --> L2[L2 Supervisor Loop<br/>任务拆解/路由/退出]
L2 --> L3[L3 多 Agent 群<br/>Planner/Coder/Reviewer/Tester]
L3 --> L4[L4 ACI<br/>文件查看器/Linter/终端]
L4 --> L5[L5 上下文管理<br/>CLAUDE.md/压缩/子代理]
L5 --> L6[L6 验证闭环<br/>CI/测试/AI Review/回滚]
L6 --> Delivery([交付<br/>PR/部署/文档])
L6 --> L7[L7 自进化<br/>失败库/画像/反思]
L7 -. 知识注入 .-> L1
L7 -. 行为指导 .-> L2
Security[安全沙箱<br/>OS隔离/网络白名单/凭据隔离/日志] -. 横切 .-> L3
Security -. 横切 .-> L4
CEE[CEE 中央调度<br/>文件锁/环境隔离/依赖图] -. 横切 .-> L3
Protocol[协议层<br/>MCP/A2A] -. 横切 .-> L3
Protocol -. 横切 .-> L4
横切的三个东西特别重要:
- 安全沙箱:横切所有 Agent 操作。
- 中央调度:横切所有并发会话。
- 协议层(MCP/A2A):横切所有 Agent 与工具、Agent 与 Agent 的交互。协议优先设计,意味着未来模型可换、Agent 框架可换、工具可换,平台资产不沉。
9. 结论:三句话
- AI Coding 平台的核心不是模型,是工程层。模型是发动机,平台是底盘。底盘工程做得扎实,发动机换了照样能跑。
- 端到端交付的本质是验证闭环。没有客观验证(CI、测试、Review、回滚),就没有"自动交付",只有"自动生成"。
- 自进化的关键是失败沉淀。平台每失败一次,都要让下一次少失败一点。这件事模型帮不了你,只能工程层自己做。
剩下的,就是把上面七层一层一层搭起来,跑通一个仓库,再跑通下一个。
附录 A:关键术语速查
| 术语 | 含义 |
|---|---|
| ACI | Agent-Computer Interface,Agent 与计算机交互的工具层设计 |
| Spec | 需求的结构化契约文档 |
| Supervisor Loop | 监督者 Agent 驱动的持续闭环 |
| SubAgent | 子代理,主 Agent 派活儿的隔离执行单元 |
| CEE | Central Execution Engine,中央调度引擎,防并发冲突 |
| MCP | Model Context Protocol,工具接入协议 |
| A2A | Agent-to-Agent 协议 |
| Compact 检查点 | 上下文压缩节点 |
| SWE-bench Verified | OpenAI 联合发布的代码工程能力评测集 |
附录 B:参考与延伸阅读
- Princeton NLP, SWE-agent: Agent-Computer Interfaces Enable Software Engineering Language Models (2024)
- Anthropic, Claude Code: System Analysis (arXiv:2604.14228)
- Cognition, SWE-1.7 & FrontierCode 1.1 Main Benchmarks (2026.07)
- Microsoft, AutoGen → Microsoft Agent Framework Migration Guide (2026.04)
- LangChain, LangGraph Multi-Agent Workflows
- IDC, China Market Code Generation Product Assessment, 1H25
- MiniMax, M2.5 Technical Report (2026.02)
本报告定位为架构师和工程负责人的决策参考。所有数据引用自公开口径,能力水位会随时间快速变化——读完别照搬,先去自己仓库里跑一遍。