🧠也许我就是不明白!
Source: Dev.to
在乐观的房间里成为怀疑者的不适感
我已经在 AI 领域工作了一段时间——深入其中,交付产品,把模型接入产品,凌晨 3 点盯日志,出现奇怪情况时向用户道歉。然而每次看到类似的帖子时:
“自主代理将为你运营业务。”
我脑中会响起一个安静、让人不舒服的声音:
“也许是我没有领会到其中的意义。”
大家似乎都很自信,只需要:
- 把模型接入工具层
- 用几条提示包装它
- 让它调用 API
就能看它“运行运营”或“管理公司”。
而我却在问一些听起来几乎无聊的问题:
- 我们真的在把这东西的决策权交给重要事务吗?
- 我们的控制面到底是什么?
- 当它以意想不到的方式失败时会怎样?
- 我们真的认为
prompt = governance吗?
我有时担心自己太谨慎、太老派、太陷在“工程思维”里,而世界正向更流动、更概率的方向演进。另一面我又在想:
“也许必须有人大声说出:提示并不是控制。”
于是这篇文章便是我的尝试——半是忏悔,半是技术宣泄,全部是自我怀疑。
提示看起来像控制,但其实不是
当你写提示时,它感觉像在写一条策略:
You are an operations assistant. You always follow company policy.
You never issue a refund above 200 EUR without human approval.
You always prioritize customer safety and data privacy.
它看起来像一套规则,一个小规格。但实际上,你只是把自然语言文本作为条件喂给一个统计模型,而该模型:
- 没有严格保证这些词会被遵循
- 没有内建的“政策”或“违规”概念
- 没有确定性的执行路径
- 对单次错误行为的“冲击半径”没有感知
你给它文本,模型返回更多文本。控制感来源于你,而不是系统本身。模型并不“知道”这些指令是神圣的;它只知道它的权重中存在一种模式:“当输入看起来像这样时,往往会跟随类似的文本。” 这两者之间的鸿沟正是风险所在。
软件系统中真正的控制是什么样的
如果我们把 AI 炒作抛到一边,像后端工程师一样思考,“控制”一直意味着:
权限
- 哪个身份可以在何处、何时、以何种频率执行何种操作
边界
- 网络分段、防火墙、只读 vs. 读写访问、速率限制
可审计性
- 谁在何时使用了哪些参数执行了什么操作
可逆性
- 我们能撤销这次操作吗?能从备份恢复吗?
约束和不变量
- 账户余额永不为负
- 订单必须始终拥有有效的用户 ID 和商品 ID
- 该服务每秒不能推送超过 X 次更新
在此之上我们还会叠加:
- 监控
- 警报
- 回退路径
- 终止开关
- 变更管理
这些繁琐且不炫目的工作正是让严肃系统不至于崩溃的根本。
现在把它和 AI 代理的“控制”进行对比:
- “我们用一个提示让模型保持安全。”
- “我们加了一条信息:如果不确定,就询问人工。”
- “我们配置了几个工具,让代理自行决定调用哪个。”
这两个世界之间存在巨大的鸿沟。我不断自问:
“我要求对 AI 自动化也采用同等严谨的标准是否反应过度?
还是因为界面友好、输出流畅而导致我们整体上反应不足?”
为什么基于提示的控制是脆弱的
非确定性
用相同的模型、相同的提示、温度 0.7 调用十次会得到:
- 稍有不同的推理链
- 偶尔出现截然不同的答案
- 有时出现罕见但灾难性的失败模式
这种可变性在聊天场景下可以接受,但当输出用于:
- 批准或拒绝退款
- 决定是否升级合规问题
- 向重要客户发送邮件
时就不那么能容忍了。如果你的“政策”仅存在于提示中,模型可能在某个 token 路径异常时随机偏离。
上下文稀释与指令冲突
在复杂的代理设置中,模型的上下文大致如下:
System messages ("You are X")
Task instructions
Tool specs
History, previous steps, errors
User messages
Tool responses
你精心编写的安全指令可能会:
- 被埋在上下文深处
- 被后续消息覆盖
- 与工具描述产生冲突
- 与用户输入产生奇怪的交互
你无法确定哪条指令在模型内部的加权中占优势,只能寄希望于最重要的部分足够“响亮”。
分布漂移与奇怪的边缘案例
模型在静态数据上训练完成后,被推入:
- 不断演进的产品
- 变化的用户行为
- 新颖的业务流程
- 来自聪明用户的对抗性输入
你在内部测试中观察到的表现并不是正式的保证;它仅是某些抽样条件下模型表现“足够好”的证据。一个奇怪的边缘案例就可能导致大问题。
缺乏有根基的状态和形式化规则
传统系统拥有明确的状态机和规则,可以形式化、证明或至少进行推理。AI 代理通常缺少:
- 对环境的形式化内部模型
- 可证明的决策过程
- 组合式的保证
如果你想要真正的控制,就必须在模型之外构建控制,而不是把它塞进提示内部。这就引出了一个问题:为什么这么多人愿意跳过这一步?
三个 A:Automation(自动化)、autonomy(自主性)、authority(授权)
把营销常常混为一谈的三个概念区分开来会更清晰。
Automation(自动化)
这正是我们数十年来一直在做的:
- Cron 任务
- 脚本
- 流水线
- 守护进程
自动化的含义是:“这一步特定的例行操作由机器处理。”
(关于 autonomy(自主性)和 authority(授权)的进一步讨论请参见原文。)