better-dsh 0.2.4-a → 0.2.4-c
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/cordis.patch.yml +7 -0
- package/docs/10_plans/2026-09-23-remote-execution-framework.md +236 -0
- package/docs/10_plans/2026-09-23-remote-framework-impl.md +2083 -0
- package/docs/10_plans/2026-09-26-lsp-ast-reminder.md +64 -0
- package/docs/20_specs/agent/spec.md +54 -0
- package/docs/20_specs/ast/spec.md +34 -0
- package/docs/20_specs/compaction-recall/spec.md +46 -0
- package/docs/20_specs/ctx/spec.md +107 -0
- package/docs/20_specs/dsh/spec.md +47 -0
- package/docs/20_specs/dvc/spec.md +87 -0
- package/docs/20_specs/escalation-guidance/spec.md +44 -0
- package/docs/20_specs/fs-scheme-resolution/spec.md +37 -0
- package/docs/20_specs/hash-edit/spec.md +41 -0
- package/docs/20_specs/http-read/spec.md +73 -0
- package/docs/20_specs/kernel-provisioning/spec.md +53 -0
- package/docs/20_specs/lsp/spec.md +121 -0
- package/docs/20_specs/mobile-layout/spec.md +108 -0
- package/docs/20_specs/model-failover/spec.md +20 -0
- package/docs/20_specs/plugins-page-components/spec.md +79 -0
- package/docs/20_specs/preact-ui-shell/spec.md +22 -0
- package/docs/20_specs/repl-dispatch-resilience/spec.md +21 -0
- package/docs/20_specs/skill/spec.md +58 -0
- package/docs/20_specs/tool-surface/spec.md +222 -0
- package/docs/20_specs/url-schema/spec.md +148 -0
- package/docs/20_specs/web-trust-fence/spec.md +43 -0
- package/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +18 -1
- package/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +92 -0
- package/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +125 -0
- package/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +207 -0
- package/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +65 -0
- package/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +53 -0
- package/lib/client/index.js +18 -18
- package/lib/compaction/index.d.ts +20 -10
- package/lib/compaction/index.js +42 -56
- package/lib/failover/index.d.ts +30 -6
- package/lib/failover/index.js +32 -26
- package/lib/fs-aware/sandbox-plugin.js +1 -1
- package/lib/index.js +4 -7
- package/lib/mobile/plugin.d.ts +1 -1
- package/lib/remote/plugin.d.ts +24 -0
- package/lib/remote/plugin.js +1095 -0
- package/lib/url-schemes/index.d.ts +14 -14
- package/lib/url-schemes/index.js +119 -15
- package/lib/{web-trust-CgpBoFv3.d.ts → web-trust-BihHCelF.d.ts} +10 -10
- package/lib/web-trust.d.ts +1 -1
- package/package.json +12 -4
- package/docs/10_plans/dashr-remote-tool-design.md +0 -337
- package/docs/10_plans/self-exo-cot-draft.md +0 -322
- package/docs/10_plans/self-scheme-and-monolog-draft.md +0 -357
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
# `self()` — 外源思维链(exo-CoT)与二分心智式决策路由
|
|
2
|
-
|
|
3
|
-
> 日期(UTC):2026-09-15 · 修订 2026-09-17 · 状态:**DRAFT v3 / 未裁决**(无实现)
|
|
4
|
-
> 前置:`docs/10_plans/self-scheme-and-monolog-draft.md`(v1:RLM 缺口 + `self://` scheme + `monolog()`)
|
|
5
|
-
> **v2 修订 v1 的排序与重心**:v1 从"地址"(scheme)切入;v2 从"效用"切入 ——
|
|
6
|
-
> 先做 **`self()` 工具**,因为 Astra 的证据表明真正值钱的是**动作与机制**,不是新的地址空间。
|
|
7
|
-
> **v3 修订 v2 的语义**(§10):RSI-Agent 论文证明,光"保留推理"不够 —— 必须是
|
|
8
|
-
> **被独立验证、由干预实验产生的记忆**。`self(check)` 加**上下文隔离**约束,新增 `self(probe)`,
|
|
9
|
-
> `self(note)` 强制 witness。
|
|
10
|
-
> 证据:GPT-6 Astra ARC-AGI-3 双 harness 数据(ARC Prize 官方 + 本地整理
|
|
11
|
-
> `agent-harness/20_Agent/01_codex/codex-gpt6-astra-harness-research.md`);RSI-Agent(2026-09-14,§10)。
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 0. 一句话结论
|
|
16
|
-
|
|
17
|
-
**Astra 的 62.7% → 99.9% 不是模型变强,是 harness 补上了"外源思维链"。**
|
|
18
|
-
dashr 已经有了外源 CoT 的**回溯半边**(`ctx://` 可寻址压缩历史 —— Astra 报告的 §10.3 把它列为**推荐方案 D**,并明说"与 DASHRL 标记读取思路一致");缺的是** deliberation 半边**:一个能把「当前处境」翻成「该调哪个能力」的**决策层**。
|
|
19
|
-
|
|
20
|
-
`self()` 就是这一层。它不是一个"再问一遍 LLM"的工具,而是:
|
|
21
|
-
|
|
22
|
-
> **situation(harness 免费读)→ question(预设、封闭)→ reflection(一次 bare call)→ decision(类型化、可路由)**
|
|
23
|
-
|
|
24
|
-
其中 **situation 不花 token、question 是有限问题库、decision 是结构体** —— 这三点是它区别于 `llm_completion` 的地方,也是它能被 harness 路由的前提。
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 1. 研究证据:Astra 的双 harness 差距
|
|
29
|
-
|
|
30
|
-
### 1.1 数字(ARC Prize 官方Verified scores)
|
|
31
|
-
|
|
32
|
-
| effort | ARC-AGI-1 | ARC-AGI-2 | ARC-AGI-3(**标准** harness) | ARC-AGI-3(**Provider Adapter** harness) |
|
|
33
|
-
|---|---|---|---|---|
|
|
34
|
-
| Max | 97.5% | 95.0% | **62.71%** | 98.55% |
|
|
35
|
-
| XHigh | 98.5% | 93.3% | 59.34% | 98.44% |
|
|
36
|
-
| **High** | 98.5% | 92.1% | 54.82% | **99.95%** |
|
|
37
|
-
| Medium | 97.5% | 92.1% | 38.59% | 98.44% |
|
|
38
|
-
| Low | 96.5% | 85.4% | 17.45% | 98.03% |
|
|
39
|
-
| None | 86.0% | 59.6% | 35.18% | 96.72% |
|
|
40
|
-
|
|
41
|
-
来源:[ARC Prize — GPT-6 Astra results](https://arcprize.org/results/openai-gpt-6-astra)。
|
|
42
|
-
|
|
43
|
-
**两个 harness 的定义差异本身就是结论**(ARC Prize 原文):
|
|
44
|
-
- **Standard harness**:*"enables a model to carry forward notes it chooses to keep with it throughout the environment"* —— 模型自选笔记,跨环境携带。
|
|
45
|
-
- **Provider Adapter harness**:*"preserves opaque reasoning state between requests and uses compaction for longer conversations, allowing the model to reuse prior work"* —— **跨请求保留不透明推理状态 + compaction**。
|
|
46
|
-
|
|
47
|
-
同一模型、同一 benchmark,**唯一的自变量是"推理能不能带过下一轮"**。成本还更低(high 档 $18,817 < max 档 $26,098)。
|
|
48
|
-
|
|
49
|
-
旁证(早期、模型不变):GPT-5.6 Sol 仅开启两项 API 设置(保留推理 + 启用压缩),ARC-AGI-3 public set **13.3% → 38.3%(≈3×)**,输出 token **−6×**。
|
|
50
|
-
|
|
51
|
-
### 1.2 为什么这正是"外源思维链"的实证
|
|
52
|
-
|
|
53
|
-
旧范式:CoT = 草稿纸,一个 turn 结束即丢弃。模型探索过的**弯路、否决掉的决策、中途修正**全部蒸发。
|
|
54
|
-
新范式:推理**跨轮可用**,上下文凭空多出"分析过程信息"。
|
|
55
|
-
|
|
56
|
-
ARC 这类 agentic 任务里,**探索历史本身就是解题资产**(哪个方向失败过、哪个门开过、规则怎么更新)。丢一次就重付一次推理成本。
|
|
57
|
-
|
|
58
|
-
### 1.3 可移植的机制清单(→ 本设计的需求来源)
|
|
59
|
-
|
|
60
|
-
| Astra 机制 | 对本设计的约束 |
|
|
61
|
-
|---|---|
|
|
62
|
-
| **推理保留**(§3.1) | `self()` 的产出必须落成**一等、可回溯的 artifact**,不能是即抛的返回值 |
|
|
63
|
-
| **三层上下文:摘要 + 笔记 + 可检索原文**(§3.2) | dashr 已有:compaction 摘要 + `ctx://` 可检索原文;**缺"笔记"通道** → `self(note)` |
|
|
64
|
-
| **模型自管理笔记、给通道不给 schema**(§3.3) | 笔记记号由模型涌现(Astra 实测:`L8: hub q2 (8↓)`、`extend8 to3; retract10 to2`)。**禁止**为 `self(note)` 设计死 schema |
|
|
65
|
-
| **沙箱 + 模型自造工具**(§3.4) | dashr 的 `eval` pad 即此机制 → `self()` 必须与 `eval` 组合,而非替代 |
|
|
66
|
-
| **14 种 harness 配置并列报告**(§1 报告的评测纪律) | 任何"self() 让分数变好"的主张必须带 harness 指纹,否则是 §1.1 那种失真叙事 |
|
|
67
|
-
| **可监控性下降**(§5 / §11.3) | 模型端走向潜在推理(循环深度),**可读 CoT 系统性变短** → exo-CoT 是**补偿性可读面**,价值上升而非下降 |
|
|
68
|
-
|
|
69
|
-
### 1.4 报告自己的结论:推荐方案 D
|
|
70
|
-
|
|
71
|
-
`codex-gpt6-astra-harness-research.md` §10.3 列出保留思维链的四条实现路径,并给出推荐:
|
|
72
|
-
|
|
73
|
-
| 方案 | 做法 | 代价 |
|
|
74
|
-
|---|---|---|
|
|
75
|
-
| A 全量 include | 上轮 thinking 整体回传 | 上下文暴涨 |
|
|
76
|
-
| B 截断 | 只留最近 N 段 | 破坏完整链价值 |
|
|
77
|
-
| C 摘要 | 辅助模型/server compaction 压缩 | 保真度损失;OpenAI compact 是**不透明机器状态** |
|
|
78
|
-
| **D 标记 + 按需回溯(recallable)** | 压缩时打标记,runtime 提供旧上下文检索/注入 | 需要运行时索引与检索设施 —— **dashr 的 `ctx://` 已具此设施** |
|
|
79
|
-
|
|
80
|
-
> 报告原文(§10.4):「若目标是"让模型跨轮记住自己否决过什么",**D(标记 + 可回溯)+ C(分层摘要)组合**最贴近 ARC 式收益且可控成本」。
|
|
81
|
-
|
|
82
|
-
**即:dashr 的 `ctx://` 路线已经和 Astra 高分同源。`self()` 要做的是在这条已被验证的路径上补出"决策/路由"这一层,而不是另起炉灶。**
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## 2. endo-CoT vs exo-CoT
|
|
87
|
-
|
|
88
|
-
| | **endo-CoT**(内源) | **exo-CoT**(外源) |
|
|
89
|
-
|---|---|---|
|
|
90
|
-
| 产生位置 | 模型前向过程(thinking block) | harness 进程(工具/运行时) |
|
|
91
|
-
| 载体 | token / 潜在激活 | **可寻址 artifact**(session 事件 / notes / 结构体) |
|
|
92
|
-
| 生命周期 | 一个 turn(或撑到 compaction) | 跨 turn、跨 compaction、可回溯 |
|
|
93
|
-
| 可干预性 | ❌ 不能中途检查/改写 | ✅ 可检查、可路由、可预算、可版本化 |
|
|
94
|
-
| 可读性趋势 | 📉 循环深度/潜在推理使其**系统性变短**(Astra §11.3) | 📈 可控,且成为**唯一可读面** |
|
|
95
|
-
| dashr 现状 | `ctx://session/thinking[...]` (**只读回放**) | ⚠️ 无 —— 只有 `ctx://` 的**历史**,没有**主动 deliberation** |
|
|
96
|
-
|
|
97
|
-
**要点**:dashr 今天能*读*endo-CoT(`ctx://session/thinking`),但那个面在读的时候**已经产生完了**,无法参与当下的决策。`self()` 的差异化价值 = **在决策发生之前**,用 harness 侧的事实产出一段可路由的推理。
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## 3. 二分心智映射
|
|
102
|
-
|
|
103
|
-
Jaynes 的二分心智:一侧发出**命令之声**,另一侧**执行而不自省**;"声音"不被体验为自己的思考。
|
|
104
|
-
|
|
105
|
-
| 二分心智 | harness 对应 |
|
|
106
|
-
|---|---|
|
|
107
|
-
| 执行侧(无自省) | **acting agent**:在上下文里直接行动,对自己的预算/实际工具面/血缘**没有廉价视野** |
|
|
108
|
-
| 声音侧(发令) | **`self()`**:读得到 self-model(预算是多少、工具面真相、血缘深度、gate 状态),返回**指令**而非散文 |
|
|
109
|
-
| "声音不被当成自己的思考" | **工具结果**:模型把 `self()` 的输出当作外部输入(而非自己的推理),因此可以被 harness 校验/拦截 |
|
|
110
|
-
|
|
111
|
-
**这个映射的工程价值**:如果把这段推理要求模型自己"在心里想"(endo-CoT),harness 看不到、不能路由、不能设预算。把它**外置成工具调用**,它就变成一个有类型、有成本、可审计的一等对象。**这正是"外源"二字的全部意义。**
|
|
112
|
-
|
|
113
|
-
⚠️ 边界:二分心智是**架构隐喻**,不是心智主张。本设计只取"执行/发令分离 + 发令侧有特权视野"这一条结构性含义。
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## 4. `self()` 方法集
|
|
118
|
-
|
|
119
|
-
用户提议的接口形态:`self(<method>, <args>)` —— method-first,每 method = 一个预设问题模板。
|
|
120
|
-
|
|
121
|
-
### 4.1 分组
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
self() → 方法名册(bare 调用,零成本,列出全部 method + 各自何时用)
|
|
125
|
-
── A 感知(situation,零 LLM) ────────────────────────────────
|
|
126
|
-
self(state) → 当前处境卡:上下文压力 / turn-step / 委派深度 / 生效工具面
|
|
127
|
-
self(where) → 血缘位置:我是谁派的、父任务是什么、有无兄弟
|
|
128
|
-
── B 反思(reflection,一次 bare call) ────────────────────────
|
|
129
|
-
self(explain, <topic>) → 就 topic 产出结构化反思(用户给的例子)
|
|
130
|
-
self(why) → 决策溯源:试过什么、否决了什么、为什么
|
|
131
|
-
self(recall, <query>) → 检索早期上下文(Astra §3.2 "早期上下文仍可被搜索")
|
|
132
|
-
── C 决策(decision,类型化输出) ──────────────────────────────
|
|
133
|
-
self(probe, [target]) → ★v3 课程:我缺哪些知识 / 下一个实验该探什么不确定性
|
|
134
|
-
self(next, <goal>) → 路由:下一步该调哪个能力(返回 action 枚举)
|
|
135
|
-
self(should, <action>) → go/no-go:现在该不该做这个动作(含成本/风险)
|
|
136
|
-
self(check, <artifact>) → ★v3 独立核验:上下文隔离,只喂 artifact + 观测状态
|
|
137
|
-
── D 写入(唯一写通道) ────────────────────────────────────────
|
|
138
|
-
self(note, <text>, witness) → ★v3 写笔记,**必须带 witness**(观测到的 tool/result seq)
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### 4.2 与既有面的复用映射(**不重造轮子**)
|
|
142
|
-
|
|
143
|
-
这是本节最重要的部分 —— 每个 method 都映射到一个已有实现,`self()` 只加"harness 侧的结构与路由":
|
|
144
|
-
|
|
145
|
-
| method | 复用 | `self()` 新增的东西 |
|
|
146
|
-
|---|---|---|
|
|
147
|
-
| `self(state)` | `dsh://config` + session header + `agent.ctx.tools.schemas(agent)` | 聚合成**一张处境卡**(否则要 3 次 read) |
|
|
148
|
-
| `self(where)` | session header 的 `delegationDepth` / `origin` + `agent://` roster | 血缘**语义**(父任务摘要) |
|
|
149
|
-
| `self(explain, t)` | **`llm_completion`** 的 bare call 路径(`src/llm-completion.ts:62`,同 provider/model) | 预设 question 模板 + **S 作为免费前缀** + 输出落 artifact |
|
|
150
|
-
| `self(why)` | `ctx://session/thinking:raw` + `ctx://session/tool_calls` | **聚合与压缩**成"决策溯源"而非原始块列表 |
|
|
151
|
-
| `self(recall, q)` | **`ctx://session/transcript?q=`**(`?q=` 是既有 selector,url-schemes-instruction.md) | 零新增解析器 |
|
|
152
|
-
| `self(next)` / `self(should)` | `llm_completion` + §5 路由表 | **类型化 decision** |
|
|
153
|
-
| `self(probe, t)` | `ctx://session/tool_calls` + `llm_completion` | ★v3 从已观测结果反推「未知量清单 + 下一个实验」(RSI-Agent 课程角色) |
|
|
154
|
-
| `self(check, a)` | `llm_completion`(**新开、无历史的 prompt**)+ `ctx://` 观测原文 | ★v3 **上下文隔离**契约:不喂 reasoning/notes,只喂 artifact + 观测 |
|
|
155
|
-
| `self(note, t, w)` | 新写入通道 + witness 强制 | ★v3 Astra §3.3 的 notes 通道 + RSI-Agent 的「实验构建而非轨迹摘要」 |
|
|
156
|
-
|
|
157
|
-
**结论:`self()` 的净新增代码量 ≈ 一个聚合层 + 一个提示模板库 + 一个类型化输出契约**。解析、LLM 调用、检索全部复用。这是它相对 `subagent`(重)与手写 `eval` 循环(无护栏)的核心竞争力。
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## 5. 流水线:situation → question → reflection → decision
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
165
|
-
│ S · situation ← harness 免费读(零 LLM token) │
|
|
166
|
-
│ self-model:上下文压力 / turn-step / 委派深度 / 生效工具面 / gates │
|
|
167
|
-
│ + 可选 ctx:// 证据(按需,非默认) │
|
|
168
|
-
└───────────────────────────────┬──────────────────────────────────┘
|
|
169
|
-
▼
|
|
170
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
171
|
-
│ Q · question ← 预设问题库(有限、有版本、每 method 一条) │
|
|
172
|
-
│ 模板化,封闭枚举;不是让模型自由发挥"问自己什么" │
|
|
173
|
-
└───────────────────────────────┬──────────────────────────────────┘
|
|
174
|
-
▼
|
|
175
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
176
|
-
│ R · reflection ← **一次** bare LLM call(复用 llm_completion 路径) │
|
|
177
|
-
│ 输入 = Q + S +(按需拉取的)可寻址证据 │
|
|
178
|
-
│ 输出 = 结构化 reflection + 落成 artifact(可被 self(recall) 找回) │
|
|
179
|
-
└───────────────────────────────┬──────────────────────────────────┘
|
|
180
|
-
▼
|
|
181
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
182
|
-
│ D · decision ← **类型化**,不是散文 │
|
|
183
|
-
│ { action: <enum>, confidence, why, cost_hint, risk } │
|
|
184
|
-
│ → harness / 模型据此**确定性路由** │
|
|
185
|
-
└──────────────────────────────────────────────────────────────────┘
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**三个设计不变量**:
|
|
189
|
-
|
|
190
|
-
1. **S 免费**:处境事实不花 token。这是 exo-CoT 相对 endo-CoT 的成本优势 —— harness 侧的事实不需要模型"想起来"。也是 §1.1 "更贵 effort 反而更便宜" 的机制同构。
|
|
191
|
-
2. **Q 封闭**:问题库有限且版本化。**开放问题 → 无法路由**;这是本设计与"让 LLM 随便想想"的分水岭。
|
|
192
|
-
3. **D 类型化**:`action` 是枚举,不是自然语言。Astra 报告 §10 已证明:OpenAI 的 compact 输出是**不透明机器状态**、官方明说"非人读摘要" —— harness 侧要的是**能分派**的东西。
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## 6. 决策路由表(本设计的可执行产物)
|
|
197
|
-
|
|
198
|
-
触发条件全部**可由 harness 判定**(零 LLM),这是能自动化路由的前提:
|
|
199
|
-
|
|
200
|
-
| # | situation 触发(harness 可判定) | preset question | decision `action` | 实际路由到 |
|
|
201
|
-
|---|---|---|---|---|
|
|
202
|
-
| 1 | 上下文压力 ≥ 阈值(逼近 compaction) | 哪些是必须带过 compaction 的? | `note` | `self(note)` |
|
|
203
|
-
| 2 | 检测到已发生 compaction 且任务跨多轮 | 之前否决过什么方案、为什么? | `recall` | `ctx://session/transcript?q=` |
|
|
204
|
-
| 3 | 待处理资源 > 有效窗口 | 需要全看还是抽摘要? | `monolog` \| `read` | 见 v1 的 `monolog()` |
|
|
205
|
-
| 4 | 任务多步骤、方向未定 | 当前目标下最该做的一步? | `eval` \| `delegate` \| `ask_user` | `eval` / `subagent` |
|
|
206
|
-
| 5 | 即将委派子 agent | 该给子 agent 什么上下文? | `delegate` | `subagent`(brief 作为 payload) |
|
|
207
|
-
| 6 | 已得出结论、准备收尾 | 我漏了什么反例? | `check` | `self(check)` |
|
|
208
|
-
| 7 | **短上下文 / 简单任务** | 值得递归/外置吗? | `direct` | **直接作答,不用任何工具** |
|
|
209
|
-
| 8 | 检测到自己的工具面与实际不符 | 我实际有哪些工具? | `state` | `self(state)` |
|
|
210
|
-
|
|
211
|
-
> 第 7 行是必需的负向路由 —— RLM 论文 Obs.3:小输入区间 base LM 反而更好(存在**交叉点**)。没有它,`self()` 会退化成"凡事都问自己一遍"的成本放大器。
|
|
212
|
-
> 第 8 行对应 v1 §2.1 的**已实测事故**(会话热升级后 Tool Catalog 仍声明已删工具,运行时 `unknown binding`)。
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## 7. 风险
|
|
217
|
-
|
|
218
|
-
| 风险 | 对策 |
|
|
219
|
-
|---|---|
|
|
220
|
-
| **成本放大器**:每个 turn 都 `self(explain)` | 第 7 行负向路由 + 触发条件必须 harness 可判定(不是模型自觉) |
|
|
221
|
-
| **自我确认循环**:`self()` 与自己同模型同上下文,只会附和 | ★v3 RSI-Agent 硬约束:`self(check)` 必须**上下文隔离**(只喂 artifact + 观测状态,不喂私有推理),否则验证者会与 actor 重复同一个无根据的解释;`self(next)` 输出必须含 `why` 且被 schema 约束 |
|
|
222
|
-
| **scaffold 依赖**(Astra §2.3:模型被**协同训练**成会用保留推理) | 明写在 wire description 里;不要假定任意模型的 harness 行为等价 |
|
|
223
|
-
| **可监控性悖论**(§5/§11.3) | exo-CoT 是**补偿**可读面的手段;同时不要指望 `ctx://session/thinking` 的原料会越来越多 |
|
|
224
|
-
| **评估污染**(§1.1 失真叙事) | 任何"self() 提升"的主张必须带 harness 指纹;禁止把不同 harness 的数字并列 |
|
|
225
|
-
| **notes 无 schema 的代价** | Astra §3.3 明确"给通道别给死 schema";代价是笔记质量不可控 → 用 `self(recall)` 可检索性兜底 |
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
## 8. 与 v1 的关系(排序修订)
|
|
230
|
-
|
|
231
|
-
| | v1 主张 | v2 修订 |
|
|
232
|
-
|---|---|---|
|
|
233
|
-
| 切入点 | `self://` scheme(地址) | **`self()` 工具(效用)** ← 用户裁决 |
|
|
234
|
-
| 依据 | RLM 论文的"上下文即环境" | **Astra 双 harness 数据**:harness 侧 CoT 保留是 62.7→99.9 的自变量 |
|
|
235
|
-
| 第一交付 | `llm_completion({source})` | `self(state)` + `self(note)`(零 LLM 的两个,先验证通道) |
|
|
236
|
-
| 第二交付 | `self://` scheme | `self(explain|why|recall)`(B 组反思) |
|
|
237
|
-
| 第三交付 | `monolog()` | `self(next|should|check)`(C 组路由)+ `monolog()` |
|
|
238
|
-
| `self://` 定位 | 主体 | **降级为 `self()` 产物的读地址**(notes / reflection artifact),保持只读不变式 |
|
|
239
|
-
|
|
240
|
-
**v1 的 `self://` 仍然成立**,但语义收敛为:`self()` 写的 artifact,`self://` 读。scheme 只读不变式(catalog 明记只有 `dvc://` 可写)因此不被破坏 —— **写走工具层,读走 scheme**。
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## 9. 开放问题
|
|
245
|
-
|
|
246
|
-
| # | 问题 | 选项 |
|
|
247
|
-
|---|---|---|
|
|
248
|
-
| Q1 | `self(note)` 的落盘位置 | (a) session 事件(自动进 `ctx://`)(b) `$DSH_HOME` 独立 notes 文件 (c) 复用 `self://` 的存储 |
|
|
249
|
-
| Q2 | `self(recall)` 与 Corti memory 的边界 | notes = 会话内工作笔记(模型自管记号);Corti = 跨会话语义抽取。二者是否合并? |
|
|
250
|
-
| Q3 | `self(state)` 的上下文压力从哪来 | 同 v1 §8 Q3(待勘:公开 `Agent` 只有 `{id}`) |
|
|
251
|
-
| Q4 | reflection 是否回灌主上下文 | 回灌(Astra 方案 A:涨上下文)vs 只留 artifact(方案 D:按需 `self(recall)` 取回) |
|
|
252
|
-
| Q5 | 问题库的版本与可扩展性 | 固定枚举 vs 允许 patch 行增补自定义 question |
|
|
253
|
-
| Q6 | `self(explain, t)` 与 `llm_completion` 的边界 | 是否会因语义重叠导致模型选错工具 |
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## 10. v3 补强:RSI-Agent(2026-09-14)—— 把 exo-CoT 从「多留推理」改成「可验证的实验记忆」
|
|
258
|
-
|
|
259
|
-
> 来源:`research/temp/20260917_Kimi-K3-GLM-53-Self-Improvement-RSI-Unlocked/`
|
|
260
|
-
> (Discover AI 视频转录 + digest)。论文 *RSI-Agent: Autonomous Exploration for Recursive
|
|
261
|
-
> Self-Improvement in New Environments*,Sibo Zhu 等(Aether AI / UC San Diego / UI Chicago),
|
|
262
|
-
> 2026-09-14。
|
|
263
|
-
> ⚠️ **二手来源**:手头只有视频转录(Tier-1 转录,但仍是解说)。论文数字未与原文核对,
|
|
264
|
-
> 一律标 `[待核]`;STT 噪声("Kim K3" = Kimi K3、"GBD6 Astro" = GPT-6 Astra)已订正。
|
|
265
|
-
|
|
266
|
-
### 10.1 它做了什么(与 `self()` 直接相关的部分)
|
|
267
|
-
|
|
268
|
-
- **冻结权重,只优化外部持久 memory**;training-free 多 agent 框架。
|
|
269
|
-
- **三角色**:curriculum(决定下一个该探的不确定性、生成练习任务)→ actor(执行 + 决定哪些教训值得进 memory)→ **独立 verifier**(只看 artifact 与**观测到的环境状态**,**不看 actor 的私有推理**)。
|
|
270
|
-
- **回路**:hypothesis → experiment → observation → verify → **memory revision** → 新 hypothesis。
|
|
271
|
-
- **两个时间尺度**:broad exploration(广摸环境规则/词汇)与 deep exploration(在单一目标上钻瓶颈);作者观察到 **broad 通常贡献更大** `[待核]`。
|
|
272
|
-
- **结果**:GLM-5.3(actor) + Kimi K3(curriculum/verifier),纯开源权重,在 OSWorld 2.0 Hero 上反超 GPT-6 Astra / Claude Opus 5 `[待核]`。
|
|
273
|
-
- **作者自限定**:这不是严格 RSI,而是 **bounded self-improvement** —— 架构、verifier 拓扑、验证流程、探索协议、broad/deep 控制结构、memory 更新的 harness 代码**全都不可改**;「递归在反馈过程里」。
|
|
274
|
-
- 关键句:**"it is not the model, it is the agent"**;**"you don't have to modify the harness… if you just optimize the memory representation"**。
|
|
275
|
-
|
|
276
|
-
### 10.2 它修正了 v2 `self()` 的什么(五条硬修正)
|
|
277
|
-
|
|
278
|
-
| # | RSI-Agent 的要求 | v2 `self()` 的缺口 | 修正(已落到 §4.1/§4.2/§7) |
|
|
279
|
-
|---|---|---|---|
|
|
280
|
-
| 1 | 验证者必须**独立**,且**不看 actor 的私有推理** —— 否则两者会重复同一个无根据的解释 | v2 `self(check)` 用**同一模型 + 同一上下文**自检 = 自我确认循环 | `self(check)` 改为**上下文隔离**调用:只喂 artifact + 观测状态;`llm_completion` 的 stateless 特性已支持,缺的是**载荷契约** |
|
|
281
|
-
| 2 | curriculum 决定「下一步探什么不确定性」 | v2 `self(next)` 只是**能力路由**(调哪个工具),不是**未知量选择** | 新增 `self(probe)` |
|
|
282
|
-
| 3 | memory 由**干预实验**构建,而非轨迹摘要(原话:*rather than summarizing just some trajectories*) | v2 `self(note)` 只要「引用可寻址证据」 | `self(note)` 强制 **witness**(tool/result seq);摘要型 note 不合格 |
|
|
283
|
-
| 4 | broad > deep(一般情形) | v2 路由表无探索尺度概念 | 路由默认**先广后深**,仅当检测到 inconsistency 才 deep |
|
|
284
|
-
| 5 | 「只优化 memory,不改 harness」 | v2 一度把三角色读成「要不要加 agent」 | 明确:**不加 agent**。`self()` 是 **memory 协议**,不是编排拓扑 |
|
|
285
|
-
|
|
286
|
-
### 10.3 与 Astra 证据的合流(修正 v2 的隐含偏差)
|
|
287
|
-
|
|
288
|
-
| 来源 | 主张 |
|
|
289
|
-
|---|---|
|
|
290
|
-
| Astra 双 harness | 自变量是 **harness 侧推理保留**(62.7% → 99.9%) |
|
|
291
|
-
| RSI-Agent | 保留什么不重要;**被独立验证过、由干预实验产生的因果知识**才进 memory |
|
|
292
|
-
|
|
293
|
-
合起来 → `self()` 的定位不是「留下更多 CoT 文本」,而是 **可验证的实验记忆(verified experimental memory)**。v2 §2 把 exo-CoT 定义成「可寻址 artifact」是**必要但不充分**的:缺了**验证门**与**干预来源**这两个条件,artifact 会退化成「模型的自我复述」。
|
|
294
|
-
|
|
295
|
-
### 10.4 强 RSI 的边界(作者的 limitation = 我们的升级路径)
|
|
296
|
-
|
|
297
|
-
作者自承 bounded,根因是**改进机制本身不可改**。若 `self()` 要越过 bounded:
|
|
298
|
-
> 问题库 Q 与路由表(§6)必须**可被 agent 检视与修改**。
|
|
299
|
-
|
|
300
|
-
这是 **phase-3 议题**,且属于**自我修改机制**(失控面),必须单独立项 + 独立验收,不得随本 change 一起交付。
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
## 附录:证据锚点
|
|
305
|
-
|
|
306
|
-
| 事实 | 锚点 |
|
|
307
|
-
|---|---|
|
|
308
|
-
| Astra ARC-AGI-1/2/3 全 effort 分数(双 harness) | [arcprize.org/results/openai-gpt-6-astra](https://arcprize.org/results/openai-gpt-6-astra) |
|
|
309
|
-
| 两 harness 机制定义(notes 携带 / opaque reasoning + compaction) | 同上页面 harness 脚注 |
|
|
310
|
-
| 62.7% vs 99.9%、成本 $26,098 vs $18,817 | 同上;本地整理 `codex-gpt6-astra-harness-research.md` §0、§2.1 |
|
|
311
|
-
| GPT-5.6 两设置 13.3%→38.3%、输出 token −6× | `codex-gpt6-astra-harness-research.md` §2.2;官方存档 `reference/openai-how-two-settings-tripled-arc-agi3-scores.md` |
|
|
312
|
-
| 保留推理 / 三层上下文 / 自管 notes / 自造工具 | 同上 §3.1–§3.4 |
|
|
313
|
-
| 四路径 A/B/C/D + **推荐 D(标记 + 回溯)** | 同上 §10.3–§10.4 |
|
|
314
|
-
| 可监控性下降 / 循环深度 / neuralese | 同上 §5、§11.3 |
|
|
315
|
-
| dashr 的 `ctx://` 可回溯设计 | `docs/specs/ctx/spec.md`;`src/url-schemes/handlers/ctx.ts` |
|
|
316
|
-
| `?q=` selector 既有 | `dashr/url-schemes-instruction.md` |
|
|
317
|
-
| `llm_completion`(bare call,同 provider/model) | `dashr/src/llm-completion.ts:62`(注册 `src/index.ts:1144`) |
|
|
318
|
-
| 只有 `dvc://` 可写的既有不变式 | `dashr/src/url-schemes/catalog.ts`(`SCHEME_CATALOGUE`) |
|
|
319
|
-
| Tool Catalog 漂移事故 | `docs/50_test-reports/v0.1.8-improved-实测报告.md:134` |
|
|
320
|
-
| RLM 论文 Obs.3(小输入交叉点) | arXiv:2512.24601;缓存 `~/.hermes/cache/web/arxiv.org-f7ccb39fbc.md` |
|
|
321
|
-
| RSI-Agent 三角色 / verified memory / broad-vs-deep / bounded 自限 | `research/temp/20260917_Kimi-K3-GLM-53-Self-Improvement-RSI-Unlocked/transcript.txt` + `digest.md`;视频 https://youtu.be/-4tobA2vRIE(2026-09-16)· 论文 2026-09-14(Aether AI / UCSD / UIC) |
|
|
322
|
-
| `[待核]` 数字(OSWorld 2.0 反超 Astra、broad>deep) | 仅视频转录,未与论文原文核对 |
|