Agent Sandbox 从零开始 · 3.0
第 4 / 34 节 · 面向零基础读者

第 2 章:一张图看懂工作过程

五个角色

用户提出目标;模型给出行动建议;控制器检查并调度;沙箱里的进程运行代码;结果处理器检查输出后交给用户。实际产品可能把这些角色合在同一服务中,但理解时应把责任分开。

下面的流程从上到下阅读:

用户目标
   ↓
模型提出工具调用
   ↓
控制器:校验参数、权限与预算
   ↓
沙箱:受限文件、网络、进程与资源
   ↓
结果处理:日志、产物检查、错误分类
   ↓
模型继续推理,或向用户提交结果

不要把模型输出直接当成可信的系统指令。假如模型建议运行一个命令,控制器仍需要决定:命令能在哪个环境里运行、能访问哪些文件、允许运行多久。

一个贯穿本书的案例

我们让一个“销售表格助手”读取三行演示数据,计算收入总额,写出 JSON 报告。它只需要输入目录的读取权、输出目录的写入权、少量 CPU 和内存。计算过程不需要网络。

控制器可以先创建沙箱,把演示 CSV 放进去,再运行 Python。成功后只取出报告;失败时保存必要错误信息,最后删除环境。后面每项设计都可以回到这个例子检查:这项权限是否真是完成任务所需?

沙箱之外仍有工作

如果报告被自动发给客户,发信动作属于另一个权限边界。如果报告内容不准确,沙箱也不会自动纠正。因此“运行受限”“内容正确”“允许发布”是三个不同判断。

本书包含示例与资料导读;验证范围和来源见附录。