# Capstone · 把企业级 agent 交给编码 agent 去搭 · Agent 实战 · 从零构建完备智能体

**作者** Aklman · **章节** 19 / 19 · **首发** 2026.07 · **语言** 中文为主, 中英双语
**原文** https://library.aklman.com/books/build-agent/capstone
**全书 markdown** https://library.aklman.com/books/build-agent/llms.md
**上一章** https://library.aklman.com/books/build-agent/governance/llms.md

> 本章来自 Aklman · Library, 完整免费阅读。允许 AI 摘读、引用、问答; 转载请保留作者署名与原文链接 (CC BY-NC-ND 4.0, https://library.aklman.com/license)。

---

> 全书的收束：一张参考架构图、一份分层规格、一段能直接交给 Cursor 或 Claude Code 的 kickoff prompt —— 让「vibe 出一个企业级 agent」变成带验收标准的工程，而不是口号。

全书到这里，你手里有一个能跑的研究助手，和八根支柱的判断力：身份鉴权、带权限的检索、对抗性安全、治理审计、常设评测、失败工程、控制平面、多租户。这一章把它们收成一个可交付的东西 —— 一张参考架构图、一份分层规格、和一段能直接交给 Cursor 或 Claude Code 去实现的 kickoff prompt。目标很具体：让「vibe 出一个完整企业级 agent」变成一件带验收标准、能验证的工程，而不是一句口号。

心脏没变。全书第一章那句话在这里第三次兑现：agent 是 LLM 在循环里用工具、读反馈、定下一步；其余都是挂在这个循环上的层。[^4]企业级不是换一个更聪明的心脏，是在同一个循环外面，一层一层把「可信、规模化、在别人数据上、留得下审计」搭起来。所以 capstone 不是又一个 demo，是把八根支柱收进一个连贯的控制平面 —— 而 Anthropic 那条老规矩照样管用：每一层都得挣到自己的位置，别为了「企业级」堆没被证明值得的复杂度。[^1]

### I · 参考架构：一个循环，套在控制平面里

先看全景。中间还是第二章那个 while 循环，控制平面的七层从上到下把它包住，每个行动进出都要穿过。八根支柱不是八个模块，是这张图上的位置。

_企业级研究助手的参考架构 —— 循环居中,控制平面环绕_
```text

```text
 用户 / 上游系统
 │ 请求 + 委托(替谁干)
 ▼
 ┌─────────────────── 控制平面(每个动作穿过)───────────────────┐
 │ ① 身份 workload identity + 委托(act) + 每租户凭据 │ ← 身份章
 │ ② 运行时 沙箱 · 一次性工作区 · 多租户数据隔离 │ ← ch7 + 多租户
 │ ③ 上下文 带权限的检索(先过滤再检索) · 上下文工程 · 缓存 │ ← ch4
 │ ④ 网关 model gateway(换模型不改工作流) · 成本 · 限速 │ ← ch11 + FinOps
 │ ┌──────────────────────────────────────┐ │
 │ │ 核心循环(ch2):model → 看 stop → │ │
 │ │ 工具·并行(ch3) → 观察回灌 → 直到完成 │ │
 │ │ · 推理/规划(ch5) · 记忆(ch4) │ │
 │ └──────────────────────────────────────┘ │
 │ ⑤ 工具 scope 鉴权 · 白名单 · 污点/出网 · 人闸 │ ← 身份+对抗+ch9
 │ ⑥ 评测/追踪 回归门禁(golden set) · trace · 审计链 │ ← ch10 + 治理
 │ ⑦ 审批/降级 熔断 · 预算硬闸 · 模型 fallback · 急停 │ ← ch11 + 治理
 └───────────────────────────┬───────────────────────────────┘
 持久执行(可恢复·幂等·可重放) ← ch11 · 失败工程
 │
 ▼
 结论 + 审计轨迹 + cost-of-pass
```

```

读这张图的方法：从任意一个动作出发，它必须自上而下穿过每一层，任何一层都能拦。一个被网页注入劫持、想把密钥 fetch 出去的动作，会在 ⑤ 撞上出网白名单（对抗章）、或因会话被污点标记而撞上人闸；一个跑飞的循环会在 ⑦ 撞上预算硬闸（第十一章）；一次改动让成功率掉了，会在 ⑥ 的回归门禁（第十章）被挡在上线之前。八根支柱在这张图上各就各位 —— 缺哪一层，就是那个方向没有拦截。

---

### II · 分层规格：每一层的输入、契约、不做会怎样

架构图给形状，规格给契约。下面把每一层写成三件事:它拿什么、保证什么、不做会怎样 —— 这正是能交给编码 agent 的东西:一层一个可验收的目标。

- **① 身份与委托**: 拿：调用者 + 替谁干。保证：agent 有独立身份、token 短命且只降权、密钥不进上下文。不做：无法归因、爆炸半径 = 你的全部权限（身份章 · RFC 8693）。

- **② 运行时与隔离**: 拿：要执行的不可信代码/动作。保证：沙箱、一次性工作区、租户间数据不串。不做：一次注入拿下整台机器、租户 A 读到租户 B（ch7 · 多租户）。

- **③ 上下文与检索**: 拿：任务 + 可用知识。保证：先按权限过滤再检索、上下文有预算、缓存稳定前缀。不做：后置过滤经命中数泄露、context rot 让它变笨（ch4）。

- **④ 网关与成本**: 拿：模型请求。保证：换模型不改工作流、按成本/复杂度路由、每请求可计价。不做：绑死一家、成本不可见（ch11 · FinOps）。

- **⑤ 工具与护栏**: 拿：模型要调的工具。保证：scope 鉴权、白名单、污点后升级人闸、出网白名单。不做：confused deputy 借你的权限外发（身份+对抗+ch9）。

- **⑥ 评测与追踪**: 拿：每一步 + 每次改动。保证：golden set 回归门禁、trace 可 debug、审计链不可篡改。不做：你以为 95% 其实 70%、改坏了没人知道（ch10 · 治理）。

- **⑦ 审批与降级**: 拿：高风险/超预算/失败信号。保证：预算硬闸、熔断、模型 fallback、一键急停。不做：一个循环烧穿账单、坏模型上线拉不回（ch11 · 治理）。

- **持久执行**: 拿：长任务的状态。保证：可恢复、幂等、可重放。不做：一崩全白跑、恢复时重复下单（ch11 · 失败工程）。

这份规格的用法有两种。一是审计你现有的 agent：逐层问「这一层我有没有、保证得住吗」，缺的那几层就是你的差距清单。二是当作下一节 kickoff prompt 的骨架 —— 每一层的「保证」就是一条验收标准。

---

### III · Kickoff Prompt：交给编码 agent 去 vibe

「vibe 出一个企业级 agent」不是一句口号，前提是你交出去的不是「帮我做个企业级 agent」这种许愿，而是一份带验收标准的规格。编码 agent（Cursor / Claude Code / Codex）最强的场景是有客观对错信号的活 —— 所以 kickoff prompt 的关键，是把上一节每层的「保证」写成它能自己跑的检查。

Claude Code 的核心 best practice 就一句：给它一个它能自己跑的检查（测试、build、linter），循环就能自己闭合 —— 写 → 跑检查 → 读结果 → 改，直到过。[^2]下面这份 prompt 就是照这个来的：它给编码 agent 一个基线（本书的 research_agent 工程）、一份分层任务、和一组必须变绿的验收测试。把它整段贴给 Cursor 或 Claude Code：

**提示词 · Cursor / Claude Code / Codex**

```text
把基线工程 <research_agent> 升级成一个企业级 agent。基线已实现:循环、工具+并行、记忆、沙箱、护栏、trace、预算闸,以及企业四格的教学骨架(authz / 污点+出网 / 审计+急停)。

分层实现下面每一层,每层配一个可自动跑的测试,全部变绿才算完成:

1) 身份:把 authz.py 的教学版 TokenBroker 换成一次真实的 OAuth 2.0 token exchange(RFC 8693),token 短命、只降权、带 act 声明。测试:降权的 Principal 调受限工具被拒。
2) 运行时:把沙箱从 subprocess 换成容器隔离(<容器方案>),无网络、只读根、workspace 可写。测试:一段试图读 ~/.ssh 并外发的代码被挡。
3) 上下文:把关键词 RAG 换成「先按 <权限模型> 过滤、再检索」的管线。测试:租户 A 的查询检索不到租户 B 的文档。
4) 网关:在模型层前加一个 model gateway,支持按 <路由规则> 换模型、记每请求成本。测试:换模型时工作流代码零改动。
5) 工具:把污点闸和出网白名单接到你真实的高风险工具上。测试:会话读过不可信内容后,动手工具强制过人闸。
6) 评测:建一个 >=20 条的 golden set + CI 回归门禁,成功率下降就挡住合并。测试:注入一个会降低成功率的改动,CI 变红。
7) 审批/降级:预算硬闸 + 模型 fallback + 文件急停,全部可在不重启的情况下触发。测试:touch 急停文件后,下一步 0 执行且进审计。
持久执行:把内存态换成可持久化的状态,支持崩溃后从断点恢复、动手动作幂等。测试:跑到一半 kill 进程,重启后从断点续、不重复已完成的动手步。

约束:
- 每层实现前先给出取舍(为什么这个方案),再写代码。
- 沿用基线的双档设计:不配置时行为等同基线,配置后才启用企业档。
- 每层的验收测试进 CI;不许为了过测试写投机代码(reward hacking)。
- 对照 OWASP Agentic Top 10 自查:ASI01 目标劫持 / ASI02 工具滥用 / ASI03 身份滥用 / ASI05 意外代码执行 / ASI06 记忆投毒 / ASI10 失控 agent 各有哪一层在防,写进 README。
```

**示例**

```text
(把 <尖括号> 换成你的真实选择,例如:)
<容器方案> = gVisor(比 Docker 强一档,跑不可信代码)
<权限模型> = 每文档的 tenant_id + ACL 标签,检索前先过滤
<路由规则> = 简单任务走便宜模型、复杂任务走旗舰,按 cost-of-pass 决定
—— 填完这三个,上面整段就能直接交出去。
```

为什么这份 prompt 能真搭出企业级 agent，而不是又一个 demo？因为它交出去的不是愿望，是**八根支柱各自的验收标准** —— 每一条都能自动跑、会给对错。编码 agent 在这种有客观信号的活上最靠谱：它写完一层，测试告诉它过没过，不过就自己改。你要做的是三件事：填掉上面高亮的三个占位符（把取舍变成你的真实选择）、盯着它别为过测试写投机代码（第十四章的 reward hacking）、以及在它自查 OWASP 那一步核对每条威胁真有一层在防。[^3]这就是「vibe 出企业级 agent」的实际样子 —— 不是一句话许愿，是一份带刻度的规格加一个会自己闭环的编码 agent。

动手 · 真交出去一次：

- **填掉三个尖括号,选一层先做**:
 把三个占位符（容器方案 / 权限模型 / 路由规则）换成你的真实取舍,然后只让编码 agent 先做第 5 层(污点+出网接到真实工具)—— 它是基线里已有骨架、最快看到绿的一层。

- **盯它的验收测试,别让它作弊**:
 看它写的测试是不是真在验「保证」,还是在验一个它自己能轻松满足的空壳 —— 那一步就是第十四章说的、客观信号保不了你的地方。

- **让它写 OWASP 自查表,你来核对**:
 让编码 agent 产出「ASI0x 由哪一层防」的表,你逐条核对:有没有哪条威胁其实没有任何一层在拦。核对完,你手里就是一个能对着清单交代自己的企业级 agent。

> 心脏还是第二章那个循环,
> 企业级是你在它外面搭起的每一层。

## 引用与参考

01 · Anthropic ·「Building Effective Agents」(2024-12-19)—— 基本积木是 augmented LLM;建议先找最简单的方案,只在复杂度确实改善结果时才加。capstone 把八根支柱收进一个连贯工程,靠的还是这句话:每一层都得挣到自己的位置。  (Anthropic · Building Effective Agents)
02 · Anthropic 文档 · Claude Code best practices —— 核心一句「给 Claude 一个它能自己跑的检查」(测试/build/linter/截图)让循环自己闭合;Explore → Plan → Code → Commit。capstone 的 kickoff prompt 正是把验收标准写成「它能自己跑的检查」,让 vibe-code 有客观的对错信号。截至 2026-05。  (Anthropic · Claude Code best practices)
03 · OWASP · Top 10 for Agentic Applications 2026 —— capstone 的验收清单直接对着这十条:ASI01 Agent Goal Hijack、ASI02 Tool Misuse and Exploitation、ASI03 Identity and Privilege Abuse、ASI05 Unexpected Code Execution、ASI06 Memory & Context Poisoning、ASI10 Rogue Agents 等。条目名以官方 PDF 目录为准。  (OWASP · Agentic Top 10 (2026))
04 · OpenAI ·「A Practical Guide to Building Agents」(2025-04)—— 单 agent 是一个 run loop,跑到触发退出条件为止;护栏是分层防御。capstone 的参考架构就是把这个 run loop 放进控制平面的中心,各层挂在四周。  (OpenAI · A Practical Guide to Building Agents)

---

*Capstone · 把企业级 agent 交给编码 agent 去搭 · Agent 实战 · 从零构建完备智能体 · Aklman 著 · CC BY-NC-ND 4.0 · https://library.aklman.com/books/build-agent/capstone*
