重试、超时、成本预算、部署与运维
1. 预算
每次 run 设置:
- 最大模型 turn;
- 最大工具调用;
- token/金额;
- wall-clock deadline;
- 单工具超时;
- 子 Agent 数和并发;
- 最大重试;
- 最大产物大小。
预算到达时保存 partial result 和 checkpoint,给出明确终止原因。
2. 重试
按 provider、tool、业务动作分别配置。指数退避加入 jitter,尊重限流响应。非幂等动作重试前查询状态。记录原请求、重试原因和最终结果。
3. 部署形态
- CLI:开发/编码 Agent,便于本地工具与 Git;
- Web App:交互、确认和产物展示;
- Slack/Teams Bot:消息入口,需线程、身份和权限映射;
- GitHub Action/App:issue/PR 触发,需最小仓库权限;
- Background Worker:长任务、队列、checkpoint;
- Desktop:Computer Use、本地文件与应用集成。
Harness 与入口分离,同一 run contract 可被不同渠道调用。
4. 生产组件
- API/Gateway;
- queue 与 worker;
- session/checkpoint store;
- object storage;
- secrets manager;
- sandbox;
- tracing/metrics/logs;
- eval runner;
- rate limit;
- feature flags;
- artifact delivery。
5. 运维
- 健康检查不只看进程,还测模型、关键工具和存储依赖;
- Run 有租约/心跳,worker 崩溃后可接管;
- 版本发布保留 prompt/tool/schema 兼容;
- 模型切换做 shadow eval;
- 外部服务降级时明确标记;
- 成本异常和循环调用告警;
- 数据备份与删除流程定期演练。
6. 发布检查
- 固定 eval 通过;
- 迁移可回滚;
- 配置和密钥齐全;
- 权限最小化;
- 关键动作幂等;
- trace 关联完整;
- 取消和超时有效;
- README 与 runbook 更新;
- 生产 smoke test;
- 回滚版本已保存。