Vercel AI SDK 深度解析:ToolLoopAgent 是 Facade,真正的循环在 generateText 里
从 ToolLoopAgent 出发,追踪到 generateText 内部的 do-while 循环;逐行解析 StopCondition 类型设计、isStepCount/hasToolCall 工厂函数,以及中间件洋葱模型的 reverse-reduce 实现。读完可独立复现 AI SDK 的 Agent 核心逻辑。
标签归档
这个标签聚合了围绕同一个主题或技术细节的已发布文章。
从 ToolLoopAgent 出发,追踪到 generateText 内部的 do-while 循环;逐行解析 StopCondition 类型设计、isStepCount/hasToolCall 工厂函数,以及中间件洋葱模型的 reverse-reduce 实现。读完可独立复现 AI SDK 的 Agent 核心逻辑。
从 pi-mono 的一行 `toolCallId: string` 出发,追踪一条跨越框架层和 LLM Provider 协议层的技术债。任何包装 Anthropic 或 OpenAI API 的框架,在接手协议的那一刻就已经继承了这笔债。
从 agent-loop.ts 的双层 while 到 compaction.ts 的增量摘要,逐行解读 pi-mono 如何在有限的上下文窗口里维持一个 AI 代理的"长期记忆"——以及这个设计在生产环境中隐藏的 8 个工程缺口。
一个版本号为 3 的文件,可以合法地包含版本 1 格式的数据体。forkFrom() 在写文件时主动写入了这个矛盾——这是 Lying Sentinel 反模式的典型形态。pi-mono 源码解析系列收尾篇,揭示四步 Silent Corruption Cascade 与 TypeScript 类型系统的表达空白。
在 pi-mono 的真实会话数据中,45% 的上下文记录是工具调用结果——每次上下文压缩都在对这批数据重复执行同一个验证。这是一个被展平的 JSONL 格式掩盖的设计债,而数据库和消息队列早在七年前就解决了同类问题。
单个Agent的瓶颈在哪里?Supervisor、Swarm、Role-based三种编排模式各适合什么场景?本篇从架构原理出发,构建一个CodingAgent+ReviewAgent的Supervisor系统,带你理解上下文过滤、任务路由、终止保护的工程细节。
把前5篇积累的零件——Agent Loop、ReAct推理、Tool Protocol、System Prompt方法论、ToolResult——全部组装起来,构建一个能读代码、写代码、跑测试、自动修bug的Coding Agent。