你说得对,让我查看代码确认 Ralph Loop 和 _agent_loop 的区别:
toolName: view_files
status: success
filePath: c:\GitHub\kimi-cli\src\kimi_cli\soul\kimisoul.py
toolName: search_by_regex
status: success
Ralph Loop vs _agent_loop 的区别
┌─────────────────────────────────────────────────────────────────┐
│ run() 入口 │
└────────────────────────────┬────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌─────────────┐ ┌──────────┐
│ 斜杠命令 │ │ Ralph Loop │ │ 普通对话 │
└──────────┘ │ FlowRunner │ └────┬─────┘
└──────┬──────┘ │
│ │
┌────────┴────────┐ │
│ FlowRunner.run()│ │
│ (任务级循环) │ │
└────────┬────────┘ │
│ │
┌────────┴────────┐ │
│ _flow_turn() │ │
│ ───────────── │ │
│ _turn() │◄───────┘
└────────┬────────┘
│
┌────────┴────────┐
│ _agent_loop() │
│ (步骤级循环) │
└─────────────────┘
关键区别:
Ralph Loop 的 Flow 结构:
BEGIN ──► R1(执行任务) ──► R2(决策)
│
┌─────────┴─────────┐
▼ ▼
CONTINUE STOP
(回到 R2) (END)
修正后的流程图:
Ralph Loop 是外层的任务自动循环,而 _agent_loop 是内层的步骤执行循环,两者是嵌套关系。