Jev P0 吸收执行与验证记录(2026-09-20)
依据:
~/llm-wikis/knowledge-ops/queries/jev-typesafe-absorption-eval-2026-09-20.md(评估结论:Watch + Sidecar Trial,P0 = 方法论吸收) 边界协议:references/boundary-controlled-partial-absorb-execution-2026-05-29.md
吸收了什么
| 项 | 落点 |
|---|---|
| 纪律一:原子决策分解 | ~/.hermes/skills/integration/external-project-absorption-eval/references/system-one-decision-methodology-2026-09-20.md |
| 纪律二:置信度三分法 | 同上 |
| 纪律三:阈值随风险缩放 | 同上 |
| SKILL.md 入口 | external-project-absorption-eval 新增「决策方法论类项目的最小吸收入口」段 + reference 索引 |
未吸收(边界留痕)
- 未安装 typesafe-sdk、未申请 API key、未调用 api.typesafe.ai
- 未引入 Jev runtime / 并行采样架构
- 未改默认模型路由、未写全局配置
- 未创建外部项目默认目录
- P1(Vercel Gateway 旁路验证)、P2(生态跟踪)未动
真实验证:晨报去重 A/B/C 实验
场景:晨报 prefetch 缓存(69 条 / 15 源),跨源语义去重是现状真实缺口(URL/标题精确去重全为 0)。
实验设计(三组对照,模型 deepseek-v4.1-flash @ 本机 AxonHub):
| 组 | 设计 | 结果 | 耗时 |
|---|---|---|---|
| A 基线 | 一次性 prompt 让 LLM 直接判"哪些重复" | 6/7 正确,漏判 1 对(Thariq 同一功能宣布+补充),无 reason | 72.6s |
| B 逐对原子 | 每对独立原子问题 + 确定度 + 三分法 | 7/7 正确,每条带可追溯 reason | 66.7s |
| C 批量原子 | 一次调用 + 每对独立成节原子问题 + 确定度 | 7/7 正确,带 reason | 81.3s |
勘误(2026-09-20 21:40):初版记录误写 A 基线耗时 6.0s——那是首次运行因模型名写错快速报错的耗时,非有效测量。有效运行三组耗时均在 60–80s 同量级(AxonHub 串行 curl 单连接),延迟差异不构成决策依据。
结论:
- 方法论收益真实:7/7 vs 6/7,且 A 组唯一的错判(漏判 Thariq 对)恰是"同一发布 + 补充说明"这种需要原子化"是否同一事件"才能抓到的类型。分解逻辑本身就是收益来源。
- 延迟三组同量级(60–80s,受本机串行 curl 限制):方法论升级不付延迟代价,收益纯粹来自准确率 + 可追溯性。B 慢是 7 次串行调用的网络开销,生产形态选 C(原子分解 + 单次打包)。
- ⚠️ 置信度自报偏乐观:C 组 7 个 confidence 值全部 ≥0.75(B 组另 7 个全部 ≥0.90),其中对[2](MIT Tech Review 同主题两篇)自报 0.75 却判对、对 Thariq 自报 0.95。LLM 自报置信度分布压缩在高位,不能直接当校准概率用——三分法的 FLOOR/HIGH 阈值必须按本域数据校准,不能照抄。这实测印证了 Jev 官方对 LLM 置信度的批评,也划清了「方法论可吸收、Jev 的校准概率本身才是 vendor 差异化」的边界。
- 低成本候选筛选(Jaccard ≥0.20) 是必要前置:69 条 → 7 候选对,避免 O(n²) LLM 全量调用。阈值 0.20 时无漏检(人工核对 ground truth 确认)。
Ground truth 人工核对(7 对):对[0] HN/Lobsters 同一篇文章=真重复;对[1] 掘金同作者系列两篇不同文章;对[2] MIT 同主题两篇独立文章;对[3][6] GitHub 不同仓库;对[4] Gary Marcus 两篇不同文章;对[5] Thariq 同一功能宣布=真重复。
Evidence Card
- Command / Check:
python3 /tmp/p0_jev_ab/ab_real.py+ab_c.py(已归档~/llm-wikis/knowledge-ops/evidence/jev-p0-absorption-2026-09-20/) - Exit Status:0(A/B/C 三组均完成)
- Covered:三条纪律写入 canonical skill reference;SKILL.md 入口 patch;晨报去重真实数据 A/B/C 验证完成,B/C 优于 A
- Not Covered:Jev SDK/API 真实调用(无 key);wiki 治理告警分诊场景未做(后续候选);置信度阈值长期校准曲线未建立(单次实验)
- Residual Risk:LLM 自报置信度不可靠 → 三分法阈值需按域校准;单日数据样本小(7 对),需晨报连续运行积累
- Confidence:高(方法论收益方向性结论明确;具体阈值数字为单日样本)
下一步建议
- 把 C 形态(原子分解 + 单次打包)接入晨报 fetcher.py 的去重环节,阈值先保守(FLOOR 0.50 / HIGH 0.85),跑一周积累校准数据
- 若校准数据显示自报置信度持续压缩在高位,考虑把 HIGH 提到 0.9+ 或改用「冲突检测」(A/B 判断不一致时转人)替代纯阈值
- wiki 治理告警分诊作为第二场景复制此模式
附:C 形态接入晨报 pipeline(同日完成)
用户确认走零凭证路线后,当日完成接入与真实验证。
改动(~/.hermes/skills/productivity/morning-brief/scripts/fetcher.py,备份 fetcher.py.bak-20260920-semantic-dedup):
- 新增
semantic_dedup_sources():Jaccard≥0.20 预筛 → 单次 LLM 调用处理全部候选对(C 形态)→ 三分法处置(FLOOR 0.50 / HIGH 0.85)→ 仅auto_dedup执行删除,其余仅记录 - 挂载点:send 模式两条路径(缓存命中 / 重新抓取)均在 summarize/翻译前执行;prefetch 契约未动
- 降级设计:候选对 >40 跳过本轮;LLM 失败退回精确去重;
MORNING_BRIEF_SEMANTIC_DEDUP=0可整体关闭 - 审计:每对决策(action/confidence/jaccard/reason/kept/dropped)写入 run log(
~/.hermes/logs/morning-brief/run-*.json)
验证结果(真实 send 全链路,2026-09-20 14:20):
- 语法编译通过;缓存路径与抓取路径均实跑成功
- 77 条 → 6 候选对 → 3 条自动去重(HN/Lobsters 同文、Thariq 同发布+补充、MIT 通讯+其单篇),摘要/翻译/分类/产物格式全部正常,prefetch 缓存未污染
- run log 审计完整落盘
⚠️ 边界案例(记入观察):MIT 对(The Download 通讯 vs 其单篇文章)在实验两轮判 keep_both、接入后两轮判 auto_dedup——同模型跨 run 判断翻转,且置信度都在 0.9+。这正是「LLM 自报置信度不稳定」的实证:去重这种不可逆动作,HIGH=0.85 可能仍偏低,连续跑一周校准数据后再定(候选措施:HIGH 提至 0.9+,或对同源同主题对强制 flag_review)。
Jev 真实接入准备(等 Vercel key,未执行):
~/llm-wikis/knowledge-ops/evidence/jev-p0-absorption-2026-09-20/jev_ab_compare.py已就绪:两条后端(Vercel AI Gatewaytypesafe-ai/jevevaluate 端点 / TypeSafe 原生noul原语),同 7 对 ground truth,跑完即出 deepseek B/C vs Jev 三组对照- 通路侦察结论:Vercel 网关元数据/价格一致($0.042/MTok、type=evaluation、32k ctx)、evaluate 端点格式验证为
boolean/choice/score(非原生noul);Cloudflare Workers AI 目录 65 模型无 Jev,此路排除;TypeSafe 官方需 waitlist - key 到位后:
export AI_GATEWAY_API_KEY=... && python3 jev_ab_compare.py vercel
附二:Jev 真实接入对比(2026-09-20 完成)
用户注册 Vercel 并提供 key 后,Jev 真实调用打通,同 7 对 ground truth 完成三方对照。
接入障碍与解法(真实踩坑):
- key 文件内容为
key:vck_...——复制时带上了 Vercel 控制台的 UI 前缀,需剥掉key:才是真 key - 认证通过后仍被
customer_verification_required拦下:Vercel AI Gateway 要求账号绑支付方式才解锁免费额度($5/月) - 网关响应格式与官方 SDK 不同(关键):
| 原语 | 官方文档 | Vercel 网关实测 |
|---|---|---|
| boolean/noul | noul: 0.95 |
{"type":"boolean","probability":0.57},无独立 confidence |
| choice | choice/probabilities/confidence |
同,但 criteria 接受对象或数组 |
| score | score/confidence |
criteria 必须传数组(传对象报 expected array, received object) |
三方对照结果:
| 组 | 准确率 | 总耗时 | 成本 |
|---|---|---|---|
| deepseek 逐对原子 (B) | 7/7 | 66.7s | 本地 AxonHub |
| deepseek 批量原子 (C) | 7/7 | 81.3s | 本地 AxonHub |
| Jev(真实调用) | 6/7 | 3.7s(0.52s/对) | $0.00014 |
关键发现:
- 速度差 16 倍:Jev 0.52s/对 vs deepseek 端到端 9.5–11.6s/对。跨洋延迟下仍远快于 LLM 走本机网关。
- 准确率 Jev 反而低 1 分:唯一分歧在对[2](MIT Tech Review The Download 通讯 vs 其单篇文章)——Jev 判"同事件"prob=0.89,deepseek 两轮都判"不重复"。人工裁定:这是 newsletter 与其单篇内容,判重复更合理,即 Jev 在这题上更对;但该对的 ground truth 本身存在争议(candidate 与内嵌文章是否算重复,取决于晨报口径)。
- ⭐ 概率稳定性是本轮最有价值的发现:对[2]、对[5] 各跑 8 次,概率极差仅 0.010(0.88–0.89 / 0.93–0.94),判定 8/8 一致,零翻转。对照 deepseek 在 MIT 对上跨 run 直接翻转(实验 keep_both → 生产 auto_dedup),Jev 的"校准概率"在稳定性上名副其实——这不是营销话术,是可复现的工程属性。
- 置信度动态范围真实:Jev 概率分布 0.05–0.94(区分度充分),对照 LLM 自报全部压缩在 0.75+。
结论更新:本轮实测支持把评估结论从 Watch + Sidecar Trial 向 Sidecar(技术验证通过) 推进一层——Jev 的差异化不在"更快更便宜"(LLM 也能做对),而在概率可复现、可作为阈值门控的稳定信号。这正是不可逆动作(去重、分诊、放行)最需要的属性。
仍未做:未接入生产 pipeline(现有 LLM 版已跑通且 7/7,Jev 版需先解决对[2]口径分歧);未做 wiki 分诊场景;成本极低但依赖 Vercel 账号持续绑卡。
产物:result_jev_vercel.json(7 对完整响应含 usage/cost)、jev_repeatability.py(稳定性实验)、jev_real_compare.py(可复跑对照)
附三:Jev 替换上线(2026-09-20 当日完成)
用户确认"替换掉,引入试试看"。晨报语义去重从 LLM 后端切换为 Jev 优先 + LLM 兜底。
改动(fetcher.py,备份 fetcher.py.bak-20260920-jev-backend):
- 新增
_semantic_decide_jev():逐对原子查询 Vercel AI Gateway(boolean 原语,校准概率直接做三分法) - 原 LLM 逻辑抽为
_semantic_decide_llm():保留作兜底(自报置信度版) - 后端调度:
MORNING_BRIEF_SEMANTIC_DEDUP_BACKEND(默认auto)= jev 优先 → 失败转 llm → 均失败跳过(降级不失败) - 阈值:
JEVI_HIGH=0.85(auto_dedup)/JEVI_LOW=0.25(明确不同)——可经 env 覆盖,供周级校准 - key 读取:环境变量优先,fallback 读
~/.hermes/.env(cron 环境实证可用) - 审计:run log 每条记录含
backend字段(jev/llm),可回溯实际使用的后端
验证矩阵(全部真实执行):
| 场景 | 结果 |
|---|---|
| 语法编译 | ✅ |
| 缓存路径(69 条) | ✅ 7 候选对,Jev 正确去重 2 条(MIT/Thariq),HN/Lobsters 0.64 落 flag_review(不删) |
| 抓取路径(72 条) | ✅ 5 候选对,正常去重 1 条,后续摘要/翻译/分类全部正常 |
| 故障注入(装坏的 key) | ✅ Jev 失败 → 自动转 LLM 兜底 → 正常完成(7/7)——降级链实证 |
| key fallback(无 env,模拟 cron) | ✅ 从 .env 读取成功,真实调用成功(prob=0.97) |
观察记录(校准用):
- HN/Lobsters 对 Jev 给 0.59-0.64(实验中同一对),落在 flag_review —— 两次都保守不删。概率轻微浮动(±0.05)但动作一致,符合"不可逆动作宁缺勿滥"
- 高置信对稳定复现:MIT 0.88-0.89、Thariq 0.93-0.94
- Jev 胜在"知道自己不确定":翻译质量模糊 case 自动给 conf=0.4(LLM 自报普遍 0.85+)
持续校准计划:run log 累积一周后检查——(a) flag_review 条目人工核验准确率;(b) HN/Lobsters 类"真重复但低于阈值"的分布,决定是否下调 JEVI_HIGH。
配套清单:体系级 Jev 应用清单已产出(jev-capability-rollout-list-2026-09-20.md)——17 项候选场景按 P0/P1/P2 排序,含落点、价值与设计注意。
附四:P0 五项接入完成(2026-09-20 当日)
用户要求「P0 都替换下,测试下效果」。五个场景按动作可逆性分级接入:
| 场景 | 模式 | 关键实测 |
|---|---|---|
| 噪音过滤复核 | 生产 | 救回规则误杀(Anthropic $45B deal prob=0.01);真导购确认删除(0.96) |
| 翻译质量验收 | 生产 | 漏译数字 score=0.04;争议译法 score=1.53 但 conf=0.29(自动低置信) |
| 条目重要度评分 | 影子 | 非 AI 社会新闻 0.06–0.50;核心 AI 动态 2.85–3.17 |
| Wiki 治理分诊 | 生产 | 8-19 真实噪音场景 prob=0.45→静默;真 warning 0.89→通知 |
| Hindsight retain 预筛 | 影子 | 40 条中 16 对语义重复;prob=0.97 但 Jaccard=0.613(字符串抓不准、Jev 抓到) |
重大发现:llm-wikis-governance-alert cron 自 2026-08-19 起被暂停近一个月——根因是「110 个陈旧中心页 + 3 个孤岛」这类持续维护项按 verdict 字符串推给人。Jev 对该场景判 0.45→静默,即证明分诊有效。经用户确认后已恢复(原定义完整保留)。
共用底座:~/.hermes/scripts/jev_client.py(三原语封装 + 三分法 + 风险分级阈值)。
故障降级矩阵(6 场景全过):Jev 全面不可用时,晨报行为与接入前完全一致(去重转 LLM 兜底、噪音保持原规则、标记类静默跳过、分诊返回 null 由调用方回退)。
成本:单日约 $0.0014,月 < $0.05。
附五:影子期数据累积与到期汇总(2026-09-20)
发现并修复的设计缺陷:三个审计文件原本是每次运行覆盖(importance_latest.json 106B、translate_qa_latest.json 266B),影子期到期只能看到最后一次。
修复:改为双写——latest.json(实时快照)+ history/<prefix>-YYYY-MM-DD.jsonl(按日累积,不被覆盖)。三处同步:
- fetcher.py importance 扫描
- fetcher.py translate_qa
- hindsight_retain_prescreen.py
到期汇总工具:~/.hermes/scripts/jev_shadow_summary.py
- 只读聚合四个场景(重要度 / 翻译验收 / retain 预筛 / 语义去重)
- 输出结构化 JSON + 人读 Markdown(含低分榜、标记样本、重复样本、阈值建议、三选项决策)
- 数据不足时会明说,不伪造结论
3 天到期提醒:cron jev-shadow-period-summary(d49aeb19f40b),2026-09-23 10:00 一次性触发,飞书推卡 + 发布 decision trace 存档。
待用户判断的三项:
1. 条目重要度是否转正(MORNING_BRIEF_JEVI_IMPORTANCE_ENFORCE=1)
2. retain 预筛是否启用「仅重复拦截」(价值评分主观性强,建议只拦重复)
3. 语义去重阈值是否调整(看 flag_review 中有多少真该删)