- AI 技能
- AI 写作
- 人工智能
- 深度研究
- AI 应用
【免费下载链接】PaperSpine
PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/
导读
本文围绕 PaperSpine 技能体系中一份重要的实验性参考文档 adaptive-shadow.md,系统讲解其设计为"自适应研究与义务影子层"(Adaptive Research and Obligation Shadow)的完整技术方案:它如何在不动摇 canonical 完成门的前提下,以领域中立的方式承载运行时学习、如何通过闭集义务 IR 与哈希绑定 receipt 完成单一 claim surface 的确定性审计,以及如何用 compare-and-swap 语义实现不可变修订。读完本文,你将掌握该层级的输入契约结构、CLI 调用方式、结果信号语义、激活条件及其在 adaptive_shadow.py 中的底层实现,能够独立构造并验证一份 shadow 请求。
一、定位:一个可选的迁移表面,而非新的完成门
原文档在开篇即给出明确边界:Adaptive Shadow 是可选的(opt-in)运行时学习迁移表面,它不是领域 profile,也不属于 interface version0.1-shadow中 canonical 完成门的一部分。
这一定位在源码中得到严格印证。adaptive_shadow.py 的模块 docstring 写道:
"Deterministic, domain-neutral adaptive audit shadow for one claim surface. This module deliberately cannot grant manuscript, delivery, submission, or external-action readiness."
也就是说,这个模块从设计上就不能授予稿件、交付、投稿或外部行为的就绪状态,它只做一件事:校验 receipt 与闭集义务 IR,然后输出CLAIM_SURFACE_AUDITED或BLOCKED两种结果。
同时,在 audit.md 的第 20 条清单中明确记录:如果可选的自适应影子运行了,它的 receipt只能证明一个哈希绑定的claim_surface_audited,不能替代任何 canonical 检查、整篇稿件完成、目标 bundle READY 或任何授权。这与当前方法路由 current-method-routing.json 中对references/adaptive-shadow.md的条目描述完全一致:"只证明一个 surface,不签整篇 ready"。
二、边界(Boundary):领域中立与运行时学习
2.1 为什么必须领域中立
原文档强调:PaperSpine不得把生物学、AI、医学、人文等任何领域的偏好编码为永久技能规则。方向性建议必须由 direction-research Agent 在运行时学习;venue 特定义务必须由 target-research Agent 从权威来源(authority-bearing sources)学习。影子层只存储通用证据(evidence)、权威(authority)、审阅(review)与状态转移(state-transition)合同。
从实现看,这种中立性体现在AUTHORITY_CLASSES等闭集词汇表中(adaptive_shadow.py):official、qualified_human_or_institution、user_authority、peer_reviewed_primary、scholarly_exemplar——全部是通用权威类别,不涉及任何具体学科内容。
2.2 运行时上下文的四个必填字段
每个运行时上下文(runtime context)必须包含:
| 字段 | 说明 |
|---|---|
context_id | 运行时上下文唯一标识 |
object_kind | 对象种类 |
destination_channel | 目标通道 |
as_of | 数据截止时间点(ISO 日期或 datetime) |
venue、year、track、article_type、workflow stage均为可选,直到它们真正适用为止。原文档特别告诫:不要为了满足表单而凭空编造这些字段。
这一约束在 adaptive-shadow-request.schema.json 的context定义中得到落实:required仅包含上述四项,venue/year/track/article_type/stage_id均是可选的 properties。同时,源码audit_request中的校验逻辑(adaptive_shadow.py)只对context_id、object_kind、destination_channel做非空检查,并对as_of做 ISO 时间戳合法性校验,而不会因为 venue 等字段缺失而报错。
三、输入(Inputs):请求契约与十个组成要素
3.1 命令行入口与基本用法
按照原文档,构造一个符合references/contracts/adaptive-shadow-request.schema.json的请求后,用以下命令校验:
python scripts/adaptive_shadow.py adaptive_shadow_request.json \ --project-root paper_rewriting_output \ --output adaptive_shadow_result.json其中各参数含义如下(对应 parse_args 的实现):
| 参数 | 必填 | 说明 |
|---|---|---|
request | 是 | 影子请求 JSON 文件的路径 |
--project-root | 否 | 用于构件包含检查(artifact containment)与哈希计算的项目根;默认取请求文件所在目录 |
--output | 否 | 可选的结果 JSON 输出路径;必须位于project-root内部,否则结果会被强制置为BLOCKED |
--store | 否 | 可选的不可变修订存储目录;使用后必须同时提供--expected-current |
--expected-current | 否 | 与--store搭配使用,首次提交用NONE;单独出现会触发 parser error |
需要注意的是,CLI 有两条互斥约束:提供--store而不提供--expected-current会被拒绝;提供--expected-current而没有--store同样被拒绝(adaptive_shadow.py)。
3.2 请求的十个组成要素
原文档列出请求必须包含的十类内容,下面逐条结合 schema 与源码展开:
1. 哈希绑定的 SourceReceipt 记录
每个来源收据包含source_id、authority_class、canonical_identity、locator、retrieved_at、as_of、content_sha256、extraction_verification。其中content_sha256必须是 64 位小写十六进制;authority_class只能取五个闭集值之一;source_id满足^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$的 SAFE_ID 模式且不允许重复(adaptive_shadow.py)。
extraction_verification.kind有三个取值:machine_parsed_official_structure(官方机器解析结构)、independent_verifier_receipt(独立验证者收据)、same_model_context_separation(同模型上下文隔离)。其中前两种构成"硬验证"集合HARD_VERIFICATION_KINDS。
2. 独立覆盖收据(coverage receipts)
覆盖收据分target_policy(目标政策研究)与direction_search(方向研究)两个通道,各自要求:
queries、source_classes、included_source_ids:非空字符串列表;stopping_reason:只能取frontier_saturated、authoritative_sources_exhausted、budget_exhausted、user_bounded之一;residual_risk:必须显式给出残余风险;coverage_challenger:确定性或独立的挑战者,包含independence_kind、producer_id、challenger_id、outcome(必须为PASS)、unresolved_gaps(必须为空列表)。
direction_search通道额外要求独立直接竞品遗漏挑战(direct_competitors_considered非空 +omission_challenge),且该挑战的independence_kind只能是independent_model_or_provider或qualified_human(不允许用确定性检查替代独立挑战)。源码中_coverage_findings对这两个通道做了逐字段校验(adaptive_shadow.py)。
3. 闭集、非图灵完备的义务 IR v0
Obligation IR v0只允许五种谓词算子:exists、absent、truthy、equals、in_set(adaptive_shadow.py)。每个 obligation 由obligation_id、source_id、normative_force、predicate组成;normative_force取值mandatory、prohibited、advisory、quality_hypothesis,其中mandatory/prohibited为硬性义务(HARD_FORCES)。谓词求值逻辑_predicate_satisfied(adaptive_shadow.py)通过点分路径在 facts 中取值后按算子判定,违反硬义务产生 findings,违反软义务仅进入 advisory。
4. 恰好一个 claim-bearing surface 及其当前构件哈希
claim_surface包含claim_id、surface_id、artifact(path+sha256)、support_source_ids、facts。源码会重新计算artifact 文件的 SHA-256,与请求中的声明值比对,不一致即报"stale or incorrect";同时校验路径必须位于project_root内部且文件真实存在(adaptive_shadow.py)。
5. 原子级保留收据(retention receipt)
要求expected_atom_ids、retained_atom_ids、omitted_atoms三组原子标识:每个遗漏项必须带atom_id、reason、decision_owner;校验逻辑会检查"保留与遗漏重叠""存在未解释遗漏""引用预期外原子"三类异常(adaptive_shadow.py)。
6. 当前、哈希绑定的资产清单(asset inventory)
识别所选候选资产及其适用理由。源码中的关键约束(adaptive_shadow.py)明确:mtime 只能证明哪个文件被清点过,不能证明科学适用性——"recency alone must not override a valid user choice or a scientifically stronger existing figure"(仅凭新旧不能覆盖有效的用户选择或科学上更强的既有图)。每个被选中的候选必须通过identity_match科学身份门;explicit_user_selection_id即便是指定的用户选择,也不能覆盖科学身份门。
7. 绑定到同一哈希的零上下文主表面独立审阅
independent_review_receipt要求:review_mode必须为zero_context_primary_surface;independence_kind必须是independent_model_or_provider或qualified_human;reviewer_id与producer_id不得相同;input_sha256必须等于当前 claim surface 的哈希;outcome必须为PASS;major_restructure_required必须为false;unresolved_blockers必须为空(adaptive_shadow.py)。
8. v1 遗留收据(legacy receipt)
接口必须是v1,状态可取PASS/FAIL/BLOCKED/UNKNOWN/NOT_RUN。语义是:遗留FAIL/BLOCKED被保留(并作为 finding 报出,不能被 v2 shadow 覆盖),而遗留PASS虽然可见但被打上污染标记(tainted),并且没有通往新 READY 的边。结果中的legacy_pass_tainted字段即由此而来(adaptive_shadow.py)。
9. 有界的质量修订收据(quality revision receipt)
针对可选 shadow 实验,记录该实验配置的轮次上限。automatic_rounds在 alpha.1 中只能是 0 或 1;rounds==1时changes必须记录自动修订,rounds==0时changes必须为空(adaptive_shadow.py)。原文档特别澄清:历史上"一轮"的限制并不限制正常的宿主修正与论文重新审阅——它只约束 shadow 实验本身的自动修订次数。
10. 可选的图决策(figure decisions)
当 hero、mechanism、model 或 core 图的科学目的、证据、可读性与在论文中的角色均合格时,应keep(保留);只有在论文确实做出并支持该比较时,才记录competitive_delta。源码用CORE_FIGURE_ROLES = {"hero", "mechanism", "model", "core"}(adaptive_shadow.py)定义核心图角色,并实施两条联动校验:保留核心图必须有applicable: true的资产清单;保留的核心图构件路径必须出现在所选资产中(adaptive_shadow.py)。
3.3 硬义务的升级来源限制
原文档明确规定:硬性 mandatory/prohibited 义务只能从官方机器解析结构或独立验证者收据中升级。同模型上下文隔离(same-model context separation)只能产生候选或咨询性假设,永远不能产生硬证明。法律、伦理、管辖权、临床与机构权威在适用时仍属于合格的人类或机构。
源码_obligation_findings落实了这一规则(adaptive_shadow.py):对硬义务,其来源的extraction_verification.kind必须属于HARD_VERIFICATION_KINDS,且authority_class必须属于HARD_AUTHORITY_CLASSES;若声明"官方机器解析"但来源权威不是official,同样报错。
四、输出与权威(Outcome and Authority):fail-closed 的信号设计
4.1 唯一绿色结果:CLAIM_SURFACE_AUDITED
唯一的绿色结果是CLAIM_SURFACE_AUDITED,含义是:一个被识别、被哈希绑定的 claim surface 通过了影子检查。它绝不意味着:
- 稿件已完成(manuscript is complete);
- 交付或投稿 bundle 已 READY;
- 目标 venue 已接收该工作;
- 任何外部行为已被授权。
源码中,结果对象的signals将manuscript_ready、delivery_ready、submission_ready、external_action_authorized硬编码为 false(adaptive_shadow.py),同时shadow_only: true、legacy_authority_unchanged: true。这些约束同样被写进 adaptive-shadow-result.schema.json 的signals定义中(const: false/const: true)。canonical 的 PaperSpine 门(如 progress_check.py)始终保持权威。
4.2 非补偿向量(noncompensatory vector)
真相/权威/许可(truth/authority/permission)、流程保障(process assurance)、质量优化(quality optimization)构成一个非补偿向量:任何一个红色维度都不能被另一个绿色维度抵消。在实现中,audit_request分别计算三路 PASS/FAIL(adaptive_shadow.py):
truth_pass:来源收据无错误,且 claim surface / obligations 不涉及未知来源或权威问题;process_pass:基础字段、覆盖收据、claim surface 全部通过;quality_pass:义务、独立审阅、保留、资产、图、修订、遗留收据全部通过。
只要findings非空,ok即为 false,outcome 为BLOCKED——任何单一维度失败都会整体失败,这正是"不可补偿"的实现形式。
4.3 结果契约的完整字段
完整结果对象(见 adaptive-shadow-result.schema.json)包含:contract(固定paperspine.adaptive-shadow.result)、interface_version(固定0.1-shadow)、request_sha256、revision_id、ok、outcome(CLAIM_SURFACE_AUDITED/BLOCKED)、stage、claim_id、findings、advisory_findings、coverage_status(SUFFICIENT_FOR_SHADOW/INSUFFICIENT)、legacy_status_observed、legacy_pass_tainted、assurance_vector、signals、authority_boundary。其中authority_boundary固定输出一段边界声明:本收据只覆盖一个哈希绑定的 claim surface,绝不授予整篇稿件 READY、交付/投稿就绪或外部行为授权。
五、不可变修订(Immutable Revisions):CAS 语义的存储层
5.1 命令用法
对于迁移实验,追加不可变修订并以 compare-and-swap(CAS)语义移动CURRENT指针:
python scripts/adaptive_shadow.py adaptive_shadow_request.json \ --project-root paper_rewriting_output \ --store adaptive_shadow_store \ --expected-current NONE后续提交时,用前一个修订 ID替换NONE。三个关键保证(原文档 + 源码双重确认):
- 已存在的修订 ID 永不被覆盖——
commit_revision中若revision_dir已存在,直接抛ValueError: immutable revision already exists(adaptive_shadow.py); - 过期的预期父指针会被阻断——
CURRENT文件中的实际值必须等于expected_current,否则抛 CAS 不匹配错误,绝不会静默改写CURRENT(adaptive_shadow.py); - 存储必须位于 project_root 内部,否则被拒绝。
5.2 底层写入流程
commit_revision的写入是"先暂存、后原子替换"的两阶段过程(adaptive_shadow.py):
- 在
revisions/下创建带 PID 后缀的临时暂存目录; - 依次原子写入
request.json、result.json; - 生成
receipt.json指针(记录revision_id与 request/result 的 SHA-256); - 用
os.replace把暂存目录整体改名为正式修订目录; - 同样用临时文件 +
os.replace更新CURRENT指针。
这种设计保证了任一时刻存储层都处于一致状态,且修订历史不可变、可回放。结果对象中会附带revision_receipt字段记录本次提交的指针信息;若提交失败(OSError/ValueError),结果会被强制改写为BLOCKED并追加错误说明(adaptive_shadow.py)。
六、激活方式(Activation):仅在显式开启时运行
原文档给出严格的激活边界:只有当用户明确请求自适应实验,或运行显式配置adaptive_shadow=on时才运行本层。在off或缺省模式下:
- 不要创建这些影子产物;
- 不要给正常流程增加官僚负担(bureaucracy)。
并且,在当前 shadow 版本中,其结果是观测性的:不能改变 progress_check.py 的完成判定,也不能改变 publication-cycle 的权威。这与 current-method-routing.json 对 adaptive-shadow 的"opt-in request/IR/coverage receipts/CAS store"定位一致——它是一套独立于 canonical 门的实验面。
七、最大许可声明(Maximum Licensed Claim):保守的自我描述
原文档为当前实现划定了唯一允许的对外描述:
A deterministic, test-covered adaptive contract preview and shadow audit for one hash-bound claim surface, with domain-neutral source/authority receipts, closed obligation predicates, bounded revision, and fail-closed authority.
同时明确禁止以下表述:普遍性研究覆盖、优秀论文生成、直接投稿就绪、领域/期刊质量、录用率提升、整篇稿件自适应就绪。文档还特别指出:合成合同测试只是一致性证据(conformance evidence),不是研究或写作质量的行为证据(behavioral evidence);在项目计划定义的 M4/M5 证据与人类/独立模型校准存在之前,这些声明始终被禁止。
这一"证据边界"哲学在 tests/test_skill_structure.py 中得到呼应——该测试套件只验证文件存在性与结构一致性(例如将src/skill/references/adaptive-shadow.md、两份 schema 与src/scripts/adaptive_shadow.py列为必备文件,见 test_skill_structure.py 与 test_skill_structure.py),并保证 dist 各宿主副本与源文件字节级一致,而不是声称任何行为质量。
八、请求→审计→修订的完整调用链
把上述内容串起来,一个完整的 shadow 实验流程如下:
- 构造请求:按 adaptive-shadow-request.schema.json 组装十类要素(来源收据、双通道覆盖收据、闭集义务 IR、单一 claim surface、保留收据、资产清单、零上下文独立审阅、v1 遗留收据、有界修订收据、可选图决策);
- 纯审计:
python scripts/adaptive_shadow.py request.json --project-root <root> --output result.json执行无副作用的audit_request(不会改动项目任何文件); - 读取结果:
ok/outcome/stage/assurance_vector/signals/findings决定实验观测结论;任何 findings 都导致BLOCKED; - 可选提交修订:追加
--store <dir> --expected-current NONE(或前一修订 ID),生成不可变修订并移动CURRENT; - 隔离解读:无论结果如何,shadow 信号均不得外溢到 canonical 门、交付或投稿判定。
从源码结构看,audit_request是一个纯函数式校验器(输入 request + project_root,输出结果对象),commit_revision是独立的存储层,main负责 CLI 装配与 JSON 读写——三者职责分离,这也解释了为什么它可以"deterministic"(确定性):对同一请求与同一项目根,审计结果完全可复现。
结语
PaperSpine 的 Adaptive Shadow 层展示了一种克制而严谨的"实验性运行时学习"设计思路:它以领域中立的合同集、闭集义务 IR、哈希绑定收据与 fail-closed 权威边界,把"自适应学习实验"和"正式质量门"彻底隔离。对希望理解该技能体系内部契约设计的开发者而言,adaptive-shadow.md 是入口文档,adaptive_shadow.py 是可读的确定性实现,两份 请求 schema 与 结果 schema 则是机器可校验的契约真相源。
- AI 技能
- AI 写作
- 人工智能
- 深度研究
- AI 应用
【免费下载链接】PaperSpine
PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/
相关推荐
PaperSpine Adaptive Shadow 实战指南:领域中立的研究义务影子审计与不可变修订机制
PaperSpine Adaptive Shadow 实战指南:领域中立的研究义务影子审计与不可变修订机制 本文围绕 PaperSpine 开源仓库中的自适应迁
AI 技能AI 写作人工智能深度研究AI 应用PaperSpine 自适应研究与义务影子层(Adaptive Shadow)实战指南:领域中立的单声明面审计契约
PaperSpine 自适应研究与义务影子层(Adaptive Shadow)实战指南:领域中立的单声明面审计契约 本文围绕 PaperSpine5 的可选运行
AI 技能AI 写作人工智能深度研究AI 应用DDDSample架构揭秘:三层架构与领域模型的最佳实践
DDDSample架构揭秘:三层架构与领域模型的最佳实践 领域驱动设计(DDD)是现代软件开发中的重要方法论,而DDDSample项目正是这一理念的完美实践。本
后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考