| <!DOCTYPE html> |
| <html lang="zh-CN"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Agent 框架选型的九次推翻 — 从 EvoAgentX 到 scaffolding 本身 | Ehco's Blog</title> |
| <meta name="description" content="用九轮对话寻找一个理论扎实、能自进化、能沉淀知识的 agent 框架,最后发现被推翻的不是某个框架,是把这个问题问成"哪个框架"本身"> |
| <meta property="og:title" content="Agent 框架选型的九次推翻 — 从 EvoAgentX 到 scaffolding 本身"> |
| <meta property="og:description" content="用九轮对话寻找一个理论扎实、能自进化、能沉淀知识的 agent 框架,最后发现被推翻的不是某个框架,是把这个问题问成"哪个框架"本身"> |
| <meta property="og:type" content="article"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css" media="(prefers-color-scheme: light)"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css" media="(prefers-color-scheme: dark)"> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css"> |
| <style> |
| :root { |
| --color-bg: #ffffff; |
| --color-fg: #1f2937; |
| --color-fg-muted: #4b5563; |
| --color-fg-faint: #6b7280; |
| --color-link: #2563eb; |
| --color-link-hover: #1d4ed8; |
| --color-border: #e5e7eb; |
| --color-border-strong: #d1d5db; |
| --color-code-bg: #f6f8fa; |
| --color-blockquote-bg: #f9fafb; |
| --color-blockquote-border: #d1d5db; |
| --color-table-stripe: #f9fafb; |
| --color-meta: #6b7280; |
| } |
| @media (prefers-color-scheme: dark) { |
| :root { |
| --color-bg: #0d1117; |
| --color-fg: #c9d1d9; |
| --color-fg-muted: #8b949e; |
| --color-fg-faint: #6e7681; |
| --color-link: #58a6ff; |
| --color-link-hover: #79b8ff; |
| --color-border: #30363d; |
| --color-border-strong: #444c56; |
| --color-code-bg: #161b22; |
| --color-blockquote-bg: #161b22; |
| --color-blockquote-border: #30363d; |
| --color-table-stripe: #161b22; |
| --color-meta: #8b949e; |
| } |
| } |
| * { box-sizing: border-box; } |
| html { scroll-behavior: smooth; } |
| body { |
| margin: 0; |
| background: var(--color-bg); |
| color: var(--color-fg); |
| font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", |
| "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", |
| Helvetica, Arial, sans-serif; |
| font-size: 16px; |
| line-height: 1.75; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
| .site-footer { |
| max-width: 820px; |
| margin: 0 auto; |
| padding: 24px; |
| text-align: center; |
| font-size: 14px; |
| color: var(--color-meta); |
| border-top: 1px solid var(--color-border); |
| } |
| .site-footer a { |
| color: var(--color-meta); |
| text-decoration: none; |
| } |
| .site-footer a:hover { color: var(--color-link); } |
| |
| article { |
| max-width: 820px; |
| margin: 0 auto; |
| padding: 56px 24px 96px; |
| } |
| article h1 { |
| font-size: 32px; font-weight: 700; line-height: 1.3; |
| margin: 0 0 16px; letter-spacing: -0.02em; |
| } |
| article h2 { |
| font-size: 24px; font-weight: 700; line-height: 1.35; |
| margin: 56px 0 20px; padding-top: 12px; |
| border-top: 1px solid var(--color-border); letter-spacing: -0.01em; |
| } |
| article h3 { font-size: 19px; font-weight: 600; line-height: 1.4; margin: 36px 0 14px; } |
| article h4 { font-size: 17px; font-weight: 600; margin: 28px 0 12px; } |
| article p { margin: 0 0 18px; } |
| article a { |
| color: var(--color-link); text-decoration: none; |
| border-bottom: 1px solid transparent; transition: border-color 0.15s ease; |
| } |
| article a:hover { border-bottom-color: var(--color-link-hover); color: var(--color-link-hover); } |
| article strong { font-weight: 600; color: var(--color-fg); } |
| article ul, article ol { margin: 0 0 18px; padding-left: 28px; } |
| article li { margin-bottom: 6px; } |
| article li > p { margin: 0 0 10px; } |
| article hr { border: 0; border-top: 1px solid var(--color-border); margin: 48px 0; } |
| article blockquote { |
| margin: 0 0 24px; padding: 14px 20px; |
| background: var(--color-blockquote-bg); |
| border-left: 3px solid var(--color-blockquote-border); |
| border-radius: 4px; color: var(--color-fg-muted); |
| } |
| article blockquote p { margin: 0 0 8px; } |
| article blockquote p:last-child { margin-bottom: 0; } |
| article code { |
| background: var(--color-code-bg); border-radius: 4px; |
| padding: 2px 6px; |
| font-family: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; |
| font-size: 0.88em; color: var(--color-fg); |
| } |
| article pre { |
| background: var(--color-code-bg); border-radius: 8px; |
| padding: 16px 18px; overflow-x: auto; margin: 0 0 22px; |
| font-size: 13.5px; line-height: 1.6; |
| border: 1px solid var(--color-border); |
| } |
| article pre code { background: transparent; padding: 0; border-radius: 0; font-size: inherit; } |
| article table { |
| border-collapse: collapse; margin: 0 0 24px; font-size: 14.5px; |
| width: 100%; display: block; overflow-x: auto; |
| } |
| article table thead { background: var(--color-blockquote-bg); } |
| article th, article td { |
| border: 1px solid var(--color-border); |
| padding: 10px 14px; text-align: left; vertical-align: top; |
| } |
| article th { font-weight: 600; } |
| article tbody tr:nth-child(even) { background: var(--color-table-stripe); } |
| article svg { |
| display: block; max-width: 100%; height: auto; |
| margin: 32px auto; border-radius: 6px; |
| } |
| article img { |
| max-width: 100%; height: auto; display: block; |
| margin: 24px auto; border-radius: 6px; |
| } |
| article > blockquote:first-of-type { margin-top: 0; font-size: 16px; } |
| .post-nav { |
| max-width: 820px; margin: 0 auto; padding: 20px 24px 0; |
| font-size: 14px; |
| } |
| .post-nav a { color: var(--color-meta); text-decoration: none; } |
| .post-nav a:hover { color: var(--color-link); } |
| @media (max-width: 640px) { |
| article { padding: 32px 18px 64px; } |
| article h1 { font-size: 26px; } |
| article h2 { font-size: 21px; } |
| article h3 { font-size: 17px; } |
| } |
| article pre code.hljs { padding: 0; background: transparent; } |
| .katex { font-size: 1.05em; } |
| </style> |
| </head> |
| <body> |
| <nav class="post-nav"><a href="../index.html">← 返回首页</a></nav> |
| <article> |
| <h1 id="agent-框架选型的九次推翻-从-evoagentx-到-scaffolding-本身">Agent 框架选型的九次推翻 — 从 EvoAgentX 到 scaffolding 本身</h1> |
| <blockquote> |
| <p>用九轮对话寻找一个"理论扎实 + 自进化 + 能沉淀知识"的 agent 框架。每一轮都给出最佳推荐,每一轮都被下一轮推翻。最后我意识到:被推翻的不是某个框架,是这个问题本身。</p> |
| <p><strong>Ehco</strong> · 2026 年 5 月 · 阅读时间约 18 分钟</p> |
| </blockquote> |
| <hr /> |
| <h2 id="摘要">摘要</h2> |
| <p>我和 AI 来回了九轮,试图选一个 agent 框架。九轮之后我得到的不是答案,是一张领域地图:五种本体论假设、六个未来趋势、一条研究增量。这篇博客记录这次认知迭代的痕迹,最终落到 agent 框架的真正核心理念——<strong>scaffolding over modification</strong>——再往前推到一个具体的、可证伪的研究方向:用 agent + tool 任务作为"小模型 + 知识外置"的实验台。</p> |
| <p>如果你也在选 agent 框架,希望这篇能帮你跳过中间七轮。</p> |
| <hr /> |
| <h2 id="1-起点一个看起来简单的问题">1. 起点:一个看起来简单的问题</h2> |
| <p>研究者面对 agent 框架时,常见的三条硬性要求:</p> |
| <ol> |
| <li><strong>理论扎实</strong> —— 有 paper、有理论框架,不是纯工程 demo</li> |
| <li><strong>自进化</strong> —— scaffolding 层(prompt / workflow / skill / 架构)随使用变好</li> |
| <li><strong>沉淀知识</strong> —— 经验跨 session 累积、可检索、可演化</li> |
| </ol> |
| <p>听起来简单吧。"市面上现在哪个 agent 框架同时满足这三条?"</p> |
| <p>九轮之后才明白——<strong>这个问题问错了</strong>。</p> |
| <hr /> |
| <h2 id="2-九轮推荐的痕迹">2. 九轮推荐的痕迹</h2> |
| <p>为了让你看到迭代过程本身,把九轮推荐压成一张表:</p> |
| <table> |
| <thead> |
| <tr> |
| <th>轮次</th> |
| <th>当时的"最佳推荐"</th> |
| <th>当时的理由</th> |
| <th>后来发现</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>1</td> |
| <td>CoALA + Voyager + Letta</td> |
| <td>经典组合</td> |
| <td>偏旧。Voyager 是 2023 年的工作</td> |
| </tr> |
| <tr> |
| <td>2</td> |
| <td>EvoAgentX</td> |
| <td>名字里就有 self-evolving,2.5k stars,配套综述</td> |
| <td>v0.1 demo 停在 2025-09,本质是 AutoML-for-prompts,不是 lifelong learning</td> |
| </tr> |
| <tr> |
| <td>3</td> |
| <td>DSPy + Letta + HippoRAG 2</td> |
| <td>Stanford 视角,DSPy 是 ICLR Spotlight</td> |
| <td>完全没看到中国生态。AgentScope 团队已经把整套东西做出来了</td> |
| </tr> |
| <tr> |
| <td>4</td> |
| <td>AgentScope + ReMe + Trinity-RFT</td> |
| <td>撞上正解</td> |
| <td>把"集成"误说成 monorepo——三者其实是同团队的独立项目</td> |
| </tr> |
| <tr> |
| <td>5</td> |
| <td>砍掉 Trinity-RFT</td> |
| <td>加上 "API 模型、不能训权重" 约束后 RFT 路径不可行</td> |
| <td>修正方向但没扩展候选</td> |
| </tr> |
| <tr> |
| <td>6</td> |
| <td>单推 ReMe</td> |
| <td>"三条全中、且代码可用"</td> |
| <td>数据没核实——ReMe 在 BFCL 上提升只有 +2-15%,是温和改进不是革命</td> |
| </tr> |
| <tr> |
| <td>7</td> |
| <td>A-MEM 平推</td> |
| <td>NeurIPS 2025,自动进化</td> |
| <td>A-MEM 已经被 D-MEM/Mem0 在 LoCoMo 超越 25+ 分</td> |
| </tr> |
| <tr> |
| <td>8</td> |
| <td>引入 D-MEM、Quality Gating dual-process</td> |
| <td>2026-03 神经科学新工作</td> |
| <td>都是研究代码,没有产品形态</td> |
| </tr> |
| <tr> |
| <td>9</td> |
| <td>三层架构(不再单推)</td> |
| <td>没有单点最优,分层 bet</td> |
| <td>这一轮的结论看起来终于站得住</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>每一轮的方法论错误是同一个:<strong>在上一轮答案的基础上做局部优化,没有定期回到完整的 SOTA 检索</strong>。结果就是每一轮的推荐都比真实 SOTA 落后 6-12 个月。对研究者来说,这是致命的——你拿一个去年的 paper 当起点,中间错过了 3-4 篇关键工作。</p> |
| <p>如果可以重来,第一轮我应该说:"这个领域 2025-2026 没有稳定的最佳框架,在足够 search 之前不要用'唯一''最佳'这种词,告诉我你的具体场景再来定。"</p> |
| <hr /> |
| <h2 id="3-当框架塌陷后剩下什么五种本体论假设">3. 当框架塌陷后剩下什么:五种本体论假设</h2> |
| <p>九轮推荐都被推翻之后,留下的不是空白——是一张更深的地图。把所有讨论过的框架归约到底,其实是<strong>五种不同的本体论假设</strong>——对"agent 该如何记忆和进化"的根本回答不一样。</p> |
| <h3 id="一认知架构派记忆是分层模块">一、认知架构派:记忆是分层模块</h3> |
| <ul> |
| <li><strong>代表</strong>:CoALA (Princeton, arXiv:2309.02427) → Letta (UC Berkeley)</li> |
| <li><strong>祖宗</strong>:Soar、ACT-R、Newell(1980 年代论证人类心智需要 working / episodic / semantic / procedural 四类记忆协同)</li> |
| <li><strong>核心 claim</strong>:把这套分类直接搬到 LLM agent 上。Letta 把 LLM 当 OS,记忆是 RAM 加 disk</li> |
| <li><strong>软肋</strong>:这套分类是"人类心智的对吗",但 LLM 心智未必如此。强行四分类可能反而限制表达</li> |
| </ul> |
| <h3 id="二知识网络派记忆是动态图">二、知识网络派:记忆是动态图</h3> |
| <ul> |
| <li><strong>代表</strong>:A-MEM (Rutgers, NeurIPS 2025) → HippoRAG 2 (OSU, ICML 2025) → D-MEM (UCSD/CMU, 2026-03)</li> |
| <li><strong>祖宗</strong>:Zettelkasten(Niklas Luhmann 用 9 万张卡片建立思想网络)+ 海马体记忆巩固理论</li> |
| <li><strong>核心 claim</strong>:知识不是分类存的,是通过链接形成网络。新记忆触发旧记忆的元数据更新,整个图随经验自适应</li> |
| <li><strong>软肋</strong>:A-MEM 已经被 D-MEM 用 RPE(Reward Prediction Error)门控批了——每次写入都全图更新是 O(N²),规模一上来就崩。理论漂亮但工程上有明显瓶颈</li> |
| </ul> |
| <h3 id="三生产记忆派记忆是一个服务">三、生产记忆派:记忆是一个服务</h3> |
| <ul> |
| <li><strong>代表</strong>:Mem0 (ECAI 2025, arXiv:2504.19413) → ReMe (阿里 Tongyi, arXiv:2512.10696)</li> |
| <li><strong>祖宗</strong>:分布式系统的 conflict-free replicated data types、CDC 数据库、缓存</li> |
| <li><strong>核心 claim</strong>:记忆和理论无关,是个有 API、有 SLA、有冲突解决策略的存储服务。重点是 latency、cost、framework 集成数量</li> |
| <li><strong>软肋</strong>:理论上没什么新东西,本质是 RAG 加结构化更新。但工程上——它是<strong>唯一能现在直接拿来用的</strong></li> |
| </ul> |
| <h3 id="四编译优化派agent-是可优化的程序">四、编译优化派:agent 是可优化的程序</h3> |
| <ul> |
| <li><strong>代表</strong>:DSPy (Stanford, ICLR 2024 Spotlight) → TextGrad → AFlow → EvoAgentX</li> |
| <li><strong>祖宗</strong>:可微编程、PyTorch autograd、神经架构搜索</li> |
| <li><strong>核心 claim</strong>:agent pipeline 是 program,用数据驱动优化方法找最优 prompt / workflow 拓扑。把 SGD 思想搬到 LLM scaffolding 层</li> |
| <li><strong>软肋</strong>:思想优雅但<strong>和"沉淀知识"正交</strong>。它解决"如何一次性把 pipeline 调到最优",不解决"如何随时间累积经验"。是编译期一次性产物,不持久</li> |
| </ul> |
| <h3 id="五自演化派agent-重写自己">五、自演化派:agent 重写自己</h3> |
| <ul> |
| <li><strong>代表</strong>:ADAS (Hu/Lu/Clune, ICLR 2025) → Darwin Gödel Machine (Sakana AI, 2025) → AlphaEvolve (DeepMind, 2025)</li> |
| <li><strong>祖宗</strong>:Gödel machine(Schmidhuber)+ open-endedness(Stanley/Clune AI-GAs)+ quality-diversity 算法</li> |
| <li><strong>核心 claim</strong>:agent 应该有能力修改自己的源代码。meta-agent 用 archive-based exploration 生成更好的 agent 变体,archive 维护"踏脚石"而不是单一最优</li> |
| <li><strong>软肋</strong>:DGM 在 SWE-bench 上把成绩从 20% 推到 50%,但靠很多算力。<strong>理论最爽,烧 token 最多</strong></li> |
| </ul> |
| <h3 id="横向矩阵">横向矩阵</h3> |
| <table> |
| <thead> |
| <tr> |
| <th>流派</th> |
| <th>代表</th> |
| <th>理论扎实</th> |
| <th>自进化</th> |
| <th>沉淀知识</th> |
| <th>API 友好</th> |
| <th>当前可用</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>认知架构派</td> |
| <td>Letta</td> |
| <td>✅✅</td> |
| <td>⚠️</td> |
| <td>✅</td> |
| <td>✅</td> |
| <td>✅</td> |
| </tr> |
| <tr> |
| <td>知识网络派</td> |
| <td>A-MEM / D-MEM</td> |
| <td>✅✅</td> |
| <td>✅✅</td> |
| <td>✅✅</td> |
| <td>✅</td> |
| <td>⚠️ 研究代码</td> |
| </tr> |
| <tr> |
| <td>生产记忆派</td> |
| <td>Mem0 / ReMe</td> |
| <td>⚠️</td> |
| <td>⚠️</td> |
| <td>✅✅</td> |
| <td>✅✅</td> |
| <td>✅✅</td> |
| </tr> |
| <tr> |
| <td>编译优化派</td> |
| <td>DSPy</td> |
| <td>✅✅</td> |
| <td>⚠️ 编译期</td> |
| <td>❌</td> |
| <td>✅</td> |
| <td>✅</td> |
| </tr> |
| <tr> |
| <td>自演化派</td> |
| <td>ADAS / DGM</td> |
| <td>✅✅</td> |
| <td>✅✅</td> |
| <td>⚠️</td> |
| <td>✅</td> |
| <td>⚠️ 研究代码</td> |
| </tr> |
| </tbody> |
| </table> |
| <p><strong>没有任何一派单独同时拿满所有维度</strong>。这才是 2026 年这个领域的真实状态——五个传统还在分裂,没有合一的赢家。</p> |
| <hr /> |
| <h2 id="4-agent-的真正核心scaffolding-over-modification">4. Agent 的真正核心:scaffolding over modification</h2> |
| <p>九轮聊完,我才有底气回答一个看起来更基础的问题:<strong>agent 框架到底是为什么存在的?</strong></p> |
| <p>一个常见误区是把 agent 框架的目标说成"提升模型的准确性和效率"。这个表述错在哪里?</p> |
| <h3 id="把因果方向搞反">把因果方向搞反</h3> |
| <p>LLM 是一个<strong>无状态函数</strong>——给它输入返回输出,本身不变。Agent 框架做的不是"提升模型",而是<strong>在冻结的 LLM 之外构建一个有状态的、能与世界交互的系统</strong>。</p> |
| <p>打个比方:你不会说"汽车的目标是提升发动机的性能"。汽车需要发动机,但汽车存在的意义是把人从 A 运到 B。发动机性能在出厂前就定了。<strong>LLM 是发动机,agent 框架是汽车</strong>。</p> |
| <p>如果只是为了"提升准确性",最直接的方法是换更大的模型——根本不需要 agent 框架。Agent 框架要解决的是<strong>单纯换大模型解决不了的问题</strong>。</p> |
| <h3 id="llm-的六个本质局限">LLM 的六个本质局限</h3> |
| <table> |
| <thead> |
| <tr> |
| <th>LLM 局限</th> |
| <th>Agent 框架的对应解法</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>无状态</td> |
| <td>Memory 系统</td> |
| </tr> |
| <tr> |
| <td>无法行动</td> |
| <td>Tool calling</td> |
| </tr> |
| <tr> |
| <td>上下文有限</td> |
| <td>Context management / RAG</td> |
| </tr> |
| <tr> |
| <td>单步推理</td> |
| <td>ReAct / 多轮规划</td> |
| </tr> |
| <tr> |
| <td>静态知识</td> |
| <td>检索增强 / 网络搜索</td> |
| </tr> |
| <tr> |
| <td>不可信验证</td> |
| <td>Verifier / 多 agent 辩论</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>把五派重新放在这张表前面看,你会发现每一派其实是<strong>对"哪个 LLM 局限最该补"的不同回答</strong>。这不是哲学分歧,是工程优先级分歧。</p> |
| <h3 id="核心理念scaffolding不是-modification">核心理念:scaffolding,不是 modification</h3> |
| <p>Agent 框架的真正核心可以浓缩成一个英文词:<strong>scaffolding</strong>——脚手架。</p> |
| <blockquote> |
| <p>不要试图改进 LLM 本身。把 LLM 当成一个固定能力的"思考函数",在它周围搭建脚手架,让这个固定能力涌现出超出单次调用的复杂行为。</p> |
| </blockquote> |
| <p>支撑这个立场的三个根本判断:</p> |
| <ol> |
| <li> |
| <p><strong>模型能力短期内不会通过 agent 工程"提升"</strong>。GPT-4 就是 GPT-4,单次调用的能力上限不会因为你换框架而改变。Agent 框架能做的是让多次调用的总产出比单次调用大——<strong>这是涌现,不是提升</strong></p> |
| </li> |
| <li> |
| <p><strong>智能不只在大脑里,也在大脑和环境的交互中</strong>。这是 Andy Clark 的 extended mind hypothesis——一个数学家用纸和笔解题,"智能"不是只在大脑里,纸笔扩展了工作记忆。Agent 框架就是给 LLM 一套"纸和笔"</p> |
| </li> |
| <li> |
| <p><strong>可靠性来自约束,不来自能力</strong>。让 LLM 自己写一段复杂代码可能 70% 正确率。但如果你加上"先写测试,再写代码,跑测试,根据失败修代码"——可靠性能上 90%+。多出来的 20% 不是因为 LLM 变聪明了,是因为流程把它的不可靠性约束在了一个可恢复的循环里</p> |
| </li> |
| </ol> |
| <h3 id="一句话定义">一句话定义</h3> |
| <p>把闭环和 scaffolding 合起来,agent 框架的精确定义可以写成:</p> |
| <blockquote> |
| <p><strong>Agent 框架的核心理念是:把不变的 LLM 嵌入一个有状态、能行动、能反思、能积累的工程系统中,让模型的固定能力涌现出超出单次调用的复杂行为。</strong></p> |
| </blockquote> |
| <p>LLM 是大脑,agent 框架是身体。你不会问"汽车的目的是不是让发动机更准确",同样你也不该问"agent 框架的目的是不是让模型更准确"。</p> |
| <p>agent 框架的真正问题是:<strong>给定一颗已经定型的大脑,如何造一具身体让它走出实验室,做点真正的事</strong>。</p> |
| <hr /> |
| <h2 id="5-未来三年的六个方向">5. 未来三年的六个方向</h2> |
| <p>讲未来必须诚实——没人真的知道未来会怎样。能做的是把当前已经显现出方向性的信号列出来,让你自己判断。</p> |
| <p><strong>趋势一:从"对话型 agent"转向"行动型 agent"</strong></p> |
| <p>2023-2024 年的 agent 主要还是"和 agent 对话"。2025-2026 年明显的转向是长时间无人监督的自主任务执行——Claude Code、Cursor、Replit Agent、Devin、SWE-Agent。核心转变:从"agent 是个智能助手"到"agent 是个能独立完成任务的数字员工"。</p> |
| <p><strong>趋势二:multi-agent 成为默认架构</strong></p> |
| <p>Anthropic 公开他们内部用 multi-agent 做研究(research agent 调用多个子 agent 并行 search)。AgentScope、MetaGPT、AutoGen 都把 multi-agent orchestration 作为核心。未来 agent 的能力不只看单 agent 强不强,看 agent 之间的协议、协作模式、责任划分。</p> |
| <p><strong>趋势三:memory 从可选变成必备</strong></p> |
| <p>2024 年大多数 agent 系统没有真正的长期记忆。2026 年开始改变——LoCoMo benchmark、Mem0/A-MEM/D-MEM 这一系列工作的出现,标志着 memory 正在从"加分项"变成"基础设施"。Claude、ChatGPT、Gemini 都上线了原生 memory 功能。这会让 agent 真正具备"个性":同一个框架跑 6 个月之后,因为积累的经验不同,行为会显著分化。</p> |
| <p><strong>趋势四:从 prompt engineering 转向 system engineering</strong></p> |
| <p>2023 年大家比谁的 prompt 写得好。2026 年的关注点已经移到<strong>整个 agent 系统的工程质量</strong>:可观测性、错误恢复、成本控制、多租户隔离、安全沙箱、审计日志。LangSmith、Arize、Helicone 这些 LLM observability 工具的崛起;Anthropic Agent Skills(agentskills.io)成为开放标准;"Eval-driven development" 取代 prompt-driven。</p> |
| <p><strong>趋势五:垂直化和具身化分流</strong></p> |
| <p>通用 agent(OpenAI Operator)和垂直专用 agent(医疗、法律、coding、机器人)会越来越分化。Coding agent 已经单独成产业(Cursor、Devin、Cognition、Claude Code)。VLA(Vision-Language-Action)把 agent 推向物理世界。</p> |
| <p><strong>趋势六:自进化的真正实现还很远</strong></p> |
| <p>ADAS、DGM 这些工作有 promising signs,但都是研究 demo,没有产品形态。真正的自进化还有三个未解问题:</p> |
| <ol> |
| <li><strong>奖励信号问题</strong>:现实任务大多没有明确 reward</li> |
| <li><strong>稳定性问题</strong>:自修改的系统很容易越修改越烂(catastrophic drift)</li> |
| <li><strong>算力问题</strong>:让 meta-agent 探索 agent 空间需要大量 LLM 调用,成本不可控</li> |
| </ol> |
| <p>这个方向是研究的金矿,但<strong>不是产品的金矿</strong>。如果做研究是正确方向;如果做工程,未来 2-3 年的主流仍然是"人类设计 agent + memory 累积经验"。</p> |
| <h3 id="一句话押注">一句话押注</h3> |
| <p>把六个趋势串起来,我自己的押注是:</p> |
| <blockquote> |
| <p><strong>未来三年,agent 不会变得更"聪明",会变得更"靠谱"。</strong></p> |
| </blockquote> |
| <p>这个 distinction 比任何具体技术都重要。</p> |
| <hr /> |
| <h2 id="6-从bet-哪个框架到bet-研究增量">6. 从"bet 哪个框架"到"bet 研究增量"</h2> |
| <p>九轮之后,如果你逼我给一个具体推荐,我会说:</p> |
| <p><strong>三层架构 bet</strong>:</p> |
| <div class="codehilite"><pre><span></span><code>┌────────────────────────────────────────────┐ |
| │ 研究增量层(你的工作) │ |
| └────────────────────┬───────────────────────┘ |
| ↓ |
| ┌────────────────────────────────────────────┐ |
| │ 执行层 (Execution): AgentScope v2 │ |
| │ ReAct 循环、tool calling、HITL、streaming │ |
| └────────────────────┬───────────────────────┘ |
| ↓ |
| ┌────────────────────────────────────────────┐ |
| │ 记忆层 (Memory): Mem0 + ReMe │ |
| │ Mem0 做 personal/episodic(LoCoMo SOTA) │ |
| │ ReMe 做 procedural(任务执行强) │ |
| └────────────────────┬───────────────────────┘ |
| ↓ |
| ┌────────────────────────────────────────────┐ |
| │ 模型层 (Model): API 模型组合 │ |
| └────────────────────────────────────────────┘ |
| </code></pre></div> |
|
|
| <p>但<strong>这个推荐不是终点</strong>。</p> |
| <p><strong>真正的终点是:bet 不在框架,在你自己的研究问题</strong>。框架是水电煤,研究问题才是房子。三层架构的价值不在于它最强,而在于<strong>对所有可能赢家的兼容性</strong>——任何一层有更好的替代品出现,你都能换掉那一层而不丢掉整个工作。</p> |
| <h3 id="一个具体的研究假设">一个具体的研究假设</h3> |
| <p>举一个具体的研究方向作为例子:</p> |
| <blockquote> |
| <p><strong>用 agent + tool 任务作为"小模型 + 知识外置"的可证伪实验台。</strong></p> |
| </blockquote> |
| <p>这个假设是这样推出来的——</p> |
| <p>一个常见的初始想法是做"零知识 reasoning core":一个具零知识但推理能力极强的小模型。但这个命题在自然语言上<strong>无法证伪</strong>:任何 NL 任务都掺世界知识,"零知识"根本无法干净操作,评估永远糊。</p> |
| <p>但 <strong>agent + tool 这个设定恰好把知识外置成可见、可控的接口</strong>:</p> |
| <ul> |
| <li>工具调用成功率是干净指标</li> |
| <li>世界知识被搬到 tool 后端</li> |
| <li>给"小模型靠 test-time compute 强推理"这个假设找到了一个能 falsify 的实验台</li> |
| </ul> |
| <h3 id="一个被打掉的细节">一个被打掉的细节</h3> |
| <p>顺着这条线,自然会想到再配一个 loss 函数"剥离知识,只保留语义理解和推理"。深查之后必须承认:<strong>原理上不存在</strong>。</p> |
| <blockquote> |
| <p>神经网络里"知识"和"推理"用的是同一组权重。不是"难分开"——是它们根本就不是两个东西。</p> |
| </blockquote> |
| <p>这是过去 10 年神经科学和深度学习交叉领域的共识。"知识剥离"这个想法和"把蛋糕的甜味剥离出来留下口感"是同构的——你不能 isolate 一个<strong>不作为独立成分存在</strong>的东西。</p> |
| <p>这个 finding 比"找到对的 loss"更重要——它告诉你这个方向应该绕开。<strong>省掉的六个月比新做的工作更值钱</strong>。</p> |
| <h3 id="test-time-compute-那条还活着">test-time compute 那条还活着</h3> |
| <p>去掉"剥离知识"之后,剩下的研究空间在另一个维度:<strong>test-time compute 的两个独立轴</strong>。</p> |
| <ul> |
| <li><strong>Token 空间</strong>(CoT 系):模型把思考写成可读 token 序列。可解释、可教学、慢</li> |
| <li><strong>Latent 空间</strong>(递归 / loop / diffusion):思考在隐空间中迭代。快、不可解释、压缩高</li> |
| </ul> |
| <p>理论上对小模型来说,<strong>latent space test-time compute 更有意义</strong>——它不靠"记住更多事实"(小模型本来就装不下),靠"用更多算力把同样的能力榨出来"。这才是和"小模型 + tools" 真正搭配的方向:</p> |
| <ul> |
| <li>小模型负责语言理解 + tool 调用决策</li> |
| <li>test-time compute 在 latent space 里做迭代细化</li> |
| <li>知识外置在 tool 后端</li> |
| <li>评估指标在 BFCL / AppWorld 这些工具调用 benchmark 上是干净的</li> |
| </ul> |
| <h3 id="现实的硬度">现实的硬度</h3> |
| <p>不要美化这条路:</p> |
| <ul> |
| <li><strong>Qwen2.5-0.5B 已经在 BFCL 榜上</strong>(Berkeley 自己提交的)。想拿 ≤ 1B 模型做 agent SOTA,是个公开战场</li> |
| <li>HRM 27M / TRM 7M 在 ARC 上击败 o3-mini 的"奇迹",ARC Prize 复现报告显示 80% 来自训练范式(数据增广 + 迭代细化),递归模块本身只贡献 5pp</li> |
| <li>这是研究方向,不是 6 个月能 ship 的产品</li> |
| </ul> |
| <p>但作为研究,它满足三个条件:<strong>理论有抓手</strong>(计算放在哪个空间是可论证的)、<strong>可证伪</strong>(BFCL/AppWorld 干净指标)、<strong>资源可控</strong>(消费级显卡 + API 模型即可)。</p> |
| <p>这就够了。</p> |
| <hr /> |
| <h2 id="7-结语九轮之后的真信念">7. 结语:九轮之后的真信念</h2> |
| <p>九轮讨论之后,我学到的不是哪个框架最好,是<strong>问题问得不对</strong>。</p> |
| <p>正确的姿态可以归纳为四句话:</p> |
| <ol> |
| <li><strong>没有一站式答案</strong>。五派分立,组合使用,自己动手</li> |
| <li><strong>Agent 的核心是闭环</strong>。趋势是闭环的每一环都在被工程化</li> |
| <li><strong>真正应该 bet 的是"对所有可能赢家的兼容性"</strong>——分层架构</li> |
| <li><strong>但分层架构本身只是水电煤</strong>。真正要 bet 的是研究问题</li> |
| </ol> |
| <p>未来三年,agent 框架的赢家可能 2027 年才会出现。在那之前,你需要的不是"赌对赢家",是"保持对所有可能赢家的兼容性"。<strong>同时,把研究问题想清楚——比框架重要十倍</strong>。</p> |
| <p>九轮之后我对这个领域的态度从"想找一站式答案"变成了"接受没有一站式答案"。这不是失败,是更准的认识。</p> |
| <hr /> |
| <h2 id="参考资料">参考资料</h2> |
| <p><strong>理论与综述</strong></p> |
| <ul> |
| <li><em>CoALA: Cognitive Architectures for Language Agents</em> — Sumers et al., Princeton, 2023. arXiv:2309.02427</li> |
| <li><em>A Comprehensive Survey of Self-Evolving AI Agents</em> — Fang et al., 2025. arXiv:2508.07407</li> |
| </ul> |
| <p><strong>记忆系统</strong></p> |
| <ul> |
| <li><em>Letta / MemGPT</em> — UC Berkeley</li> |
| <li><em>A-MEM: Agentic Memory</em> — Xu et al., NeurIPS 2025. arXiv:2502.12110</li> |
| <li><em>HippoRAG 2</em> — ICML 2025. arXiv:2502.14802</li> |
| <li><em>D-MEM</em>(多巴胺 RPE 门控)— UCSD/CMU, 2026-03. arXiv:2603.14597</li> |
| <li><em>Mem0</em> — ECAI 2025. arXiv:2504.19413</li> |
| <li><em>ReMe: Dynamic Procedural Memory Framework</em> — SJTU + 阿里 Tongyi, 2025-12. arXiv:2512.10696</li> |
| </ul> |
| <p><strong>框架与编译优化</strong></p> |
| <ul> |
| <li><em>DSPy</em> — Stanford, ICLR 2024 Spotlight</li> |
| <li><em>AgentScope 1.0</em> — 阿里 Tongyi Lab. arXiv:2508.16279</li> |
| </ul> |
| <p><strong>自演化</strong></p> |
| <ul> |
| <li><em>ADAS: Automated Design of Agentic Systems</em> — Hu, Lu, Clune, ICLR 2025. arXiv:2408.08435</li> |
| <li><em>Darwin Gödel Machine</em> — Sakana AI, 2025. arXiv:2505.22954</li> |
| <li><em>AlphaEvolve</em> — DeepMind, 2025. arXiv:2506.13131</li> |
| </ul> |
| <p><strong>追踪资源</strong></p> |
| <ul> |
| <li><a href="https://github.com/TsinghuaC3I/Awesome-Memory-for-Agents">TsinghuaC3I/Awesome-Memory-for-Agents</a> —— 这才是这个领域真正应该 watch 的 repo</li> |
| </ul> |
| </article> |
| <footer class="site-footer"> |
| <p>© 2026 Ehco · CC BY 4.0 · 转载请注明出处 · <a href="../index.html">首页</a></p> |
| </footer> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script> |
| <script> |
| document.querySelectorAll("pre code").forEach((el) => { hljs.highlightElement(el); }); |
| </script> |
| <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script> |
| <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js" |
| onload="renderMathInElement(document.body, { |
| delimiters: [ |
| {left: '$$', right: '$$', display: true}, |
| {left: '$', right: '$', display: false}, |
| {left: '\\(', right: '\\)', display: false}, |
| {left: '\\[', right: '\\]', display: true} |
| ], |
| throwOnError: false |
| });"></script> |
| </body> |
| </html> |
|
|