人工智能(AI)智能体(Agent)工程化与安全执行
预算、停止条件与人工接管
学习目标
- 能为智能体设置时间、步骤、成本和工具调用预算。
- 能定义 completed、failed、blocked、needs_human 等结束状态。
- 能生成可用的人工接管说明。
核心概念
智能体的不确定性会放大成本和风险。没有预算限制时,模型可能反复检索、重复调用工具、在错误路径上继续尝试,最后既没有完成任务,也消耗了大量 token 和时间。
预算应覆盖最大步骤数、最大运行时间、最大模型调用次数、最大费用、单工具超时和失败重试次数。停止条件应由执行器统一判断,包括任务完成、证据不足、权限不足、预算耗尽、风险过高和用户取消。
人工接管不是失败兜底的一句“请联系人工”。好的交接说明(handoff note)要让人能接着做:用户目标是什么,系统做过什么,拿到了哪些证据,卡在哪里,风险是什么,建议下一步是什么。
示例与拆解
一个预算配置可以这样写:
1{ 2 "max_steps": 8, 3 "max_runtime_seconds": 180, 4 "max_model_calls": 12, 5 "max_cost_usd": 0.5, 6 "tool_timeout_seconds": 20, 7 "max_retries_per_step": 1, 8 "handoff_triggers": [ 9 "permission_denied", 10 "high_risk_action", 11 "low_confidence_after_retry", 12 "budget_exhausted" 13 ] 14}
当触发交接时,执行器应冻结运行状态,保存轨迹,并生成交接说明,而不是继续让模型“再试一次”。
常见误区
- 误区一:只限制 token,不限制步骤和工具次数。很多失控来自循环执行,不只是单次上下文过长。
- 误区二:把预算耗尽显示成普通失败。用户需要知道是成本、时间还是权限导致停止。
- 误区三:人工接管信息太少。没有证据和已执行步骤,人工只能从头排查。
小练习
为“自动处理课程退款咨询”设计一组预算和停止条件。至少写出 4 个交接触发条件,并说明每个触发后要给人工什么信息。
实操检查点
写出一个交接说明模板,并用一次失败样例填充。
1目标:判断用户是否符合退款条件 2已执行:读取订单、查询课程政策、检查开课时间 3关键证据:订单已超过退款窗口 12 天 4停止原因:需要人工确认例外政策 5建议动作:由客服检查用户是否有特殊承诺记录
检查标准:接手人员不需要读取完整日志,也能知道为什么停止和下一步该做什么。
随堂测验
完成本章测验时,重点判断哪些情况应该停止,哪些情况可以安全重试。
本章总结
预算和停止条件让智能体从“会自己跑”变成“能被控制”。人工接管则把自动化边界明确交给人,避免系统在风险和不确定性中继续推进。
下一步学习指引
下一章学习智能体观测、轨迹回放和失败分析。只有记录足够完整,预算和交接机制才能被持续优化。