2.3 上下文工程:Vibe Coding 的核心原理
面向经管学生、研究者与从业者的 AI 智能体设计教材
为什么提示词只是冰山一角
很多人以为 Vibe Coding 的关键是写好提示词。这种理解太浅了。
回想一下你与 AI 协作的经历。第一次让 AI 帮你分析数据,你可能只写了一句01c帮我分析这个数据01d。AI 给出的结果模糊、泛泛而谈。于是你加了更多细节:数据来源、分析目标、输出格式。结果好了一些,但还不够理想。最后,你把项目背景、数据字典、分析框架、甚至过往类似分析的示例都提供给 AI,这次它的输出终于达到了专业水准。
这个过程揭示了一个关键洞见:决定 AI 输出质量的,不是你的提示词有多巧妙,而是你提供的上下文有多充分。
Shopify CEO Tobi Lütke 这样描述这种转变:
我真的很喜欢01c上下文工程01d这个术语,而不是提示工程。它更好地描述了核心技能:为任务提供所有必要上下文,使其能被大语言模型合理地解决。
Andrej Karpathy 进一步阐释:
在每一个工业级 LLM 应用中,上下文工程是精心填充上下文窗口的精妙艺术与科学——让模型在下一步获得恰到好处的信息。
什么是上下文工程
上下文工程(Context Engineering)是设计和构建动态系统的学科,在正确的时间、以正确的格式,提供正确的信息和工具,使大语言模型具备完成任务所需的一切条件。
上下文工程不是一个字符串,而是一个系统;不是静态的,而是动态的。
要理解上下文工程,首先需要扩展我们对上下文的定义。上下文不仅仅是你发给 AI 的那条提示词,而是模型在生成回复之前看到的所有内容:
| 上下文组成 | 说明 | 示例 |
|---|---|---|
| 系统指令 | 定义 AI 行为的初始指令 | AGENTS.md、角色设定 |
| 用户提示 | 当前的任务或问题 | 分析这家公司的财务状况 |
| 对话历史 | 当前会话中的问答记录 | 之前讨论过的分析框架 |
| 长期记忆 | 跨会话持久化的知识 | 用户偏好、项目配置 |
| 检索信息 | 从外部获取的相关知识 | 财报数据、行业报告 |
| 可用工具 | AI 可以调用的功能定义 | 数据查询、文件读写 |
| 输出格式 | 对响应格式的约束 | JSON 结构、报告模板 |
从提示工程到上下文工程
提示工程关注的是如何在一个字符串中巧妙措辞。上下文工程关注的是如何构建一整套动态系统,在 AI 需要时提供它所需的一切。
| 维度 | 提示工程 | 上下文工程 |
|---|---|---|
| 关注点 | 措辞技巧 | 信息系统设计 |
| 范围 | 单次提示 | 完整的信息供给链 |
| 性质 | 静态模板 | 动态系统 |
| 核心问题 | 怎么说 | 让 AI 看到什么 |
| 失败原因 | 表述不清 | 信息不足或噪音过多 |
这种区分至关重要。大多数 AI 的失败不是模型能力不足,而是上下文质量不够。 一个能力中等的模型配上优质的上下文,往往比顶级模型配上贫乏的上下文表现更好。
上下文工程的经济学直觉
上下文窗口是一种稀缺资源。Claude Sonnet 4 的上下文窗口是 200K tokens——看似很大,但在复杂任务中很快就会耗尽。每一个 token 都有成本,不仅是金钱成本,更重要的是注意力成本。
上下文管理本质上是一个资源配置问题。把上下文窗口想象成一个投资组合:
- 容量有限:就像资金有限,你不可能投资所有标的
- 机会成本:加载一段信息,意味着挤占了其他信息的空间
- 边际收益递减:前 1000 tokens 的信息价值远高于第 100,000 个 token
- 信号与噪音:无关信息不仅浪费空间,还会稀释有用信息的效果
最优策略不是放入尽可能多的信息,而是放入信号密度最高的信息。
研究发现,Transformer 模型的注意力分布呈 U 型曲线:对上下文开头和结尾的关注度最高,中间区域的信息召回率下降 10-40%。这意味着关键信息应放在系统提示(开头)和当前任务描述(结尾),而非中间位置。
上下文工程在 Vibe Coding 中的地位
Vibe Coding 不只是用自然语言描述需求,它的核心竞争力在于上下文工程能力——能否为 AI 构建恰到好处的信息环境。
一个经济学专业的学生在两小时内完成了原本需要一周的数据分析,关键不在于提示词写得多巧妙,而在于他:
- 在 AGENTS.md 中配置了项目背景和数据规范
- 提供了数据字典和分析框架作为参考
- 分阶段给 AI 提供适量的信息,而非一次性倾倒所有内容
- 在对话中及时提供反馈,校正 AI 的理解偏差
这些都是上下文工程的实践。
Effective Vibe Coding 的底层逻辑:
传统理解:
好提示词 → 好输出
正确理解:
好的上下文系统 → 好输出
├── 系统指令(AGENTS.md)
├── 规划阶段的信息收集
├── 适时的工具调用
├── 结构化的对话历史
└── 精准的当前任务描述Vibe Coding 的每一个实践都可以从上下文工程的视角来理解:
- 规划先行:通过探索阶段收集充分的上下文,避免 AI 在信息不足时做出错误假设
- AGENTS.md:为 AI 预加载项目上下文,减少每次对话的重复沟通
- 胶水编程:通过工具定义(MCP)扩展 AI 可用的信息和能力
- 迭代循环:每一轮迭代都在优化和补充上下文
- 任务分配:根据上下文需求的复杂度决定人机分工
上下文工程的概念在 2025 年中期开始流行,逐渐取代提示工程成为 AI 应用开发的核心术语。这一转变反映了行业认知的成熟:从关注怎么和 AI 说话,转向关注怎么为 AI 构建信息环境。
金融场景:上下文决定分析质量
让我们用一个金融分析场景来直观感受上下文工程的力量。
场景:分析某上市公司是否值得投资
贫乏上下文下的 AI 输出:
用户:帮我分析贵州茅台是否值得投资。
AI:贵州茅台是中国知名白酒企业,具有强大的品牌优势和盈利能力。
从财务角度看,公司营收和利润持续增长,毛利率维持在较高水平。
不过投资有风险,建议根据自身情况谨慎决策。
这个回答正确但无用——像百度百科的摘要,缺乏深度和针对性。
丰富上下文下的 AI 输出:
系统指令(AGENTS.md):
- 角色:CFA 三级持证分析师
- 分析框架:杜邦分析 + DCF 估值 + 行业对比
- 数据规范:金额单位人民币亿元,收益率保留两位小数
- 输出要求:结论先行,数据支撑,风险提示
检索信息:
- 贵州茅台 2024 年报(营收、利润、现金流数据)
- 白酒行业对比数据(五粮液、泸州老窖)
- 近期政策变化(消费税改革讨论)
用户提示:
基于最新年报,用杜邦分析框架评估贵州茅台的盈利质量,
并与同行业对比,给出投资建议。此时 AI 能给出包含具体数据、分析框架、行业对比的专业分析报告。差异不在于模型能力,而在于上下文质量。
这就是上下文工程的核心命题:用系统化的方法,为 AI 构建最优的信息环境。