fix(s04): use early-continue idiom in problem code block

The problem block used a nested `if block.type == "tool_use":` while the
solution block and code.py use `if block.type != "tool_use": continue`.
This made the problem->solution diff show two changes instead of the one
the section teaches (the README states only one place in the loop changed).
Align all three README variants (zh/en/ja) to the early-continue idiom.
This commit is contained in:
hardness1020
2026-05-28 10:34:42 -07:00
parent c586792bbb
commit 6d4970977d
3 changed files with 24 additions and 21 deletions

View File

@@ -21,13 +21,14 @@ def agent_loop(messages):
while True: while True:
# ... LLM call ... # ... LLM call ...
for block in response.content: for block in response.content:
if block.type == "tool_use": if block.type != "tool_use":
log_to_file(block) # added a line continue
check_permission(block) # added a line log_to_file(block) # added a line
notify_slack(block) # added another line check_permission(block) # added a line
output = execute(block) notify_slack(block) # added another line
auto_git_add(block) # yet another line output = execute(block)
# ... the loop is unrecognizable auto_git_add(block) # yet another line
# ... the loop is unrecognizable
``` ```
What you want to extend is the Agent's behavior, but what you're modifying is the loop itself. The loop should be a stable core; extensions should hang on the outside. What you want to extend is the Agent's behavior, but what you're modifying is the loop itself. The loop should be a stable core; extensions should hang on the outside.

View File

@@ -21,13 +21,14 @@ def agent_loop(messages):
while True: while True:
# ... LLM call ... # ... LLM call ...
for block in response.content: for block in response.content:
if block.type == "tool_use": if block.type != "tool_use":
log_to_file(block) # 一行追加 continue
check_permission(block) # 一行追加 log_to_file(block) # 一行追加
notify_slack(block) # さらに一行追加 check_permission(block) # 一行追加
output = execute(block) notify_slack(block) # さらに一行追加
auto_git_add(block) # さらに一行追加 output = execute(block)
# ... もうループが見えない auto_git_add(block) # さらに一行追加
# ... もうループが見えない
``` ```
拡張したいのは Agent の振る舞いなのに、変更しているのはループそのもの。ループは安定した核心であるべき。拡張は外側に掛ける。 拡張したいのは Agent の振る舞いなのに、変更しているのはループそのもの。ループは安定した核心であるべき。拡張は外側に掛ける。

View File

@@ -21,13 +21,14 @@ def agent_loop(messages):
while True: while True:
# ... LLM call ... # ... LLM call ...
for block in response.content: for block in response.content:
if block.type == "tool_use": if block.type != "tool_use":
log_to_file(block) # 加一行 continue
check_permission(block) # 加一行 log_to_file(block) # 加一行
notify_slack(block) # 加一行 check_permission(block) # 加一行
output = execute(block) notify_slack(block) # 又加一行
auto_git_add(block) # 再加一行 output = execute(block)
# ... 很快循环就认不出来了 auto_git_add(block) # 再加一行
# ... 很快循环就认不出来了
``` ```
你想扩展的是 Agent 的行为,但你改的却是循环本身。循环应该是一个稳定的核心,扩展应该挂在外面。 你想扩展的是 Agent 的行为,但你改的却是循环本身。循环应该是一个稳定的核心,扩展应该挂在外面。