Harness 诊断报告

生成时间: 2026-06-24 | 评估范围: 11 个技能, 24 个 Python 文件

📊 主报告
🔗 依赖图谱
🎯 研究结论

🎯 核心架构洞察:三层模型

技能不是"文档 + 代码",而是三元组

技能 = 能力语义 + 知识内容 + 代码实现
       (Semantic)  (Knowledge)  (Execution)

三层架构模型

用户意图 → [语义层] → [知识层] → [执行层]
  (Why/When)   (What)      (How)
层级当前系统存储内容缺失问题
语义层❌ 缺失能力语义、触发条件、输入输出契约无法将自然语言意图映射到代码能力
知识层LLM Wiki深度知识、文档、研究报告无法理解代码实现细节
执行层CodeGraph代码符号、依赖关系、调用链无法理解业务语义

语义层的核心价值

  1. 解耦(关键价值)- 避免 LLM Wiki 和 CodeGraph 直接耦合,语义层作为"翻译层",隔离变化
  2. 映射 - 用户自然语言意图 → 技能能力 → 代码实现;代码变更 → 技能影响 → 知识影响
  3. 发现 - 基于语义相似度发现可复用技能,识别能力重叠和技能缺口
  4. 评估 - 评估技能的语义完整性和执行可靠性,量化技能质量

📊 总体评分:58/100

维度评分权重加权分
代码层健康度72/10050%36
语义层健康度44/10050%22
总分58

🔧 代码层分析(CodeGraph)

模块独立性矩阵

模块独立性健康度关键问题
llm_wiki2/5🟠 需重构wiki_tool.py 单点故障,compute_hash 影响 12 符号
skill-creator3/5🟡 可优化utils.py 被 3 文件共享,职责尚清晰
openJiuwen-DeepSearch4/5✅ 良好main→convert 低耦合
kami5/5✅ 优秀完全独立
disk-cleaner5/5✅ 优秀完全独立
tools/sysclean5/5✅ 优秀完全独立

耦合热点

符号位置调用者数影响半径风险等级
compute_hashllm_wiki/wiki_tool.py:85612符号/3文件🔴 高
ingestllm_wiki/wiki_tool.py:19946符号/2文件🟠 中高
parse_skill_mdskill-creator/utils.py:833文件🟡 中
run_evalskill-creator/run_eval.py:23937符号/2文件🟡 中

重构优先级

优先级模块行动预期收益
P1llm_wiki抽取 compute_hash 到独立 utils降低影响半径 50%
P2llm_wiki拆分 wiki_tool.py 为 core + api降低单点故障风险
P3skill-creator监控 utils.py 膨胀预防耦合恶化

📝 语义层分析(Markdown Layer)

技能覆盖率统计

指标覆盖率评分状态
SKILL.md 存在11/11 (100%)✅ 优秀全部存在
frontmatter 完整11/11 (100%)✅ 优秀name + description
Instructions 章节1/11 (9%)🔴 缺失仅 skill-creator
Examples 章节1/11 (9%)🔴 缺失仅 exa-search
Troubleshooting 章节0/11 (0%)🔴 缺失全部缺失
Workflow 章节2/11 (18%)🟠 不足llm-wiki, swarmskill-creator
Roles 章节1/11 (9%)🟡 部分swarmskill-creator(多智能体)
依赖声明0/11 (0%)🔴 缺失无 requirements.txt

关键缺失项

  1. Instructions 章节(10/11 缺失)- 影响:Agent 无法快速理解技能执行步骤
  2. Examples 章节(10/11 缺失)- 影响:Agent 无法学习典型使用场景
  3. Troubleshooting 章节(11/11 缺失)- 影响:Agent 遇到错误时无法排错
  4. 依赖声明(11/11 缺失)- 影响:无法自动安装依赖

🏗️ 语义层实体模型(基于 AI 本体论)

