HelloAgent(四): 上下文工程(Context Engineering)让智能体稳定思考的方法

52 阅读3分钟

提示词越多,效果越好么?并不是, 这是一个常见的误解。

研究发现,当提示词太长导致大模型的上下文超过某个临界点后,模型准确率会断崖式下跌。

这就是今天要聊的上下文工程(Context Engineering)  要解决的问题——不是塞得越多越好,而是要精挑细选、科学组合。

上下文腐蚀

这种反直觉的现象叫上下文腐蚀。研究人员做过"大海捞针"实验:在大量信息中埋一条关键信息让模型找。结果发现,上下文超过某个临界点后,模型准确率反而断崖式下跌。

图片

还有位置偏差:开头和结尾的信息模型记得最清楚,中间的内容被两头挤压。学术界给这现象起了个名:Lost in the Middle

这是架构决定的, Transformer 的注意力机制是 n 平方级别,上下文越长,每个 token 分到的注意力就越薄。模型在训练时见惯了短文本,长上下文它其实不太会处理。

三种工程方法

那怎么办?业界有三种方法:

压缩整合

当对话太长时,让模型把前面内容做个高保真压缩总结,用这个总结开新窗口继续聊。保留架构决策、未解决 bug、实现细节,扔掉工具输出的垃圾。这招适合长程连贯对话场景。

结构化笔记

也叫智能体记忆。不把所有东西塞进上下文,而是定时把关键信息写到外头存储,需要时再拉回来。维护 TODO 列表、NOTES.md,跨几十轮对话照样能接上。这招适合迭代式开发。

子代理架构

主代理负责统筹,子代理在干净的上下文窗口里各自深挖,干完活只回传一千到两千字的凝练摘要。庞杂的搜索和工具调用留在子代理,主代理只管整合和推理。适合需要并行探索的复杂研究任务。

上下文构建四步走

图片

有了方法,接下来看怎么落地。实操流程就四步,每一步都有明确目标:

Gather —— 多源信息汇集。系统指令放进去,从记忆系统拉回忆,从 RAG 系统找知识,历史消息保留最近 N 条。

Select —— 智能信息选择。按相关性和新近性打分,用贪心算法从高到低填充。设置最低相关性阈值,把垃圾信息过滤掉。这步最关键,直接决定上下文质量。

Structure —— 结构化输出。把选中的信息按模板组织好,别乱七八糟堆在一起。

Compress —— 兜底压缩。如果超预算就做压缩,每个分区保核心,必要时让模型做智能摘要。

这四步贯穿了三种工程方法的核心思想——不是盲目堆砌上下文,而是有策略地收集、筛选、组织、压缩。把握住这个思路,你就能根据具体场景灵活组合。

总结概述

上下文工程(Context Engineering)解决的核心问题就一个:怎么在有限的上下文窗口里,让模型读到最该读的东西。

把上下文构建当成系统工程来做,收集-筛选-结构化-压缩,每一步都做好,模型表现会稳定很多。


如果这篇文章对你有帮助,帮忙点个赞,有动力继续更新!

欢迎关注公众号:蝈蝈的AI笔记,有更多干货内容。

资料来源: datawhalechina.github.io/hello-agent…