JavaScript is disabled. Some features may not work.
Context Engineering 实战:如何给 AI 最精准的上下文 | SkillsNav 博客
🇺🇸 English🇨🇳 中文
SkillsNav
Home

Context Engineering 实战:如何给 AI 最精准的上下文

2026-06-24 · context engineering prompt optimization advanced

Prompt Engineering 教你怎么写指令,Context Engineering 教你怎么给信息。

什么是 Context Engineering?

Prompt Engineering = 告诉 AI "做什么" Context Engineering = 告诉 AI "看什么"

举个例子:

场景 Prompt Engineering Context Engineering
修 bug "修复这个登录 bug" "修复这个登录 bug。这是相关代码、错误日志、和之前类似 bug 的修复方案"
写功能 "实现用户认证" "实现用户认证。这是现有的用户模型、API 路由、测试框架配置"

核心区别:不只是写更好的 prompt,而是精心选择 AI 应该看到的信息。

为什么 Context Engineering 重要?

我们的经验判断(不是严谨的学术研究):

  • 给 AI 精选的 200 行代码,通常比给它整个 5000 行的项目效果更好
  • 给 AI 结构化的信息(表格、列表),通常比给它散乱的文本效果更好
  • 给 AI 最新的文档,通常比给它过时的文档效果更好

注意:这些是经验判断,不是经过 A/B 测试验证的结论。不同项目、不同任务可能有不同结果。

Context Engineering 三原则

原则一:相关性 > 完整性

常见做法:把整个项目目录给 AI 建议做法:只给 AI 看相关的代码

❌ "这是我的项目,请帮我重构"
✅ "这是 auth 模块的代码(200行),请帮我重构登录逻辑"

原则二:结构化 > 原始数据

常见做法:给 AI 一堆散乱的文件 建议做法:用表格、列表、层级结构组织信息

❌ 粘贴 10 个代码文件
✅ 用表格列出文件名、作用、关键函数,然后只粘贴最关键的 3 个文件

原则三:新鲜度 > 历史积累

常见做法:给 AI 3 年前的文档 建议做法:给 AI 最新的代码和文档

❌ "这是我们的架构文档(2023年写的)"
✅ "这是我们当前的架构,最近一次更新是上周"

实用技巧

技巧一:用 CLAUDE.md 做持久化 Context

Claude Code 支持项目级的 context 文件,每次对话自动加载:

# CLAUDE.md

## 项目概述
React + TypeScript 电商项目

## 技术栈
- React 18, TypeScript 5
- Zustand(状态管理)
- Tailwind CSS
- Vitest(测试)

## 代码规范
- 组件用 PascalCase
- 工具函数用 camelCase

这个文件只有几百 tokens,但每次对话都能让 AI 了解你的项目背景。

技巧二:用摘要代替全文

当代码文件很长时,给 AI 一个摘要 + 关键部分:

"这是 auth 模块(500行),以下是摘要:
- 使用 JWT 认证
- 有 3 个路由:login, register, refresh
- 密码用 bcrypt 加密

以下是 login 路由的代码(50行):[粘贴代码]"

技巧三:用类型签名代替实现

当 AI 不需要看具体实现时,只给函数签名:

"这个函数的签名是:
function authenticate(email: string, password: string): Promise<User>

关键逻辑:
1. 查找用户 by email
2. 比较密码 hash
3. 生成 JWT token
4. 返回 user 对象"

技巧四:分批处理大任务

❌ 一次性让 AI 处理 10 个文件
✅ 分 3 批,每批 3-4 个文件

第一批:核心模块
第二批:辅助模块
第三批:测试和文档

工具推荐

工具 用途 我们了解的程度
context7 自动获取最新库文档 知道它存在,没有深入测试
headroom 压缩 tool 输出 知道它存在,没有深入测试
CLAUDE.md 项目级 context 我们自己在用,效果不错

常见错误

错误一:信息过载

❌ 给 AI 50 个文件,说"帮我理解这个项目"
✅ 给 AI 3 个核心文件 + 1 个架构图,说"帮我理解认证模块"

错误二:信息不足

❌ "帮我写个函数"
✅ "帮我写一个验证邮箱的函数,用正则表达式,TypeScript,返回布尔值"

错误三:不压缩日志

❌ 直接粘贴 1000 行的错误日志
✅ 粘贴关键的 20 行 + 错误摘要

总结

Context Engineering 的核心:

  1. 选择性:只给 AI 需要的信息
  2. 结构化:用表格、列表、层级组织信息
  3. 新鲜度:给最新的、准确的信息

这些是我们基于使用经验的建议,不是经过严格验证的"最佳实践"。不同场景可能需要不同策略。


Context Engineering 是一个正在发展的领域。如果你有更好的实践经验,欢迎在 GitHub 分享。

相关 Skills