实体说明示例
Skill技能本体,一等公民harness-diagnosis
Capability可组合的功能单元"代码依赖分析"、"语义完整性评估"
InterfaceAPI/工具绑定codegraph query、wiki_query
Contract输入输出规范、前置/后置条件输入:技能名称;输出:依赖图谱
Evidence测试用例、性能指标、使用记录42项检查得分、调用次数

📈 改进路线图(重构版)

Phase 0: 语义层设计(1-2周)⚡ 新增

优先级行动产出预期收益
P0设计语义层数据模型skills_ontology_schema.json统一语义描述标准
P0构建轻量级语义索引原型skills_ontology.json支持语义搜索和映射
P0重新审视 42 项检查清单映射到实体模型区分语义完整性 vs 代码健康度

Phase 1-4: 详见研究结论标签页


🎯 预期改进效果

阶段当前评分目标评分提升关键产出
Phase 0 完成5865+7语义层数据模型 + 原型
Phase 1 完成6585+20完整语义元数据
Phase 2 完成8590+5代码层优化
Phase 3 完成9095+5语义索引 + 搜索 API
Phase 4 完成9598+3标准本体对齐

📊 模块依赖图

Harness 依赖图谱

🔴 llm_wiki 模块(高内聚)

wiki_tool.py (491行, 17符号) — 单点故障
wiki_auto_ingest.py (301行, 11符号)
→ 依赖: ingest, compute_hash
auto_linkage.py (151行, 4符号)
→ 依赖: ingest, load_config, compute_hash, read_source

🟡 skill-creator 模块(中等耦合)

run_eval.py (核心评估) — 高扇入
utils.py (parse_skill_md) — 高扇入
run_loop.py → 依赖: EvalConfig, EvalContext, SkillInfo, run_eval, utils
aggregate_benchmark.py
generate_report.py
improve_description.py → 依赖: utils

🔵 openJiuwen-DeepSearch(独立)

main.py (338行, 10符号) → convert_docx, convert_html
convert_docx.py (423行, 21符号)
convert_html.py (630行, 26符号)
validate_environment.py
verify_skill_structure.py

🟢 完全独立模块

kami: build.py (725行, 43符号) + stabilize.py (841行, 58符号)
disk-cleaner: scan.py (791行, 25符号)
tools/sysclean: sysclean.py (890行, 23符号)
图例: 红色 = 高扇入/单点故障 黄色 = 中等耦合 蓝色 = 低耦合 绿色 = 完全独立

🔥 耦合热点识别

高扇入符号(改动风险大)

符号位置调用者数影响半径风险等级
compute_hashllm_wiki/wiki_tool.py:85612符号/3文件🔴 高
ingestllm_wiki/wiki_tool.py:19946符号/2文件🟠 中高
parse_skill_mdskill-creator/utils.py:833文件🟡 中
run_evalskill-creator/run_eval.py:23937符号/2文件🟡 中

影响半径详情

compute_hash 影响链(12符号)

wiki_tool.py
  ├─ compute_hash:85
  ├─ generate_wiki_page:140
  └─ ingest:199

auto_linkage.py
  ├─ scan_research_files:36
  ├─ sync_all:92
  └─ main:123

wiki_auto_ingest.py
  ├─ scan_for_new_files:77
  ├─ check_new_files:133
  ├─ run_auto_ingest:148
  └─ get_status:227

run_eval 影响链(7符号)

run_eval.py
  ├─ run_eval:239
  └─ main:316

run_loop.py
  ├─ run_loop:101
  ├─ main:370
  └─ import scripts.run_eval:29

孤立模块(完全独立,无跨模块依赖)

模块文件数符号数独立性评分
kami2101⭐⭐⭐⭐⭐ 5/5
disk-cleaner125⭐⭐⭐⭐⭐ 5/5
tools/sysclean123⭐⭐⭐⭐⭐ 5/5
openJiuwen-DeepSearch5~80⭐⭐⭐⭐ 4/5

