news 2026/4/20 8:30:52

用 LLM-wiki 编译 Harness Engineering:3 种开源方案横评

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 LLM-wiki 编译 Harness Engineering:3 种开源方案横评

用 LLM-wiki 编译 Harness Engineering:3 种开源方案横评

用同一批素材,喂给 3 种 LLM-wiki 实现,看谁编译出的知识库最靠谱——附完整上手教程。


一、背景:两个新概念的碰撞

2026 年初,AI 工程领域同时冒出两个有意思的概念:

Harness Engineering— Mitchell Hashimoto 在 2 月提出,核心公式是Agent = Model + Harness。Harness 指包裹 AI Agent 的完整控制系统:guides(前馈控制)、sensors(反馈控制)、数据上下文管线、编排逻辑。Martin Fowler 的网站随后发表了系统性长文,OpenAI 也披露了内部实践案例。

LLM-wiki— Andrej Karpathy 在 4 月提出,核心类比是"编译 vs 解释"。传统 RAG 像解释执行(每次查询从零检索),LLM-wiki 像编译执行(LLM 提前把素材编译成结构化 wiki,查询时在编译制品上推理)。

RAG: query → search chunks → answer → forget LLM-wiki: sources → compile → wiki → query → save → richer wiki

这两个概念天然适合放在一起:用 LLM-wiki 来编译 Harness Engineering 的碎片知识。更有趣的是——构建 wiki 的过程本身就是 Harness Engineering。CLAUDE.md 是 Guide,lint 脚本是 Sensor,素材管线是 Data Context Layer。这个自指性我们在最后讨论。

二、实验设计

素材

从公开资料中选取 8 篇高质量素材,覆盖学术论文、权威博客、资源汇总、企业实践:

#来源类型核心贡献
1Martin Fowler 长文博客Guides + Sensors 分类体系
2arXiv 论文学术Natural-Language Agent Harness 形式化
3awesome-harness-engineeringGitHub设计原语全景地图
4Red Hat Developer企业实践两阶段结构化工作流
5SmartScope博客Harness ⊇ Context ⊇ Prompt 三层嵌套
6Louis Bouchard博客历史脉络与三概念辨析
7Parallel.ai长文五阶段生命周期、组件分类
8Atlan指南Agent=Model+Harness、数据质量

三个方案

选取类型差异最大的 3 种 LLM-wiki 开源实现:

方案类型仓库一句话特点
ATypeScript CLIatomicmemory/llm-wiki-compiler两阶段编译管线,跨源概念合并
BShell 技能包sdyckjq-lab/llm-wiki-skill多平台适配,EXTRACTED/INFERRED 置信度标签
C纯模板tonbistudio/llm-wiki一个 CLAUDE.md 就是全部,零代码

实验流程

同一批 8 篇素材(markdown) │ ├──→ 方案 A(CLI 编译器)──→ wiki_B/ 49 概念页 ├──→ 方案 B(技能包)────→ wiki_C/ 19 页(entity+topic+source) └──→ 方案 C(纯模板)────→ wiki_D/ 29 页(concept+entity+summary) │ ▼ 统一评估:30 核心概念覆盖率 + 交叉引用密度 + 可审计性

三、方案 C:纯模板——5 分钟上手

适合:想零成本试试 LLM-wiki 的人。

方案 C 是最简单的起点——全部"代码"就是一个CLAUDE.md文件,告诉 LLM 如何组织知识库。

动手教程

第 1 步:克隆模板

gitclone https://github.com/tonbistudio/llm-wiki.git my-wikicdmy-wiki

你会得到这个结构:

my-wiki/ ├── CLAUDE.md ← 核心:LLM 的工作指令 ├── raw/ ← 放原始素材(不可变) └── wiki/ ← LLM 生成的知识库 ├── concepts/ ├── entities/ ├── summaries/ ├── syntheses/ ├── index.md └── log.md

第 2 步:放入素材

