什么是 Context Engineering?
Context Engineering(上下文工程)是指在 AI 驱动的应用(如 AI IDE、Agent)中,通过静态规则配置(如 `.cursorrules`)、动态检索(如 RAG)、符号链接(如 `@file`)等手段,精确地向大模型提供其完成当前任务所需且仅需的背景信息的过程。
快速了解
| 创建时间 | 伴随长上下文 LLM 和 AI IDE 的普及而兴起 |
|---|
工作原理
随着大语言模型(LLM)能力的提升,“如何让 AI 写代码”已经从简单的 Prompt Engineering 演变为更复杂的 Context Engineering。因为在一个庞大的企业级项目中,AI 失败的原因往往不是“不聪明”,而是“不知道”。上下文工程的目的是解决两个极端问题:一是“上下文饥饿(Context Starvation)”,即 AI 缺少关键的依赖库定义或架构规范导致幻觉;二是“上下文超载(Context Overload)”,即一次性塞入过多无关代码,导致大模型在长文本中丢失关键信息(Lost in the Middle),甚至超出 Token 限制。优秀的上下文工程能够像一位经验丰富的架构师一样,在分配任务前,精准地为执行者准备好相关的文档、接口定义和代码片段。
主要特点
- 精准组装:只提供任务强相关的代码和文档
- 动态与静态结合:结合静态的 `.rules` 规则和动态的 RAG 检索
- 消除幻觉:通过提供真实的代码定义,极大降低 LLM 编造不存在 API 的概率
- Token 优化:通过精简上下文(如只提取函数签名)节省成本并提升响应速度
- 系统化思维:超越单次的“聊天”,建立可复用的自动化工作流
常见用途
- AI IDE 辅助编程:在 Cursor 或 Trae 中通过 `@` 符号精准引入文件
- 复杂代码库重构:为 AI 提供旧代码逻辑和新架构规范的上下文对比
- 自动化测试生成:引入目标函数及项目中现有的测试用例规范作为参考
- 知识库问答:通过高级 RAG 策略为用户的提问构建包含图谱、表格的多模态上下文
- Agentic Workflow:在 Multi-Agent 系统中,在不同 Agent 之间传递精简且准确的状态信息
示例
Loading code...常见问题
上下文工程和提示词工程(Prompt Engineering)有什么区别?
提示词工程更侧重于“如何提问”(如语气、角色设定、思维链),而上下文工程更侧重于“提供什么资料”。在复杂的工程任务中,再好的提示词也无法弥补关键业务逻辑或依赖定义的缺失。
如何防止上下文超载?
1) 避免一次性引入整个大文件,只引入需要的函数或类;2) 对于大型 JSON 或配置,先将其转化为紧凑的 TypeScript Interface;3) 善用 AI IDE 的代码块高亮引用功能。
什么是 .cursorrules 或 .trae/rules?
它们是用于定义项目级静态上下文的文件。开发者可以在其中写入团队的编码规范、常用库版本、甚至架构原则。AI IDE 会在每次生成代码时自动读取这些规则作为全局上下文。