📈 架构健康度评估

模块独立性矩阵

模块内部耦合外部依赖独立性健康度
llm_wiki高(3文件紧密耦合)2/5🟠 需重构
skill-creator中(共享utils)3/5🟡 可优化
openJiuwen-DeepSearch低(main调用convert)外部包4/5✅ 良好
kami5/5✅ 优秀
disk-cleaner5/5✅ 优秀
tools/sysclean5/5✅ 优秀

关键发现

  1. llm_wiki 模块耦合过紧 - wiki_tool.py 是单点故障,被 2 个文件直接依赖;compute_hash 影响半径过大(12符号)
  2. skill-creator 模块耦合适中 - utils.py 被 3 个文件使用,但职责清晰;run_eval 是核心函数,影响范围可控
  3. 其他模块独立性优秀 - kami、disk-cleaner、sysclean 完全独立;openJiuwen-DeepSearch 内部耦合低

🎯 重构优先级

优先级模块行动预期收益
P1llm_wiki抽取 compute_hash 到独立 utils降低影响半径 50%
P2llm_wiki拆分 wiki_tool.py 为 core + api降低单点故障风险
P3skill-creator监控 utils.py 膨胀预防耦合恶化
P4其他保持现状

🎯 核心结论

1. 三层架构是技能管理的必然方向

技能不是"文档 + 代码"的简单组合,而是三元组:

技能 = 能力语义 + 知识内容 + 代码实现
       (Semantic)  (Knowledge)  (Execution)

2. 语义层是架构演进的关键缺失

语义层的核心价值:

  1. 解耦(关键价值)- 避免 LLM Wiki 和 CodeGraph 直接耦合,语义层作为"翻译层",隔离变化
  2. 映射 - 用户自然语言意图 → 技能能力 → 代码实现;代码变更 → 技能影响 → 知识影响
  3. 发现 - 基于语义相似度发现可复用技能,识别能力重叠和技能缺口
  4. 评估 - 评估技能的语义完整性和执行可靠性,量化技能质量(当前 42 项检查就是语义评估的雏形)

3. 当前 Harness 系统健康度评估

总体评分:58/100

维度评分权重加权分
代码层健康度72/10050%36
语义层健康度44/10050%22
总分58

🏗️ 语义层实体模型设计

核心实体

实体说明示例
Skill技能本体,一等公民harness-diagnosis
Capability可组合的功能单元"代码依赖分析"、"语义完整性评估"
InterfaceAPI/工具绑定codegraph query、wiki_query
Contract输入输出规范、前置/后置条件输入:技能名称;输出:依赖图谱
Evidence测试用例、性能指标、使用记录42项检查得分、调用次数

语义层元数据示例

skill:
  name: harness-diagnosis
  capabilities:
    - name: 代码依赖分析
      description: 分析模块间的符号级依赖关系
      interfaces:
        - tool: codegraph
          commands: [query, callers, callees, impact]
    - name: 语义完整性评估
      description: 评估 SKILL.md 的结构完整性
      interfaces:
        - tool: analyze_skills_semantic.py
  contracts:
    input:
      - type: skill_name
        required: true
      - type: workspace_path
        required: true
    output:
      - type: dependency_graph
        format: markdown
      - type: health_score
        format: json
    preconditions:
      - CodeGraph 索引已构建
      - SKILL.md 文件存在
    postconditions:
      - 生成 harness_full_report.md
      - 生成 skills_semantic_report.json
  evidence:
    test_cases: 0
    performance_metrics:
      avg_execution_time: 15min
      success_rate: 100%
    usage_count: 3

📈 改进路线图(重构版)

Phase 0: 语义层设计(1-2周)⚡ 新增

优先级行动产出预期收益
P0设计语义层数据模型skills_ontology_schema.json统一语义描述标准
P0构建轻量级语义索引原型skills_ontology.json支持语义搜索和映射
P0重新审视 42 项检查清单映射到实体模型区分语义完整性 vs 代码健康度

