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. 自检

  1. Harness 三件套各管什么?
  2. 沙箱的三种级别与风险?
  3. 权限策略的三层?
  4. 复盘模板里"根因"与"直接原因"的差别?
  5. 为什么"本地跑"更危险?

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/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。