mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-12 02:37:45 +08:00
- Introduced action to diagnose documentation structure, identifying redundancies and conflicts. - Added centralized category mappings in JSON format for improved detection and strategy application. - Updated existing functions to utilize new mappings for taxonomy and strategy matching. - Implemented new detection patterns for documentation redundancy and conflict. - Expanded state schema to include documentation diagnosis results. - Enhanced severity criteria and strategy selection guide to accommodate new documentation issues.
213 lines
7.8 KiB
Markdown
213 lines
7.8 KiB
Markdown
# Dimension to Spec Mapping
|
|
|
|
维度关键词到 Spec 的映射规则,用于 action-analyze-requirements 阶段的自动匹配。
|
|
|
|
## When to Use
|
|
|
|
| Phase | Usage |
|
|
|-------|-------|
|
|
| action-analyze-requirements | 维度→类别→Spec 自动匹配 |
|
|
| action-propose-fixes | 策略选择参考 |
|
|
|
|
---
|
|
|
|
## Keyword → Category Mapping
|
|
|
|
基于关键词将用户描述的维度映射到问题类别。
|
|
|
|
### 中英文关键词表
|
|
|
|
| Keywords (中文) | Keywords (英文) | Primary Category | Secondary |
|
|
|----------------|-----------------|------------------|-----------|
|
|
| token, 上下文, 爆炸, 太长, 超限, 膨胀 | token, context, explosion, overflow, bloat | context_explosion | - |
|
|
| 遗忘, 忘记, 指令丢失, 约束消失, 目标漂移 | forget, lost, drift, constraint, goal | memory_loss | - |
|
|
| 状态, 数据, 格式, 不一致, 丢失, 损坏 | state, data, format, inconsistent, corrupt | dataflow_break | - |
|
|
| agent, 子任务, 失败, 嵌套, 调用, 协调 | agent, subtask, fail, nested, call, coordinate | agent_failure | - |
|
|
| 慢, 性能, 效率, token 消耗, 延迟 | slow, performance, efficiency, latency | performance | context_explosion |
|
|
| 提示词, prompt, 输出不稳定, 幻觉 | prompt, unstable, hallucination | prompt_quality | - |
|
|
| 架构, 结构, 模块, 耦合, 扩展 | architecture, structure, module, coupling | architecture | - |
|
|
| 错误, 异常, 恢复, 降级, 崩溃 | error, exception, recovery, crash | error_handling | agent_failure |
|
|
| 输出, 质量, 格式, 验证, 不完整 | output, quality, validation, incomplete | output_quality | - |
|
|
| 交互, 体验, 进度, 反馈, 不清晰 | interaction, ux, progress, feedback | user_experience | - |
|
|
| 重复, 冗余, 多处定义, 相同内容 | duplicate, redundant, multiple definitions | doc_redundancy | - |
|
|
| 冲突, 不一致, 定义不同, 矛盾 | conflict, inconsistent, mismatch, contradiction | doc_conflict | - |
|
|
|
|
### Matching Algorithm
|
|
|
|
```javascript
|
|
function matchCategory(keywords) {
|
|
const categoryScores = {};
|
|
|
|
for (const keyword of keywords) {
|
|
const normalizedKeyword = keyword.toLowerCase();
|
|
|
|
for (const [category, categoryKeywords] of Object.entries(KEYWORD_MAP)) {
|
|
if (categoryKeywords.some(k => normalizedKeyword.includes(k) || k.includes(normalizedKeyword))) {
|
|
categoryScores[category] = (categoryScores[category] || 0) + 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
// 返回得分最高的类别
|
|
const sorted = Object.entries(categoryScores).sort((a, b) => b[1] - a[1]);
|
|
|
|
if (sorted.length === 0) return null;
|
|
|
|
// 如果前两名得分相同,返回多类别(需澄清)
|
|
if (sorted.length > 1 && sorted[0][1] === sorted[1][1]) {
|
|
return {
|
|
primary: sorted[0][0],
|
|
secondary: sorted[1][0],
|
|
ambiguous: true
|
|
};
|
|
}
|
|
|
|
return {
|
|
primary: sorted[0][0],
|
|
secondary: sorted[1]?.[0] || null,
|
|
ambiguous: false
|
|
};
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Category → Taxonomy Pattern Mapping
|
|
|
|
将问题类别映射到 problem-taxonomy.md 中的检测模式。
|
|
|
|
| Category | Pattern IDs | Detection Focus |
|
|
|----------|-------------|-----------------|
|
|
| context_explosion | CTX-001, CTX-002, CTX-003, CTX-004, CTX-005 | Token 累积、内容传递模式 |
|
|
| memory_loss | MEM-001, MEM-002, MEM-003, MEM-004, MEM-005 | 约束传播、检查点机制 |
|
|
| dataflow_break | DF-001, DF-002, DF-003, DF-004, DF-005 | 状态存储、Schema 验证 |
|
|
| agent_failure | AGT-001, AGT-002, AGT-003, AGT-004, AGT-005, AGT-006 | 错误处理、结果验证 |
|
|
| prompt_quality | - | (无内置检测,需 Gemini 分析) |
|
|
| architecture | - | (无内置检测,需 Gemini 分析) |
|
|
| performance | CTX-001, CTX-003 | (复用 context 检测) |
|
|
| error_handling | AGT-001, AGT-002 | (复用 agent 检测) |
|
|
| output_quality | - | (无内置检测,需 Gemini 分析) |
|
|
| user_experience | - | (无内置检测,需 Gemini 分析) |
|
|
| doc_redundancy | DOC-RED-001, DOC-RED-002, DOC-RED-003 | 重复定义检测 |
|
|
| doc_conflict | DOC-CON-001, DOC-CON-002 | 冲突定义检测 |
|
|
|
|
---
|
|
|
|
## Category → Strategy Mapping
|
|
|
|
将问题类别映射到 tuning-strategies.md 中的修复策略。
|
|
|
|
### Core Categories (有完整策略)
|
|
|
|
| Category | Available Strategies | Risk Level |
|
|
|----------|---------------------|------------|
|
|
| context_explosion | sliding_window, path_reference, context_summarization, structured_state | Low-Medium |
|
|
| memory_loss | constraint_injection, state_constraints_field, checkpoint_restore, goal_embedding | Low-Medium |
|
|
| dataflow_break | state_centralization, schema_enforcement, field_normalization | Low-Medium |
|
|
| agent_failure | error_wrapping, result_validation, flatten_nesting | Low-Medium |
|
|
| doc_redundancy | consolidate_to_ssot, centralize_mapping_config | Low-Medium |
|
|
| doc_conflict | reconcile_conflicting_definitions | Low |
|
|
|
|
### Extended Categories (需 Gemini 生成策略)
|
|
|
|
| Category | Available Strategies | Risk Level |
|
|
|----------|---------------------|------------|
|
|
| prompt_quality | structured_prompt, output_schema, grounding_context, format_enforcement | Low |
|
|
| architecture | phase_decomposition, interface_contracts, plugin_architecture, state_machine | Medium-High |
|
|
| performance | token_budgeting, parallel_execution, result_caching, lazy_loading | Low-Medium |
|
|
| error_handling | graceful_degradation, error_propagation, structured_logging, error_context | Low |
|
|
| output_quality | quality_gates, output_validation, template_enforcement, completeness_check | Low |
|
|
| user_experience | progress_tracking, status_communication, interactive_checkpoints, guided_workflow | Low |
|
|
|
|
---
|
|
|
|
## Coverage Rules
|
|
|
|
### Satisfaction Criteria
|
|
|
|
判断"是否满足需求"的标准:
|
|
|
|
```javascript
|
|
function evaluateSatisfaction(specMatch) {
|
|
// 核心标准:有可用的修复策略
|
|
const hasFix = specMatch.strategy_match !== null &&
|
|
specMatch.strategy_match.strategies.length > 0;
|
|
|
|
// 辅助标准:有检测手段
|
|
const hasDetection = specMatch.taxonomy_match !== null;
|
|
|
|
return {
|
|
satisfied: hasFix,
|
|
detection_available: hasDetection,
|
|
needs_gemini: !hasDetection // 无内置检测时需要 Gemini 分析
|
|
};
|
|
}
|
|
```
|
|
|
|
### Coverage Status Thresholds
|
|
|
|
| Status | Condition |
|
|
|--------|-----------|
|
|
| satisfied | coverage_rate >= 80% |
|
|
| partial | 50% <= coverage_rate < 80% |
|
|
| unsatisfied | coverage_rate < 50% |
|
|
|
|
---
|
|
|
|
## Fallback Rules
|
|
|
|
当无法匹配到具体类别时的处理:
|
|
|
|
```javascript
|
|
function handleUnmatchedDimension(dimension) {
|
|
return {
|
|
dimension_id: dimension.id,
|
|
taxonomy_match: null,
|
|
strategy_match: {
|
|
strategies: ['custom'], // Fallback to custom strategy
|
|
risk_levels: ['medium']
|
|
},
|
|
has_fix: true, // custom 策略视为"可满足"
|
|
needs_gemini_analysis: true,
|
|
fallback_reason: 'no_keyword_match'
|
|
};
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Usage Example
|
|
|
|
```javascript
|
|
// 输入:用户描述 "skill 执行太慢,而且有时候会忘记最初的指令"
|
|
|
|
// Step 1: Gemini 拆解为维度
|
|
const dimensions = [
|
|
{ id: 'DIM-001', description: '执行太慢', keywords: ['慢', '执行'], confidence: 0.9 },
|
|
{ id: 'DIM-002', description: '忘记最初指令', keywords: ['忘记', '指令'], confidence: 0.85 }
|
|
];
|
|
|
|
// Step 2: 匹配类别
|
|
// DIM-001 → performance (慢)
|
|
// DIM-002 → memory_loss (忘记, 指令)
|
|
|
|
// Step 3: 匹配 Spec
|
|
const specMatches = [
|
|
{
|
|
dimension_id: 'DIM-001',
|
|
taxonomy_match: { category: 'performance', pattern_ids: ['CTX-001', 'CTX-003'], severity_hint: 'medium' },
|
|
strategy_match: { strategies: ['token_budgeting', 'parallel_execution'], risk_levels: ['low', 'low'] },
|
|
has_fix: true
|
|
},
|
|
{
|
|
dimension_id: 'DIM-002',
|
|
taxonomy_match: { category: 'memory_loss', pattern_ids: ['MEM-001', 'MEM-002'], severity_hint: 'high' },
|
|
strategy_match: { strategies: ['constraint_injection', 'checkpoint_restore'], risk_levels: ['low', 'low'] },
|
|
has_fix: true
|
|
}
|
|
];
|
|
|
|
// Step 4: 评估覆盖度
|
|
// 2/2 = 100% → satisfied
|
|
```
|