Phase 1: 语义元数据补充(2-3天)

优先级行动影响技能预期提升
P1为所有技能补充 ## Capabilities11 个技能+15分
P1为所有技能补充 ## Contracts11 个技能+10分
P1为所有技能补充 ## Evidence11 个技能+10分

Phase 2: 代码层优化(3-5天)

优先级行动影响技能预期提升
P2抽取 compute_hash 到独立 utilsllm_wiki+5分
P2拆分 wiki_tool.py 为 core + apillm_wiki+5分
P2为有脚本的技能补充 requirements.txt6 个技能+5分

Phase 3: 语义索引构建(1个月)

优先级行动产出预期收益
P3使用向量数据库存储技能语义向量FAISS/Chroma 索引支持语义相似度匹配
P3建立 Skill ↔ Capability ↔ Code 映射关系图谱支持影响分析
P3实现语义搜索 API/api/skills/search支持自然语言查询

Phase 4: 标准本体对齐(3个月)

优先级行动标准预期收益
P4采用 SKOS 描述技能分类W3C SKOS统一标签体系
P4采用 OWL-S 定义能力接口OWL-S标准化服务描述
P4采用 RSD 对齐行业标准Rich Skill Descriptor跨平台互操作

🎯 预期改进效果

阶段当前评分目标评分提升关键产出
Phase 0 完成5865+7语义层数据模型 + 原型
Phase 1 完成6585+20完整语义元数据
Phase 2 完成8590+5代码层优化
Phase 3 完成9095+5语义索引 + 搜索 API
Phase 4 完成9598+3标准本体对齐

🔑 关键洞察

1. 语义层是技能管理的核心

技能不是"文档 + 代码"的简单组合。技能是三元组:

2. 当前 42 项检查清单是语义评估的雏形

当前的 42 项检查清单实际上已经在做语义层评估,但缺乏统一的实体模型。应该:

3. 三层架构是架构演进的必然方向

从"修补缺失"升级为"构建语义层",这是架构演进的必然方向,不是可选项。


📋 下一步建议

立即行动(本周)

  1. 暂停 Phase 1 的 SKILL.md 补充工作 - 先设计语义层的数据模型,再决定需要补充哪些元数据
  2. 优先构建语义层原型 - 用现有 SKILL.md + CodeGraph 数据,建立一个轻量级的 skills_ontology.json 作为起点
  3. 重新审视 42 项检查清单 - 将检查项映射到语义层的实体模型,区分"语义完整性"和"代码健康度"

短期行动(1-2周)

  1. 设计语义层数据模型 - 定义 Skill、Capability、Interface、Contract、Evidence 的 JSON Schema
  2. 构建轻量级语义索引 - 使用向量数据库(FAISS/Chroma)存储技能语义向量
  3. 实现语义搜索 API - 支持自然语言查询技能,基于语义相似度推荐技能

中期行动(1个月)

  1. 补充完整语义元数据 - 为所有技能补充 Capabilities、Contracts、Evidence
  2. 优化代码层 - 抽取 compute_hash 到独立 utils,拆分 wiki_tool.py 为 core + api

长期行动(3个月)

  1. 采用标准本体 - SKOS(标签体系)、OWL-S(服务描述)、RSD(Rich Skill Descriptor)
  2. 实现跨平台互操作 - 支持与其他 Agent 平台的技能交换,建立技能市场生态

🚀 结语

Harness Engineering X AI 本体论的研究表明:语义层是技能管理的核心,是架构演进的必然方向

通过构建三层架构(语义层 → 知识层 → 执行层),我们可以:

最终目标:构建一个语义完整、代码健康、知识丰富的技能管理系统,支持 Agent 的持续演进和优化。


报告生成: Jarvis (Harness Diagnosis Skill) | 生成时间: 2026-06-24 21:30 | 下次评估: 建议 Phase 0 完成后重新评估