一轮对话
门铃、日记、想、动手、放学
一个步骤是一次模型请求加上它调用的工具。一个轮次包含零个或多个步骤。
播放
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