Agent Framework Source Notes
Agent 框架源码阅读系列
这个系列不做框架排行榜,而是跟着一次 Agent 运行逐项追问:谁调用模型,谁执行工具,状态写到哪里, 哪些操作要先授权,步骤和多个 Agent 又怎样衔接。前五篇先建立比较方法;中间五篇用 ADK、Agno、AutoGen、 CrewAI 与 Eino 展开不同取舍;最后三篇沿 tRPC-Agent-Go 的上下文、Memory 和 Evolution,分别处理当前会话、跨会话知识与未来可复用的 Skill。
源码链接固定到文中标注的公开快照,产品定位以项目 README 与官方文档为准。每篇都固定一个请求或任务,按“输入如何进入、哪个组件改变状态、读者能看到什么结果、失败会留下什么影响”的顺序阅读。
从 Claude Code 和 Codex 的运行主线回看通用框架:比较模型调用、工具执行、状态保存与权限检查分别由哪些组件完成。
源码阅读 · 第二篇 Pi 为什么把 Coding Agent 做成可扩展的 Harness沿 pi-ai、agent-core 和 coding-agent 看最小实现怎样运行工具循环、保存会话树并压缩上下文,又把 plan、sub-agent、MCP 与权限策略留给扩展。
源码阅读 · 第三篇 跟 AgentScope 的 reply_stream 走一遍在 Pi 的最小基线上,沿 AgentScope 的回复主线看事件怎样流动、状态怎样记录、工具何时获准执行,以及 Responses API 与 Chat Completions 的适配差异。
源码阅读 · 第四篇 Agent 的工作现场在哪里用同一项脚本任务拆开 Coding / General 与 Local / Cloud,再看 workspace、sandbox、session、artifact 和 memory 分别存在哪里,沙箱销毁后哪些还能留下。
源码阅读 · 第五篇 Agent 协议到底在连接谁用一个合同续约任务确认 MCP、A2A、AG-UI、Agent Client Protocol 与模型 Provider API 分别连接哪两端、传递什么,以及不能替代谁。
源码阅读 · 第六篇 ADK Python 为什么把 Agent 和 Workflow 放在一起看 ADK 2.0 如何让同一个 Runner 执行自主 Agent 与确定性 Workflow,并把过程写成 Session Event、通过 Task API 暴露长任务。
源码阅读 · 第七篇 Agno 把 agent 做成平台,而不是只做成对象看 AgentOS 如何注册 Agent、Team 与 Workflow,提供运行 API 和存储,并把审批、RBAC、定时任务与外部接口接到同一套服务中。
源码阅读 · 第八篇 AutoGen 到 Microsoft Agent Framework:从多 Agent 对话到生产编排AutoGen 已进入 maintenance mode。本文从 Core runtime、AgentChat team 读到 MAF 的 Agent、Workflow、Orchestrations 和 Hosting。
源码阅读 · 第九篇 CrewAI 把 Agent 写成团队流程,而不是消息总线从 Agent、Task、Crew、Process 和 Flow 源码看 CrewAI 如何把团队自治和生产控制拆开建模。
源码阅读 · 第十篇 Eino 怎样把 Agent 应用编译成 Go 执行图从 Component、Runnable 与 compose Graph 看一张图怎样编译成可运行的 Go 代码,再追踪 checkpoint、callback、ADK Runner、ChatModelAgent 和 AgentTool。
源码阅读 · 第十一篇 tRPC-Agent-Go 怎样运行任务与整理上下文先沿 Runner、Agent、Model 和服务组件走完一次请求,再看 Summary、Context Compaction 与 Session Recall 分别何时压缩、怎样重建、从哪里找回原始事件。
源码阅读 · 第十二篇 tRPC-Agent-Go Memory 怎样把经历变成可检索知识跟一条用户环境事实走完 delta、extract、reconcile、Fact/Episode 与混合检索,再用 LoCoMo-10 检查质量、成本和拒答退化。
源码阅读 · 第十三篇 tRPC-Agent-Go Evolution 怎样学习,也怎样拒绝坏 Skill分别跟随在线复盘与 Skill 发布、独立的 GEPA 离线优化及 SkillCraft 评测,区分候选改写、验证证据和实际生效。