| name | mojia-canon-verify |
| description | 墨学双链推理架构 - 防失真核心:对经文独立自检,防止模型自我合理化和自检同谋偏差。逐条比对关键条件,禁止丢条件、禁止加料。触发场景:经凝练完成后立即执行;需验证经文完整性和纯真性;最多重试2次,失败触发一级降级。 |
| agent_created | true |
02 - 经文自检 Skill
墨学经说双链推理架构 防失真核心。解决模型"自我合理化、自检同谋偏差"问题。
核心问题
模型在生成经文后自我检查时,天然倾向于认可自己的输出——这就是"自检同谋偏差"。本模块通过挑剔视角独立审核打破这一偏差。
一、输入
接收【经】凝练模块的输出:
{
"canon_text": "凝练后的经文",
"preserved_conditions": ["条件1", "条件2"],
"preserved_prohibitions": ["禁止项1"],
"conflicts_carried": []
}
同时需要用户原始清洗文本作为对照源。
二、自检规则
2.1 逐条比对(核心)
从用户原文中提取以下五类要素,逐一检查是否在经文中得到保留:
| 要素类型 | 提取方式 | 检查标准 |
|---|
| 关键限定条件 | 数量、范围、时间、地点等限定 | 经文中必须存在等价表述 |
| 禁止条件 | "不要""禁止""不能""排除"后跟的内容 | 经文中必须存在等价禁止表述 |
| 场景 | 用户描述的使用/应用场景 | 经文中必须保留场景信息 |
| 受众 | 面向的用户群体 | 经文中必须保留受众信息 |
| 目标 | 用户要达成的最终结果 | 经文中必须保留目标信息 |
2.2 禁止行为检查
| 检查项 | 判定标准 |
|---|
| 条件丢失 | 原文中的限定条件在经文中找不到等价表述 → 不合格 |
| 禁止项丢失 | 原文中的禁止条件在经文中找不到等价表述 → 不合格 |
| 自主加料 | 经文中出现了原文不存在的诉求或引申义 → 不合格 |
| 自主扩义 | 经文将用户具体需求扩展为更广含义 → 不合格 |
| 语义偏移 | 经文核心命题与用户原文核心语义不一致 → 不合格 |
2.3 挑剔视角审核
自检时必须切换至挑剔审核者视角,而非"自我确认视角":
错误心态(禁止):这是我刚生成的经文,看起来挺好的,通过。
正确心态(要求):假设这是别人提交的经文,我要找出它的问题。
具体做法:
- 主动寻找经文与原文的差异点
- 对每个差异点追问"这个差异是合理的冗余删除,还是条件丢失?"
- 对经文中的每个表述追问"这个表述在原文中有依据吗?"
三、重试机制
| 阶段 | 动作 |
|---|
| 第 1 次自检 | 逐条比对,判定合格/不合格 |
| 不合格 → 第 1 次重试 | 标注具体问题,回传【经】凝练模块重新生成 |
| 第 2 次自检 | 对重试结果再次逐条比对 |
| 不合格 → 第 2 次重试 | 标注具体问题,回传【经】凝练模块重新生成 |
| 第 3 次自检 | 对重试结果再次逐条比对 |
| 仍不合格 | 触发一级降级:废弃文言经层,用户原文直接进入【说】约束模块 |
四、输出规范
{
"verify_status": "pass | fail",
"retry_count": 0,
"issues_found": [
{
"type": "condition_lost | prohibition_lost | unauthorized_addition | scope_expansion | semantic_drift",
"description": "具体问题描述",
"original_text": "用户原文中的对应片段",
"canon_text": "经文中的对应片段"
}
],
"canon_text_final": "自检通过后的最终经文(失败时为最后一次重试结果)",
"degradation_triggered": false
}
verify_status 取值
| 值 | 含义 | 下游动作 |
|---|
pass | 自检通过 | 经文交付【说】约束模块 |
fail | 重试超限仍不合格 | 触发一级降级 |
五、执行流程
【经】凝练输出 + 用户原文
│
▼
[1] 提取原文五类要素(限定条件、禁止条件、场景、受众、目标)
│
▼
[2] 逐条比对:每个要素是否在经文中有等价表述
│
▼
[3] 禁止行为检查:是否有加料、扩义、语义偏移
│
├── 全部通过 ──▶ verify_status=pass
│
├── 发现问题(重试次数 < 2)
│ │
│ ▼
│ 标注问题 → 回传【经】凝练重新生成 → 重新自检
│
└── 重试超限仍不合格
│
▼
verify_status=fail
degradation_triggered=true
触发一级降级:废弃经层,原文直接进入【说】模块
六、一级降级处理
当自检触发降级时:
- 废弃文言经层,不再尝试凝练
- 用户原始清洗文本直接作为【说】约束模块的输入
- 在输出中标记
degradation_triggered: true
- 【说】模块感知到降级标记后,在约束中增加额外保护:明确标注"经层降级,约束需更加严格"