只有登录用户才可以评论
Lance的个人博客 关于 代理人的上下文工程
2025年6月23日
Lance Martin
简短摘要
代理人需要上下文来执行任务。上下文工程是指在代理人的整个工作流程中,确保在每一阶段都有恰到好处的信息,使其发挥最佳状态的艺术与科学。本文将探讨几种常见的上下文工程策略,这些策略广泛应用于当今流行的多个代理程序中。
就像Andrej Karpathy所说,大语言模型(LLMs)就像是新一代的操作系统。大语言模型是CPU,而其上下文窗口就像RAM,主要用于模型的工作记忆。与RAM类似,大语言模型的上下文窗口容量有限,用于处理各种上下文信息。正如操作系统会优化哪些信息进入CPU的RAM,上下文工程的作用与此类似:
“上下文工程是把正确信息放入上下文窗口的微妙艺术和科学。”
当我们构建大语言模型(LLMs)应用程序时,需要管理哪几种类型的上下文呢?上下文工程包括但不限于以下几种类型:
今年,人们对代理人的兴趣急剧增长,随着大语言模型变得更擅长推理和工具调用,代理程序开始交替调用大语言模型和工具。这通常用于处理长时间运行的任务。
然而,长期任务和累积的工具调用反馈意味着代理人经常需要大量token。这可能会引发一系列问题:超出上下文窗口大小、使成本/延迟激增或降低代理人性能。Drew Breunig具体列出了更长上下文可能导致性能问题的几种方式:
考虑到这一点,Cognition强调了上下文工程的重要性:
“上下文工程”是构建AI代理的关键性任务。
Anthropic也清晰地指出:
代理程序经常涉及数百轮对话,需要细致的上下文管理策略。
那么,人们是如何应对这个挑战的呢?我将其归为四大类:写、选、压缩、隔离,并在下面给出一些每个类别的例子。
保存上下文信息到窗口外,帮助代理人完成任务。
选择上下文信息,确保关键信息始终可用。
压缩上下文信息,使其保持在窗口内。
将不同信息流隔离开,确保它们不会相互干扰。
以上就是代理人的上下文工程的一般策略,希望对你的项目有所帮助!
Lance的个人博客
关于
代理人的上下文工程
2025年6月23日
Lance Martin
简短摘要
代理人需要上下文来执行任务。上下文工程是指在代理人的整个工作流程中,确保在每一阶段都有恰到好处的信息,使其发挥最佳状态的艺术与科学。本文将探讨几种常见的上下文工程策略,这些策略广泛应用于当今流行的多个代理程序中。
什么是上下文工程?
就像Andrej Karpathy所说,大语言模型(LLMs)就像是新一代的操作系统。大语言模型是CPU,而其上下文窗口就像RAM,主要用于模型的工作记忆。与RAM类似,大语言模型的上下文窗口容量有限,用于处理各种上下文信息。正如操作系统会优化哪些信息进入CPU的RAM,上下文工程的作用与此类似:
“上下文工程是把正确信息放入上下文窗口的微妙艺术和科学。”
当我们构建大语言模型(LLMs)应用程序时,需要管理哪几种类型的上下文呢?上下文工程包括但不限于以下几种类型:
为代理人做上下文工程
今年,人们对代理人的兴趣急剧增长,随着大语言模型变得更擅长推理和工具调用,代理程序开始交替调用大语言模型和工具。这通常用于处理长时间运行的任务。
然而,长期任务和累积的工具调用反馈意味着代理人经常需要大量token。这可能会引发一系列问题:超出上下文窗口大小、使成本/延迟激增或降低代理人性能。Drew Breunig具体列出了更长上下文可能导致性能问题的几种方式:
考虑到这一点,Cognition强调了上下文工程的重要性:
“上下文工程”是构建AI代理的关键性任务。
Anthropic也清晰地指出:
代理程序经常涉及数百轮对话,需要细致的上下文管理策略。
那么,人们是如何应对这个挑战的呢?我将其归为四大类:写、选、压缩、隔离,并在下面给出一些每个类别的例子。
写上下文
保存上下文信息到窗口外,帮助代理人完成任务。
选上下文
选择上下文信息,确保关键信息始终可用。
压缩上下文
压缩上下文信息,使其保持在窗口内。
隔离上下文
将不同信息流隔离开,确保它们不会相互干扰。
以上就是代理人的上下文工程的一般策略,希望对你的项目有所帮助!