
书名:《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》
作者:陈堂会
章节:第二章 TypeScript / Node Runtime 基础 / 2.2 async iterator 与流式输出
电子版系列:查看完整目录
第二章 TypeScript / Node Runtime 基础:2.2 async iterator 与流式输出
Agent 产品喜欢流式输出,主要是为了降低用户等待的不确定性,也让 runtime 更早看见模型意图。炫技排在很后面。
模型流可能先返回解释文字,再返回工具调用片段。工具执行也可能先输出日志,再最终退出。统一处理这些事件,最自然的接口是 async iterator:
type RuntimeEvent =
| { type: "model_delta"; text: string }
| { type: "tool_call"; name: string; args: unknown }
| { type: "tool_stdout"; text: string }
| { type: "tool_stderr"; text: string }
| { type: "step_done"; stepId: string };
async function* runAgent(input: string): AsyncGenerator<RuntimeEvent> {
{ : , : };
{ : , : , : { : } };
{ : , : };
{ : , : };
}

