上下文工程
上下文工程(Context Engineering)是指系统性地构建大模型执行任务所需的上下文信息。以 Cursor 为例,其上下文工程体系由以下组件构成:
| 组件 | 说明 |
|---|---|
| Prompt | 提示词工程,单次任务的指令设计 |
| MCP | Model Context Protocol,标准化的工具集成协议 |
| Skills | 按需加载的专业化 Agent 能力 |
| Rules | 持久化 AI 指南和编码规范 |
| Commands | 可复用的命令文件,通过 / 触发 |
| Agents | 自定义子代理配置,支持任务委派与并行执行 |
| Hooks | 由事件触发的自动化脚本,用于观察和控制 Agent 行为 |
info
除此之外RAG也可以看作上下文工程的一部分,但是更严格来说,我愿意把它看作大模型应用的一部分。
模型自身的知识库一定会过时,因此需要外部知识检索来补充实时信息。这个过程可以是调用搜索引擎接口,也可以是查询向量数据库。关于 RAG 的技术细节(chunking、embedding、重排序、知识图谱等)。
在上下文工程的视角下,RAG 的核心挑战在于召回质量:
- 语义鸿沟:数据库里存的是"宠物沟通指南",用户搜的是"怎么和我的狗相处",直接匹配很可能无法 召回。解决方法是让大模型进行查询拓展,将"怎么和我的狗相处"拓展为"人与动物相处"、"宠物相处"等,从而跨越语义鸿沟。
- 歧义消解:用户搜索"小米"、"苹果"这类多义词时,召回结果可能混杂无关内容。这时就需要结合用户的历史行为和个性化信息来消歧——如果用户总是问化肥、农药,那"小米"大概率是农产品而非电子产品。
Prompt
提示工程(Prompt Engineering)关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性,另外追求更少的 Token 获得更佳的效果也是提示词工程的重要方向。
提示词工程有一套通用的方法论,但是基于不同的模型效果会有所不同,现在的模型更新迭代又很快,因此需要牢记原理,在实践中不断调整自己对提示词的理解。
推荐文档:https://www.promptingguide.ai/zh
提示词要素
- 任务描述:简明清晰地描述任务。
- 上下文信息:提供相关背景信息提升准确性。
- 示例输入/输出:为模型提供具体案例指导生成内容。
- 输出格式要求:通过明确格式控制输出结构。