链式上下文系统
摘要
讨论在基于循环的AI代理中管理上下文的方法,比较保存与不保存内部推理步骤之间的权衡,以避免冗余和重复。
嗨,开门见山:我正在构建一个在循环中运行的AI代理。每当我向它提问时,它都会将以下内容添加到上下文窗口中:用户的问题、系统提示、工具描述、之前的工具输出、其他对话状态。然后模型会反复调用工具,直到它认为任务完成。在使用两种不同方法时,我遇到了可靠性和幻觉问题:**1. 保存代理的内部推理** 代理在调用工具前会生成一个内部计划/推理步骤,我将该推理保存到上下文中以供后续迭代使用。这有助于保持连续性,但Token会快速累积。一段时间后,上下文变得臃肿,模型开始出现异常行为或产生幻觉。**2. 不保存内部推理** 代理在使用工具前仍会生成内部计划,但推理结果*不*被保留。取而代之的是,只存储一个简短的动作摘要。这避免了上下文膨胀,但也产生了另一个问题:详细的内部计划在每次迭代后实际上丢失了。结果,代理经常在循环中重复执行相同的几个动作,就好像它忘记了自己内部已经得出的结论。我该如何解决这个问题?
相似文章
@himanshutwtxs: 循环工程只有在循环能够记住时才能成立。以下是决定因素:-> 上下文窗口重置…
解释有效的AI代理循环工程需要一个外部持久化存储来跨迭代保持记忆,防止上下文腐烂,并使代理能够通过数千次运行进行学习。
AI智能体的有效上下文工程
Anthropic发布指南,将上下文工程定义为提示工程的演进,侧重于为AI智能体筛选最优上下文token,以在多轮推理过程中保持性能和专注度。
@sairahul1: https://x.com/sairahul1/status/2067171101978071501
本帖子全面介绍了AI代理的上下文工程技术,阐述了上下文管理对代理性能的关键作用,以及如何优化Token使用以避免性能退化。
你的“自主代理”不断循环的隐秘原因(对代理底层记忆的深度剖析)
对 CrewAI 和 AutoGen 等多代理框架底层信息路由方式的技术剖析,揭示它们本质上是自动化的提示链式循环。本文解释了代理因上下文窗口膨胀和缺少确定性停止条件而陷入无限循环的原因,并为开发者提供了实用建议:将代理视为函数式编程函数,而非人类协作者。
@akshay_pachaar: https://x.com/akshay_pachaar/status/2069118430582866051
本文解释了AI代理中的循环工程概念,强调核心循环很简单,但关键工作在于模型周围的“束具”,包括知道何时停止以及防止上下文腐败。