Skills: 上下文管理与注入
最后更新:2026-08-31
没有上下文的 AI 就像没有地图的旅人——能力再强也会走错路。
1. 上下文类型
(1) 项目上下文
项目级信息,通常从配置文件自动提取:
TEXT
📖 仅展示
项目上下文来源
├── package.json / pyproject.toml → 技术栈、依赖版本
├── .eslintrc / ruff.toml → 代码风格规则
├── tsconfig.json → TypeScript 配置
├── Dockerfile / docker-compose.yml → 部署环境
├── README.md → 项目说明
└── .gitignore → 排除规则
(2) 团队上下文
团队级规范和约定:
YAML
# .claude/team-context.yaml
team:
name: "平台组"
conventions:
- "函数不超过 30 行"
- "必须写 type hints"
- "API 必须有 Swagger 文档"
stack: "Python + FastAPI + PostgreSQL"
code_owner: "alice"
(3) 对话上下文
当前对话中的累积信息:
TEXT
📖 仅展示
对话上下文包含:
- 用户已经说过的内容
- AI 已经做过的操作
- 已经读取过的文件
- 当前任务的进度状态
2. 上下文注入方式
(1) 自动注入
平台自动检测并注入项目信息:
YAML
---
name: smart-review
context:
auto_inject:
- project_config
- git_diff
- test_results
---
(2) 手动引用
在提示词中显式引用上下文变量:
MARKDOWN
## 审查规则
当前项目使用 {{project.language}},遵循以下规则:
- 代码风格:{{project.linter}} 配置
- 目标 Python 版本:{{project.python_version}}
(3) 文件挂载
将特定文件作为上下文加载:
YAML
context:
files:
- path: ".claude/review-rules.md"
description: "团队审查规则"
- path: "docs/api-spec.yaml"
description: "API 规范文档"
3. 上下文窗口管理
(1) 容量规划
TEXT
📖 仅展示
上下文窗口分配策略:
总容量: 200K tokens
├── 系统提示词: ~2K
├── Skill 提示词: ~5K
├── 项目上下文: ~10K
├── 对话历史: ~50K
├── 工具输出: ~80K
└── 预留空间: ~53K
(2) 优先级裁剪
上下文超限时按优先级裁剪:
| 优先级 | 内容 | 裁剪策略 |
|---|---|---|
| 🔴 不可裁剪 | Skill 提示词、当前任务 | 保留 |
| 🟡 可压缩 | 对话历史 | 保留最近 N 轮 |
| 🟢 可裁剪 | 早期工具输出、项目上下文 | 截断或摘要 |
(3) 摘要策略
MARKDOWN
# 上下文压缩技巧
1. 文件内容 → 只保留函数签名和关键行
2. 长输出 → 保留摘要 + 关键数据
3. 搜索结果 → 只保留匹配行和路径
4. 对话历史 → 保留决策记录,丢弃试错过程
4. 上下文实战
▶ 示例:上下文感知的代码审查
Alice 设计了一个能自动感知项目环境的审查 Skill:
YAML
---
name: context-aware-review
context:
auto_inject:
- project_config
- git_diff
files:
- path: ".claude/team-rules.md"
---
MARKDOWN
## 自适应审查
根据项目技术栈自动调整:
- 检测到 pyproject.toml → 按 Python 规范审查
- 检测到 tsconfig.json → 按 TypeScript 规范审查
- 检测到团队规则文件 → 优先遵循团队约定
Bob 说:"好的 Skill 不是千篇一律的检查表,而是能根据环境自动调整策略的智能助手。"
❓ 常见问题
Q 上下文太长会不会影响性能?
A 会。上下文越长,响应越慢、成本越高。建议只注入必要信息,用摘要替代全文。
Q 如何让 Skill 感知项目的技术栈?
A 用自动注入
project_config,或在提示词中要求 AI 先检测配置文件再决定审查策略。Q 团队规范文件应该放在哪里?
A 推荐
.claude/team-rules.md 或项目根目录的 CONVENTIONS.md,方便 AI 自动发现。📖 小节
- 三类上下文:项目、团队、对话
- 三种注入方式:自动注入、手动引用、文件挂载
- 窗口管理:容量规划、优先级裁剪、摘要压缩
- 核心原则:只注入必要信息,避免上下文膨胀
📝 作业
- 基础题(难度⭐):为你的 Skill 添加项目上下文自动注入,观察 AI 行为变化。
- 进阶题(难度⭐⭐):创建一份团队规范文件,并设计一个 Skill 引用它作为上下文。
- 挑战题(难度⭐⭐⭐):设计一个上下文窗口管理策略,在 128K token 限制下处理大型项目的完整审查。