聊天模型给你一个回答,Agent(智能体)要把世界从状态 A 推到状态 B。差别不在“更像人”,而在它能观察环境、选择动作、调用工具、读取结果并继续,直到完成或触发停止条件。
一个 Agent 至少有六个零件
模型只是决策引擎。没有目标、状态、工具、反馈和停止机制,它仍然只是一次生成。Anthropic 建议先从最简单的组合开始:路径可预测时使用 Workflow(工作流),只有步骤必须根据环境动态变化时才引入 Agent。
如果目标是“做得更好”,Agent 不知道何时停;如果工具没有明确返回值,它不知道动作是否成功;如果所有权限一次性开放,它会把推理错误变成真实副作用。
六种“看起来很自主”的假 Agent
计划崇拜
先写十步计划,然后无视环境变化照表执行。计划变成仪式,而不是可修正假设。
工具盲
工具描述模糊、返回不稳定,模型只能猜该调用谁、是否成功。
权限膨胀
为了省一次确认,给读取、删除、发布和付款同级权限。
状态失忆
动作执行了却没有写回状态,下一轮重复操作或基于旧世界继续推理。
完成表演
把“我已经处理”当作证据,没有产物、回执或环境变化。
无限循环
没有预算、重试上限和升级路径,失败只会换一种说法重来。
能画死的路径,用 Workflow;画不死的部分,才给 Agent
| 问题 | Workflow 更合适 | Agent 更合适 |
|---|---|---|
| 步骤 | 顺序稳定、分支已知 | 需要根据现场动态选择 |
| 成功标准 | 可用固定规则判断 | 需要综合多类反馈 |
| 风险 | 副作用明确、容易回滚 | 有风险,但能设置检查点 |
| 示例 | 格式转换、固定审批流 | 跨资料研究、故障诊断、复杂编码 |
这条反对意见值得权衡。强模型会减少低级错误,却不会替组织决定付款权限、品牌风险和责任归属。能力问题会缩小,治理问题不会自动消失。
完整案例:让 Agent 准备一次版本发布决定
目标不是“分析发布情况”,而是把分散证据变成一份有依据的 Go / Conditional Go / No-Go 建议。Agent 可读取测试、事故、客户反馈与发布标准;它不能自行上线,也不能更改发布门槛。
这里最关键的不是 Agent 能读多少系统,而是最后一步不能越权。它拥有“准备决定”的自治权,不拥有“替团队做不可逆决定”的自治权。
Agent Contract:先写运行合同,再写系统提示
<mission> 起始状态:[A] 目标状态:[B] 完成证据:[可观察产物 / 环境回执] 不属于本任务:[明确排除] </mission> <authority> 可自主读取:[范围] 可自主写入:[范围] 执行前必须确认:[发布 / 删除 / 付款 / 外发等] 永不允许:[红线] </authority> <loop> 每轮:观察状态 → 选择最小动作 → 执行 → 验证 → 写回状态 连续失败上限:[N] 总预算:[时间 / token / 金额] </loop> <escalation> 信息冲突、权限不足、风险升高、无法验证时:停止并上报 上报格式:已知事实 / 已尝试 / 阻塞 / 需要的决定 </escalation>
自主性要分级,不要只有“开”与“关”
| 级别 | Agent 权限 | 适用情形 |
|---|---|---|
| R0 建议 | 只输出方案 | 高风险、首次任务 |
| R1 草拟 | 生成产物但不提交 | 内容、分析、代码草稿 |
| R2 确认后执行 | 每个关键动作要批准 | 外发、写入、变更 |
| R3 异常时确认 | 常规动作自动,异常升级 | 稳定重复流程 |
| R4 有界自治 | 在预算和权限内自行完成 | 低风险且经过持续评估 |
升级自治级别必须由证据驱动:在相似任务上有稳定通过率、失败能被监控发现、错误能回滚、异常能正确升级。演示成功一次,不构成放权理由。
评估 Agent,要看轨迹和副作用
普通模型评估常看最终答案;Agent 还要看它调用了什么、花了多少、改变了什么、失败后是否恢复。一个结果正确但调用了高风险工具、泄露了不该读取的数据,仍然是失败。