L3 · 嵌入、隔离、评测、成本
工程化
能跑通和敢上线之间差的就是这一阶段:把 agent 嵌进自己的应用,关进沙箱,给它写测试,把 token 账单和失败率变成看得见的曲线。
7 节课 · 约 4 小时已完成 0/7
- 1
用 SDK 把 agent 嵌进自己的应用
动手45 分钟不是所有 agent 都长成终端。SDK 模式让 Pi 变成你应用里的一个库。
- 在一个 Node 服务里嵌入 Pi,接管输入输出与工具集
- 把事件流转成自己前端的实时更新
- 设计会话隔离与并发上限
- 2
RPC 模式:非 Node 宿主怎么接
原理30 分钟宿主是 Go、Python、Rust 也照样能用 —— 一条 stdin/stdout 上的 JSON 协议而已。
- 用非 JS 语言起一个 Pi 子进程并完成一轮完整对话
- 处理协议里的错误、超时与进程退出
- 在 SDK 与 RPC 之间做出选择
- 3
沙箱与隔离:把手脚绑在安全范围里
原理35 分钟与其猜哪条命令危险,不如让危险命令根本没地方落地。
- 为 agent 选一档隔离方案并说明它挡住了什么、挡不住什么
- 在容器里跑 agent 并只挂载该给的目录
- 设计凭据不落地的访问方式
- 4
MCP 还是 CLI 工具:Pi 的取舍
原理30 分钟Pi 明确不内置 MCP,理由值得认真读一遍 —— 然后你自己决定要不要加回来。
- 对比 MCP 与「CLI + README」两种给工具的方式在上下文成本上的差别
- 判断自己的场景该走哪条路
- 需要 MCP 时,用扩展把它接进来
- 5
给 agent 写测试:评测与回归
动手45 分钟改一句提示词就可能让成功率掉一半,而你不会立刻知道 —— 除非有评测。
- 建一组任务用例,能自动判定成功与失败
- 把提示词、工具、模型三者的改动都纳入回归
- 读懂评测波动:多少差异算真的变差
- 6
可观测:trace、用量与失败分类
原理30 分钟线上 agent 出问题时,你需要的不是日志,而是能回放的一整条链路。
- 为一轮 agent 执行打出可回放的完整 trace
- 把 token 用量拆到会话、工具、模型三个维度
- 建立失败分类,让告警指向可行动的原因
- 7
成本与延迟:把账压下来
推演35 分钟同一个任务,做对缓存和模型分层能便宜一个数量级。
- 算出单次任务成本的构成,并指出最值得优化的那一项
- 设计缓存友好的上下文布局
- 用模型分层把简单步骤交给便宜模型