一句话概要:范式决定智能体怎么走,上下文决定它每一步能看到什么;上下文是有限且边际收益递减的资源,而「看到什么」这件事可以通过系统提示、工具、示例、即时检索与长时程三招来工程化管理。
一、从提示工程到上下文工程
提示工程问的是「这句话该怎么说」,关注如何编写与组织指令以获得更优结果;上下文工程问的是「这次调用该让它看见什么」,是在推理阶段策划与维护最优的信息集合,其中不仅包含提示本身,还包括系统指令、工具、外部数据、消息历史等一切会进入上下文窗口的信息。
所谓上下文,指对模型进行采样时所包含的那组词元。工程问题是在模型固有约束下优化这些词元的效用。要有效驾驭模型,需要「在上下文中思考」——每次调用都审视模型可见的整体状态,并预判这种状态可能诱发的行为。循环运行的智能体不断产生下一轮可能相关的数据,必须被周期性提炼,所以技艺在于从持续扩张的候选信息宇宙中甄别该进窗口的内容。
二、上下文是稀缺资源
大海捞针类基准揭示的现象叫上下文腐蚀:随着上下文窗口中的词元增加,模型从中准确回忆信息的能力反而下降。因此上下文是有限资源且边际收益递减——模型有一笔「注意力预算」,每新增一个词元都消耗一部分。
稀缺源自架构约束:主流架构让每个词元与上下文中所有词元建立关联,形成 n 的平方级别的两两注意力关系,长度增长会把建模能力「拉薄」。加之训练数据中短序列更常见,模型对全上下文依赖的经验更少。位置编码插值等技术能让模型适配更长序列,但牺牲部分位置精确理解。综合效果是性能梯度而非悬崖式崩溃——长上下文下依旧强大,但检索与长程推理精度下降,且不会以报错形式暴露。
三、系统提示的两个极端
目标是「最小必要信息集」(最小不等于最短)。两个常见误区:过度硬编码(在提示里写复杂脆弱的条件逻辑,维护成本高、易碎);过于空泛(只给宏观目标,缺少对期望输出的具体信号,或假定错误的共享上下文)。建议按区块组织(角色、约束、工具指引、输出描述)并用分隔标记隔开。方法:先用最好的模型在最小提示上试跑,依据失败模式增补指令与示例。
四、工具设计的三点与一条判断标准
工具定义智能体与信息/行动空间的契约,应:职责单一、相互低重叠、接口语义清晰;对错误鲁棒;入参描述明确无歧义。最常见的失败模式是「臃肿工具集」——一条实在的判断标准是:如果人类工程师都说不准该用哪个工具,别指望智能体能做得更好。甄别出「最小可行工具集」能显著提升长期稳定性。
五、示例胜过千言万语
始终推荐提供少样本示例,但不要把所有边界条件一股脑塞进提示,而应精选一组多样且典型的示例直接刻画期望行为。示例绕开了「用语言描述需求」这一天然有损环节,尤其适用于说不清的风格、粒度与详略。
六、从一次性检索到即时上下文
智能体 = 在循环中自主调用工具的模型。趋势是从「推理前一次性检索」转向「即时上下文」:不预加载全部数据,而是维护轻量化引用(文件路径、存储查询、链接),运行时用工具动态加载。除存储效率外,引用的元数据也传达目的与时效——测试目录与核心源码目录下的同名测试文件,语义暗示就不同。自主检索还带来渐进式披露:文件大小暗示复杂度、命名暗示用途、时间戳暗示相关性。
代价是运行时探索更慢,且需要有主见的工程设计提供正确的工具与启发式,否则智能体会误用工具、追逐死胡同。实践中混合策略往往更稳:前置加载少量高价值上下文保速度,再允许按需自主探索。
七、长时程任务的三招
选型经验:压缩整合适合需要长对话连续性的任务;结构化笔记适合有里程碑的迭代式开发与研究;子代理架构适合能从并行探索中获益的复杂研究分析。
| 时间 | 章节 |
|---|---|
| 00:00 | 开场 |
| 00:52 | 从提示工程到上下文工程 |
| 02:57 | 上下文是稀缺资源 |
| 05:06 | 系统提示怎么写 |
| 06:37 | 工具怎么设计 |
| 07:40 | 示例的价值 |
| 08:27 | 从一次性检索到即时上下文 |
| 10:57 | 长时程任务的三招 |
| 13:21 | 代价与收尾 |
总时长 16 分 04 秒。
Datawhale《Hello-Agents:从零开始构建智能体》第九章「上下文工程」,第 9.1 节「什么是上下文工程」,以及第 9.2 节「为什么上下文工程重要」(9.2.1 有效上下文的「解剖学」、9.2.2 上下文检索与智能体式搜索、9.2.3 面向长时程任务的上下文工程)。
更完整的图文内容请直接阅读原书,本页仅为音频配套要点。
本内容改编自 Datawhale《Hello-Agents:从零开始构建智能体》,采用 CC BY-NC-SA 4.0 授权,为二次演绎配音版。