blog / posts /agent-core-2026.html
whycoming
add agent-core post: two definitions of agent in 2026
30218ae
Raw
History Blame Contribute Delete
34.3 kB
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Agent 这个词在 2026 年指向两个不同的东西 | Ehco's Blog</title>
<meta name="description" content="工业派定义&quot;LLM 控制 control flow&quot;是 agent;经典派要求 runtime reward / 持续学习 / 内部目标。两个共名异义。把它们搁同一张桌子上对质,才知道今天的 LLM agents 站在哪条线之上、哪条线之下">
<meta property="og:title" content="Agent 这个词在 2026 年指向两个不同的东西">
<meta property="og:description" content="工业派定义&quot;LLM 控制 control flow&quot;是 agent;经典派要求 runtime reward / 持续学习 / 内部目标。两个共名异义。把它们搁同一张桌子上对质,才知道今天的 LLM agents 站在哪条线之上、哪条线之下">
<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-这个词在-2026-年指向两个不同的东西">Agent 这个词在 2026 年指向两个不同的东西</h1>
<blockquote>
<p>工业派把 agent 定义为"一种部署模式:LLM 控制 control flow"。经典派把 agent 定义为"相对于环境与性能度量的实体"。两者共名异义。Anthropic 的 workflow-vs-agent 准则只解决了工业派那半边——经典派的天花板还没动。</p>
<p><strong>Ehco</strong> · 2026 年 5 月 · 阅读时间约 16 分钟</p>
</blockquote>
<hr />
<h2 id="摘要">摘要</h2>
<p>最近有朋友问我"agent 的核心是什么"。第一反应我用了一个汽车比喻:LLM 是发动机,agent 是车,用户是驾驶员,环境是世界。</p>
<p>这个比喻有个错位——<strong>在汽车里驾驶员决定去哪,但在 agent 里决定去哪的是 LLM 自己</strong>。这一刻我意识到,"agent"这个词在 2026 年的语义已经分裂成两个不同的东西,而我们大部分人——包括写框架的、写 paper 的、写博客的——都在含糊地混用它们。</p>
<p>这篇文章把这两个定义拉到同一张桌子上对质:</p>
<ol>
<li><strong>工业派的答案</strong>——Anthropic 给了 2026 年最清爽的判定:workflow 是代码定义路径,agent 是 LLM 动态决定路径。"控制权归属"是关键,<strong>和工具、记忆、规划都无关</strong></li>
<li><strong>经典派的答案</strong>——Russell &amp; Norvig、Sutton &amp; Barto、Wooldridge、Schmidhuber 这四个老定义检视一下,你会发现按经典标准,今天的 LLM agents <strong>没一个算 agent</strong></li>
<li><strong>张力</strong>——为什么没法 unify:两边在测量不同的东西</li>
<li><strong>比"列组件"更有用的拆解</strong>——不要再问"agent 该有哪些组件",要问"<strong>agency 安放在哪里</strong>"</li>
<li><strong>五条核心洞见</strong>——给你拿走</li>
</ol>
<p>读完之后你不会得到一个"agent 的标准定义",因为它<strong>不存在</strong>。你会得到一张地图:知道哪条边界是工业派的、哪条边界是经典派的、自己在押哪边的注。</p>
<hr />
<h2 id="1-起点你有没有想过这个词出了问题">1. 起点:你有没有想过这个词出了问题</h2>
<p>让我们做个小实验。下面五个东西,哪些是 agent?</p>
<ol>
<li>ChatGPT 的 Code Interpreter——LLM 写 Python,沙盒里跑,看结果,再写</li>
<li>一个 Zapier 流水线——"收到邮件 → 提取金额 → 录入 Notion"</li>
<li>Claude Code——读你的代码库、改文件、跑测试、根据结果修代码</li>
<li>AlphaGo——感知棋盘、选动作、得到胜负反馈、改进 policy</li>
<li>一个温控器——温度低于 20 度就开热泵</li>
</ol>
<p>直觉上,3 是 agent,2 不是。但 1 是吗?4 算吗?5 在 1995 年的 AI 教科书里<strong>就是</strong>经典 agent 的入门例子。</p>
<p>如果你能给一个把这五个清晰分类的判定准则——你已经领先了行业里 80% 的人。<strong>因为这个准则不存在</strong></p>
<p>不存在的原因是:"agent"在 2026 年指向两个不同的东西。一个来自 1995 年的多智能体系统传统,一个来自 2023 年的 LLM 工具调用工程。它们碰巧都用了同一个词。</p>
<hr />
<h2 id="2-工业派的答案control-flow-归属权">2. 工业派的答案:control flow 归属权</h2>
<p>工业界 2024-2026 年最 rigorous 的定义来自 Anthropic 2024 年 12 月的博客 <a href="https://www.anthropic.com/research/building-effective-agents">Building Effective Agents</a></p>
<blockquote>
<p>Workflows are systems where LLMs and tools are orchestrated through <strong>predefined code paths</strong>. Agents are systems where <strong>LLMs dynamically direct their own processes</strong> and tool usage, maintaining control over how they accomplish tasks.</p>
</blockquote>
<p>翻译成一个判定准则:</p>
<blockquote>
<p><strong>代码决定下一步 → workflow;LLM 决定下一步 → agent</strong></p>
</blockquote>
<p>这条准则的好处是它<strong>和工具、记忆、规划都无关</strong>。我们扫了一遍 13 个生产框架(Anthropic / OpenAI Swarm / LangGraph / AutoGen / CrewAI / MetaGPT / AgentScope / DSPy / Letta / smolagents / Devin / Pydantic-AI / Manus),抽出每家的核心抽象:</p>
<table>
<thead>
<tr>
<th>普适性</th>
<th>现象</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ 100% 共识</td>
<td><strong>loop</strong>——所有 13 个框架都把迭代作为定义性特征。没有 loop 就不是 agent</td>
</tr>
<tr>
<td>❌ 不普适</td>
<td><strong>tool use</strong>——CrewAI / MetaGPT / LangGraph 不需要工具也能称为 agent</td>
</tr>
<tr>
<td>❌ 不普适</td>
<td><strong>memory</strong>——只有 Letta 把 memory 当核心,其他 12 家都是"可选的外部状态"</td>
</tr>
<tr>
<td>❌ 不普适</td>
<td><strong>多 agent / 反思 / 规划</strong>——都有一些框架不要</td>
</tr>
</tbody>
</table>
<p><strong>所以纠正我之前给朋友的那个回答</strong>——我说 agent = LLM + tools + 反馈循环 + 状态。研究下来,<strong>只有 loop 是真核心,其他三个都是 nice-to-have</strong></p>
<p>更尖锐的判定准则是 Anthropic 那条的逆否——"<strong>LLM 能不能拒绝系统设计者期待的下一步</strong>?" 能 → agent;不能 → workflow。</p>
<p>回头看第 1 节的五个例子:</p>
<table>
<thead>
<tr>
<th>例子</th>
<th>LLM 控制下一步?</th>
<th>工业派判定</th>
</tr>
</thead>
<tbody>
<tr>
<td>ChatGPT Code Interpreter</td>
<td>✅ LLM 决定下一段代码</td>
<td>agent</td>
</tr>
<tr>
<td>Zapier 流水线</td>
<td>❌ 路径写死</td>
<td>workflow</td>
</tr>
<tr>
<td>Claude Code</td>
<td>✅ LLM 决定改哪个文件、跑哪个测试</td>
<td>agent</td>
</tr>
<tr>
<td>AlphaGo</td>
<td>✅(在 RL 意义上)</td>
<td>agent</td>
</tr>
<tr>
<td>温控器</td>
<td>❌ 阈值规则</td>
<td>不是 agent</td>
</tr>
</tbody>
</table>
<p>这是工业派的清爽答案。</p>
<hr />
<h2 id="3-经典派的答案四个老定义的检视">3. 经典派的答案:四个老定义的检视</h2>
<p>但事情没结束。Russell &amp; Norvig、Sutton &amp; Barto、Wooldridge、Schmidhuber 不会同意上面这个判定。</p>
<p>他们有四把不同的尺子。我们用 <strong>Claude Code</strong>(工业派眼中无可争议的 agent)去测一下:</p>
<h3 id="尺子一russell-norvigaima-1995-2020">尺子一:Russell &amp; Norvig(AIMA, 1995-2020)</h3>
<blockquote>
<p>An agent is a function that maps percepts to actions, and a rational agent selects an action that is <strong>expected to maximize its performance measure</strong>.</p>
</blockquote>
<p>经典 AI 教科书的定义。要点:percept→action 函数 + 环境 + <strong>外部 performance measure</strong></p>
<p>Claude Code 满足吗?percept→action 满足。环境满足(文件系统 + shell + 你的指令)。但 performance measure——<strong>什么在驱动它的下一个 token</strong>?是训练时的 RLHF objective。<strong>推理时没有 performance measure 在评判它</strong>。它执行的是一个固定的 next-token 概率分布。</p>
<p>Stuart Russell 自己 2023 年在参议院作证时说:"<strong>With LLMs, we don't even know what their objectives are.</strong>"——这不是修辞,按 AIMA 的定义这就是 agent 资格不全。</p>
<h3 id="尺子二sutton-bartorl-2018">尺子二:Sutton &amp; Barto(RL, 2018)</h3>
<blockquote>
<p>A reward signal defines the goal in a reinforcement learning problem. The agent's sole objective is to maximize the total reward it receives over the long run.</p>
</blockquote>
<p>RL 教科书。要点:<strong>reward 是 constitutive 的</strong>。没有 reward 就没有 agent。</p>
<p>Claude Code 推理时有 reward 吗?<strong>没有</strong>。RLHF 的 reward 只在训练时存在。所以按 Sutton &amp; Barto,Claude Code 在你电脑上跑的时候<strong>是个固定的 policy 在跑</strong>,不是 agent。</p>
<p>Sutton 和 David Silver 2025 年在 <a href="https://storage.googleapis.com/deepmind-media/Era-of-Experience%20/The%20Era%20of%20Experience%20Paper.pdf">The Era of Experience</a> 里把这个观点彻底化:人类数据训练的 LLM 是死路一条,真正的 agent 必须在持续经验流中通过 grounded reward 不断改进。LLMs "<strong>lack the essential mechanism — continual learning from experience — that defines flexible, goal-driven intelligence</strong>."</p>
<h3 id="尺子三wooldridge多智能体系统经典1995-2002">尺子三:Wooldridge(多智能体系统经典,1995-2002)</h3>
<blockquote>
<p>An agent is a system situated in some environment that is capable of <strong>autonomous action</strong> in this environment in order to meet its design objectives.</p>
</blockquote>
<p>四个性质:autonomy + reactivity + pro-activeness + social ability。</p>
<p>Claude Code 满足几个?</p>
<ul>
<li><strong>reactivity</strong>:✅ 响应工具输出</li>
<li><strong>pro-activeness</strong>:⚠️ 部分。它的"主动性"是 prompt 注入的目标在驱动;它<strong>没有内部维持的 intention</strong>。你关掉 session 它就忘了想做什么</li>
<li><strong>autonomy</strong>:⚠️ 弱。autonomy 在 Wooldridge 那里要求<strong>对内部状态有控制</strong>,能跨 session 维持目标和承诺。LLM-in-ReAct 没有跨 session 状态</li>
<li><strong>social ability</strong>:⚠️ 部分。能和人类聊,但<strong>没有形式化的 agent 通信语言</strong>(KQML/FIPA-ACL 那种带 speech-act 语义的)</li>
</ul>
<p>四个性质,全勤的没有,及格的两个。</p>
<h3 id="尺子四schmidhubergödel-machine-2003-2007">尺子四:Schmidhuber(Gödel Machine, 2003-2007)</h3>
<blockquote>
<p>A self-referential problem solver that <strong>rewrites any part of its own code</strong> as soon as it has found a proof that the rewrite is useful.</p>
</blockquote>
<p>Schmidhuber 的最强 agent 标准:<strong>可证明的 self-modification</strong></p>
<p>Claude Code 改自己吗?<strong>不改权重</strong>。它有时候会改自己的 system prompt 或 skills——但那都是 scaffolding 层,不是 agent 本体。Sakana AI 的 <a href="https://arxiv.org/abs/2505.22954">Darwin Gödel Machine</a> 2025 年试着把 Gödel Machine 思想搬到 LLM-stack——但他们也只在 scaffolding 上做演化,<strong>LLM 权重照样冻结</strong></p>
<h3 id="综合四把尺子下claude-code-全军覆没">综合:四把尺子下,Claude Code 全军覆没</h3>
<table>
<thead>
<tr>
<th>尺子</th>
<th>核心要求</th>
<th>LLM-in-ReAct 满足吗</th>
</tr>
</thead>
<tbody>
<tr>
<td>Russell &amp; Norvig</td>
<td>外部 performance measure</td>
<td>❌ 推理时无</td>
</tr>
<tr>
<td>Sutton &amp; Barto</td>
<td>runtime reward</td>
<td>❌ 训练时才有</td>
</tr>
<tr>
<td>Wooldridge</td>
<td>autonomy + persistent intention</td>
<td>⚠️ 弱</td>
</tr>
<tr>
<td>Schmidhuber</td>
<td>可证明 self-modification</td>
<td>❌ 不改权重</td>
</tr>
</tbody>
</table>
<p><strong>这不是字面游戏</strong>。它<strong>预测一个具体的天花板</strong>——靠 scaffolding 永远跨不过 continual experience-driven adaptation 这条线。这条线正是 2026 年三个前沿要打破的位置(第 6 节会讲)。</p>
<hr />
<h2 id="4-张力为什么没法-unify">4. 张力:为什么没法 unify</h2>
<p>很多人会想——一定有人写了一篇 paper,把经典定义和 LLM 时代定义合并起来吧?</p>
<p>我搜过。<strong>没有</strong></p>
<p>不是没人想干,是<strong>这件事在原则上做不到</strong>。两边在测量不同的东西:</p>
<table>
<thead>
<tr>
<th></th>
<th>经典派</th>
<th>工业派</th>
</tr>
</thead>
<tbody>
<tr>
<td>定义类型</td>
<td>规范性(normative)</td>
<td>操作性(operational)</td>
</tr>
<tr>
<td>定义 anchor</td>
<td>环境 + 性能度量</td>
<td>部署模式(loop + control flow)</td>
</tr>
<tr>
<td>时间尺度</td>
<td>跨 episode、跨生命</td>
<td>单次 task、单 session</td>
</tr>
<tr>
<td>学习是否必备</td>
<td>是(RL 派、Wooldridge)</td>
<td></td>
</tr>
<tr>
<td>用途</td>
<td>理论范畴</td>
<td>工程区分</td>
</tr>
</tbody>
</table>
<p>经典派想要一个<strong>理论范畴</strong>,能容纳"会从经验里改进的实体"——所以他们要 reward、要 persistent intention、要 self-modification。</p>
<p>工业派想要一个<strong>工程区分</strong>,能告诉团队"这个产品该做成 workflow 还是 agent"——所以他们只关心 LLM 是不是控制了 control flow。</p>
<p><strong>Anthropic 的 workflow-vs-agent 准则是工业派最 rigorous 的尝试,但它根本不试图回答经典派的问题</strong>。它是在工业派内部画线,不在经典派的疆域里画线。</p>
<p>诚实的姿态:在 2026 年说"agent"的时候,<strong>明确你说的是哪一种</strong></p>
<blockquote>
<ul>
<li><strong>LLM agent</strong>(操作派 / Anthropic / 工业)= LLM 在 loop 里控制 control flow</li>
<li><strong>agent</strong>(规范派 / R&amp;N / Sutton)= 在环境中追求性能度量、能从经验改进的实体</li>
</ul>
</blockquote>
<p>这两个词将来会分化。我赌<strong>操作派的"LLM agent"会保留这个词</strong>——因为他们在卖产品,市场份额大;规范派最后会用"autonomous learning system"或者别的什么术语区分自己。这是语义经济学的常规结局。</p>
<hr />
<h2 id="5-比列组件更有用的拆解agency-安放在哪里">5. 比"列组件"更有用的拆解:agency 安放在哪里</h2>
<p>到这里,列组件——loop / tools / memory / planning / reflection——已经解释不了任何流派分歧了。所有人都列得出来。</p>
<p>更尖锐的问题是:<strong>你把 agency 安放在哪里</strong></p>
<p>研究下来 10 个流派,按"agency 的位置"可以归到四个互斥的押注上:</p>
<p><svg viewBox="0 0 720 380" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="agency 安放在哪里:四派矩阵">
<defs>
<style>
.lbl { font: 600 14px -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; fill: #1f2937; }
.sub { font: 12px -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; fill: #4b5563; }
.axis { font: 11px -apple-system, sans-serif; fill: #6b7280; }
.box { fill: #f9fafb; stroke: #d1d5db; stroke-width: 1; }
.title-text { font: 700 13px -apple-system, "PingFang SC", sans-serif; fill: #111827; }
</style>
</defs>
<!-- four quadrant boxes -->
<rect class="box" x="40" y="40" width="320" height="150" rx="6"/>
<rect class="box" x="380" y="40" width="320" height="150" rx="6"/>
<rect class="box" x="40" y="210" width="320" height="150" rx="6"/>
<rect class="box" x="380" y="210" width="320" height="150" rx="6"/>
<!-- titles -->
<text class="title-text" x="60" y="65">内部派 · agency 在模型里</text>
<text class="sub" x="60" y="88">押注:模型本身可以承载 agency</text>
<text class="lbl" x="60" y="115">代表</text>
<text class="sub" x="60" y="135">• Anthropic / OpenAI / Karpathy(LLM-tool-loop)</text>
<text class="sub" x="60" y="153">• DSPy(compiled program)</text>
<text class="sub" x="60" y="171">• 怀疑派("agent 是 LLM 加几行循环")</text>
<!-- top right -->
<text class="title-text" x="400" y="65">结构派 · agency 在脚手架里</text>
<text class="sub" x="400" y="88">押注:agency 是工程结构涌现的</text>
<text class="lbl" x="400" y="115">代表</text>
<text class="sub" x="400" y="135">• CoALA / Letta(认知架构)</text>
<text class="sub" x="400" y="153">• ADAS / Darwin Gödel Machine(自修改)</text>
<text class="sub" x="400" y="171">• Agentic Context Engineering(context-as-substrate)</text>
<!-- bottom left -->
<text class="title-text" x="60" y="235">耦合派 · agency 在 agent-环境关系里</text>
<text class="sub" x="60" y="258">押注:agency 是关系性的,不属于任何一方</text>
<text class="lbl" x="60" y="285">代表</text>
<text class="sub" x="60" y="305">• LeCun JEPA(学习世界模型 + 在其中规划)</text>
<text class="sub" x="60" y="323">• Andy Clark 扩展心智</text>
<text class="sub" x="60" y="341">• Friston 自由能原理(FEP)</text>
<!-- bottom right -->
<text class="title-text" x="400" y="235">信号派 · agency 在优化信号里</text>
<text class="sub" x="400" y="258">押注:没有正确的优化信号就没有 agency</text>
<text class="lbl" x="400" y="285">代表</text>
<text class="sub" x="400" y="305">• BDI / Wooldridge(commitment 是信号)</text>
<text class="sub" x="400" y="323">• Sutton & Barto(reward 是信号)</text>
<text class="sub" x="400" y="341">• 2026 agentic-RL(多轮 RL 训练 LLM 权重)</text>
</svg></p>
<p><strong>这四个押注基本不兼容</strong>。每个押注都给你一些东西、放弃另一些:</p>
<ul>
<li><strong>押内部</strong>:得到工程上简洁、empirical 强;放弃理论扎实、放弃可解释、放弃 continual learning</li>
<li><strong>押结构</strong>:得到模块化、可推理、可演化;放弃简洁、容易"把盒子拼起来叫认知"</li>
<li><strong>押耦合</strong>:得到深刻的哲学位置;放弃可工程化(FEP 被批不可证伪)</li>
<li><strong>押信号</strong>:得到 agency 的硬定义;放弃在没有 reward 的开放任务上做事的可能</li>
</ul>
<p><strong>研究人员应该明确知道自己在押哪个</strong>,而不是嘴上说"我们综合"——综合通常意味着没押注。</p>
<hr />
<h2 id="6-五条核心洞见">6. 五条核心洞见</h2>
<p>把上面四节浓缩成五条 takeaway。</p>
<h3 id="洞见一loop-是-agent-唯一被普遍同意的本质特征">洞见一:loop 是 agent 唯一被普遍同意的本质特征</h3>
<p>跨 13 个生产框架,<strong>只有 loop 是 100% 共识</strong>。tool use 不普适,memory 不普适,planning 不普适。</p>
<p>写 agent 的人脑子里应该有一条线:<strong>没有 loop 不是 agent,loop 之外都是装饰</strong>。这意味着如果你在做一个一次性 LLM 调用包了几个工具的东西——它是工具调用,不是 agent。如果你的"agent"实质是个被人类按住每一步决策的助手——它是 chatbot,不是 agent。</p>
<h3 id="洞见二anthropic-的判定准则比是否带工具清爽">洞见二:Anthropic 的判定准则比"是否带工具"清爽</h3>
<blockquote>
<p><strong>代码决定下一步 → workflow;LLM 决定下一步 → agent。</strong></p>
</blockquote>
<p>这条准则不关心你有没有工具、有没有记忆、是不是多轮。它关心<strong>控制权归属</strong></p>
<p>实操上还有个更尖锐的逆否:<strong>LLM 能不能拒绝系统设计者期待的下一步</strong>?能 → agent;不能 → workflow。这条比"是否带 tool"少 10 个反例。</p>
<h3 id="洞见三经典-ai-不会把今天的-llm-agents-叫做-agent这预测一个硬天花板">洞见三:经典 AI 不会把今天的 LLM agents 叫做 agent——这预测一个硬天花板</h3>
<table>
<thead>
<tr>
<th>经典定义</th>
<th>LLM agent 缺什么</th>
</tr>
</thead>
<tbody>
<tr>
<td>Russell &amp; Norvig</td>
<td>推理时无 performance measure 在驱动</td>
</tr>
<tr>
<td>Sutton &amp; Barto</td>
<td>推理时无 runtime reward</td>
</tr>
<tr>
<td>Wooldridge</td>
<td>autonomy 弱(无跨 session persistent intention)、无形式化 ACL</td>
</tr>
<tr>
<td>Schmidhuber</td>
<td>不改自己权重</td>
</tr>
</tbody>
</table>
<p>这不是迂腐。<strong>它预测一个具体的硬天花板</strong>:靠 scaffolding 跨不过 continual experience-driven adaptation。</p>
<p>如果你的研究问题是"怎么让 agent 跨过这条线"——那你的工作不在 Frame 5(LLM-tool-loop)的内部,<strong>而是在攻击 Frame 5 本身</strong></p>
<h3 id="洞见四2026-年三个前沿都在攻击-scaffolding-本身">洞见四:2026 年三个前沿都在攻击 scaffolding 本身</h3>
<p><a href="agent-frameworks-2026.html">上一篇博客</a>主张过"scaffolding over modification"——把 LLM 当固定函数,外面搭脚手架。这是<strong>当前 SOTA 立场</strong>。但 2026 年三个前沿都在踢这条腿:</p>
<table>
<thead>
<tr>
<th>前沿</th>
<th>攻击的位置</th>
<th>代表工作</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Self-modification</strong></td>
<td>"scaffolding 应该可演化"</td>
<td>Sakana DGM(<a href="https://arxiv.org/abs/2505.22954">arXiv:2505.22954</a>),ADAS</td>
</tr>
<tr>
<td><strong>Agentic-RL</strong></td>
<td>"LLM 不该是固定函数,权重应端到端训练为多轮 policy"</td>
<td><a href="https://arxiv.org/abs/2509.02547">arXiv:2509.02547</a><a href="https://arxiv.org/abs/2510.01132">arXiv:2510.01132</a></td>
</tr>
<tr>
<td><strong>Context-as-substrate</strong></td>
<td>"loop 才是次要的,context curriculum 才是 agency 所在"</td>
<td>Agentic Context Engineering (<a href="https://arxiv.org/abs/2510.04618">arXiv:2510.04618</a>)</td>
</tr>
</tbody>
</table>
<p>scaffolding-over-modification 是当下对的——但<strong>不是终点</strong>。如果你做研究,应该想清楚自己押哪个反例。</p>
<h3 id="洞见五先选-agency-的位置再选组件">洞见五:先选 agency 的位置,再选组件</h3>
<p>不要再问"agent 该有哪些组件"——这个问题不区分流派。</p>
<p>要问:<strong>你把 agency 安放在哪里</strong></p>
<ul>
<li>安在模型里 → 你押 LLM-tool-loop / agentic-RL,组件是"更大的模型 + 更好的 RL"</li>
<li>安在脚手架里 → 你押 CoALA / DGM / context-engineering,组件是"模块化记忆 + 自修改 + context 演化"</li>
<li>安在 agent-环境耦合里 → 你押 JEPA / FEP,组件是"学习世界模型 + 规划"</li>
<li>安在优化信号里 → 你押 BDI / RL,组件是"reward 设计 + commitment 机制"</li>
</ul>
<p>这四个押注的组件清单<strong>完全不同</strong>。先选押注,再选组件。<strong>反过来你永远做不到一致的东西</strong></p>
<hr />
<h2 id="7-给读者的话">7. 给读者的话</h2>
<p>这篇博客没有给你"agent 的标准定义"——因为那个定义不存在,至少 2026 年不存在。</p>
<p>它给了你一张更有用的东西:<strong>一张地图</strong></p>
<p>知道工业派的边界画在哪里(control flow 归属权)、经典派的边界画在哪里(reward / autonomy / self-modification)、以及当前 SOTA 落在两条边界中间的什么位置(满足工业派 ✅、不满足经典派 ❌)。</p>
<p>还知道 2026 年的研究前沿正在朝经典派那条边界推进——self-modification 在打 Schmidhuber 那条线、agentic-RL 在打 Sutton 那条线、context-as-substrate 在打 LeCun 那条线。</p>
<p>你下一次说"我们要做一个 agent"的时候,<strong>自己心里能区分</strong></p>
<ul>
<li>我说的是工业派 agent(控制 control flow),还是经典派 agent(从经验改进)?</li>
<li>我把 agency 安放在哪里——模型里、结构里、耦合里、还是优化信号里?</li>
<li>我的研究增量是在 Frame 5 内部做工程,还是在攻击 Frame 5 本身?</li>
</ul>
<p>回答清楚这三个问题,你已经领先 80% 在用这个词的人。</p>
<hr />
<h2 id="附研究方法和限制">附:研究方法和限制</h2>
<p>这篇博客的素材来自一次对 18 篇 2024-2026 surveys / position papers + 13 个生产框架文档 + 4 本经典 AI 教材的并行扫描。原始 research 报告存在我的 <code>~/research/2026-05-08-agent-core/</code> 下。</p>
<p><strong>诚实的限制</strong></p>
<ul>
<li>AIMA(Russell &amp; Norvig)和 Wooldridge 1995 的引文是从二手 snippet 聚合的,PDF 直接 fetch 在沙箱里被拒。引文表述是学术界共识的标准 rendering,但不是逐字逐页核对的</li>
<li>Darwin Gödel Machine 在 SWE-bench 20% → 50% 的数字来自二手报告,<strong>未独立核实原 paper</strong></li>
<li>没系统覆盖中文学术圈对 agent 定义的批评(清华 AIR / 上海 AI Lab 等)</li>
<li>没读 Searle / Dennett / Brooks 这些更哲学的位置——可能漏了一个"行为派 / 无表征派"的 frame</li>
<li>SOTA 截止 2026-05-08,之后的工作不在覆盖范围</li>
</ul>
<p><strong>会让我推翻这篇主要结论的观察</strong></p>
<ul>
<li>如果 2027 年 Sutton 或 LeCun 公开承认 LLM-tool-loop 是合法 agent——那经典派那条边界就软化了</li>
<li>如果 agentic-RL / DGM / context-engineering 三条腿全部停滞,纯 scaffolding 仍然主导——那洞见四错了</li>
<li>如果未来的 taxonomy paper 提出比"agency 位置"更好的拆解轴——那洞见五要更新</li>
</ul>
<hr />
<h2 id="引用">引用</h2>
<ul>
<li>Anthropic, <em>Building Effective AI Agents</em> (Dec 2024) — <a href="https://www.anthropic.com/research/building-effective-agents">anthropic.com</a></li>
<li>Sumers, Yao, Narasimhan, Griffiths, <em>Cognitive Architectures for Language Agents (CoALA)</em><a href="https://arxiv.org/abs/2309.02427">arXiv:2309.02427</a></li>
<li>Silver &amp; Sutton, <em>Welcome to the Era of Experience</em> (2025) — <a href="https://storage.googleapis.com/deepmind-media/Era-of-Experience%20/The%20Era%20of%20Experience%20Paper.pdf">DeepMind PDF</a></li>
<li>Russell &amp; Norvig, <em>Artificial Intelligence: A Modern Approach</em>, 4th ed Ch.2 — <a href="http://aima.cs.berkeley.edu/4th-ed/pdfs/newchap02.pdf">aima.cs.berkeley.edu</a></li>
<li>Wooldridge &amp; Jennings, <em>Intelligent Agents: Theory and Practice</em> (1995)</li>
<li>Sutton &amp; Barto, <em>Reinforcement Learning: An Introduction</em>, 2nd ed (2018)</li>
<li>Schmidhuber, <em>Gödel Machines</em><a href="https://sferics.idsia.ch/pub/juergen/gmAGI.pdf">idsia.ch</a></li>
<li>LeCun, <em>A Path Towards Autonomous Machine Intelligence</em> (2022) — <a href="https://openreview.net/pdf?id=BZ5a1r-kVsf">OpenReview</a></li>
<li>Zhang et al., <em>Darwin Gödel Machine</em> (2025) — <a href="https://arxiv.org/abs/2505.22954">arXiv:2505.22954</a></li>
<li><em>Agentic RL Survey</em><a href="https://arxiv.org/abs/2509.02547">arXiv:2509.02547</a></li>
<li><em>Agentic Context Engineering</em><a href="https://arxiv.org/abs/2510.04618">arXiv:2510.04618</a></li>
<li>Karpathy, <em>Year in Review 2025</em><a href="https://karpathy.bearblog.dev/year-in-review-2025/">karpathy.bearblog.dev</a></li>
<li><em>AI Agents vs Agentic AI: A Conceptual Taxonomy</em><a href="https://arxiv.org/abs/2505.10468">arXiv:2505.10468</a></li>
<li>Sketch.dev, <em>Unreasonable Effectiveness of an LLM Agent Loop</em><a href="https://sketch.dev/blog/agent-loop">sketch.dev</a></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>