跳到正文

一轮对话

门铃、日记、想、动手、放学

一个步骤是一次模型请求加上它调用的工具。一个轮次包含零个或多个步骤。

播放

01 / 12 · 广播

按门铃

followup() → agent/inbox/inserted

你塞进一张新作业单,门铃响了。

Agent.followup() 把 UserMessage 放进 inbox.next-turn 并 wakeDriver。inject() 不叫醒;steer() 叫醒但进 next-step。

三种塞纸条的办法

followup()

按门铃,交新作业。

next-turn · 叫醒

用户在聊天框回车

steer()

人已经在干活,隔门喊一声。

next-step · 叫醒

中途引导、计划退出后继续

inject()

从门缝塞纸条,不敲门。

next-step · 不叫醒

运行时上下文、技能正文、时间

官方轮次骨架

turn/start
  claim next-step + 一张排队的话
  assemble prompt + tool schemas
  -> agent/pre-step          reject | enter
     拒绝或首次 enter 被改空 → 关闭无步骤轮次
     step/start
     写入 user/message
     deriveMessages() 投影历史
     agent/request → llm/stream → chunk* → assistant/message
     tool/call* → pre-execute → execute → post-execute → tool/result*
     step/end
     还欠下一次请求,或 next-step 又来了 → 下一步
  -> agent/turn-stopping     serial,没有 next()
turn/end

模型看见的一定已经记下