7.6 KiB
Raw Blame History

name, description, disable-model-invocation
name description disable-model-invocation
记录机器味案例 从已有作品或创作反馈中抽取可复核的 AI 味案例卡,保留来源哈希与位置并做来源重验证。需要反向积累人感样例、记录一次写作事故或批量回填既有作品时使用;不做标注确认与规则升格,不直接修改正文、范式或生产规则。 true

抽取 AI 味案例卡

在五技能接力链中的位置

本 Skill 是技能 5「挖掘」的采集入口(链路登记见 chains/README.md 的 AI 味接力段):

创作/已有作品 → 案例卡采集(本 Skill)→ 来源重验证(本 Skill)
        → 标注 / canonical / 样例投影 / 规则候选 / 评测 / 激活(建立机器味规则)
        → humanization/rules active → 技能 2/3 消费
  • 它不碰本次创作正文:只记账(作者回退、误杀、门禁失败都走 feedback 入卡),在背后为规则库供料;
  • 采集快、升格慢:卡片默认 shadow,之后的每一步状态推进都归 建立机器味规则。

目的与边界

本 Skill 只生产质量证据层的 ai_flavor_case 卡片,并做来源重验证。它不是作品实体卡,也不是公共范式卡;卡片默认处于 shadow,不能进入生成上下文,不能直接改变正文或规则。

输入有两条来源链:

  • backfill:扫描已有作品,记录表面候选、全文哈希、章节/行位置和上下文。来源未明确授权时只保存哈希与位置,不把原文写入仓库。
  • live_feedback:记录创作中发现的具体问题、候选正文哈希和人工判断,允许快速入卡,但同样先停在 shadow。

确定性脚本负责发现、哈希、状态、结构门禁和自动落库;“这是 AI 味还是有意写法”由 建立机器味规则 的人工/独立评审标注。

数据与副作用合同

  • 读取:用户明确提供的文本文件,以及本 Skill 输出的案例卡 YAML/JSON。
  • 写入:检测命令指定的回执文件,以及 muse-example 中的案例卡与重验证账本;不写正文、knowledge/ 正式资产或生产规则目录,也不写质量评测账。
  • 自动落库:scan、inventory、feedback 在检测完成后自动以一个事务写入数据库。--offline 是显式例外,只用于离线合同测试或数据库恢复准备;不能把离线文件当正式内容。
  • 恢复入口:persist_cases.py 只用于把已审计的 inventory/revalidation 文件恢复或迁移入库,正常检测不得依赖它单独执行。
  • 模型:扫描、哈希、校验都不调用模型;语义标注由 建立机器味规则 承接。
  • 失败:任何来源、哈希、状态或反例门失败都返回 CASE_CARD_CONTRACT_FAILED,不输出部分成功的卡。
  • 规则权威边界:运行时规则/样例权威在 example_ai_flavor_rule / example_ai_flavor_sample(DDL-111);规则生命周期不在本 Skill,归 建立机器味规则。

运行

采集只是第一步;标注、确认、样例投影、规则候选归纳、评测与激活由 建立机器味规则 承担。本 Skill CLI 只暴露:scan / inventory / feedback / validate / revalidate。confirm_card / project_sample 是供 promote 导入的库函数,采集入口不提供对应子命令。

# 既有作品反向扫描;research_only 是默认安全值,输出 hash-only 卡
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py scan \
  /path/to/work.txt --work-ref work-7 --output /tmp/ai-flavor-cases.yaml
# 命令结束时自动写入 muse-example;同时生成 .inventory.json/.revalidation.json 回执

# 批量回填并固化可复核清单;只写来源哈希、位置和观察,不复制第三方正文
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py inventory \
  /path/to/works --source-root-ref 小说清单 --output /path/to/backfill-inventory.json \
  --generated-on 2026-08-13
# 8 本作品的卡与逐卡重验证在同一检测运行中自动入库

# 创作反馈快速入卡(正文只在本次受控输入中读取)
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py feedback \
  --text-file /tmp/candidate.txt --work-ref work-12 --run-ref run-abc \
  --issue "段尾抽象升华没有功能" --output /tmp/feedback-card.yaml
# 创作反馈也会自动入库,保留 run_ref 绑定

# 明确只做离线构造(不会写库)
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py inventory \
  /path/to/works --output /tmp/inventory.json --offline

# 对卡片做结构与来源门禁
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py validate \
  /tmp/ai-flavor-cases.yaml

# 在确认/投影/规则使用前手工重验证来源;默认自动追加数据库回执。
.venv/bin/python muse/lifecycle/quality/humanization/skills/记录机器味案例/scripts/capture_cases.py revalidate \
  /path/to/ai-flavor-cases.yaml --source-root /path/to/source-root \
  --checked-on 2026-08-14 --output /tmp/ai-flavor-revalidation.json
# 仅需离线回执时显式加 --offline

owned、licensed 和 public_domain 才允许把片段写入卡;research_only、unauthorized 只能 hash-only,且永远不能确认。source_sha256 针对原始文件字节,excerpt_sha256 针对保存的片段,二者不可由模型自报。 重验证不会在看板打开时自动发生;它是确认、样例投影和规则消费前的显式 fail-closed 门。若来源无法获取,状态判定为 unavailable,不可判定为有效。

状态与交接

  1. scan/feedback 产生 shadow + unclassified——这是本 Skill 的终点。
  2. 之后的标注(sf / snf / boundary / regression)、canonical 确认、样例投影、规则候选归纳、评测与激活全部归 建立机器味规则。
  3. revalidate 产出的 verified 回执是交接件:下游每一步都要拿它做 fail-closed 复核。

详细字段和失败码见 references/case-card-contract.md。

首版回填清单与候选规则种子见 references/fixtures/;其中既有作品只保留 hash/位置,不能直接确认。 inventory/revalidate 的 --output 导出是可复核的恢复证据;正式内容在 muse-example 的 example_ai_flavor_case、example_ai_flavor_revalidation_batch、example_ai_flavor_revalidation 三张表。 muse/authority/studio/read/server.py 的 /ai-flavor 默认查这三张表,数据库不可用时读它自己的 muse/authority/studio/read/fixtures/ 离线回退(导出件由人放入,看板不读本 Skill 目录);页面不会因打开而重新读取原文。

状态语义:案例卡 shadow 只供复核,canonical 仅表示获授权且完成评审,rejected/archived 不进入生成上下文;重验证 verified 才能确认、投影样例或消费规则,stale(全文哈希变化)、unavailable(来源不可得)和 card_mismatch(锚点变化)都使当前卡在这些动作上失效,但历史回执保留。

复利合同

  • 消费:研究限定来源与已有案例卡;不把第三方正文写入正式内容。
  • 回写:persist_cases.persist 批次落库成功后经 propose_lesson_dedup 登记「AI味案例卡批次已落库」(run_id/candidate_sha256 均绑 report_sha256);规则升格仍归 建立机器味规则。离线/测试可传 persist_lesson=False。