深度使用 AI 后的理性反思
开发者分享实战中对 AI 能力和局限的思考,适合想理性评估 AI 工具的开发者,但观点因人而异。
开发者分享实战中对 AI 能力和局限的思考,适合想理性评估 AI 工具的开发者,但观点因人而异。
我已经与 AI 工作了一段时间。
不是作为游客。不是周末黑客。深度参与其中。交付产品、将模型集成到产品中、凌晨3点看日志、当出问题时向用户道歉。
然而,每次我看到那些文章说:
"AI 智能体会为你运营业务。"
我脑子里就会冒出一个安静而不安的声音:
"也许是我没有理解。"
每个人似乎都对这个想法充满信心,我们只需要:
把模型插入一个工具层
用几个提示词包装它
然后看着它"运营业务"或"管理公司"
而我在旁边,问一些听起来几乎很无聊的问题:
我们真的在给它实际的重要决策权吗?
我们的控制面到底是什么?
当它以我们没有预料到的方式失败时会怎样?
我们真的认为提示词 = 治理吗?
我的一部分担心我就是太谨慎了。太守旧。太执着于"工程思维",而世界正在进化成更流动、更概率化的东西。
但我的另一部分也在想:
也许有人需要大声说出来,提示词不是控制。
所以这是我的尝试。一半忏悔,一半技术吐槽,完全充满自我怀疑。
让我描述一个反复出现的模式。
我加入一个关于"AI 采用"或"智能体用于运维"或"工作流自动化"的会议或电话。有人分享一张幻灯片,大概是这样的:
用户请求 -> LLM -> 智能体框架 -> 工具 -> 利润
叙述通常是:
"我们将拥有能够自主处理客户工单、管理支付、调整定价、编写代码、进行增长实验、生成内容等的智能体。人类只需要监督。"
当人们点头时,我感觉自己像房间角落里那个尴尬的人,在想:
"这仍然是一个基于训练数据和提示词上下文进行文本补全的随机模型吧?我是不是错过了什么使它成为实际可靠决策者的公告?"
然后自我怀疑就开始了。
我低估了这些模型变得有多好
我太执着于用显式逻辑和清晰不变量构建系统的老方法
我有偏见,因为我在实践中看到了太多微妙的失败
我在投射自己对失去对我应该理解的系统控制的恐惧
在坏的日子里,内部独白就是:
"其他人似乎都乐意委托给这个。也许我就是没有足够的远见。"
但随后我看了这些模型和工具链的实际属性,我大脑的理性部分静静地坚持:
"不,等等。这不是关于缺乏远见。这是关于基本的控制论和风险。"
这里发生了一个深层的心理技巧。
当你写一个提示词时,感觉像是你在写一个政策。
"你是一个运维助手。你始终遵循公司政策。你绝不会在没有人工批准的情况下发放超过 200 欧元的退款。你始终优先考虑客户安全和数据隐私。"
这看起来像一个规则集。几乎像一个迷你规格说明。
但底层,你真正做的是把自然语言文本作为条件输入到一个统计模型中,该模型具有:
没有严格的保证那些词会被遵循
没有内置的"政策"或"违反"概念
没有确定性的执行路径
没有意识到单个错误操作的"影响范围"
你给了它文本。模型给你回了更多文本。
控制感来自你,而不是系统。
是你的大脑读了那个提示词并说:
"啊,是的,我告诉它做什么。所以现在它就会这样做。"
模型不"知道"那些指示是神圣的。
它的权重中有模式说:"当输入看起来像这样时,那样的文本通常会跟在后面。"
这两件事之间的距离正是很多风险所在的地方。
如果我暂时忘记 AI 炒作,像一个无聊的后端工程师一样思考,"控制"一直意味着:
权限 — 哪个身份可以在哪里做什么以及多频繁
边界 — 网络隔离、防火墙、只读与读写访问、速率限制
可审计性 — 谁在什么时候用哪些参数做了什么
可逆性 — 我们能撤销这个操作吗?我们能从备份恢复吗?
约束和不变量 — 账户余额在本系统中绝不能为负;订单必须始终有有效的用户 ID 和产品 ID;此服务每秒不能推送超过 X 个更新
然后,在所有这些之上,我们分层:
这很繁琐和不酷,但这正是让严肃系统不会崩溃的原因。
现在将这个与我们谈论 AI 智能体时的"控制"进行比较:
"我们用一个告诉它保持安全的提示词包装了模型。"
"我们添加了一条消息:如果不确定,请询问人类。"
"我们配置了一些工具,让智能体决定调用哪些。"
这两个世界之间有巨大的差距。
我一直在问自己:
"我对 AI 自动化要求类似的严谨性是在过度反应吗?还是我们因为接口如此友好、输出如此流畅而集体反应不足?"
让我列出我难以相信提示词 = 控制作为严肃安全机制的主要原因。
用相同的模型和相同的提示词,温度 0.7,调用十次,你得到:
略微不同的推理链
偶尔非常不同的答案
有时罕见但灾难性的失败模式
在聊天设置中这是可以的。但如果:
输出批准或拒绝退款
输出决定是否升级合规问题
输出向重要客户发送电子邮件
如果你的"政策"只是在提示词中,当某个令牌路径出错时,模型可能会随机偏离它。
在复杂的智能体设置中,模型上下文看起来像:
系统消息("你是 X")
历史、前面的步骤、错误
你精心编写的安全指令可以:
埋在上下文的很远处
被后面的消息压倒
与工具描述冲突
与用户输入奇怪地交互
你无法确定在模型内部加权中哪个指令赢了。你只能希望最重要的部分足够响亮。
模型在静态数据上训练。然后被抛入:
变化的用户行为
新颖的业务流程
来自聪明用户的对抗性输入
你在内部测试中看到的任何行为都不是形式保证。它只是证据,在某些条件样本下,它表现得"足够好"。
可能只需要一个奇怪的边界情况就能造成大问题。
旧系统有显式状态机和规则。你可以形式化、证明或至少推理它们。
AI 智能体通常没有:
对环境的正式内部模型
可证明的决策过程
组合保证
这意味着如果你想要真正的控制,你需要在模型周围构建它,而不是在提示词内。
这把我带到了我一直在问的部分:
"为什么这么多人乐意跳过这部分?"
我发现有用的是分离三个经常在营销材料中混为一谈的概念。
这是我们几十年来一直在做的:
自动化意味着:"这个特定的日常步骤由机器处理。"
设计不良的自动化仍然可能造成麻烦,但至少逻辑是显式的。
自主性更强:
系统可以决定要采取哪些步骤
它可以对环境做出反应
它可以从多个可能的操作中选择
它可以生成你没有硬编码的计划
这是基于 LLM 的智能体所在的地方。它们选择工具、推断目标、适应上下文。
然后是权力:
系统有权直接影响重要资源
它可以转移资金、改变生产系统、与客户交谈、签署看起来像承诺的东西
权力是风险爆炸的地方。
你可以拥有具有以下特点的自主智能体:
完全没有权力(纯建议)
有限权力(沙箱化操作)
充分权力(无限制对真实世界系统的写访问)
我的恐惧不是自主性本身。我的恐惧是自主性加上只有基于提示词的"控制"和最少的保护脚手架的权力。
那感觉像一个脆弱的塔。
公平地说,我理解这种吸引力。这不仅仅是炒作或愚蠢。有真实存在的压力使人们想要这成为现实。
经济压力
认知过载
界面幻觉
叙事动力
所以当我看到"AI 将运营您的公司"这波浪潮升起时,我自己的立场开始感到几乎令人尴尬:
"抱歉,我仍然认为我们应该把这当作一个不可靠但有用的同事,而不是一个无所不知的运营主宰。"
我太消极了吗?还是其他人太乐观了?我真的不知道。
让我尝试表达我一直在思考的模型。也许这是我的偏见。也许这只是乏味的最佳实践。
我用分层的方式来想象 AI 系统。
在核心处,LLM 或视觉模型或其他组件是:
它产生选项,而不是真理。它起草、提议、聚类、解释。
在这种框架下,默认是:
"模型所说的一切都需要由其他东西检查或约束。"
像"未经人工批准,永远不要退款超过 X"这样的政策不应该只存在于提示文本中。
它们应该存在于包装模型的实际逻辑中。
MAX_AUTO_REFUND = 200 # euros
def handle_refund_suggestion(user_id, suggestion_amount):
if suggestion_amount <= MAX_AUTO_REFUND:
issue_refund(user_id, suggestion_amount)
log_event("refund_auto_approved", user_id=user_id, amount=suggestion_amount)
else:
create_manual_review_ticket(user_id, suggestion_amount)
log_event("refund_needs_review", user_id=user_id, amount=suggestion_amount)
模型仍然可以说"我认为我们应该退款 300 欧元"。但权限是通过硬限制委派的,而不是通过提示中的礼貌提醒。
AI 智能体不应该看到原始数据库或根 shell。
def send_email(to, subject, body, *, template_id=None):
# Validation
assert isinstance(to, str)
assert "@" in to
assert len(subject) < 200
assert len(body) < 5000
# Logging
log_event("email_requested", to=to, subject=subject, template_id=template_id)
# Send through provider
provider.send(to=to, subject=subject, body=body)
AI 智能体可以选择调用 send_email,但无法绕过:
"AI 智能体运行一切"的想法对我来说感觉是错误的。
一个更扎根的模型:
您甚至可以在配置中编码这一点:
tasks:
- id: reply_to_low_risk_tickets
autonomy_level: 2
max_impact: "single_customer_message"
- id: adjust_pricing
autonomy_level: 0
requires_human_approval: true
- id: issue_refund
autonomy_level: 1
max_amount: 200
然后在编排层强制执行这一点,而不仅仅在一段英文文本中。
如果一个系统以任何意义上"运营您的业务",您会想知道:
没有这个,您是盲目的。
当我设计具有以下特点的系统时:
我有时感觉像是勇敢探险家世界中的偏执狂。
每次对"自主"系统的自信演示都会触发一个小的内部比较:
然后我看着我自己的心理模型:
"把 AI 当作一个不可靠的同事对待。只在严格定义的边界内赋予它权力。始终观察它。"
这可能感觉保守,几乎是限制性的。
自我怀疑是真实的。
有时我真的想:
"也许我应该放松并更多地相信 AI 智能体。"
然后我记起了实际发生的事件:
谨慎的一面再次获胜。
公平地说,是的。我可能在几个方面都错了。
我记住的可能性:
模型可能达到我目前无法预期的可靠性水平
普通企业可能容忍比我认为的更多风险
新的 AI 智能体框架可能在内部强制执行更多结构
我可能被陈旧的心理模型困住了
我试图保持这种谦虚。我不想永远成为那个喊"汽车很危险,马更好"的人。
但即使我对风险的幅度错了,我仍然相信:
"任何时候你混合自主性和权限,你需要真正的控制结构,而不仅仅是漂亮的英文。"
我还没有看到一个有说服力的论证,说明提示本身对于重要决策来说是充分的控制机制。
我没有在"AI 智能体是未来"对"AI 智能体是无用的"的辩论中选择一方,而是试图坐在中间:
我承认 LLM 是用于推理、起草和规划的极其强大的工具
我拒绝认为这种权力使它们成为天生可信任的决策制定者的想法
我仍然想在重要的系统中深入利用它们
我想用明确的、乏味的、老式的控制表面来设计这些系统
这就是为什么我关心这样的事情:
明确定义流程的编排器
YAML 或其他声明式格式,将“应该发生什么”与“模型如何推理”分离开来
将能力封装在严格边界之后的服务节点
能够让你回放发生了什么以及为何发生的可观测性
这也是为什么当有人告诉我:
“我们有一个自主运行 X 的 AI 智能体。”
我的第一反应总是问:
它在一次执行中最多能造成多大的损害?
你如何知道它做错了事?
你如何快速阻止它?
提示词之外的硬性规则在哪里?
如果答案含糊不清,我的自我怀疑就会暂时消退,而我对自身怀疑态度的信心则会增强。
与此同时,我自己也在这个领域构建工具。这让事情多了一层微妙之处:
我不想让人觉得,我在攻击自己正在从事的这个领域
但我也不想过度吹捧自主性,却对控制避而不谈
所以,当我提到自己的工作时,我会尽量说得非常直接:
“我正在为 AI 智能体开发一个编排层,其中包含显式流程、分支、服务节点和可追溯性。它的核心目的不是‘让 AI 掌控一切’,而是为人类提供一个清晰的框架,让人能够决定 AI 可以做什么、何时可以做,以及需要采取哪些安全保障措施。”
如果你感兴趣,这项工作就在 OrKa Reasoning 项目中。它是我试图调和“深度使用 AI”与“不要凭感觉放弃控制”这两种理念的一部分。
如果显式控制 AI 智能体的理念引起了你的共鸣,可以在这里了解 OrKa Reasoning 技术栈:
OrKa Reasoning 仓库:https://github.com/marcosomma/orka-reasoning
OrKa Reasoning 仓库:https://github.com/marcosomma/orka-reasoning
快速入门和文档:https://github.com/marcosomma/orka-reasoning/blob/master/docs/getting-started.md
快速入门和文档:https://github.com/marcosomma/orka-reasoning/blob/master/docs/getting-started.md
OrKa Reasoning 是我尝试为开发者提供的一个 YAML 优先的编排层,其中:
流程和分支是显式的
记忆、工具和服务都封装在定义清晰的节点中
你可以检查追踪记录,并理解为何会做出某个决定
换句话说,这是一个实验,旨在构建那些我希望现代 AI 技术栈默认就具备的控制界面。
如果你也有类似的不安,我想明确地说:
尊重这些模型所具备的能力
以富有创意的方式挑战它们的极限
围绕它们构建严肃可靠的系统
“不,我不会让它们对重要决策拥有完全且不受限制的控制权。控制权属于人类,并且应该被编码到可理解、可审计的系统中。”
保持好奇,也保持怀疑
胸怀雄心,但不愿假装提示词文本就等同于治理
几乎每次说出这些担忧时,我依然会怀疑自己。我依然担心,自己听起来像是一群兴高采烈的孩子中那个无趣的大人。
但我宁愿承受这种不适,也不愿假装只要在提示词顶部写一句“请确保安全”,我们就解决了控制问题。
如果这番絮叨中有任何内容引起了你的共鸣,我很想听听你的看法:
你如何在自己的 AI 系统中设计控制机制?
在自主性与决策权之间,你把界线画在哪里?
你是否找到了一些真正能够缓解你对放任 AI 智能体采取行动之焦虑的实践方法?
欢迎留言、指出我思考中的漏洞,或者告诉我为什么错了。
我完全接受这样一种可能:那个“没搞懂”的人是我。
但如果我们要让 AI 智能体接触真实的企业、真实的金钱和真实的人,我真心希望我们能先把控制问题解决好。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为