智能体应该是代码还是带有独立运行时的声明式实体?

Reddit r/AI_Agents 工具

摘要

作者认为,生产环境中的AI智能体应定义为具有独立运行时的声明式清单,而不是分散在应用代码中,以便实现适当的版本控制、可观测性和回滚。他们将自己的解决方案作为开源工具提供。

我构建智能体已经有一段时间了,并且一直遇到同样的问题。一个智能体最初只有几行代码——一个提示词、几个工具、一个循环。起初效果还不错。但那些投入生产的智能体会迅速扩张;它们需要更多的工具、预算、重试机制、人工参与以及升级规则。所有这些最终都混杂在应用代码、环境变量以及添加的各种日志中。然后,六个月后,有人会问:'为什么智能体在三月份做了X?'或者'我们能撤销对其工具访问权限的改动吗?'没有直接的答案,因为智能体从来不是一个内聚的实体。它只是分散在应用中的代码。似乎智能体正处于类似于数据库在ORM之前或基础设施在Terraform之前的境地。在智能体发展超出其内联代码形式之前,这种方法都还可以,但之后没有人对接下来的做法达成一致。我和联合创始人提出了一个具体的解决方案,所以我需要说明我们正在这个领域进行开发。这个想法是停止将智能体视为代码,而开始将其视为一个清单。你在一个文件中定义智能体,指定其工具、限制、策略以及需要人工输入的地方。你在一个指定的环境中运行它,每次运行都会提供实际发生情况的追踪记录。智能体变成了一个定义明确、可版本化且可逆的实体,而不是分散在应用中的逻辑。这与Terraform为基础设施带来的转变类似。它是开源且在线的;评论中有一个链接,任何想试用的人都可以点击。你在生产环境中遇到过这个问题吗?还是你的框架(如LangGraph)处理得足够好?你们目前如何处理版本控制、回滚以及弄清楚'它做了什么以及为什么'?将智能体视为一个定义好的工件而非应用代码的想法是否合理?还是说它对大多数情况来说过于复杂了?
查看原文

相似文章

@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479

X AI KOLs Timeline

本文主张,AI Agent 的开发应基于稳定的执行原语,而非会随新兴编排模式频繁更迭的僵化框架。文章强调,采用持久化步骤、持久状态、并行协调、事件驱动流程以及可观测性设计,可有效避免因最佳实践不断演进而付出的高昂重写代价。