| name | harness-build-context-index |
| description | 构建上下文索引,实现4级优先级加载机制,优化Token消耗 |
| trigger_words | ["harness-build-context-index","上下文索引","context-index"] |
| priority | HIGH |
| dependencies | ["harness-build-core-manifest"] |
| version | v3.0.0 |
harness-build-context-index 构建上下文索引
核心能力
- 检查前置条件(harness-build-core-manifest)
- 创建 CONTEXT_INDEX.md(4级优先级)
- 定义各级别内容
- 定义加载策略
- 优化 Token 消耗
前置条件
- harness-build-core-manifest 已完成
- AGENTS_MANIFEST.md 存在
执行步骤
Step 1: 检查前置条件
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
- harness-build-core-manifest 已标记为完成
如果未完成:
❌ 错误: 核心规则未构建
💡 请先运行: harness-build-core-manifest
Step 2: 创建上下文索引文件
使用 Write 工具创建文件:.EnjoyHarness/CONTEXT_INDEX.md
内容:
---
version: v3.0.0
created_at: 2026-03-28T10:46:00+08:00
total_priority_levels: 4
---
# EnjoyHarness 上下文索引
## 优先级定义
### P0级 - 常驻上下文(2000 tokens)
**加载时机**: 始终加载
**内容**:
- AGENTS_MANIFEST.md(核心规则,≤60行)
- EnjoyHarness_MANIFEST.md(全局配置)
- GLOBAL_STATE.md(系统状态)
- ITERATION_COUNTER.md(迭代计数器)
**用途**: 确保核心规则始终可见,防止Agent行为跑偏
### P1级 - 按任务类型加载(1500 tokens/类)
**加载时机**: 根据任务类型动态加载
**分类**:
#### 功能开发任务
- ARCHITECTURE_GUARDRAILS.md(架构约束)
- WORKFLOW_TEMPLATES.md(工作流模板)
- TOOLSET_SPEC.md(工具配置)
#### Bug修复任务
- ERROR_HANDBOOK.md(错误处理手册)
- ERROR_TRACE.md(错误追踪)
#### 重构优化任务
- PERFORMANCE_REPORT.md(性能报告)
- CODE_CHECKLIST.md(代码自检清单)
**用途**: 提供任务特定的上下文,精准加载避免浪费
### P2级 - 出错时加载(1000 tokens)
**加载时机**: 任务失败或触发熔断时
**内容**:
- GLOBAL_TRACE.md(全局追踪)
- ERROR_TRACE.md(错误记录)
- ERROR_HANDBOOK.md(错误处理手册)
**用途**: 错误诊断和恢复
### P3级 - 按需引用(500 tokens)
**加载时机**: 需要查询历史或参考时
**内容**:
- SKILL_REGISTRY.md(技能注册表)
- PERFORMANCE_REPORT.md(效果评估)
- HARNESS_UPDATE_LOG.md(更新日志)
**用途**: 历史查询和效果评估
## Token消耗对比
| 加载策略 | Token消耗 | 占比 |
|---------|----------|------|
| 全量加载 | ~8000 tokens | 100% |
| P0+P1加载 | ~3500 tokens | 44% |
| 仅P0加载 | ~2000 tokens | 25% |
**优化效果**: 采用4级优先级,Token消耗降低 56%
## 加载规则
1. **始终加载P0级**
2. **根据任务类型加载P1级**
3. **出错时自动加载P2级**
4. **需要时手动加载P3级**
5. **总上下文窗口占用 ≤ 70%**
## 使用示例
### 示例 1: 功能开发任务
```yaml
任务类型: 功能开发
加载内容: P0 + P1(功能开发类)
Token消耗: ~3500 tokens
上下文窗口占用: 35%
示例 2: Bug修复任务
任务类型: Bug修复
加载内容: P0 + P1(Bug修复类)
Token消耗: ~3000 tokens
上下文窗口占用: 30%
示例 3: 熔断触发
触发条件: 任务失败
自动加载: P2级(错误处理)
Token消耗: ~4500 tokens (P0+P2)
上下文窗口占用: 45%
### Step 3: 更新事件日志
使用 Edit 工具追加内容到:`.EnjoyHarness/EVENT_LOG.md`
追加内容:
```markdown
2026-03-28T10:46:00+08:00 | SKILL_START | harness-build-context-index | 开始构建上下文索引 | SUCCESS
2026-03-28T10:46:00+08:00 | SKILL_COMPLETE | harness-build-context-index | 上下文索引构建完成 | SUCCESS
Step 4: 更新事件计数
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: 4
new_string: total_events: 6
Step 5: 更新技能注册表
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-build-context-index - 构建上下文索引技能
new_string: - [x] harness-build-context-index - 构建上下文索引技能 ✅
Step 6: 输出完成信息
使用 Bash 工具输出:
echo ""
echo "✅ harness-build-context-index 完成!"
echo ""
echo "📋 上下文索引文件:"
echo " - .EnjoyHarness/CONTEXT_INDEX.md"
echo ""
echo "📊 优先级统计:"
echo " - P0级(常驻): 4个文件, ~2000 tokens"
echo " - P1级(按任务): 3类任务, ~1500 tokens/类"
echo " - P2级(出错时): 3个文件, ~1000 tokens"
echo " - P3级(按需): 3个文件, ~500 tokens"
echo ""
echo "💡 Token优化效果:"
echo " - 全量加载: ~8000 tokens (100%)"
echo " - P0+P1加载: ~3500 tokens (44%)"
echo " - 降低消耗: 56%"
echo ""
echo "🎯 下一步:"
echo " 运行 harness-enforce-architecture-guardrails 完成架构护栏构建"
echo ""
成功标准
失败兜底
- harness-build-core-manifest 未完成 → 终止执行,提示运行前置技能
- 文件创建失败 → 记录错误到 EVENT_LOG.md,触发重试
联动关系
- 前置: harness-build-core-manifest
- 自动触发: harness-enforce-architecture-guardrails
迭代计数
本技能执行预计迭代次数: 约 5 次(Write 1次 + Edit 3次 + Read 1次)
测试用例
测试 1: 前置条件检查
输入: 在核心规则未构建时运行
期望输出: 错误提示"核心规则未构建"
验证方式: 删除 AGENTS_MANIFEST.md 后运行
测试 2: 文件完整性
输入: 执行 harness-build-context-index
期望输出: CONTEXT_INDEX.md 包含P0-P3定义
验证方式: grep -c "P[0-3]级" .EnjoyHarness/CONTEXT_INDEX.md
测试 3: Token计算正确性
输入: 读取 CONTEXT_INDEX.md
期望输出: Token消耗对比表格完整
验证方式: grep "Token消耗对比" .EnjoyHarness/CONTEXT_INDEX.md
测试 4: 技能注册表更新
输入: 读取 SKILL_REGISTRY.md
期望输出: harness-build-context-index 标记为完成
验证方式: grep "harness-build-context-index" .EnjoyHarness/SKILL_REGISTRY.md
测试 5: 事件日志记录
输入: 读取 EVENT_LOG.md
期望输出: 包含 harness-build-context-index 启动和完成事件
验证方式: grep "harness-build-context-index" .EnjoyHarness/EVENT_LOG.md