| name | recursive-residual-reasoning |
| description | 当任务涉及困难推理、原因不明、无法解释的观测、失败的假设、模糊诊断、复杂系统、涌现行为、调查规划,或当前解释空间不完整的任何情形时,请使用此技能。此技能应用递归残差推理:将尚未解释的内容保留为显式残差,把该残差扩展为下一个推理空间,并生成一条从观测到结论、行动或有界停止原因的可追踪路径。 |
递归残差推理
当常规推理遇到无法解释的剩余部分时,使用递归残差推理(Recursive Residual Reasoning,R3)。R3 将该剩余部分视为一等残差,而不是失败、模糊的未知项或废弃项集合。
核心理念
推理不会止步于未知。残差会成为下一个推理空间的对象和生成器。
R3 是一种将困惑转化为可追踪路径的推理范式:
观测
→ 当前推理空间
→ 已解释部分 + 残差
→ 残差扩展
→ 下一个推理空间
→ 结论、行动或有界停止原因
完整的领域无关方法请参阅 docs/r3.md。项目数据文件格式请参阅 docs/r3-data-file.md 和 templates/r3.system.yaml。
最小形式化模型
R3 可建模为:
R3 = (U, Ω, X, τ, T)
其中:
| 符号 | 含义 |
|---|
U | 推理对象的全集:观测、假设、证据、节点、结论、行动、停止原因和轨迹。 |
Ω | U 上的闭合运算,例如分类、解释、分解、组合、检验、扩展、闭合和追踪。 |
X | 残差元素:当前推理空间尚未解释的显式部分。 |
τ | 残差扩展算子:将残差映射到新的推理空间。 |
T | 终止集合:结论、行动、形式化闭合或有界停止原因。 |
关键转换是:
未知 → 残差 → 下一个推理空间
R3 原则
-
明确说明推理空间。
陈述当前允许用哪些概念、假设、规则、证据或模型来解释观测。
-
将已解释部分与残差分开。
不要把未解释部分压缩成“尚不明确”“杂项”“边缘情况”或“可能是噪声”等措辞。应将其明确命名为残差。
-
递归扩展残差。
残差应成为新推理空间的入口,该空间有自己的候选解释、证据需求、检验方法和停止条件。
-
将交互视为一等对象。
如果各个组件或假设单独看来合理,但组合后产生了新现象,应将问题置于交互空间,而不是归咎于其中任何一方。
-
保留轨迹。
输出应展示从观测到推理空间、残差、扩展和终止状态的路径。轨迹是结果的一部分。
-
明确停止。
如果当前无法扩展残差,应以有界停止原因闭合,例如证据不足、模型不足、样本不足、成本过高或超出范围边界。
-
记录证据的可用时点。
区分相关决策之前或期间可用的证据,与仅在决策之后得知,或后来通过建模、推断、模拟或重构生成的证据。
-
区分单节点主张与多节点变更。
如果一项行动会改变多个节点或依赖多个节点,除非已明确分离各项影响,否则应通过组合空间路由轨迹。
项目 R3 数据文件
在项目内应用 R3 时,要求项目维护一个 R3 数据文件。首选路径为:
r3.system.yaml
数据文件记录项目的 R3 代数系统。它应包含:
system:边界、目标类别、观测能力、最大递归深度和推理成本上限
nodes:原子节点、残差节点、组合节点和终止节点
combination_spaces:时序、优先级、交互、状态、上下文、反馈或其他关系空间
relations:父子、细化、扩展、分解、冲突、邻接和闭合关系
stop_reasons:结束未解决递归的有界原因
trace_requirements:每次 R3 分析都必须记录的字段
open_residuals:已知但尚未扩展的残差
known_traces:已接受或已冻结的推理路径
priority_expansions:接下来应扩展的残差或节点
coverage:目标类别覆盖范围和相对完整性记录
deprecated_nodes:稳定节点的替换历史
如果项目没有 R3 数据文件,而任务需要持久化推理结构,请先根据 templates/r3.system.yaml 创建一个,再将分析视为完成。如果项目已有 R3 数据文件,请先读取它,使用其中的节点 ID 和关系,并在引入新节点、残差或扩展关系时更新该文件。
不要让数据文件变成只有散文的文档。应保留稳定 ID 和显式关系,使 Agent 能够将其用作项目的推理地图。
重建 R3 数据
当用户要求重建、文件缺失、文件结构无效,或相对于项目文档和已接受轨迹显然过时时,Agent 可以重建项目的 R3 数据文件。
重建是指根据项目证据重新构造 R3 数据文件,而不是从头虚构一套新理论。可使用项目指令、架构说明、调查记录、已接受轨迹、决策日志、问题分类体系,或现有 R3/RCAS 风格文档等来源。
重建时:
-
盘点源材料。
记录使用了哪些文件、记录或对话。
-
提取系统边界、目标类别、观测能力、最大深度和推理成本策略。
-
提取或推断节点、残差、组合空间、停止原因、关系、已知轨迹、优先扩展项、覆盖范围记录和已弃用节点。
-
如果先前的数据文件或已接受轨迹引用了稳定 ID,请保留这些 ID。
-
如果无法保留旧 ID,请添加一条包含 old_id、replaced_by 和 reason 的 deprecated_nodes 记录。
-
将不确定的重构标记为残差或 needs_review;不要悄然把薄弱证据转化为已确认节点。
-
添加一条 rebuild_history 记录,其中包含来源、摘要、保留的 ID、重命名的 ID、未解决缺口以及时间戳或版本。
-
重建后,执行一次 R3 一致性检查:每个非残差节点都有可观测项、规则和行动;每个残差都有扩展或有界停止原因;每个组合空间都能分解;每个目标类别都有覆盖项或残差。
工作流程
应用 R3 时,请遵循以下工作流程。
-
陈述观测。
在归因之前,用中性措辞写出该现象或问题。
-
加载或定义当前推理空间。
如果项目有 R3 数据文件,请读取它并使用其中的节点和关系。否则,定义初始空间;当推理结构需要持久化时,创建数据文件。
-
必要时重建 R3 数据文件。
如果数据文件缺失、无效、过时,或用户要求重构,请先根据项目证据重建,再将其作为权威依据使用。
-
定义当前推理空间。
列出当前允许考虑的候选解释、组件、假设、规则或模型。
-
映射已解释部分。
识别观测中的哪些部分已由当前空间解释,并引用所用证据或规则。
-
命名残差。
陈述尚未解释的内容。为残差起一个简洁名称。
-
选择残差路由。
将残差路由到以下空间之一:
- 缺失证据
- 缺失概念或模型
- 已知部分之间的交互
- 时序或顺序问题
- 边界或范围问题
- 样本不足
- 推理成本过高
-
扩展残差。
为残差定义新的推理空间:候选解释、所需证据、检验方法和可能的终止状态。
-
检查证据可用性。
将关键证据标记为 before_decision、during_decision、after_decision 或 synthetic_or_inferred。除非已证明证据当时可用,否则不要把事后证据视为运行时证据。
-
检查已处理与未处理节点。
记录已处理节点、未处理的相邻节点以及所有已变更节点。如果多个节点发生变化且影响未分离,请通过组合空间进行路由。
-
更新 R3 数据文件。
添加本轮推理新建的任何节点、残差、组合空间、关系、停止原因或轨迹要求。
-
闭合或递归。
以结论、行动、形式化闭合或有界停止原因结束。如果问题仍未解决且值得继续探索,请在下一层重复该工作流程。
输出模板
当用户要求进行 R3 分析时,除非其他格式更合适,否则使用以下结构:
## 观测
<对现象的中性陈述>
## R3 数据文件
<使用的路径,或说明文件缺失、已创建或已更新>
## 当前推理空间
<当前考虑的候选解释、概念、规则或模型>
## 已处理范围
<已处理节点、未处理的相邻节点、已变更节点,以及这属于单节点轨迹还是组合空间轨迹>
## 已解释部分
<当前空间已解释的内容及相关证据>
## 证据边界
<关键证据及其可用性:before_decision、during_decision、after_decision 或 synthetic_or_inferred>
## 残差
<尚未解释且已明确命名的内容>
## 残差扩展
<由残差生成的下一个推理空间>
## 轨迹
<观测 → 当前空间 → 已解释部分/残差 → 扩展 → 终止状态>
## 闭合
<结论、行动、形式化闭合或有界停止原因>
处理涌现行为
当两个部分各自正常,但组合后产生新现象时,不要强行将解释归入其中任何一方。
使用以下形式:
P(A) = 未观测到
P(B) = 未观测到
P(A, B) = 已观测到
然后将残差路由到交互空间:
涌现现象
→ 交互残差
→ 时序、顺序、耦合、反馈、共享状态、阈值或上下文依赖
→ 可检验的下一个推理空间
应避免的做法
- 当任务需要推理时,不要把“未知”当作最终答案。
- 不要把残差藏在“其他”或“杂项”等通用类别中。
- 当证据只支持交互作用时,不要归咎于单个组件。
- 不要无限扩展。当证据、模型、样本、范围或成本阻止有用的递归时,应使用显式停止原因。
- 除非用户提供,否则不要使用领域特定假设。R3 与领域无关。
- 当项目需要持久化 R3 系统时,不要只在最终散文中引入新的推理节点。应将其添加到 R3 数据文件。
- 在轨迹已经引用稳定节点 ID 后,不要更改这些 ID。应改为添加新节点或关系。
- 如果一项行动改变了多个节点且影响未分离,不要声称这是单节点解释。
- 不要把事后证据当作决策时可用的证据。
- 不要在缺少完整轨迹记录的情况下提出持久性结论。
- 不要凭猜测重建 R3 数据。每个重建的节点或关系都应引用来源、保留已接受轨迹,或标记为残差或
needs_review。
精简响应模式
对于快速对话,使用较短的形式:
观测:...
R3 数据文件:...
当前空间:...
已处理范围:...
证据边界:...
残差:...
下一步扩展:...
轨迹:...
闭合:...
名称
Recursive Residual Reasoning 的简称为 R3。首次使用时优先采用全称,因为这对 Agent 更清晰,也能避免简称含义过载。