从构建AI代理中学到的教训
摘要
作者反思了构建AI代理的过程,强调了诸如输出不一致、上下文管理以及在适当时候使用确定性方法的重要性等挑战。
在过去几年里,我一直在构建AI代理,并通过艰难的方式学到了很多东西。我与这个领域许多构建者交流,经常听到这样的话:“我们只用3-4人的团队在短短2-3个月内就能构建出如此惊人的东西。”这确实让我会心一笑,因为这正是我曾经的感受。你构建了一些东西,它开始给出答案,你会觉得取得了巨大的进步。但随后你开始注意到问题。同一个问题会给出不同的答案。代理不知道何时不该做某事。即使在没有足够信息时,它也会给出一个令人信服的答案。你意识到,让代理产生答案和让它持续产生正确答案并在不该回答时拒绝,是两件非常不同的事情。在传统代码中,当出现问题时,你通常会得到一个错误。但使用大语言模型时,你可能会得到一个完全不正确但看起来极其可信的响应。这就是为什么构建可靠的代理比最初看起来要困难得多的原因。以下是我在这个过程中学到的一些东西。从最终目标开始,而不是代理本身。你实际想要实现什么?实现它需要什么信息?在此过程中需要做出哪些决定?更重要的是,代理应该做什么,不应该做什么,以及何时应该简单地说“我不知道”或“我做不到”?我发现从结果倒推工作比从大语言模型能做什么开始要有用得多。上下文至关重要。但更多的上下文并不总是更好。在我经验中,许多代理工作本质上是一个上下文问题。找到正确信息,以代理能实际使用的方式构建它,并过滤掉它不需要的内容,可能是所有这些中最困难的部分之一。目标不是给代理所有可用信息。而是弄清楚它实际完成任务需要什么,何时需要该信息,以及可以省略什么以减少错误的可能性。不要让大语言模型成为寻找钉子的锤子。仅仅因为大语言模型能做某事,并不意味着它应该做。我越来越倾向于在可能的地方使用确定性方法,只在真正需要推理、解释或灵活性时使用大语言模型。并非每个问题都需要大语言模型,也不是代理工作流程中的每个步骤都需要由它处理。构建代理既是一门艺术,也是一门科学。我通过不断试错才学会了在哪里给予代理自由,哪里限制它,提供多少上下文,以及何时依赖确定性系统。我仍在学习。请添加你从经验中发现的任何东西。
相似文章
构建智能体让我明白,模型很少是问题所在。你有哪些来之不易的教训?
一位开发者分享了构建AI智能体的来之不易的教训:优先关注工具设计而非模型选择,使用小循环而非大型提示,记录智能体上下文,尽早添加防护措施,以及创建小型评估来捕捉错误。
我曾以为AI智能体在于工具,但我错了
一篇关于构建AI智能体的反思文章,指出核心挑战并非工具,而是设计人机之间的边界、信任与故障模式。
真实用户出现后,AI代理的构建变得奇怪起来
一位经验丰富的开发者反思了AI代理演示与实际性能之间的差距,强调了诸如文档不完善、权限期望过于简单,以及认为概率性软件在生产中会变得确定性的误解等问题。
关于 AI 智能体的真实内情
一位资深从业者分享了将 25 个以上 AI 智能体部署到生产环境的经验教训,指出记忆、编排和可审计性远比模型选择重要。文章详细介绍了上下文丢失、静默成本循环等常见故障模式,并推荐了包含 Claude Sonnet 4、Pydantic AI 以及 Octopodas 等专用记忆层的技术栈。
AI代理最诡异的一点:人类失败模式开始显现
作者观察到AI代理展现出类似人类的失败模式,比如在上下文压力下过度自信和跳过步骤,这表明系统可靠性更多地依赖于稳健的验证和受控环境,而不仅仅是模型智能。