作为一名在工程领域深耕25年的从业者,近期我将大量精力投入于智能体(Agents)的生产环境部署与可靠性保障。此处所指智能体,特指面向消费者、能代为执行任务的功能型代理,这与仅输出主观结果的聊天机器人有着本质区别。

构建一个最小化可行且令人自豪的智能体验充满挑战。尽管过程艰难,但这却是我职业生涯中最具趣味的一段经历。这种兴奋感 reminiscent of 早年编写Visual Basic或在初创公司工作的时光,让我重新找回了编程的快乐。然而,这一领域也伴随着极高的心理风险:卓越工程与精神崩溃之间的界限从未如此模糊。

LLM的不可靠性与“恶魔”逃脱

大型语言模型(LLM)虽令人印象深刻,但在规模化监控下,其不稳定性依然显著。学术界早已知晓LLM无法完全可靠地遵循指令或执行任务,但在日常使用中,这种缺陷常被掩盖。一旦进入生产环境,智能体会以微妙或直接的方式失败。例如,即便要求模型返回80字符以内的标题,它仍可能偶尔输出乱码直至崩溃。这类错误往往源于模型内部的自我重复或注释溢出,修复手段有时显得荒诞且不可持续,如将字段名从“title”改为“heading”可能暂时生效,但隐患依旧。

工具调用同样存在失控风险。部分请求会陷入无限循环或“闹鬼”状态。因此,核心问题转化为如何约束行为,尽管这只“野兽”永远无法被完全驯服。

从人工提示词到自动化优化

约束行为的前提是衡量。行业术语称之为pass^k(通过能力k),即通过反复运行测试套件来监测智能体状态。在此过程中,我得出的关键结论是:提示词(Prompt)本身并不重要,或者说,其在传统认知中的重要性被高估了。

许多团队倾向于由领域专家编写提示词,再交由工程团队实施。这种模式在规模化时必然失效。新增提示词会将智能体置于陌生的语境宇宙中,现有指令的权重干扰新指令的表现,且模型行为可能因不明原因自行漂移。因此,手动调整提示词如同祈祷好运,效率极低。

更优解是让机器代替人工优化提示词。具体路径如下:

  • 生成对抗性场景:利用LLM阅读技能规范,生成潜在的恶意绕过场景及可能被破坏的良性场景,并将其转化为pass^k测试。
  • 连接优化器:建立可重复的衡量指标后,将提示词接入优化器(如遗传帕累托优化,GEPA)。算法会自动反思提示词在测试中的表现,并无需人工干预地迭代修改,直至收敛至最佳状态。
  • 防止过拟合:优化器可能通过将测试示例硬编码到提示词中来“作弊”。为此,必须设置一组保留测试(Holdout Tests),确保优化后的提示词在未见过场景中依然有效。

最终得到的优化提示词可能与初始版本截然不同,其内部逻辑甚至显得混乱,但只要通过度量标准验证,便无需在意其具体内容。提示词本质上只是向量,文本内容已不再核心。

构建自我进化的反馈闭环

测试断言的编写难度取决于行为的确定性。对于确定性行为(如调用特定工具),可直接断言;对于自然语言行为(如禁止谈论工作原理),可使用简单的LLM判断;而对于复杂的主观判断(如品牌声音),则需构建专门的LLM评估器项目。通过黄金数据集优化评估器,使其判断准确率接近人类专家水平。

将上述机制与生产监控结合,可形成自我维持的系统:在部署前运行pass^k测试以避免严重故障;在生产对话采样上运行LLM评估器,识别表现不佳的案例;将这些案例转化为新的测试难题,重新触发优化器。领域专家的工作重心应从精心策划提示词,转向构建测试套件、黄金数据集及质量度量标准。

结语:拒绝AI精神病

在非生产环境中,从零开始或缺乏测量尚可接受。但在生产环境中,缺乏度量的提示词工程无异于一种“AI精神病”。智能体世界充满机遇,但也遍布陷阱。许多开发者构建了摇摇欲坠的临时方案,却忽视了评估体系。

帮助团队启动“测量-优化”飞轮至关重要。若无法触及这一飞轮,工程师和产品经理极易陷入心智迷宫。提示词是短暂且一次性的,唯有具备自我修正能力的系统才能进化并持久。凝视深渊者需谨慎,因为替代方案——即无测量的盲目开发——后果更为严重。