oh-my-knowledge:为 prompt、RAG 与智能体提供可验证的知识变更评估

前言

在 DeepSeek Harness(DSH)里迭代 skill、prompt 或 RAG 配置时,常见做法是改一版就手动试几条对话,凭印象判断「好像更好了」。同一模型、同一批样本、只换知识产物(knowledge artifact)时,这种主观对比很难支撑发布决策,也无法把线上真实任务里的缺口沉淀成回归用例。

下面介绍社区插件 lizhiyao/oh-my-knowledge(简称 OMK)。它面向 prompt、RAG、skill、agent 与工作流的知识维护者,用 doctor → eval → observe 闭环把「是否可测、是否更好、线上暴露了什么」变成可复查的证据,并原生支持 Codex、Claude Code 与 DeepSeek Harness。

这是什么

OMK(oh-my-knowledge)由 lizhiyao 维护,MIT 许可证,当前 npm 版本为 v0.54.0,要求 Node.js >= 22。项目定位是:Observe. Measure. Know. —— 让 AI 应用中的每一次知识变更都有证据支撑。

核心思路是控制变量:同一模型、同一评测样本,只改变知识产物版本,再给出是否可发布的一行结论、置信区间、失败样本与成本。DSH 用户可将 OMK 作为原生 bundle 装入现有 profile,复用当前会话的 provider、凭证与沙箱做受控评估,并在 Studio 中打开持久化的 DSH 任务轨迹。

核心功能

OMK 把常见决策映射到具体命令,README 中的对照表可作为能力索引:

决策 命令 得到的证据
产物结构是否足以评测 omk doctor 结构、依赖、安全与可测性检查
v2 是否优于 v1 omk eval 一行结论、置信区间、失败样本、成本
为何通过或失败 omk studio 分数、诊断与样例的报告视图
是否接受该版本 omk promote / omk evolve 证据门控的接受,或生成更好候选
一次真实任务发生了什么 omk observe / Studio Task Trajectory 请求、可见 Knowledge、工具调用、结果、回复与用户修正
线上用法暴露了什么缺口 omk observe / omk sample --from-traces 待审阅的生产缺口草稿,可转为评测样本

主循环如下:

修改 prompt / RAG / skill / agent 产物
→ omk doctor
→ omk eval(同模型、同样本)
→ 阅读报告 / Studio 证据
→ promote 或 evolve
→ observe 真实用法,sample --from-traces 起草回归样本

在 DSH 中,插件通过宿主执行器接入:eval.yaml 可省略顶层 executor,实测执行器始终是当前 DSH 宿主;每个样本会创建新的 DSH agent/session,并复用 profile 的 provider、凭证、工具与沙箱。/omk observe 依赖 ctx.sessionPersistence,以只读方式列出近期终端根会话并生成 Studio Task Trajectory URL。

安装与启用

作为 DSH 插件(推荐)

若 DSH 已是本地 harness,优先把 OMK 装入现有 profile,而不是让 OMK 再启动一套运行时。官方文档给出的命令如下:

dsh plugin --profile web add oh-my-knowledge
dsh --profile web

进入 DSH 后,可用斜杠命令操作(配置路径相对于当前会话 cwd 解析):

/omk eval eval.yaml
/omk observe
/omk observe <session-id>

内置 web profile 提供 ctx.commands 与命令适配器;headless、ACP、JSON-RPC 表面目前不消费该命令。本地源码构建时,可先 npm run build,再用绝对路径 dsh plugin --profile web add /absolute/path/to/oh-my-knowledge 链接。

全局 CLI 安装

不通过 DSH 宿主时,可用 npm 全局安装:

npm i -g oh-my-knowledge

需预先配置至少一种已认证的模型运行时(Codex CLI、Claude Code 或 API executor)。完整文档见 oh-my-knowledge.pages.dev

典型用法

五分钟演示(CLI)

omk init 会脚手架两个 skill 变体与三个样本用例,可直接跑通对照评测:

npm i -g oh-my-knowledge
omk init demo && cd demo
omk eval --control code-review-v1 --treatment code-review-v2 --dry-run
omk eval --control code-review-v1 --treatment code-review-v2

--dry-run 用于预览调用与成本;正式 omk eval 约五分钟内生成带一行结论的 HTML 报告。首次仅 3 个用例时,结论常为 UNDERPOWERED(数据不足),属正常现象;README 建议积累到约 20+ 用例后再信任 ship/no-ship 判断。

在普通终端将 Codex 设为默认执行器时,可在 shell profile 中加入:

export OMK_EXECUTOR=codex
# 可选: export OMK_MODEL="your-codex-model"

在 DSH 内做 eval

在已加载插件的 DSH 会话中,编辑项目下的 eval.yaml,然后执行:

/omk eval eval.yaml

宿主模式下省略 eval.yaml 顶层 executor;被测模型默认继承当前会话,除非在配置中显式指定 model。评测报告写入项目 .omk/reportsSample.mocks 在 DSH 宿主模式下暂不支持。

查看单次任务轨迹

仅查看一次 Codex 或 DSH 会话背后发生了什么,可不先跑 observe ingest

omk studio

Studio 默认在 http://127.0.0.1:7799 打开本地会话概览。DSH 下使用 /omk observe <session-id> 会得到指向实际监听地址的 Task Trajectory URL,四栏(Conversation、Actions、Results、Knowledge)展示请求、工具调用、返回与可见上下文;轨迹仅重建日志中可观测事实,不推断隐藏推理。

在编码智能体中安装 Agent Skill

omk install omk-agent-skill

在 Claude Code 中可调用 /omk eval/omk evolve/omk sample;在 Codex 中需让智能体直接执行 omk CLI,例如 omk evolve skills/my-skill.md

适用场景与注意

适合谁: 需要为 skill、prompt、RAG 或 agent 产物做发布决策的作者与维护者;需要在 DSH profile 内做受控 A/B、并把线上 trace 反哺评测集的团队。

不太适合: 只想被动使用某个 skill、不关心版本证据与回归样本的终端用户。

使用注意:

  1. OMK 以当前 DSH 进程权限运行,安装前应阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
  2. DSH 插件目录 SkillHub 是社区维护的独立站点,与 DeepSeek / 幻方无官方从属关系。
  3. 对比不同执行器(如 codexclaude)的结果时,OMK 会对运行时指纹做警告;应在固定 executor 下比较产物版本。
  4. CLI 首次运行后可能提示有新版本(每 20 小时最多一次);设置 OMK_SKIP_UPDATE_CHECK=1 可永久关闭。

结尾

OMK 把「改了一版知识产物,到底能不能发」从主观印象拉回到可复查的证据:发版前用 doctoreval,发版后用 observesample 闭合回路。DSH 用户通过 dsh plugin --profile web add oh-my-knowledge 即可在现有 profile 内复用宿主运行时。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