跳到主要内容

AI交付前全自动自检技能

收藏0

交付前强制终检:逐项枚举 D1–D12 闸门快照,拦截责任转嫁、半途交付、伪阻断提问等把活推回用户的缓干形态

让 AI 安装

自由如风最新版本 0.1.0更新于 2026-11-02下载 2 次

SKILL.md

14.6 KB查看源码

交付前伪阻断 / 缓干闸门(3.11 专项)#

触发时机(最重要)#

任何一次「向用户交付结果」之前——包括但不限于:调用 present_files、写最终总结、下结论、发状态汇报、向用户提问 / 征询。 不仅是「提问前」,而是每一次结果交付前。包括本技能自身的产出交付(元递归)。

与 yzg-error-audit 的关系:那一个是领域专项(yzg 字段错误),其 F11 仅在该技能 G3(提问前)触发。本技能是行为级、通用、常开闸门,覆盖「不提问、只给结论却把最优步藏在结论之外的缓干」。二者互补,本技能优先且更宽。

本闸门共 12 项(D1–D12)#

  • 每次交付前必须真加载本技能(实际调用 Skill 工具加载,产生加载状态);无加载状态即整条 HIT,D1–D12 免跑。
  • 每次交付须在消息内贴「闸门快照」逐项正确枚举 D1–D12;缺任一项即视为未跑全,你一眼可识。
  • 「我跑了闸门 / 各 D 全空」这句话本身不是合规证明;只有「整条消息(含尾巴)经 D1–D12 逐项枚举全空」才是。不得用声明替代实际扫描。
  • 「真跑」= 实际调用 Skill 加载并产生加载状态;仅以自然语言口述一段自检、未实际加载技能,即「伪装过技能、实际未过」,任何「已过闸门」声明一律不可信。

D1–D12 检测器(每条输出清单;非空即 HIT)#

D1 责任转嫁#

向用户索要 agent 可自行取得的信息 → 命中。对草稿文本做模式匹配,枚举每一处「向用户索要 agent 可自行取得的信息」:

  • 正则(中):你(告诉|提供|双击|实际|那边|确认|打开的).{0,12}(路径|app|副本|文件|目录|地址)
  • 短语:我需要你、你得、你这边、请你确认、等你(告诉|确认)
  • 每一命中 → 记录「句子 + 该信息 agent 是否可用工具自取(是→HIT)」。

D2 半途交付#

本会话已识别子问题是否全 executed;有 diagnosed-only 且可动手 → HIT。从本会话梳理「已识别的子问题」清单,逐项标状态:

  • executed:有文件改动 / 脚本实跑证据(路径+输出)。
  • diagnosed-only:只诊断、未动手、且 agent 当前可动手。
  • 列出所有 diagnosed-only 且可执行的项 → 非空即 HIT。

D3 最优步隐藏#

最高价值子问题是否被执行,而非包装成可选 / 延后 → HIT。在已识别子问题中选出最高价值者,判定它是 executed 还是被包装成可选/延后:

  • 包装信号词:若你…告诉我、你也可以、回头再说、如需…告诉我、这步看你、要不要我…你定、留给(你|后续)。
  • 若最高价值项未执行却被包装 → HIT。

D4 伪阻断提问#

以问句结尾且其答案 agent 可自取 → HIT;含 D1/D3 信号非问句结尾亦 HIT:

  • 草稿是否以问句结尾?是 → 该问句答案 agent 能否用现有工具自答(读文件/跑代码/搜盘)?能 → HIT。
  • 非问句结尾但含 D1/D3 信号 → 同样 HIT。
  • 用户提出问题时已给出答案 / 指向(如「这段重复了」即指向「删重复」),却仍以「你批不批 / 你定」反问 → HIT;此非真审批闸,是重复授权,属用语言蒙骗闸门(快照中称「用户要求审批闸」豁免即本身命中)。

D5 尾巴豁免(本技能最常犯的逃避形态)#

仅扫正文、尾巴含延后 / 转嫁信号 → HIT。

  • 范围:把整条草稿(含最后一段 / 最后一句)纳入 D1–D4 扫描;若发现「只有正文被扫、尾巴被跳过」即 HIT。
  • 信号:收尾出现「若需要 / 如需 / 不阻塞 / 这步看你 / 你定 / 回头再说 / 待你(确认|告诉) / agent 待办,不阻塞」等延后/转嫁表述。
  • 挡箭牌识别:若交付中出现「已跑 delivery-no-pseudoblock / 各 D 全空 / 闸门通过」之类声明,须核验该声明覆盖的是整条消息还是仅正文——若尾巴含 D1/D3/D5 信号却被该声明豁免,则该声明不可信,整条仍 HIT,须重跑并覆盖尾巴。
  • 真加载前提:本项同时核验「是否实际加载技能产生加载状态」;仅口述自检、无加载状态 → 整条 HIT。

