内容
# 克劳德代码延迟加载系统
概念验证,实现克劳德代码中延迟加载MCP服务器和工具,减少初始上下文消耗 **95%** (从108k减少到5k令牌)。
## 🚨 问题
克劳德代码目前在启动时加载所有MCP服务器、工具和代理:
- **之前**:立即消耗108k令牌(占200k限制的54%)
- **结果**:仅有92k令牌可用于实际工作
- **影响**:复杂任务在配置多个工具时变得不可能
## ✨ 解决方案
该延迟加载系统仅在需要时加载工具:
- **之后**:轻量级注册表使用5k令牌(2.5%)
- **结果**:有195k令牌可用于工作
- **节省**:103k令牌(95%减少!)
## 📊 实际影响
| 组件 | 之前 | 之后 | 节省 |
|-----------|--------|-------|---------|
| MCP工具 | 39.8k令牌 | 按需 | ~39k |
| 自定义代理 | 9.7k令牌 | 按需 | ~9k |
| 系统工具 | 22.6k令牌 | 按需 | ~22k |
| 内存文件 | 36.0k令牌 | 优化 | ~33k |
| **启动总计** | **108k(54%)** | **5k(2.5%)** | **103k(51.5%)** |
## 🚀 快速开始
### 1. 安装
```bash
# 克隆此仓库
git clone https://github.com/machjesusmoto/claude-lazy-loading.git
cd claude-lazy-loading
# 复制到克劳德配置
cp -r optimization ~/.claude/
```
### 2. 生成注册表
```bash
# 创建工具的轻量级索引
python3 ~/.claude/optimization/generate-index.py
```
### 3. 使用
```bash
# 设置别名
alias cl='python3 ~/.claude/optimization/lazy-loader.py'
# 检查任务将加载的内容
cl analyze "我需要构建一个React组件"
# 输出: 将加载context7、magic(3.5k令牌)
# 检查当前统计信息
cl stats
# 输出: 0个工具已加载,103k令牌已节省
# 为特定工作流预加载
cl preload react # 加载React开发工具
cl preload wordpress # 加载WordPress工具
```
## 📁 工作原理
### 1. 注册表生成
- 扫描克劳德配置中的MCP服务器
- 智能提取触发关键词
- 创建最小索引(~500令牌)
### 2. 延迟加载
- 分析用户输入的关键词
- 仅加载所需的工具
- 会话期间缓存
- 分组相关工具
### 3. 智能预加载
常见工作流的配置文件:
- `react`:Context7、Magic、前端工具
- `wordpress`:SSH-WordPress、TayloredFocus
- `testing`:Playwright、测试工具
- `backend`:API、数据库、服务器工具
## 🔧 配置
系统使用智能关键词检测:
```json
{
"mcp_servers": {
"sequential-thinking": {
"trigger_keywords": ["复杂", "分析", "调试"],
"token_cost": 1300,
"auto_load": false
},
"magic": {
"trigger_keywords": ["ui", "组件", "/21"],
"token_cost": 2800,
"auto_load": false
}
}
}
```
## 📈 基准测试
使用现实场景进行测试:
| 场景 | 传统方式 | 延迟加载 | 改进 |
|----------|------------|--------------|-------------|
| 简单查询 | 108k令牌 | 5k令牌 | 95%减少 |
| React开发 | 108k令牌 | 8.5k令牌 | 92%减少 |
| WordPress | 108k令牌 | 11k令牌 | 90%减少 |
| 复杂分析 | 108k令牌 | 15k令牌 | 86%减少 |
## 🎯 使用场景
适用于:
- **高级用户**,拥有多个MCP服务器
- **长时间对话**,需要最大上下文
- **复杂任务**,需要多个工具
- **开发工作流**,拥有专用工具
## 🔄 集成状态
目前,这是一个**概念验证**,展示了潜力。完整的集成需要克劳德代码的原生支持。
### 当前功能
- ✅ 从MCP配置中生成注册表
- ✅ 基于关键词的工具检测
- ✅ 手动延迟加载模拟
- ✅ 令牌使用跟踪
### 需要克劳德代码支持
- ⏳ 运行时自动延迟加载
- ⏳ 按需无缝工具注入
- ⏳ 原生注册表支持
- ⏳ 预提示分析钩子
## 🤝 贡献
这是改善克劳德代码的社区努力。欢迎贡献!
1. 使用您的MCP配置进行测试
2. 报告实现的令牌节省
3. 建议关键词改进
4. 添加新的预加载配置文件
## 📢 相关
- **功能请求**:[anthropics/claude-code#7336](https://github.com/anthropics/claude-code/issues/7336)
- **讨论**:分享您的经验和结果
- **联系**:[您的联系信息]
## 📜 许可证
MIT - 免费使用和修改
---
**注意**:这是概念验证,展示了95%的上下文减少潜力。完整的实现需要克劳德代码的原生支持。