游乐游手机版
首页/AI热点日报/热点详情

上下文工程:构建Agent的核心关键

类型:热点整理2026-07-24
在Agent开发这条路上,有一个概念我觉得值得反复拿出来聊——上下文工程。这绝对不是最后一次提起,因为它正在成为左右Agent性能的核心变量。 说真的,与其花时间抄那些千篇一律的Prompt模板,不如搞清楚上下文工程在Agent中到底如何运作。这才是真正能提升效率的关键。 正好,最近刷到Latent

在Agent开发这条路上,有一个概念我觉得值得反复拿出来聊——上下文工程。这绝对不是最后一次提起,因为它正在成为左右Agent性能的核心变量。

说真的,与其花时间抄那些千篇一律的Prompt模板,不如搞清楚上下文工程在Agent中到底如何运作。这才是真正能提升效率的关键。

正好,最近刷到Latent Space的一期播客,里面深入讨论了这个问题。嘉宾是Lance Martin,Langchain的早期核心成员。他基于Open Deep Research项目的实战经验,分享了不少关于上下文工程的洞见。

我把这期访谈的关键内容梳理了一下,想系统了解Agent开发的,建议反复观看。读完你会发现,很多看似玄学的问题,其实都有清晰的解决路径。

到底什么是上下文工程

这个概念最早来自Karpathy。他的定义很直接:为LLM提供下一步所需的、恰到好处的上下文。

那么,上下文工程和我们日常说的Prompt有什么区别?

区别在于:Prompt更多是人类与ChatGPT这类聊天模型互动时输入的信息。但在Agent的使用场景中,Agent处理的信息远超这个范围。举个例子,如果用Claude Code或Cursor这类Coding Agent,你会发现,即使只是处理一个简单的请求,都可能触发大量工具调用,产生巨大的Token消耗,给模型带来沉重的上下文负担。

所以现在整个AI圈都在琢磨一个问题:如何给模型塞入最合适的上下文。因为上下文是动态的,它不仅包含System Prompt和用户输入,还需要处理数十次工具调用的结果。在实际生产环境中,一次任务调用工具的次数动辄几十次,甚至上百次。难怪有人说,Claude Code为什么那么贵,大概就是这个原因。

Lance指出,在Agent开发的早期阶段,很多人会粗暴地把所有上下文整合在一起,结果Token消耗惊人。他自己在构建Open Deep Research这个项目时,早期每次运行就要消耗50万Token,成本达到1到2美元。这不仅浪费资源,还直接导致Agent性能急剧下滑。

那该怎么解决?

上下文卸载

Manus团队提出了一个很有效的概念:上下文卸载。

核心思路很简单:不要粗暴地把所有工具调用的原始内容都塞回上下文消息历史里。而是把它们存到一个外部系统,按需检索。保留最简的摘要元数据,确保模型能理解被卸载的内容就行。

Lance以Open Deep Research为例做了说明。在深度研究场景下,可能会卸载整个页面。但真正的难点在于:如何生成能准确反映文章内容的高效摘要或简介。因为这些摘要往往是决定模型是否需要读取相关信息的关键。

在Open Deep Research中,Lance通过精心设计的提示词来生成摘要,确保摘要具有高召回率,能捕获文章中所有关键点。

上下文卸载在多智能体系统中也有重要应用。业内像Cognition团队其实是比较反对多Agent系统的,主要原因是实现难度高,特别是在向子智能体传递充分上下文方面。另外,在多Agent系统中,每个子Agent经常做出相互冲突的决策,如何处理这些决策是个大问题。

Lance的体会是:在编码场景中使用多Agent系统需要非常谨慎,因为每个子Agent在创建系统组件时很容易在决策上产生冲突。但在深度研究场景中,情况反而不同。因为子Agent通过读取操作进行上下文收集,等所有子智能体工作完成后,可以基于共享的上下文进行整合。关于多Agent系统和单Agent的争论,也被称为AI工程中“苦涩的教训”。

检索和记忆

记忆和检索模块,其实在整个Agent系统里长期被低估了。

Lance谈到了当前主流的两种检索方式。一种是基于RAG的方案。Windsurf采用经典的代码分块技术,通过精心设计的语义边界划分代码块,并进行嵌入以实现基于语义相似度的向量搜索与检索。此外,系统还整合了grep和知识图谱,通过重排序机制融合多种检索结果,构建出复杂的多阶段RAG流程。

另一边,Claude Code却采取了截然不同的方案。它直接使用grep等基础工具调用来遍历文件,完全不需要建立检索体系。

Lance自己特意做了一个实验来比较这两种方法的效果,发现Claude Code的方案确实非常有效。

在记忆方面,Lance认为可以分为记忆写入和记忆读取。他继续用Claude Code举例。记忆读取方面,Claude Code每次启动时会载入一个claude.md文档;记忆写入方面,用户需要明确指定保存的内容,然后由Claude Code写入claude.md。

另一种极端是ChatGPT,它的记忆系统在后台自主决定何时写入和调取记忆。虽然看起来很丝滑,但容易失控。

由此可见,如何确定记忆写入的时机与方式,仍然值得深入探讨。不过,记忆读取机制与检索功能的结合,现在已经很成熟了。大规模的记忆检索,本质上就是检索。

上下文工程是构建 Agent 的一切

苦涩的教训

Lance在Open Deep Research项目中有个非常深刻的体会:他一开始采用了高度结构化的工作流程,刻意规避工具调用功能。这源于他2004年的开发经验。但现在的LLM早已今非昔比,这种方案反而成了瓶颈,阻碍了他对MCP等新兴技术的运用,也无法充分利用工具调用功能来改进产品。

另一个教训出现在他让子Agent独立撰写报告时,出现了内容割裂,也就是之前提到的多Agent之间的通信问题。最终他取消了子Agent独立写作的环节,改为单次生成报告机制。

所谓“苦涩的教训”,本质在于:随着模型能力不断飞升,我们在构建AI产品时,必须不断重新审视当前方案的可行性。昨天的经验,今天可能就是枷锁。

最后说点

这期播客的整体质量很高,里面谈到了构建Agent的诸多关键点,包括记忆、检索、上下文工程,以及那些实实在在踩过的坑。如果你也在做Agent开发,真的值得反复看。

目前业界的一个核心共识是:不仅认可Claude Code的写代码能力,更把它的架构设计视为Agent工程的重要参考。同时,传统的RAG检索方式,随着模型能力越来越强,在某些场景下正在被效率更高、质量更好的检索方式所替代。当然,必须承认的是,Anthropic这家公司在产品设计上确实有很强的实力,值得学习的地方很多。

来源:https://www.53ai.com/news/tishicijiqiao/2025091962951.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。