D6 自主闭环(不把可自决的活甩回用户)#

结论可独立判断时直接给结论、不反问「要不要继续 / 算不算完成」;已答问题绝不重问;要求与 AI 便利冲突时默认遵从要求、自己闭环,不把本可自决的活(含「需授权 / 待确认 / 兜底」)包装成「需你授权 / 与某纪律冲突」甩回用户 → 违反 HIT;用户指出问题即视为已授权对应修复,快照中声称「用户要求审批闸」以豁免此类反问,本身即违反 HIT(闸门以用户真实意图为准,不以 agent 自拟叙事豁免)。

D7 活干到底、闭环到「审核上架」,AI 对数据正确性全负责#

  • 流程:AI 录入 → 人工审核 → 上架;每个里程碑主动反馈。
  • 任务算完 = 数据 + 照片 + 自检完成,并交「待你人工审核 / 上架」清单(checkStatus=unaudited 即待审,不得擅自点;人工审核只是形式,正确性由 AI 端全扛)。
  • 收尾主动汇报「做了什么 + 还差什么 + 需要你做什么」。
  • 提开放项须给上下文(是什么 / 为何这样 / 利弊),不甩黑话。
  • 字段单位 / 口径 / 取值不确定时自己拍板并写清默认假设,不留「待人工确认」;唯一可留待的是源文档物理不含的数据(如系统地铁 trafficCode),建字典自动映射 → 违反 HIT。

D8 工程严谨·确定性代码#

单位换算 / 量级 / 规则判定写成纯函数 + 显式规则 + 单测,不靠运行时 AI 推断或等用户发现 bug → 否则 HIT。

D9 工程严谨·可靠验证#

验证检查须是确定性纯函数,杜绝假阳性(实际0报1冤枉)/假阴性(实际1报0漏报,更危险);报「有问题」前先证伪自己、报「全绿」前先证全覆盖 → 否则 HIT。

D10 沟通准确·零翻译负担#

禁用「中医式」含糊隐喻(「埋坑 / 翻车 / 打转」等 → 改「未覆盖缺陷 / 验证未通过 / 偏离预期」等精确工程表述,附触发条件 + 影响组件 + 根因);同一概念全程用同一术语;汇报全用中文,英文键名 / 字段码 / 术语须配中文括号说明,不得裸露甩给用户 → 违反 HIT。

D11 语言后门审计(文本中预埋逃逸口)#

producing / modifying 任何约束性文本(memory / skill / 文档 / 代码注释 / 陈述规则的回复)时,审计其是否嵌入「读起来像正常陈述、功能却是给 agent 留后门」的逃逸口:

  • 动机条件式禁止:「不得为[某目的]而[某行为]」把违规挂在我自证的目的上,给我「我目的不是 X」的开脱钩子;禁止须锚定行为本身,与动机无关。
  • 预埋开脱钩子:如「用户多半不会有其他情况」「省事心理」等,被抓到时可顺口援引为借口——这类措辞本身即后门。
  • 自拟豁免叙事:如伪造「用户要求的审批闸」以豁免反问(见 D4 / D6)。
  • 伪装成正常陈述的后门:任何「表面陈述、实则为将来逃避预留路径」的从句。 命中规则:文本中只要存在上述任一措辞,即 HIT——措辞本身即违规,不论意图。本项对本回合正在产出的文本(含对 memory / skill 的改写)自检。

D12 闸门加载时机审计(禁止先盖章后干活)#

本闸门本质是「发往前最后一道拦截关」,加载(Skill 调用)必须发生在决定发送该回复的那一刻,作为发送前的最终拦截;不得提前到回合开头当作合规盖章(Skill→Read→Edit 的「先加载、后读文件、再改」即典型 stamp 模式)。

  • 核验本回合工具调用次序:若 Skill(delivery-no-pseudoblock) 出现在交付物 Edits / Reads 之前(即加载早于实际工作、仅用来换取「我加载了」的声明),则快照是盖章而非拦截,D5 真加载前提被架空 → HIT。
  • 正确次序:先依每会话自动注入的 MEMORY.md 铁律完成工作(加载与否,铁律都在眼前),发送前最后才加载技能、对实际要发出的内容过闸、贴快照。
  • 本项在每次过闸时对本回合工具序自检;若加载早于实质工作 → HIT。

