INNER LOOP
- • 一次 turn:流式回复 → 执行工具 → 回填
- • 无工具调用即自然结束,break 出内层
- • afterTurn 未停止则继续下一 turn
- • allTerminate(工具全体请求终止)直达 finish
STOP REASON
- • tool_use:执行工具后回填续跑
- • 无工具:自然结束,转外层判定
- • length:失败所有工具调用促模型重发
- • error / aborted:终态,立即 finish
OUTER LOOP
- • 内层收敛后查 GetFollowUpMessages
- • 有后续消息 → 追加并重跑内层
- • 无 → break 收尾
- • 所有终止路径汇于唯一出口 finish()