Context Engineering for RAG : The Four Typed Inputs Behind Every RAG Answer - Towards Data Science(2026-07-02)

引言:RAG 的“黑盒”其实有四个旋钮

想象一下,你向一个企业级AI助手提问:“公司去年第三季度的营收是多少?”助手从知识库中检索出相关财报,拼凑出一段答案。但结果却出现了幻觉:它把“季度营收”与“年度累计利润”搞混了。

很多人以为问题出在“大模型不够聪明”或“知识库不够大”。但真实原因往往更隐蔽——你根本没有控制好RAG系统的四个核心输入。这就是今天要聊的 Context Engineering:不是简单堆砌上下文,而是精准地喂养四种不同类型的输入。

四个核心输入类型

RAG(检索增强生成)本质上是一个“信息拼图”过程。拼图有四个关键组件:

1. 用户查询(Query)

这是你直接提出的问题,但往往是最容易被污染的输入。用户可能省略细节、包含歧义甚至错误假设。

2. 检索上下文(Retrieved Context)

这是从知识库中召回的相关文档块。问题在于:你需要的是信息,而非文档

3. 系统指令(System Prompt)

这是模型的“行为规范”。很多人把它当作“神秘咒语”,但实际上它是个任务说明书

4. 示例与规则(Few-shot Examples & Constraints)

少量高质量示例比长篇大论的语言描述更有效。

实战案例:一个财务问答系统的优化

假设你正在构建一个用于内部财报查询的RAG系统。初始版本直接扔给模型一个查询和五段文档:

优化后,错误率降至8%。关键不是模型,而是你给模型的“食谱”

三个实用建议

  1. 拆解查询:将复杂问题拆解为子问题,分别检索再组合。例如“比较A和B的增长率” → 先分别检索A的增长率、B的增长率。
  2. 控制上下文长度:每个检索块不超过500 token,且永远只保留与最终答案最相关的3-5块。
  3. 动态调整指令:根据用户意图(事实查询 vs 分析总结)自动切换不同的系统提示模板。

行动号召

从今天起,当你的RAG系统输出错误时,别再盲目加数据或换大模型。打开你的上下文设计文档,挨个检查这四个输入:查询是否清晰?上下文是否纯净?指令是否具体?示例是否充分?

做一个“上下文工程师”,而不是模型调参师。 你离一个永不幻觉的AI助手,只差这四步。


免责声明:本文内容基于作者在RAG系统开发中的实践经验与行业研究,旨在提供技术参考。实际部署时请结合具体业务场景、数据隐私要求及模型合规性进行适配,作者不对因直接套用本文方法导致的任何损失承担责任。