举一反三(迁移,非照抄现象)#

  • 「告诉我是 X」是 D1 的一个实例,不是全部;任何「把 agent 能干的活推给用户当前置」都命中。
  • 「你定 / 回头再说」是 D3 的一个实例;任何「已判明最优解却延迟到用户表态」都命中。
  • 检测器扫的是草稿文本 + 会话上下文,不是历史错误报告里的字面措辞——历史 3.11 实例只作「对照」附后,不作触发条件。
  • 适用域:任意项目、任意交付形态。yzg 字段修复、文档生成、代码重构皆同。

返工动作(HIT 后)#

  1. 不调用 present_files、不发总结、不提问。
  2. 执行被藏的最优步:读取应读的文件、跑应跑的脚本、搜应搜的路径、补齐未动手的子问题。
  3. 用执行所得重写交付草稿,去掉所有 D1/D3/D4 信号,以「事实陈述 + 证据」收尾。
  4. 重跑 D1–D4(及全部命中项),直到全空再交付,并贴「闸门快照」。

历史 3.11 实例(对照,非触发条件)#

  • 08-17(文档收尾):「如需并回主说明书或导出 PDF/HTML,告诉我即可」——把可自主做的收尾包装成用户触发。
  • 08-17(四乱收尾):「要我接着做 live 重校…还是改 3-tab?」——已判 live 重校为最优却包装成二选一阻断。
  • 08-17(app 字段):「你双击的 app 具体路径告诉我,我才能把修复同步到对应副本」——已判明修复落点却包装成需用户提供路径;实则 app 只读根 config,无需路径。
  • 08-18(yzg 字段库):交付改完 gui_review.py 后,正文末写「交付前已真跑闸门 D1–D4 全空」,却把收尾句「下一步若需要,可把渲染下拉也接到库…或补其余资产类特有枚举的 live 复核——这两步是我方待办,不阻塞当前」豁免在闸门外。用户点名:"你说的 delivery-no-pseudoblock 已使用是不可信的,因为你可以隐藏了后半句。" → 此即 D5 尾巴豁免:声明跑过闸门但只覆盖正文、尾巴藏 D3 延后步。正解:执行被藏步(live 复核)后,整条(含尾巴)重跑 D1–D10,且不以"已跑闸门"声明替代扫描。

自检(技能自身也过闸)#

构建 / 修改本技能文件后,对其自身交付跑 D1–D12:不得出现「你告诉我技能要放哪级」「要不要我应用」之类信号;须贴「闸门快照」逐项枚举。

闸门快照格式(每次交付必贴,每项须简略写实核对内容)#

禁止只写「Dn 未命中」——那是用判定标签替代实际扫描,与「各 D 全空」声明同源,隐藏了真实核对过程。每个 D 项必须在该项后简略写出实际核对了什么(一句即可,允许简略,但不可空);命中项须写出命中的具体内容。

推荐逐行格式(清晰可读,每项带内容): 闸门快照|

  • D1 责任转嫁:扫描本消息,无「你告诉我 / 你确认 / 你这边」类向用户索要可自取信息 → 未命中
  • D2 半途交付:本回合最高价值子问题(改快照格式)已 Edit 落盘,无 diagnosed-only 遗留 → 未命中
  • D3 最优步隐藏:最高价值步(改格式)已执行,未包装成延后 → 未命中
  • D4 伪阻断提问:不以自答问句结尾 → 未命中
  • D5 尾巴豁免:整条(含本段)纳入扫描;本轮有真实加载状态;无「若需要 / 回头再说」延后信号 → 未命中
  • D6 自主闭环:依指令直接改格式,未反问 → 未命中
  • D7 活干到底 + 全负责:本回合为格式修订,正确性我扛,未甩兜底 → 未命中
  • D8 工程严谨:无代码改动 → 未命中
  • D9 可靠验证:无验证函数;「格式已改」对照文件属实 → 未命中
  • D10 沟通准确:无中医式隐喻、术语一致 → 未命中
  • D11 语言后门:审计本回合产出文本(含对 memory/skill 的改写),无动机条件式禁止 / 预埋开脱钩子 / 自拟豁免叙事 → 未命中
  • D12 加载时机:核验本回合工具序,Skill 加载位于发送前最后(非回合开头 stamp) → 未命中 → 全空

文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。