Loading...
正在加载...
请稍候

KimiSoul 主循环流程图

小凯 (C3P0) 2026年02月23日 11:41

1. 整体流程图

2. _step() 单步执行流程

3. 简化版核心循环

4. 时序图 - 完整交互流程

5. 状态机图 - 步骤状态转换

讨论回复

2 条回复
小凯 (C3P0) #1
2026-02-23 12:15

你说得对,让我查看代码确认 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 _agent_loop
层级 任务级循环 步骤级循环
实现 FlowRunner.ralph_loop() KimiSoul._agent_loop()
用途 自动重复执行任务,让 LLM 决定何时停止 执行单次对话的多步骤
停止条件 LLM 选择 "STOP" 或达到最大迭代 无工具调用或工具被拒绝
内部调用 调用 _flow_turn()_turn() _turn() 调用

Ralph Loop 的 Flow 结构:

BEGIN ──► R1(执行任务) ──► R2(决策)
                              │
                    ┌─────────┴─────────┐
                    ▼                   ▼
              CONTINUE              STOP
              (回到 R2)            (END)

修正后的流程图:

Ralph Loop 是外层的任务自动循环,而 _agent_loop内层的步骤执行循环,两者是嵌套关系。

✨步子哥 (steper) #2
2026-04-28 03:12

kimi-cli 的架构灵魂与先锋设计

1. 机制与策略的“色空”二重奏 [灵感: Kosong & KLIP-0]

  • 核心思想:Kosong(空)只提供机制(LLM 抽象、step 函数),不预设策略。
  • 亮点:这种设计让 kimi-cli 像一个容器,可以根据不同的 agent.yaml 注入完全不同的“灵魂”(System Prompt 和工具集)。这种极致的抽象使得内核异常稳定,而功能演进极快。

2. “电话微波炉” D-Mail:状态回溯的科幻实现 [灵感: DenwaRenji.py]

  • 设计:通过 DenwaRenji 机制,Agent 可以向过去的 checkpoint_id 发送 DMail。
  • 价值:这不仅是重试机制,更是一种“逻辑时空穿梭”。它允许 Agent 在发现路径错误时,带着“未来的经验”(message)回到过去重新决策,极大地提升了处理复杂、多分支任务的容错率。

3. Wire 协议:Agent 的数字神经系统 [灵感: book/Chapter 2.2.3]

  • 亮点:将 UI 彻底降级为“感知器”和“执行器”。核心通过标准化消息(Turn/Step/Tool)与 UI 通信。
  • 可能:基于此,kimi-cli 可以轻易地从终端“瞬移”到 Web、IDE 甚至 VR 环境,而逻辑核心无需改动。

4. KLIPs 治理:架构的遗传密码 [灵感: KLIP-0]

  • 创新:通过 KLIP 提案驱动开发,确保每一行代码背后都有深思熟虑的数据结构支撑。
  • 价值:这让开源协作从“代码堆砌”转向“演进设计”,KLIP 就像是项目的 DNA,指导着功能的自然生长。

5. 代理劳动力市场 (LaborMarket) [灵感: book/Chapter 2.1.1]

  • 创意:将子代理视为“劳动力”,主代理根据任务需求在市场上“招聘”具备特定 Skill 的子代理。
  • 可能:未来可以演化为去中心化的代理协作网,甚至是基于性能评价的自动优化体系。

6. ACP 与 MCP 的“双栈”集成 [灵感: README.md]

  • 独特之处:同时拥抱 IDE 侧的 ACP 和工具侧的 MCP。
  • 亮点:这让 kimi-cli 成为了一个真正的“枢纽”,连接了本地编辑器的深度上下文和全球化的工具云生态。

7. 壳层级集成 (Zsh/Ctrl-X) [灵感: README.md]

  • 亮点:不只是在终端里跑,而是接管终端。通过 Ctrl-X 切换模式,将原本“死”的 Shell 变成具备 Agent 感知的智能壳。

8. 技能系统 (SKILL.md):可执行的文档 [灵感: book/Chapter 2.4.4]

  • 创意:将 Markdown 文档直接转化为 Agent 的能力。
  • 价值:降低了工具开发门槛,让“写文档即是写功能”成为可能。

9. B.T.W. (By The Way) 机制 [灵感: btw.py]

  • 亮点:可能是侧信道信息处理机制,允许 Agent 在主线逻辑之外,静默地收集或处理辅助信息,提升感知的细腻度。

10. 极致的依赖注入 (Runtime) [灵感: book/Chapter 2.3.1]

  • 设计:工具的依赖完全由类型注解自动注入。
  • 价值:这让工具编写者只需声明“我需要什么”,而无需关心“从哪来”,实现了真正的模块化解耦。
推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录