2.9 KiB
2.9 KiB
阶段 F 第二部分:知识链派发——抽取智能体
日期:2026-08-23
状态:已完成(离线绿 + 真实派发通过)
上游事实:候选 164 经决策通道采纳(署名 qingse),第 3 章正典落库(5131 字);接受意图 queue_chapter_extraction。
1. 意图
抽取智能体接入框架派发(边界合同:智能体框架记模型事件/raw,生产编排记知识草稿与业务回执),替代抽取直调链的生产使用;直调链保留为对照/回退,终态裁决按总 plan 用数据说话。
2. 设计
生产编排:注册抽取运行 → 读正典章全量正文 + 既有实体名
↓
派发抽取智能体(单次派发,探索与产出同一循环):
输入 = 全量正文(注入,不经工具——工具读取会截断)+ 既有实体名 + 抽取合同
工具白名单 = read_chapter_text、search_entities(查重与回读核验用)
产出 = 结构化抽取 JSON(entities/relations/state)
↓
机械校验:normalize_extraction(证据必须正文逐字片段)
失败 → 一次修复重派(只纠证据绑定,不新增条目)→ 仍失败 → salvage 保守收口
↓
落库:persist_extraction(muse_knowledge_draft,草稿态)→ 人确认转正(:8766)
关键取舍:
- 正文注入而非工具读取:
read_chapter_text超长截断,证据逐字绑定要求全量正文,注入是唯一可靠路径;工具留给查重探索。 - 单次派发(非两阶段):抽取产出是结构化 JSON,无长篇碎片化风险;探索与产出同循环。
- 机械校验与落库全部复用既有可信适配层(
normalize_extraction/salvage_extraction/persist_extraction),不新造合同。 - 修复重派一轮(证据绑定是机械问题,对齐直调链既有语义);仍不合法走 salvage;salvage 失败失败关闭。
- 证据归属:派发运行
{run_id}-extractor-v{N}记事件/raw(trigger_detail 带 productionRunId),草稿落生产抽取运行。
3. 改动台账
| 文件 | 动作 | 原因 |
|---|---|---|
.agent/skills/extract-chapter-knowledge/scripts/dispatch_extraction_bridge.py |
新增 | 抽取任务包装配 + 派发编排(校验/修复/落库/收口) |
.agent/skills/extract-chapter-knowledge/scripts/extract_via_dispatch.py |
新增 | 派发入口(显式 provider/model,真实调用需授权) |
tests/skills/extract-chapter-knowledge/test_dispatch_extraction_bridge.py |
新增 | 离线测试(7 项) |
4. 验证结果
- 离线测试 7/7 通过。
- 真实派发(作品 12 第 3 章,
extract-knowledge-w12-c3-20260823T150511,catproxy-anthropic/claude-opus-5,medium):- v1 派发完成但证据绑定未过
normalize_extraction→ 桥自动触发 v2 修复重派 → 通过(修复路径首次真实验证)。 - 18 条实体草稿 + 1 条叙事状态草稿落库(status=pending),看板与经验确认通道 :8766 可见,待人审转正。
- v1 派发完成但证据绑定未过