cpyour-articles/*.md raw/

把你想整理的文章、笔记、论文放进raw/。支持 markdown、txt 等纯文本格式。

第 3 步:让 LLM 开始编译

在 Claude Code(或任何支持 CLAUDE.md 的 Agent)中打开这个目录,然后说:

帮我 ingest raw/ 下所有素材

LLM 会按 CLAUDE.md 里定义的工作流,逐篇处理:

  1. 读取原始素材
  2. 创建wiki/summaries/摘要页
  3. 提取概念 →wiki/concepts/
  4. 提取实体 →wiki/entities/
  5. 添加[[wikilinks]]交叉引用
  6. 更新index.mdlog.md

第 4 步:用 Obsidian 浏览

直接用 Obsidian 打开wiki/文件夹——所有[[wikilinks]]都能点击跳转,Graph View 可以看到知识网络。

我们的实验结果

指标数值
生成页面35 个 .md
概念页16
实体页5(Mitchell Hashimoto、Martin Fowler、OpenAI、Anthropic、LangChain)
摘要页8
交叉引用184 个 wikilinks
概念覆盖率93%(30 项中覆盖 28 项)

优缺点

优点:零依赖、零配置、5 分钟出结果、所见即所得

缺点:没有自动化(全靠 LLM 自觉)、来源标注粗糙(只到页面级)、质量完全取决于 LLM


四、方案 B:技能包——置信度标签是杀手特性

适合:用 Claude Code 做知识管理、需要区分"原文说的"和"AI 推断的"。

方案 B 是一个完整的技能系统,有初始化脚本、缓存去重、格式验证、多平台适配。它的独特亮点是EXTRACTED / INFERRED / AMBIGUOUS / UNVERIFIED四级置信度标签。

动手教程

第 1 步:克隆并安装

gitclone https://github.com/sdyckjq-lab/llm-wiki-skill.gitcdllm-wiki-skillbashinstall.sh--platformclaude

安装器会把技能文件复制到~/.claude/skills/llm-wiki,之后 Claude Code 每次启动都能感知这个技能。

第 2 步:初始化知识库

在 Claude Code 里说:

帮我初始化一个知识库,主题是 Harness Engineering,语言用 English

或者直接跑脚本:

bashscripts/init-wiki.sh ~/Documents/harness-wiki"Harness Engineering""English"

生成的目录结构:

harness-wiki/ ├── raw/ │ ├── articles/ ← 网页文章 │ ├── tweets/ ← X/Twitter │ ├── pdfs/ ← PDF │ └── notes/ ← 笔记 ├── wiki/ │ ├── entities/ ← 实体页 │ ├── topics/ ← 主题页(跨素材聚合) │ ├── sources/ ← 素材摘要 │ └── synthesis/ ← 综合分析 ├── purpose.md ← 研究方向(LLM 每次 ingest 都参考) ├── index.md ├── log.md └── .wiki-cache.json ← SHA256 去重缓存

第 3 步:填写研究方向

编辑purpose.md——这是方案 B 的灵魂。LLM 在每次 ingest 和 query 时都会先读取它:

## Core Goal Build a knowledge base on Harness Engineering — the discipline of designing control systems around AI agents. ## Key Questions 1. What are the core components of an agent harness? 2. How do different harness designs impact reliability? 3. What is the relationship between prompt/context/harness engineering?

第 4 步:消化素材

cpyour-articles/*.md raw/articles/

然后对 Claude Code 说:

帮我消化 raw/articles/ 下所有素材

方案 B 的 ingest 是两步式的:

Step 1(结构化分析): 素材 → JSON(entities, topics, connections, confidence) Step 2(页面生成): JSON + 现有 wiki → source 摘要页 + entity 页 + topic 页

第 5 步:查看置信度标签

生成的页面会带置信度注释:

<!-- confidence: EXTRACTED --> **Core formula**: Agent = Model + Harness (Mitchell Hashimoto, Feb 2026). <!-- confidence: INFERRED --> **Role shift**: Programmer's role shifting toward designing "habitats where agents can do useful work."
  • EXTRACTED:原文里字面能找到
  • INFERRED:从多处原文推断出来
  • AMBIGUOUS:原文说法不清楚
  • UNVERIFIED:来自 LLM 背景知识,原文没有证据

第 6 步:健康检查

帮我做个知识库健康检查

脚本会自动检查:孤立页面、断链、index 一致性。AI 会补充检查:矛盾信息、交叉引用缺失。

我们的实验结果

指标数值
生成页面20 个 .md
Entity 页8
Topic 页3(Harness Design Patterns / Agent Reliability / Harness vs Prompt vs Context)
Source 摘要页8
交叉引用176 个 wikilinks
概念覆盖率83%

优缺点

优点:四级置信度标签(独家)、Topic 页做跨素材聚合、SHA256 缓存避免重复处理、purpose.md引导研究方向

缺点:页面总数较少(粒度粗)、部分概念没有独立页面、依赖 LLM 交互


五、方案 A:CLI 编译器——3 条命令碾压全场

适合:有 API Key、追求最高质量 wiki 产出的人。

方案 A 是唯一全自动的方案——不需要 LLM 交互,不需要手动操作,三条命令出结果。

动手教程

第 1 步:安装

npminstall-gllm-wiki-compiler

或者本地安装:

gitclone https://github.com/atomicmemory/llm-wiki-compiler.gitcdllm-wiki-compilernpminstall&&npmrun build

第 2 步:配置 API Key

exportANTHROPIC_API_KEY=sk-ant-...# 或者如果你已经配置了 Claude Code,它会自动读取 ~/.claude/settings.json

支持 Anthropic(默认)、OpenAI、Ollama 等多种 provider。

第 3 步:导入素材

mkdirmy-wiki&&cdmy-wiki# 方式一:从 URL 导入llmwiki ingest https://martinfowler.com/articles/harness-engineering.html# 方式二:从本地文件导入cpyour-articles/*.md sources/

第 4 步:编译!

llmwiki compile

这一条命令启动两阶段编译管线:

Phase 1(概念提取): 逐篇读取 sources/ ──→ 每篇提取 6-8 个概念 Phase 2(页面生成): 合并同名概念 ──→ 生成 wiki/concepts/*.md ──→ 解析 [[wikilinks]] ──→ 生成 index.md

终端输出:

llmwiki compile ─────────────────── + 01-martin-fowler-harness.md [new] + 03-arxiv-agent-harness.md [new] ... * Extracting: 01-martin-fowler-harness.md * Found 7 concepts: Harness Engineering, Guides, Sensors, ... * Extracting: 03-arxiv-agent-harness.md * Found 7 concepts: NLAH, IHR, ... ... 🔗 Resolving interlinks... 🔗 Resolved links in 40 page(s) * Generating index... + Index updated with 49 pages. Compilation complete ──────────────────────── ✓ 8 compiled, 0 skipped, 0 deleted

第 5 步:查询

llmwiki query"What are guides and sensors in harness engineering?"

想把查询结果保存回 wiki(知识复合增长):

llmwiki query"Compare NLAH with traditional code harnesses"--save

第 6 步:增量更新

新加了素材?再跑一次compile,SHA256 哈希检测会跳过未变化的文件:

cpnew-article.md sources/ llmwiki compile# ✓ 1 compiled, 7 skipped, 0 deleted

第 7 步(可选):MCP Server

让 Claude Code 直接驱动 wiki:

llmwiki serve--root./my-wiki

我们的实验结果

指标数值
生成页面51 个.md
概念页49
交叉引用629 个wikilinks
引用密度12.3链接/页
概念覆盖率100%
编译耗时~2 分钟

来看一段生成的页面:

**Harness Engineering** is a framework for designing reliable AI agent systems through environmental controls and mechanical validation rather than prompting alone.^[01-martin-fowler-harness.md, 06-smartscope-harness.md] The discipline addresses "problems prompts cannot prevent" by implementing mechanical systems—such as linters, CI/CD pipelines, hooks, and quality gates—that operate outside the language model itself.^[06-smartscope-harness.md]

注意^[filename.md]——每一段都标注了出自哪篇素材

优缺点

优点:全自动(3 条命令)、概念最全(49 页)、交叉引用最密(629)、段落级来源标注、增量编译

缺点:需要 API Key(消耗 token)、没有置信度标签、粒度可能过细


六、可视化对比

编译产出对比

Wiki 页面数量方案 A (CLI)方案 B (技能包)方案 C (纯模板)5550454035302520151050页面数
Wikilink 交叉引用数量方案 A (CLI)方案 B (技能包)方案 C (纯模板)700650600550500450400350300250200150100500交叉引用数

概念覆盖率(30 核心概念)

概念覆盖率方案 A (CLI)方案 B (技能包)方案 C (纯模板)1009080706050403020100覆盖率 %

三方案能力雷达图

编译质量 ★★★★★ A ★★★☆☆ C ★★☆☆☆ B │ 上手成本 ──────┼────── 可审计性 C ★★★★★ │ A ★★★★☆(段落级来源) B ★★★★☆ │ B ★★★★★(置信度标签) A ★★★☆☆ │ C ★★☆☆☆ │ 自动化程度 A ★★★★★(全自动 CLI) B ★★★☆☆(脚本辅助) C ★☆☆☆☆(纯手动)

全维度对比表

维度方案 A (CLI)方案 B (技能包)方案 C (纯模板)
页面数512035
交叉引用629176184
引用密度12.3/页8.8/页5.3/页
概念覆盖率100%83%93%
来源追溯段落级^[file]页面级 + 注释页面级
置信度标签四级标签三级标签
前置依赖Node.js + API KeyShell
上手时间~3 分钟~5 分钟~1 分钟
自动化全自动脚本辅助手动
增量更新SHA256 自动SHA256 脚本手动
独特特性跨源概念合并purpose.md 引导 + topic 聚合零依赖

七、关键发现

发现 1:两阶段编译是杀手级设计

方案 A 先从 ALL 素材中提取概念,再统一生成页面。这带来两个巨大优势:

  • 消除顺序依赖:不管素材按什么顺序处理,结果都一样
  • 自动合并:5 篇素材都提到 “Harness Engineering”,最终只生成一页,综合所有来源

方案 B/C 逐篇处理,先处理的素材会影响后续的概念组织。

发现 2:粒度是 Trade-off,不是越细越好

方案 A:49 个概念页 → 百科全书式,查找方便但信息分散 方案 C:21 个概念页 → 平衡点,阅读舒适 方案 B:11 个实体页 → 综合度高,但缺少细节

如果你要做参考手册——选 A。如果你要做读书笔记——C 或 B 更合适。

发现 3:审计有两个独立维度

  • 来源追溯:“这句话出自哪篇素材?” → 方案 A 无敌(段落级^[file]
  • 可信度判断:“这个信息有多可靠?” → 方案 B 无敌(EXTRACTED/INFERRED/AMBIGUOUS/UNVERIFIED)

理想的系统应该两者兼备——目前没有一个方案做到。

发现 4:构建 wiki 本身就是 Harness Engineering

这是最有趣的发现。每个 LLM-wiki 工具的组件,都能映射到 Harness Engineering 的概念:

Wiki 工具组件Harness 概念哪个方案做得最好
CLAUDE.md / SKILL.mdGuides(前馈控制)B(最详细的 SKILL.md)
lint 脚本 / validate-step1.shSensors(反馈控制)B(脚本验证 + AI 检查)
SHA256 缓存Memory & StateA(全自动增量)
素材提取管线Data Context LayerB(多平台适配器)
两阶段编译Planning & DecompositionA(compile 管线)
人工审核节点Human-in-the-LoopB(review 系统)

方案 A 胜出不是因为用了更好的模型,而是因为它的harness 设计得最好——两阶段管线 + 跨源合并 + 自动链接解析。

这恰好印证了 Harness Engineering 的核心论点:Agent = Model + Harness。同一个模型(Claude),不同的 harness,结果天差地别。


八、选择指南

你有 API Key 吗? ├── 有 → 追求最高质量? │ ├── 是 → 方案 A(llm-wiki-compiler) │ └── 否 → 方案 B(llm-wiki-skill) └── 没有 → ├── 用 Claude Code? → 方案 B(零 API 费用) └── 想最快上手? → 方案 C(零依赖)

一句话总结

  • 方案 A:编译质量最高,3 条命令出结果,需要 API Key
  • 方案 B:可审计性最强,置信度标签是独家特色,适合严肃研究
  • 方案 C:门槛最低,一个 CLAUDE.md 就是全部,适合快速体验

如果只能选一个——选 A。如果你关心"AI 说的到底靠不靠谱"——选 B


本文的实验数据、评估清单和全部 wiki 产出都在 GitHub 仓库中开源。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 8:25:40

飞书文档批量导出终极指南:25分钟完成700+文档自动化迁移

飞书文档批量导出终极指南&#xff1a;25分钟完成700文档自动化迁移 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 还在为飞书文档迁移而烦恼吗&#xff1f;feishu-doc-export为你提供了完整的自…

作者头像 李华
网站建设 2026/4/20 8:17:37

Chart.js 雷达图:深入解析与应用指南

Chart.js 雷达图:深入解析与应用指南 引言 雷达图,也被称为蜘蛛图或星形图,是一种用于展示多变量数据的图表。在数据可视化领域,雷达图因其独特的展现形式和强大的信息展示能力而受到广泛的应用。Chart.js 是一个流行的 JavaScript 图表库,它提供了多种图表类型,包括雷…

作者头像 李华
网站建设 2026/4/20 8:17:16

手把手教你用vLLM+Open-WebUI部署通义千问2.5-7B-Instruct

手把手教你用vLLMOpen-WebUI部署通义千问2.5-7B-Instruct 1. 引言 想在自己的电脑上跑一个功能强大、响应迅速的大语言模型吗&#xff1f;通义千问2.5-7B-Instruct可能就是你的理想选择。这个模型虽然只有70亿参数&#xff0c;但能力相当全面&#xff0c;无论是写代码、解数学…

作者头像 李华
网站建设 2026/4/20 8:17:15

G-Helper:轻量级华硕笔记本性能管理解决方案

G-Helper&#xff1a;轻量级华硕笔记本性能管理解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and o…

作者头像 李华
网站建设 2026/4/20 8:17:14

Elsevier Tracker:一个Chrome插件如何改变你追踪论文审稿的方式

Elsevier Tracker&#xff1a;一个Chrome插件如何改变你追踪论文审稿的方式 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 想象一下这样的场景&#xff1a;你的论文刚刚投递到Elsevier期刊&#xff0c;接下来就是漫…

作者头像 李华