Skip to content

Commit 653036f

Browse files
committed
clarify volume-1 execution restore and diagram semantics
1 parent ccb2f1b commit 653036f

3 files changed

Lines changed: 55 additions & 12 deletions

File tree

docs/guidebookv2/volume-1/04-how-intent-becomes-execution.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ flowchart LR
5252
O --> E[execution]
5353
E --> C[tool.call]
5454
C --> R[tool_result]
55-
R --> RT[结果回流 runtime]
55+
R --> A[当前 turn 内本地累积结果]
56+
A --> RT[assistant + tool_results 组织下一轮 continuation]
5657
RT --> M2[模型继续当前 turn]
5758
```
5859

@@ -133,6 +134,26 @@ execution 最后还要落到具体对象上。最典型的,就是 `tool.call`
133134

134135
这也正好接回第三篇的判断:agent turn 之所以是闭环,不是因为做过一个动作,而是因为动作结果会重新回到 runtime 里。
135136

137+
这里还有一个很容易误读的点,最好顺手压清:
138+
139+
> **`tool_result` 回流到 runtime,不等于某个工具一完成,系统就立刻单独再打一轮模型请求。**
140+
141+
Claude Code 更接近这样一条链:
142+
143+
1. assistant 先在当前输出流里产出 `tool_use`
144+
2. runtime 可以边流边执行工具,也可以边拿到已完成的 `tool_result`
145+
3. 这些结果会先被收进当前 turn 的本地消息状态
146+
4. 然后再按下一轮 continuation 的组织方式,一起送回模型继续当前工作
147+
148+
所以这里真正成立的,不是“每个 result 立刻递归打一次模型”,而是:
149+
150+
- **对执行层来说**,工具可以流式启动、并发完成、逐步收结果
151+
- **对模型回喂层来说**,结果不是 `result-by-result` 地即时递归打模型,而是回到下一轮 continuation 的统一组织里
152+
153+
更短地说:
154+
155+
> **工具执行可以边流边跑,但模型 continuation 仍然按 turn 收口。**
156+
136157
---
137158

138159
## 为什么不能把它简单理解成“模型直接调函数”

docs/guidebookv2/volume-1/05-how-claude-code-maintains-context-state-and-continuity.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,22 @@ restore 处理的不是“当前太重”,而是“中断之后怎么续上”
232232

233233
> **把之前那条会话线里的有效状态重新接回 runtime。**
234234
235+
这里最好再多压一句边界,避免把 restore 理解浅了:
236+
237+
- 它不只是把历史 transcript 原样回显一遍
238+
- 也不只是把 UI 上一次对话重新展示出来
239+
- 更关键的是把后续还能继续工作的那部分状态重新接回系统
240+
241+
换句话说,restore 真正关心的不是“显示恢复到哪里”,而是:
242+
243+
> **当前 runtime 还能不能重新建立一条可继续判断、可继续执行、可继续续跑的工作线。**
244+
245+
所以如果要更精确一点,restore 恢复的重点更接近:
246+
247+
- 这条工作线目前走到哪
248+
- 哪些 messages / tool use / tool result 仍然构成有效工作材料
249+
- 当前还能以什么状态继续往下判断与执行
250+
235251
三者并排看,可以先记成:
236252

237253
- **collapse**:旧内容还在,但先折轻一点再带着跑
@@ -270,7 +286,7 @@ flowchart LR
270286
M --> P{上下文是否过重?}
271287
P -- 是 --> X[collapse / compact]
272288
X --> C
273-
C --> R[会话可续接状态]
289+
C --> R[可续接工作状态\nmessages/tool_use/tool_result 的有效投影]
274290
R --> T[restore]
275291
T --> C
276292
```

docs/guidebookv2/volume-1/06-how-claude-code-grows-new-capabilities.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,19 +74,25 @@ flowchart TD
7474
U[用户任务] --> R[Claude Code Runtime]
7575
7676
R --> T[内建 Tool / 执行能力]
77-
R --> S[Skill / 做事方法]
77+
R --> S[Skill / 做事方法层]
7878
R --> A[Agent / 任务承担者]
79-
A --> SA[Subagent / 分出的独立执行会话]
80-
R --> E[MCP / 外部能力边界]
81-
R --> P[Plugin / 系统级扩展接入]
82-
83-
S --> A
84-
S --> T
85-
E --> T
86-
P --> T
87-
SA --> R
79+
A --> SA[Subagent / 拆出的独立执行会话]
80+
R --> E[MCP / 外部能力接入面]
81+
R --> P[Plugin / 系统级扩展接入层]
82+
83+
S -. 提供方法组织 .-> A
84+
S -. 提供方法约束 .-> T
85+
E -. 把系统外能力接回 runtime .-> R
86+
P -. 把系统级挂点接回 runtime .-> R
87+
SA -. 结果回流主 runtime .-> R
8888
```
8989

90+
看这张图时,最好先记住一个读图规则:
91+
92+
> **这张图表达的是“能力长在哪一层、最后怎样回到 runtime 被组织”,不是某一轮里一步步发生的直接调用链。**
93+
94+
也正因为如此,图里的虚线更偏“关系 / 回流 / 接入面”,不是“函数按这个顺序直接调用”。这样读,skill、MCP、plugin 和 runtime 的关系就不容易被误看成一条串行执行线。
95+
9096
看这张图时,最值得先抓住的不是名词,而是两个方向:
9197

9298
### 第一,Claude Code 的扩展不只是一种

0 commit comments

Comments
 (0)