864 字
约 2 分钟
9
S21-J01 · Harness 工程:运行时、Loop 与沙箱
适用读者:要从"能跑"走到"能在生产跑"的人。
前置:S21-B06。
覆盖旧文:712(314) 711(180) + 6 卡 = 971 点。
覆盖扩展:E-S21-008(Loop/沙箱/权限三件套)。
上一篇:S21-B06 · 记忆与状态
下一篇:S21-J02 · 多 Agent。
1. 一句话结论
模型的"大脑"之外,所有工程都在 Harness 里:谁跑循环、在哪执行工具、能碰什么。三件套是 Loop 引擎、沙箱、权限策略。
| 组件 | 职责 | 出问题的表现 |
|---|---|---|
| Loop 引擎 | 驱动推理-行动循环 | 死循环、上下文爆 |
| 沙箱 | 隔离执行环境 | Agent 删库/改系统 |
| 权限策略 | 能调哪些工具、读写哪些路径 | 越权访问 |
2. 三件套的具体设计(E-S21-008)
2.1 Loop 引擎
| 关注点 | 设计 |
|---|---|
| 步数上限 | 硬上限(B02 实测:上限不降效果,只砍成本) |
| 上下文管理 | 每步截断 Observation(S20-J02) |
| 失败重试 | 区分可重试/不可重试(B05 的错误码) |
| 中断恢复 | 状态快照(B06 的源数据) |
2.2 沙箱
| 级别 | 能力 | 风险 |
|---|---|---|
| 无沙箱(直接本机) | 最方便 | 最高(rm -rf 级) |
| 容器 | 文件系统隔离 | 中(可挂载宿主目录) |
| microVM / 独立 VM | 强隔离 | 低(启动慢) |
判据:"Agent 会执行生成的代码/命令吗?" 会 → 必须沙箱,且默认不挂载宿主关键目录。
2.3 权限策略
① 工具白名单(只注册需要的)
② 路径白名单(只读写工作目录)
③ 危险操作需审批(A02 的 HITL)
3. 一次事故的最小复盘模板
| 项 | 内容 |
|---|---|
| 现象 | Agent 删除了工作目录外的文件 |
| 直接原因 | 沙箱未限制路径 |
| 根因 | 工具注册了 shell,且未设白名单 |
| 修复 | 去掉 shell / 加路径白名单 / 危险命令审批 |
| 验证 | 复跑同样的指令,确认被拦截 |
"复盘要写"根因"不是"直接原因"——直接原因是"删了文件",根因是"为什么允许它删"。
4. 五个误区
| 误区 | 真相 |
|---|---|
| "Agent 只在本地跑,不用沙箱" | 本地更危险(有你的全部权限) |
| "步数上限会降低能力" | 实测不影响成功率 |
| "工具越多能力越强" | 攻击面与误调用上升 |
| "出问题改提示词就行" | 权限问题改提示词无效 |
| "复盘写清现象就够了" | 要写根因与验证 |
5. 自检
- Harness 三件套各管什么?
- 沙箱的三种级别与风险?
- 权限策略的三层?
- 复盘模板里"根因"与"直接原因"的差别?
- 为什么"本地跑"更危险?
6. 下一篇
S21-J02 · 多 Agent:协作、路由与子代理
Harness 讲完,下一篇算清"多 Agent 到底值不值"(实测 token 与时间)。
本篇属于系列《S21 · Agent 工程与 MCP》。旧文来源:A-712/711 + 6 卡;扩展点 E-S21-008。
S21-J01 · Harness 工程:运行时、Loop 与沙箱
https://www.clxhxhhr.top/posts/5485/ 评论
0 条
还没有评论,先写一条吧。