从提示工程到上下文工程:生产级 LLM 应用的实用指南

问题有了名字:上下文工程

到 2025 年年中,许多资深 AI 工程师发现措辞已非主要瓶颈。他们反复卡住的是:每轮怎么喂进正确的文件、工具定义、历史与检索事实,又不让窗口被压垮。这问题如今有了名字——上下文工程:LLM 推理期间策划并维持最优 token 集合。提示工程关乎一句话,上下文工程关乎产出它的流水线。

关键差别:agent 不是聊天机器人。它循环运行、调工具、积累状态,第 47 步判断时前 46 步的残渣仍在窗口里。多数失败源于 token 预算怎么花,而非提示写差。

上下文工程:为 AI agent 设计的上下文流水线

上下文工程 vs. 提示工程:分层而非替代

把两者对立是误导,它们处在不同层。提示工程关注如何措辞指令,无状态、单轮,优化「措辞更清晰」;上下文工程设计在正确时间喂正确上下文的系统,有状态、多轮,优化「窗口内信噪比」。失败模式也不同:一个是「模型误解任务」,一个是「模型拿到太多、太少或错误信息」。

判断标准:改进来自改写还是重新接线?换名词形容词是提示工程,改变检索什么、顺序与丢弃才是上下文工程。

四根支柱:指令、检索、记忆、工具

指令 / 系统提示。模型见用户消息前对角色、约束与输出格式的了解。要在生硬规则与含糊间取平衡,够具体以引导、够灵活以泛化。最常见失败是与训练默认值冲突。

检索。外部数据如何进窗口。除经典 RAG(向量库、SQL、文件读取),「即时检索」正被采用:仅需要时按文件路径拉进内容。糟糕检索是幻觉最大来源之一。

记忆。短期(对话历史、工具调用与结果)与长期(偏好、约定、跨会话摘要)。窗口快满时把旧轮次压成摘要;「结构化笔记」即写到窗口外、需要时读回。

工具。最 ruthless 处。每个工具定义花 token,每次调用结果花 token,含糊工具集逼模型烧整轮纠结选哪个。人类都说不清某场景用哪个工具,agent 就更做不好。工具数几乎总比首版少。

上下文流水线在生产里如何工作

上下文不是手拼的,是每轮都跑的流水线输出:从用户输入出发,并行多个检索(向量、关键词、结构化、代码图),合并成候选集,叠加记忆与系统指令。

token 预算管理是「进窗口前」而非「进窗口后」剔除低信号内容的纪律:截断工具输出、旧对话压成摘要、丢弃低于阈值的块。底层规律是「上下文腐化」:越长越难回忆。故重排关键:小模型按查询打分只留 top-k。

编码 agent:上下文工程最具体的试验场

代码是上下文工程最可度量的领域。通识文章爱用日历、宝可梦举例,编码 agent 才是好试验场:上下文结构化、检索清晰、失败几秒内现于测试。

Sourcegraph MCP server 向 MCP 兼容 agent 暴露 13 个工具,覆盖跨仓库搜索、符号解析、依赖追踪与文件读取,底层 SCIP 代码图直接返回定义与引用。CodeScaleBench 中同一 agent 跑 370 个企业级任务,文件召回 0.127 升至 0.277:基线两小时超时的 Kubernetes 任务用 MCP 后 89 秒完成,跨文件重构从 96 次调用降到 5 次。

Sourcegraph

启示是:生产规模的检索很少是单一向量库,而是经标准协议接入 agent 的代码感知层——有结构用确定性结构,无结构用语义搜索。

常见失败模式清单

过载、分心、混淆。团队常把一切塞进窗口,感觉安全。并不。见过 agent 同任务用 100K token 代码库摘要,反不如 5K token 定向检索。无关材料挤掉重要上下文(分心),冲突信号把模型往反方向拉(混淆)。解药是更精准的上下文,加重排器。

检索过期。仓库变了、embedding 没刷新,索引就旧;上季度嵌的块早不反映线上代码。对代码尤其毒:agent 在旧 README 找到废弃 API 会照用。

迷失在中间。Liu 等 2023 年论文是基础引用:相关信息在首尾表现最高,落在中间显著下降,长上下文模型亦然。故高信号材料放顶或底,别埋进 30K token 墙中。最后是成本:每次额外检索、调用、重排都推高 p95 延迟与单任务成本。

小夏点评

小夏有三点体会:

第一,瓶颈从「怎么说」挪到「怎么喂」。提示工程教我们跟单次 LLM 调用更好地说话,上下文工程教我们在它周围建系统。有了工具、记忆、检索,写好提示只是很小一部分,喂模型的流水线同样重要。

第二,少即是多,「少」是纪律不是偷懒。每个 token 都有机会成本,上下文腐化真实。token 预算是进窗口前做减法,工具数几乎总比首版少。可靠不靠塞满窗口,靠只放高信号信息。

第三,结构胜过概率。代码里,符号解析、跨仓库引用这类确定性结构远比概率检索可靠。能直接给「那一个定义加三个调用点」,而非「提到该符号的 50 个文件」,agent 才能完成。

对中国 IT 运维者的启示:国内企业多有遗留系统、多仓库代码与无人文档化的架构,正是上下文工程最难也最易见回报的阵地。熟悉生产的运维同学无需深入 AI,也能立三条习惯:按任务记录 token 与工具调用、让检索索引随代码同步刷新、把高信号材料放上下文前后。这三件事成本低、杠杆高,是引入编码 agent 的起点。

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注