# Agent Loop 约 30 分钟的内部技术分享:Agent 为什么能边问边做。从一个 15 行的真实 Agent 原型出发,通过四个递进级别说明工具调用的返回时机如何决定 Loop 能做什么。 ## 启动 需要 Node.js 24 和 pnpm。复制 `async-agent-lab/.env.example` 为 `.env.local`,填入 `EASTMONEY_API_KEY`,然后: ```sh cd async-agent-lab pnpm install --frozen-lockfile pnpm start ``` 打开 [http://127.0.0.1:8791/](http://127.0.0.1:8791/),用左右方向键或底部按钮翻页,点「全屏」进入投屏模式。 ## 分享结构 | 页面 | 内容 | | --- | --- | | 开场 | 从 AiWork 与 Codex 的具体差异引入,说明问题的根源 | | Agent Loop 基本逻辑 | 15 行真实原型,解释 `await runTool` 卡住的是什么 | | 四个基础工具 | 从 `fs.readFileSync` 引入工具契约的作用 | | 第 1 级:同步 Bash | 建立基线,观察工具等待期间请求数为 0 | | 第 2 级:后台 Bash | 只加一个参数,工具先还回执,Loop 继续运行 | | 第 3 级:阻塞提问 | 等的从进程换成人,机制完全一样 | | 第 4 级:异步提问 | 把「发问题」和「拿答案」拆开,和第 2 级路径相同 | | 行业对比 | AiWork / Codex / Claude Code / OpenAI Responses API 各自的处理方式 | | 收件箱统一三条路径 | 后台进程、子 Agent、用户答复走同一个机制,回到 AiWork | 更多说明见 [async-agent-lab/README.md](async-agent-lab/README.md)。