让 AI 代理看起来强大的最简单方法,就是给它过多的权限。
让它能读取一切。让它能写入任何地方。让它能调用 API、发送邮件、更新 CRM、处理退款,然后事后用一段自信满满的段落解释自己。
这不是产品。这是一场等待会议邀请的权限事故。
代理的难点不在于工具使用。难点在于边界。
代理不是职位名称
"销售代理"不是一份规格说明。
"客服代理"、"研究代理"或"运营代理"也不是。这些说法描述的是一个幻想中的员工,而不是软件边界。
一个有用的代理规格说明应该明确实际循环:
- 读取这些输入
- 从这些动作中选择
- 在这些条件下请求审批
- 写入这些系统
- 记录这些决策
- 在发生这种情况时停止
循环越小,代理越好。
代理应该只负责一个决策面。路由。起草。提取。检查。对账。而不是"运行运营"。
可见的代理只是表面。持久的产品是它周围的系统:策略、工具边界、审批关卡和审计追踪。
工具应该狭窄,而非令人印象深刻
大多数代理演示展示的工具列表就像奖杯陈列柜。
更好的生产模式其实很平淡:
- 一个搜索工具
- 一个结构化读取工具
- 一个起草工具
- 一个带审批关卡写入工具
- 一个升级路径
每个工具应该做得比模型想要的更少。模型可以请求。系统来做决定。
如果工具可以修改数据,它就需要提示词之外的约束。模式验证。白名单。速率限制。幂等键。审计日志。涉及金钱、权限或声誉时需人工审批。
提示词不是权限模型。
人类不是糟糕设计的备选方案
"人在回路中"常被当作装饰性短语使用。
它应该意味着一个真正的控制点。人类能看到提议的动作、来源证据、理由、风险以及精确的差异对比。他们可以批准、编辑、拒绝或将其路由到其他地方。
如果审核界面只显示最终答案,那么审核者不是在审核。他们只是在用更好的排版进行猜测。
一个好的审批界面应该展示:
- 什么发生了变化
- 代理认为应该改变的原因
- 它使用了哪些来源
- 它无法验证什么
- 如果审核者同意会发生什么
这就是工作流和魔术之间的区别。
常规软件仍然被允许
并非每个工作流都需要代理。
如果决策树是稳定的,就写软件。如果输出必须精确,就写软件。如果输入是结构化的且动作是确定性的,就写软件。
只有在语言、歧义和判断力是实际问题的地方才使用代理。
这通常意味着代理位于系统的边缘,将混乱的人类输入转化为结构化的工作。它不取代系统。它喂养系统。
边界检查清单
在构建代理之前,我需要五句话:
- 代理被允许决定 ___。
- 代理不被允许决定 ___。
- 代理可以调用这些工具:___。
- 代理必须在 ___ 之前询问人类。
- 每个动作都记录在 ___ 中。
如果这些句子很难写出来,说明代理还没准备好构建。
边界即产品。
