- 从简单的提示工程过渡到全面的上下文架构,以消除幻觉和上下文腐烂。
- 通过编写、选择、压缩和隔离信息来管理LLM上下文窗口的战略方法。
- 将结构化记忆和知识图谱相结合,为智能体提供情境感知和可解释推理能力。
一段时间以来,人工智能社区的热门话题都是提示工程——也就是找到能让聊天机器人做出正确反应的“魔法词语”。但说实话,当我们开始构建实际产品,而不仅仅是炫酷的演示时,我们遇到了瓶颈。我们意识到,仅仅在提示中调整几个形容词并不足以阻止模型思路中断,或者在复杂的流程中出现臆想。这时,上下文工程就派上了用场,它将关注点从提问方式转移到模型在回答问题时“工作记忆”中究竟存储了哪些信息。
可以将LLM想象成一个强大的CPU,而上下文窗口则相当于它的RAM。无论模型多么智能,如果RAM中充斥着垃圾数据或缺少关键数据,系统都会崩溃或出现故障。上下文工程本质上就是对这个工作空间进行精细的编排,确保在需要的时候,最重要的信号标记能够准确地出现在需要它们的时刻。这就像考试前,给学生一份模糊的指令和给他们一本精心挑选的教科书、一个计算器以及一份详细的笔记之间的区别。
超越基础:为什么提示还不够

提示工程非常适合诸如总结段落或改变电子邮件语气之类的单次任务。这些都是独立的交互,模型依赖于其预训练数据。然而,当涉及到智能体领域——人工智能需要规划、使用工具并记住十几个不同步骤中的信息——标准提示就变得脆弱不堪。最终会导致“上下文腐化”,即模型被过多的噪声信息淹没,或者因为对话过长而忘记了最初的目标。
真正的差距在于,提示信息是静态的,而生产工作流程是动态的。代理需要知道当前日期、用户帐户的具体状态,以及两分钟前调用的工具的结果。上下文工程通过构建信息组装管道来解决这个问题,实时决定要检索哪些信息、要汇总哪些信息以及要丢弃哪些信息,从而保持模型的稳定性和高效性。
稳健的背景策略支柱

要真正掌握上下文工程,必须从四个主要角度来看待它:写入、选择、压缩和隔离。首先,写入上下文涉及创建“草稿本”或外部存储器。智能体不再寄希望于模型记住某个计划,而是将计划显式地写入状态对象或文件,从而确保即使窗口内容过多,蓝图也不会丢失。
接下来是上下文选择。你不能把所有文档都直接塞进提示框。高级系统会使用GraphRAG 或语义搜索来提取最相关的数据片段。这不仅包括文本,还包括具体的工具定义。如果一个代理有 100 个工具,提供所有 100 个工具的描述会让它感到困惑;相反,系统应该只插入与当前步骤真正相关的 5 个工具。
当历史记录过长时,压缩上下文就变得至关重要。这不仅仅是删除旧消息,而是利用递归摘要将冗长的事件轨迹浓缩成几个关键要点。最后,隔离上下文意味着使用多智能体架构。通过将庞大的任务分配给多个专门的子智能体,每个子智能体都能获得自己独立的清晰上下文窗口,从而避免单个模型试图同时处理所有任务时出现的“干扰”。
结构化记忆和知识图谱的力量

传统的红黄绿灯算法通常依赖于向量相似度,其基本原理是“查找发音相似的文本”。但对于企业级智能体而言,这往往不够,因为它缺乏情境感知能力。这就是知识图谱的变革之处。通过映射实体及其关系(例如,“服务 A 依赖于服务 B”),智能体可以执行多跳推理,遍历知识图谱以找到问题的根本原因,而不仅仅是基于关键词匹配进行猜测。
集成结构化输出也有助于优化循环。通过强制模型输出 JSON 或特定模式,您可以将这些结构化数据反馈到下一步的上下文中,而无需使用冗余的对话式语言。这样可以确保令牌预算专注于逻辑,而不是礼貌用语或填充词。
实际实施和工作流程设计
要将这种理念付诸实践,就需要从以模型为中心的思维模式转向以架构为中心的思维模式。首先要定义最小可行上下文(MVC):即模型成功运行所需的最少信息量。这通常包括用户的目标、精简的内存概要、必要的工具定义以及一些高质量的示例(少样本提示)。
使用LangGraph 和 Python等编排框架,开发者可以创建事件驱动的工作流。与其使用一个巨大的提示框,不如构建一系列节点,每个步骤都有其特定的上下文。例如,“搜索规划器”节点只需要查询语句和可用的搜索工具,而“报告生成器”节点则需要汇总的搜索结果和格式指南。这种策略性的隔离可以防止出现异常情况,并确保代理始终朝着正确的方向运行。
人工智能工程师不断演进的技能组合
人工智能开发者的角色正在转变。他们不再是懂得关键词的“灵媒”,而是系统架构师。要精通这一领域,需要融合图建模、检索优化以及对Transformer模型如何处理信息的深刻理解。未来人工智能应用的护城河并非模型本身——因为模型正日趋商品化——而是那些能够确保智能体在复杂多变的真实环境中可靠运行的专有上下文管道。
构建可靠的人工智能系统最终取决于将上下文窗口视为一种稀缺且宝贵的资源。通过结合动态检索、结构化记忆和智能压缩,可以将通用逻辑学习模型 (LLM) 转变为精准的工具,使其能够准确理解自身所处位置以及需要执行的操作。这种向上下文工程的转变确保了随着模型功能的增强,我们引导模型的能力始终保持精准、可扩展,并且最重要的是,基于事实现实。