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 自动发现。

📖 小节


📝 作业

  1. 基础题(难度⭐):为你的 Skill 添加项目上下文自动注入,观察 AI 行为变化。
  2. 进阶题(难度⭐⭐):创建一份团队规范文件,并设计一个 Skill 引用它作为上下文。
  3. 挑战题(难度⭐⭐⭐):设计一个上下文窗口管理策略,在 128K token 限制下处理大型项目的完整审查。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