上下文工程
上下文工程(Context Engineering)是指系统性地构建大模型执行任务所需的上下文信息。以 Cursor 为例,其上下文工程体系由以下组件构成:
| 组件 | 说明 |
|---|---|
| Prompt | 提示词工程,单次任务的指令设计 |
| MCP | Model Context Protocol,标准化的工具集成协议 |
| Skills | 按需加载的专业化 Agent 能力 |
| Rules | 持久化 AI 指南和编码规范 |
| Commands | 可复用的命令文件,通过 / 触发 |
| Agents | 自定义子代理配置,支持任务委派与并行执行 |
| Hooks | 由事件触发的自动化脚本,用于观察和控制 Agent 行为 |
除此之外RAG也可以看作上下文工程的一部分,但是更严格来说,我愿意把它看作大模型应用的一部分。
模型自身的知识库一定会过时,因此需要外部知识检索来补充实时信息。这个过程可以是调用搜索引擎接口,也可以是查询向量数据库。关于 RAG 的技术细节(chunking、embedding、重排序、知识图谱等)。
在上下文工程的视角下,RAG 的核心挑战在于召回质量:
- 语义鸿沟:数据库里存的是"宠物沟通指南",用户搜的是"怎么和我的狗相处",直接匹配很可能无法召回。解决方法是让大模型进行查询拓展,将"怎么和我的狗相处"拓展为"人与动物相处"、"宠物相处"等,从而跨越语义鸿沟。
- 歧义消解:用户搜索"小米"、"苹果"这类多义词时,召回结果可能混杂无关内容。这时就需要结合用户的历史行为和个性化信息来消歧——如果用户总是问化肥、农药,那"小米"大概率是农产品而非电子产品。
AI 上下文的“甜点区间”(Sweet Spot)是描述模型在对应上下文窗口下最佳场景。
到 2026 年为止,根据最新的行业实测和模型表现,大模型的上下文甜点区间可以划分为以下几个档位:
| 档位 | Token 范围 | 汉字容量 (约) | 性能表现 | 甜点原因 / 特点 | 适用场景 |
|---|---|---|---|---|---|
| 黄金性能区 | < 32K | 2.5 万字以内 | 逻辑推理天花板 | 指令遵循最严谨,多步思维链(CoT)无损,延迟(TTFT)极低。 | 复杂指令解析、核心逻辑代码编写、单篇长文精修 |
| 极致准确率区间 | 32K - 128K | 2.5 万 - 10 万字 | 高精度召回区 | 2026 年主流模型在此区间的“大海捞针”测试(NIAH)成功率稳压 99.9% 以上。 | 法律条款比对、深度论文研读、多源财报交叉比对 |
| 效率平衡区间 | 128K - 512K | 10 万 - 40 万字 | 生产力甜点区 | RAG 的最佳承载上限。模型能“通读”多本技术手册,支持端到端长文本对齐,性价比最高。 | 跨项目代码库分析、多轮复杂对话记录、整本专业书研读 |
| 长文本“边界区” | 1M - 2M+ | 100 万字以上 | 功能性负载区 | 存在物理延迟增加和“中间信息忽略”风险(Lost in the Middle),信息处理深度有所下降。 | 整个代码仓库全量扫描、数小时视频转录、不可分割的大型数据集探索 |
随着技术的迭代,或者特定的长文本优化技术,甜点区间会不断右移。但受限于Transformer模型的设计,不影响总体结论:短窗口永远比长窗口更便宜、更准确。
Prompt
提示工程(Prompt Engineering)关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性,另外追求更少的 Token 获得更佳的效果也是提示词工程的重要方向。
提示词工程有一套通用的方法论,但是基于不同的模型效果会有所不同,现在的模型更新迭代又很快,因此需要牢记原理,在实践中不断调整自己对提示词的理解。
推荐文档:https://www.promptingguide.ai/zh
提示词要素
- 任务描述:简明清晰地描述任务。
- 上下文信息:提供相关背景信息提升准确性。
- 示例输入/输出:为模型提供具体案例指导生成内容。
- 输出格式要求:通过明确格式控制输出结构。
设计提示的通用技巧
- 清晰性:使用准确的语言表达需求。
- 分解任务:将复杂任务拆分为多个步骤。
- 逐步引导:通过示例或分步推理帮助模型理解任务。
- 动态调整:根据输出效果优化提示内容。
提示技术
零样本提示(Zero-shot Prompting)
示例:
将以下句子翻译为英语:
我喜欢学习提示工程。
少样本提示(Few-shot Prompting)
示例:
你需要将输入的内容翻译成中文,将所有可能缩写补充完整。
示例输入:
dir
i
keep
windows
seconds
zhipu
示例输出:
directory 的缩写,表示目录;
通常为 item 或 index 的缩写,表示 元素、索引;
保持 keep 的动词原形;
多个窗口 window 的复数,也可能表示 Windows 操作系统;
秒 second 的复数形式;
zhipu 的专有名词,指智谱(中国一家人工智能公司,Zhipu AI);
链式思考提示(Chain-of-Thought, CoT)
示例:
问题:如果有10个橙子,卖掉了3个,又买了5个,现在有多少个橙子?
请逐步说明计算过程并给出答案。
自我一致性(Self-consistency)
示例:
问题:一个人有50元,他花了30元买书,又花了10元买文具,还剩多少钱?
请给出答案并解释理由。
生成知识提示(Knowledge Generation Prompting)
示例:
请为以下主题生成一段背景知识:量子计算的基本原理。
Prompt Chaining
示例:
请总结以下文章的主要内容:
[文章文本]
根据以上总结,请生成一段详细解释。
思维树提示(Tree-of-Thought, ToT)
示例:
一个人开车去A地需要40分钟,走路需要2小时。他选择开车出发,但在半路遇到堵车,延误了30分钟。他用了多长时间到达A地?
请给出所有可能的推理路径并选择答案。
检索增强生成(Retrieval-Augmented Generation, RAG)
示例:
根据以下文档内容回答问题:
[检索内容]
问题:量子计算的优势是什么?
自动推理并使用工具(ART)
示例:
请计算3的5次方是多少?
如果需要,可以调用计算器。
Reflexion
示例:
问题:5的平方是多少?
模型第一次输出:20
模型反思:答案不对,因为5*5=25
最终答案:25
高阶提示技术
自动提示工程师
示例:
模型:请为以下任务生成高效的提示:
任务:将200条用户评 论按情感分类为正面或负面。
Active-Prompt
示例:
当前任务是识别文本中的关键实体:
第一步,识别所有专有名词;
第二步,判断其是否为人名。
方向性刺激提示
示例:
如果我是一个市场分析师,我会如何描述近期经济趋势?
请从分析师角度回答问题。
Program-Aided Language Models
示例:
编写Python代码计算圆的面积:
输入:半径为3
输出:
ReAct框架
示例:
问题:世界上最高的山是什么?
行动:查询数据库
思考:我需要确认山的名称和高度。
最终答案:
多模态思维链提示方法
示例:
根据以下图片生成描述:
[插入图片]
描述应包含颜色、位置和物体。
基于图的提示
示例:
以下是社会关系图:
- Alice -> Bob (朋友)
- Bob -> Charlie (同事)
任务:找出Alice与Charlie之间的关系。
meta-prompting
示例:
任务:设计一个提示来解释meta-prompting的概念。
提示应包括定义和应用场景。
提示词安全
提示词注入(Prompt Injection)是指攻击者通过精心构造的输入,绕过系统提示词的限制,让模型执行非预期的操作。以下两个案例展示了常见的攻击手法。