756 字
约 2 分钟
10
S22-J03 · 项目工程细节:子 Agent、Skill 与沙箱
适用读者:要搭一个"能用"的 Agent 项目的人。
前置:S21-J01(Harness)、S21-B04(Skills)。
覆盖旧文:765(141) 754(70) 316(45) 288(48) 764(198) 770(209) = 711 点。
覆盖扩展:E-S22-010(子 Agent 边界)、E-S22-011(沙箱策略)。
上一篇:S22-J02 · 记忆系统落地:分层与会话
下一篇:S22-J04 · ReAct 变体与 DAG。
1. 一句话结论
一个能用的 Agent 项目 = 主循环 + 工具层 + 记忆层 + 沙箱 + 可观测。模块化的目的是"每个模块能被单独替换与测试"。
┌──────────────┐
│ 主 Agent 循环 │ ← 步数上限、终止判据(S21-B02)
├──────────────┤
│ Skill / 子Agent │ ← 能力组合(S21-B04)
├──────────────┤
│ 工具执行 + 沙箱 │ ← 权限边界(E-S22-011)
├──────────────┤
│ 记忆 / 检索 │ ← S22-J02
└──────────────┘
2. 子 Agent 的边界(E-S22-010)
| 该拆子 Agent | 不该拆 |
|---|---|
| 上下文会长到爆炸 | 两三步就能做完 |
| 权限不同(只读/可写) | 同权限、同上下文 |
| 可并行 | 强顺序依赖 |
"子 Agent 返回什么":结构化结果(结论 + 引用 + 未决项),不要返回整段对话(S21-J02)。
3. Skill 与工具的层次(A-754/A-316)
| 层 | 例子 | 谁维护 |
|---|---|---|
| 工具 | read_file、query_db |
开发者 |
| Skill | "把 PDF 转 Markdown 并入库" | 开发者/业务 |
| 子 Agent | "负责文档处理的代理" | 架构层 |
判据:"它能被复用在另一个场景吗?" 能 → 做成 Skill;只此一处 → 留在业务代码。
4. 沙箱策略(E-S22-011)
| 操作 | 沙箱要求 |
|---|---|
| 读文件 | 路径白名单 |
| 执行命令 | 容器/VM 隔离(S21-J01) |
| 网络访问 | 域名白名单 |
| 写操作 | 临时目录 + 审批(S21-A02) |
"为什么沙箱要在项目早期就做":后期加沙箱要改所有工具的执行路径——一开始就设计成"工具必须通过执行器"。
5. 五个误区
| 误区 | 真相 |
|---|---|
| "先做功能,沙箱后补" | 后期改造成本高 |
| "子 Agent 越多越模块化" | 协调成本上升 |
| "Skill 就是提示词" | 它绑定工具与流程 |
| "工具直接调系统就行" | 必须过执行器/沙箱 |
| "记忆和检索是一件事" | 前者是状态,后者是知识 |
6. 自检
- 五层结构的职责?
- 子 Agent 该拆/不该拆的判据?
- Skill 与工具的层次?
- 沙箱为什么要在早期设计?
- 记忆与检索的区别?
7. 下一篇
S22-J04 · ReAct 变体与 DAG 编排
模块讲完,下一篇讲"流程形态":静态图与动态循环怎么选。
本篇属于系列《S22 · AI 工程落地实战》。旧文来源:A-765/754/316/288/764/770;扩展点 E-S22-010/011。
S22-J03 · 项目工程细节:子 Agent、Skill 与沙箱
https://www.clxhxhhr.top/posts/5521/ 评论
0 条
还没有评论,先写一条吧。