Coding Agent 的命令系统 那篇搭好了 CLI 的命令骨架,但体验上有个明显的问题:
run_sync() 要等整个 Agent 循环跑完,才把中间过程一次性打出来。等待期间终端没有任何反馈,你不知道 Agent 在想什么、做了什么,只能干等。
真正的 CLI 工具是实时显示的,模型一回复你就能看到 thinking,工具一执行你就能看到调了什么、返回了什么。
这篇来解决它,做法很简单:把 run_sync() 那一行展开成我们自己驱动的 Agent 循环,每执行完一步就立刻把结果打出来。
这样做不光是为了改善体验,把 SDK 封装好的循环拆开,我们才能看清它内部的节点流转机制,也才有机会在循环的任意位置插入自己的逻辑,比如后面要做的权限检查等新功能。