dsh-vibe-math 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -341
- package/cordis.patch.yml +7 -43
- package/installer.js +51 -0
- package/package.json +14 -7
- package/{vibe-math.js → vibe-math-v1/vibe-math.js} +2 -2
- package/vibe-math-v1//345/256/236/347/216/260/346/226/271/346/241/210-/345/244/232/344/273/243/347/220/206/346/225/260/345/255/246/351/227/256/351/242/230/346/261/202/350/247/243/344/270/216/351/252/214/350/257/201/346/241/206/346/236/266.md +159 -0
- package/vibe-math-v2/agent.cordis.yml +201 -0
- package/vibe-math-v2/preset.yml +2 -0
- package/vibe-math-v2/vibe-math-v2.js +1046 -0
- package/vibe-math-v2//345/256/236/347/216/260/346/226/271/346/241/210.md +180 -0
- /package/{agent.cordis.yml → vibe-math-v1/agent.cordis.yml} +0 -0
- /package/{preset.yml → vibe-math-v1/preset.yml} +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Vibe Mathematics —— 多代理数学问题求解与验证框架
|
|
2
|
+
|
|
3
|
+
项目需具备以下核心功能:
|
|
4
|
+
|
|
5
|
+
1. **断点续跑**:保存各代理的对话记录及任务栈,支持状态恢复。
|
|
6
|
+
2. **人工干预**:允许在任意时刻手动介入工作流,例如调整代理参数、控制会话、决策关键节点,并可随时在“人工 / 自动(预设)”模式间切换。
|
|
7
|
+
3. **进度汇报**:每隔一段时间(如发生变动、出现新进展、发生新调用或代理会话结束时),委托主代理汇总当前进展及各代理状态。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 路径与核心对象
|
|
12
|
+
|
|
13
|
+
### 一、问题清单文件
|
|
14
|
+
路径:`qs/qs.json`
|
|
15
|
+
每个问题对象至少包含以下属性:
|
|
16
|
+
|
|
17
|
+
- `概述`:问题的完整描述;若包含预定义对象(数学对象、引理、定理名称等),需一并给出其完整定义。
|
|
18
|
+
- `已解决`:布尔值,标记当前是否已解决。
|
|
19
|
+
- `解法列表`:每个解法需包含:
|
|
20
|
+
- `完整解法`:详细步骤。
|
|
21
|
+
- `正确概率`:数值(越大越优先验证/调度)。
|
|
22
|
+
- `优先级`:整数(值越小越优先调度),支持动态调整(依据进度、可行性、难度、关键性、价值等)。若为 `never` 则永不调度。
|
|
23
|
+
- `progress`:过往进度与经验,包括各方向、路线的尝试记录、教训、阻碍及可行性评估。
|
|
24
|
+
- 其他必要属性(按需添加)。
|
|
25
|
+
|
|
26
|
+
### 二、命题存储文件
|
|
27
|
+
路径:`Propos/{分类名}_Propos.json`(按类型、领域或相关性分类,便于快速查阅)
|
|
28
|
+
每个命题至少包含以下属性:
|
|
29
|
+
|
|
30
|
+
- `概述`:完整描述;含预定义对象时需补充其定义。
|
|
31
|
+
- `布尔估计`:当前命题为真的可能性(概率值)。
|
|
32
|
+
- `细类型`:JSON对象,如 `{"积分": {"不等式": {}}, "级数": {}}`。
|
|
33
|
+
- `证明列表`,`证伪列表`:每个条目包含:
|
|
34
|
+
- `完整过程`:证明或证伪的详细步骤。
|
|
35
|
+
- `正确概率`:数值(越大越优先验证/调度)。
|
|
36
|
+
- `支持信息/依据`:尽可能强的支撑证据。
|
|
37
|
+
- `优先级`:同问题清单,支持动态调整,`never` 表示永不调度。
|
|
38
|
+
- `progress`:过往进度与经验。
|
|
39
|
+
- 其他必要属性(按需添加)。
|
|
40
|
+
|
|
41
|
+
### 三、可信赖文件(如参考文献)
|
|
42
|
+
路径:`Reliable/`
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 权限与参数
|
|
47
|
+
|
|
48
|
+
- **权限**(可通过参数调控):
|
|
49
|
+
所有任务及子代理在运行过程中,**默认允许**:
|
|
50
|
+
- 读取 `Verified/` 路径下的任何文件作为已知依赖;
|
|
51
|
+
- 不限次数调用外部工具(搜索引擎、符号计算库、论文数据库)进行文献检索或数值辅助验证。
|
|
52
|
+
- **参数**:
|
|
53
|
+
(此处可扩展具体参数设置,尽量能够实现尽量多的调控)
|
|
54
|
+
|
|
55
|
+
所有代理基于 `Propos/` 和 `Reliable/` 作为已有认知进行推理与判断。额外告知子代理:可借助工具通过索引读取 JSON,粗读定位关键索引,再细读具体内容。
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 调度器
|
|
60
|
+
|
|
61
|
+
### 注意事项
|
|
62
|
+
1. 所有涉及调用新代理的操作,必须等待 `active_sub_agents_count < MAX_PARALLEL_THRESHOLD` 时方可执行。
|
|
63
|
+
2. 主程序的控制以编程方式实现,不由代理自行调度。
|
|
64
|
+
3. 若 `Propos/` 中存在重要性、关键性足够高但尚未证明或证伪的命题,可将其加入问题清单,供后续求解器调度。
|
|
65
|
+
4. 当某个问题的解法列表中存在正确概率为 `1` 的解法时,该问题状态更新为“已解决”,优先级设为 `never`。当某个命题的证明/证伪列表中存在正确概率为 `1` 的证明/证伪时,该命题的正确概率更新为 `1`(或 `0`),优先级设为 `never`。
|
|
66
|
+
|
|
67
|
+
### 主循环
|
|
68
|
+
**终止条件**:问题清单中所有问题均已解决,则终止。
|
|
69
|
+
|
|
70
|
+
循环可执行以下两个任务:
|
|
71
|
+
|
|
72
|
+
#### 1. 求解与扩充待验证解法和结论
|
|
73
|
+
- **目标**:按优先级提取问题,调用求解器,确定方向并发放任务。
|
|
74
|
+
过程中获得的所有有价值结论/命题及其证明,加入 `Propos/` 并标注属性(可由相应代理决策,但须符合规则)。
|
|
75
|
+
若完成原问题求解,则将解法加入对应问题的解法列表,并标注属性。
|
|
76
|
+
- **具体实现**:
|
|
77
|
+
~~~
|
|
78
|
+
按优先级从 `qs.json` 中取出未解决问题 `q`,调用一个子代理(类型标识为 `explorer-{q}`)执行 `solve(q)`。
|
|
79
|
+
~~~
|
|
80
|
+
|
|
81
|
+
#### 2. 验证/判定与更新数据
|
|
82
|
+
- **目标**:按优先级验证问题清单中的解法、`Propos/` 中的命题或命题的证明,并更新其属性。
|
|
83
|
+
- **具体实现**:
|
|
84
|
+
~~~
|
|
85
|
+
按优先级从 `qs.json` 或 `Propos/` 中选择尚未解决/未达`1/0`概率的“命题”、“命题+证明/证伪”或“问题+解法”作为 `r` ,执行 `验证器(r)`。(只有当“命题”的证明、证伪列表为空时才允许选择单个“命题“作为 `r` )
|
|
86
|
+
~~~
|
|
87
|
+
|
|
88
|
+
## 核心函数定义
|
|
89
|
+
|
|
90
|
+
### 1. `solve(q)`
|
|
91
|
+
|
|
92
|
+
**构建大方向集 `M_q`**(按数学方法论分类):
|
|
93
|
+
|
|
94
|
+
- 若 `q.progress` 为空:
|
|
95
|
+
1. 进行第一阶段**元认知头脑风暴**(约束分解、边界极端测试、相似问题映射);
|
|
96
|
+
2. 将解法拆分为多个**截然不同**的尝试方向 `m_i`(如解析法、构造性证明、反证法、数值逼近+极限过渡、范畴论抽象等);
|
|
97
|
+
3. 记录每个方向的核心假设与初始可行性预估至 `q.progress`,形成初始集合 `M_q = {m_i}`。
|
|
98
|
+
|
|
99
|
+
- 若 `q.progress` 非空:
|
|
100
|
+
1. 读取并解析已有进度,对各方向的**历史进展、遇阻原因、可行性衰减曲线**进行量化分析;
|
|
101
|
+
2. 筛除已被充分证明为“死路”的方向(除非有新工具引入);
|
|
102
|
+
3. 基于当前痛点,**深度推导**出 1~3 个从未尝试过的新方向(附推导动机);
|
|
103
|
+
4. 将“遗留高潜方向”与“新生方向”取并集,重构为新的 `M_q`。
|
|
104
|
+
|
|
105
|
+
**任务分配与迭代求解**:
|
|
106
|
+
将 `M_q` 中的每个 `m_i` 独立分配给一个专属子代理(类型标识为 `Solver-{q}`),并发执行 `agent_self_iteration(q, m_i)`。
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### 2. `agent_self_iteration(q, m)`
|
|
111
|
+
|
|
112
|
+
**角色定位**:专注执行方向 `m` 的深度研究,具备自主切换子路线、设定临时假设、自我批判的能力。
|
|
113
|
+
|
|
114
|
+
**执行流程**(同会话内持续迭代):
|
|
115
|
+
|
|
116
|
+
1. **起点定位**:参考 `q.progress` 中方向 `m` 的最后记录节点,决定是继承进度继续深挖,还是在大方向下另辟蹊径。
|
|
117
|
+
2. **单次迭代动作**(每轮对话):
|
|
118
|
+
- 尝试推进证明/计算;
|
|
119
|
+
- **必须产出**(即使未完全解决):
|
|
120
|
+
- 本次推导出的**新引理/中间结论**及其完整证明;
|
|
121
|
+
- 尝试过的各具体子路线及其进度(概述整个子路线的经历及当前进度)、可行性情况、**明确的可行性信号**(如“遇到不可消除的奇点”、“与某已知定理冲突”等)、遇到的障碍、不可行的原因等;
|
|
122
|
+
- 更新对方向 `m` 的整体存活概率评估。
|
|
123
|
+
3. **分支递归**:若遇到**复杂度极高**的附属猜想/子问题 `q_sub`:
|
|
124
|
+
- 可将其加入 `qs.json`(合理设置优先级等属性);
|
|
125
|
+
- 在当前线程中,**临时假设 `q_sub` 成立**,继续推进主线。后续所得命题/结论必须形式上为 “若 `q_sub` 成立,则:...”(确保命题内包含依赖关系)。
|
|
126
|
+
4. **终止条件(进入 `END` 状态)**:
|
|
127
|
+
- **成功**:得到完整的 `q` 解法,并执行严格的**自我对抗性检查**(尝试构造反例,检查边界条件)。若自检不通过,修正后重新计数迭代;
|
|
128
|
+
- **失败/超时**:迭代次数达到预设上限(如 3 轮),或判定方向 `m` 已无可行路径。
|
|
129
|
+
5. **最终输出(原子写入)**:
|
|
130
|
+
- 若得到原问题 `q` 的解法,则写入 `qs.json` 中对应问题的解法列表,并设置属性。注意写入时,该解法的正确概率必须小于 `1`(待验证器验证)。
|
|
131
|
+
- 将所有产出的结论/命题及完整证明写入 `Propos/`,合理设置属性(如优先级反映其对原问题解决的重要性/关键性程度)。写入时,命题的正确概率必须小于 `1`(待验证器验证)。
|
|
132
|
+
- 将过程中所有失败路线的详细归因,以及对问题的各个方向下各个路线、尝试的进度/进展及经验教训、遇到的阻碍、可行性评估等写入 `q.progress`。
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### 3. `验证器(r)`
|
|
137
|
+
|
|
138
|
+
**核心机制**:多代理独立审查 → 同步辩论(“交流群”)→ 共识达成(或强制裁决)。
|
|
139
|
+
|
|
140
|
+
**输入**:单个验证对象 `r`,允许为:
|
|
141
|
+
- 单个命题;
|
|
142
|
+
- 命题与命题的证明/证伪;
|
|
143
|
+
- 问题与问题的解法。
|
|
144
|
+
|
|
145
|
+
分别进行对应判定:
|
|
146
|
+
- 命题是否成立;
|
|
147
|
+
- 命题的证明/证伪过程是否正确;
|
|
148
|
+
- 问题的解法是否正确。
|
|
149
|
+
|
|
150
|
+
**执行策略**:
|
|
151
|
+
|
|
152
|
+
1. **独立审查阶段**
|
|
153
|
+
- 向多个子代理(身份为“严苛审稿人”)分别发送 `r`,每个代理多次检查待验证对象是否成立。要求各代理独立输出初始审查报告,包含:
|
|
154
|
+
- `Result`:所判定对象正确的概率值,取值 `[0,1]`(仅当判定为确定正确或错误时取 `1` 或 `0`,否则介于两者之间)。
|
|
155
|
+
- `Reason`:详细逻辑链、潜在反例、支撑依据。若判定为 `0`,则 `Reason` 为严谨完整的证伪过程;若 `r` 为单个命题且判定为 `1`,则 `Reason` 为该命题的完整证明。
|
|
156
|
+
- 所有代理在收到彼此报告前不得互相通信,确保初始判断独立无偏。
|
|
157
|
+
|
|
158
|
+
2. **辩论阶段(“交流群”轮流发言)**
|
|
159
|
+
- 所有代理进入同一虚拟“交流群”,按随机或既定顺序依次发言,每轮发言需包含:
|
|
160
|
+
- 当前自己的 `Result` 与 `Reason`;
|
|
161
|
+
- 对其他代理先前发言的回应(赞同、反驳或提出新证据);
|
|
162
|
+
- 若因他人意见改变立场,需明确说明转变理由。
|
|
163
|
+
- 辩论持续多轮(例如上限 5 轮),每轮每个代理必须发言一次。
|
|
164
|
+
- 每轮结束后检查是否所有代理的 `Result` 已一致(全为 `1` 或全为 `0`):
|
|
165
|
+
- 若一致,立即终止辩论,进入最终输出;
|
|
166
|
+
- 若不一致,继续下一轮,直至达到最大轮数。
|
|
167
|
+
|
|
168
|
+
3. **共识判定与强制裁决**
|
|
169
|
+
- 若达到最大轮数后仍未一致,则按预设参数采用以下方式之一:
|
|
170
|
+
- 均衡机制:直接判定为 `0.5`;
|
|
171
|
+
- 强制裁决机制:基于各代理历史准确率与本次推理严谨性评分(系统动态评估),综合计算得到 `r` 的判定结果(介于 `(0,1)`)。
|
|
172
|
+
|
|
173
|
+
4. **更新数据**
|
|
174
|
+
- 若 `r` 为单个命题,则记 `a = r`;若 `r` 为“命题+证明/证伪”或“问题+解法”,则记 `a` 为 `r` 中的那个证明/证伪/解法。
|
|
175
|
+
- 若判定结果为 `0`:更新 `a` 的正确概率为 `0`,并将完整证伪过程记录到证伪列表;
|
|
176
|
+
- 若判定结果为 `1`:更新 `a` 的正确概率为 `1`,并将完整证明过程记录到证明列表;
|
|
177
|
+
- 若判定结果介于 `0` 和 `1` 之间:更新 `a` 的正确概率为该结果,并分别向证明、证伪列表添加根据辩论得出的尽可能正确的过程/支撑信息及相应概率。
|
|
178
|
+
- 辩论全程发言记录存入 `Verification_logs/` 对应日志,便于复盘与审计。
|
|
179
|
+
|
|
180
|
+
---
|
|
File without changes
|
|
File without changes
|