智能体应该是代码还是带有独立运行时的声明式实体?
摘要
作者认为,生产环境中的AI智能体应定义为具有独立运行时的声明式清单,而不是分散在应用代码中,以便实现适当的版本控制、可观测性和回滚。他们将自己的解决方案作为开源工具提供。
我构建智能体已经有一段时间了,并且一直遇到同样的问题。一个智能体最初只有几行代码——一个提示词、几个工具、一个循环。起初效果还不错。但那些投入生产的智能体会迅速扩张;它们需要更多的工具、预算、重试机制、人工参与以及升级规则。所有这些最终都混杂在应用代码、环境变量以及添加的各种日志中。然后,六个月后,有人会问:'为什么智能体在三月份做了X?'或者'我们能撤销对其工具访问权限的改动吗?'没有直接的答案,因为智能体从来不是一个内聚的实体。它只是分散在应用中的代码。似乎智能体正处于类似于数据库在ORM之前或基础设施在Terraform之前的境地。在智能体发展超出其内联代码形式之前,这种方法都还可以,但之后没有人对接下来的做法达成一致。我和联合创始人提出了一个具体的解决方案,所以我需要说明我们正在这个领域进行开发。这个想法是停止将智能体视为代码,而开始将其视为一个清单。你在一个文件中定义智能体,指定其工具、限制、策略以及需要人工输入的地方。你在一个指定的环境中运行它,每次运行都会提供实际发生情况的追踪记录。智能体变成了一个定义明确、可版本化且可逆的实体,而不是分散在应用中的逻辑。这与Terraform为基础设施带来的转变类似。它是开源且在线的;评论中有一个链接,任何想试用的人都可以点击。你在生产环境中遇到过这个问题吗?还是你的框架(如LangGraph)处理得足够好?你们目前如何处理版本控制、回滚以及弄清楚'它做了什么以及为什么'?将智能体视为一个定义好的工件而非应用代码的想法是否合理?还是说它对大多数情况来说过于复杂了?
相似文章
@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479
本文主张,AI Agent 的开发应基于稳定的执行原语,而非会随新兴编排模式频繁更迭的僵化框架。文章强调,采用持久化步骤、持久状态、并行协调、事件驱动流程以及可观测性设计,可有效避免因最佳实践不断演进而付出的高昂重写代价。
如何让代理运行数小时,以及哪些架构真正对代理友好?#深度探讨 #氛围程序员问题
作者探讨了AI编码代理的两个关键挑战:确保长时间自主执行(数小时)以及为本地应用设计对代理友好的架构。他们提出在规划和执行之前,增加一个显式的知识组织阶段来管理混乱的上下文。
AI代理是否正在创造一个新的运行时供应链攻击面?
讨论AI代理安全作为一个超越提示注入的运行时供应链问题,强调来自不可信数据、工具和反馈循环的风险,并质疑开发者如何执行边界。
我们构建了一个代理运行时,其中任务是从配置编译的显式状态机
Friday Studio 是一个开源的代理运行时,它将自然语言工作流编译成显式的、版本控制的 YAML 状态机。它允许开发者通过聊天构建 AI 代理,但以稳定的配置文件形式部署,确保生产环境的可靠性。
有人能帮我理解AI Agent的用例或让我信服吗?
一位软件开发者质疑AI Agent的实际价值,表达了对控制权、问责制的担忧,并怀疑手动自动化结合LLM是否比委托给自主代理更可靠。