---
title: "AI Agent 模式解析：Autonomous Agents 当 AI 接管循环"
author: deletexiumu
pubDatetime: 2026-03-15T21:00:00+08:00
featured: false
draft: false
tags:
  - AI Agent
  - Claude Code
  - AI 编程
description: "Building Effective Agents 系列收官篇。从 Anthropic 原文定义到 Claude Code、AutoResearch、Devin 三大案例，解析自主代理的 Agent Loop 架构、安全 Guardrails 设计，以及贯穿六种模式的四维度统一判断框架。"
---

*Building Effective Agents 模式解析系列（6/6，收官篇）*

---

## 真实场景引入

2026 年 3 月 6 日晚上，Andrej Karpathy 把一个 630 行的 Python 脚本推到 GitHub，然后去睡觉了。

第二天早上醒来，AI agent 在他睡觉期间自主跑了 126 个机器学习实验——读代码、提假设、改参数、跑训练、评估结果、保留改进、回滚失败——全程零人工干预。其中 23 个实验带来了有效改进，包括一些他做了二十年研究都没注意到的 attention scaling 和 regularization 问题。一周内，这个叫 AutoResearch 的项目在 GitHub 拿到了 30,000+ stars。

但仔细看 AutoResearch 的结构，它有固定的外层规则——每个实验跑 5 分钟、用 val_bpb 作为评估指标、改进则保留否则回滚。这些都是人写死的。真正"自主"的部分是：**每一轮做什么实验，由 LLM 根据上一轮结果自己决定。** 改哪个参数？试什么架构？调多大的学习率？人不参与这些决策。

回顾系列前五篇：Chaining 回答"按什么顺序干"，Routing 回答"交给谁干"，Parallelization 回答"怎么同时干"，Orchestrator-Workers 回答"不知道要干啥时怎么拆"，Evaluator-Optimizer 回答"怎么做好"。这五种模式有一个共同前提——流程由人设计，AI 在人画好的路线图里执行。

Autonomous Agents 的核心区别是：**下一步做什么，由 AI 自己根据环境反馈决定。**

---

## 什么是 Autonomous Agents

Anthropic 在 [Building Effective Agents](https://www.anthropic.com/engineering/building-effective-agents) 中做了一个关键区分：

> Workflows are systems where LLMs and tools are orchestrated through predefined code paths.

> Agents are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks.

Workflow 的控制权在代码（预定义路径），Agent 的控制权在 LLM（动态决策）。

Anthropic 紧接着说，agents "can handle sophisticated tasks, but their implementation is often straightforward"。实现上，它们"typically just LLMs using tools based on environmental feedback in a loop"。最强的模式，最简单的实现——**一个 while 循环。**

![Agent Loop 核心循环](/blog/ai-agent-pattern-autonomous-agents/01-agent-loop.jpg)

### Agent Loop：感知-推理-行动-观察

Lilian Weng 在 2023 年的综述博客中归纳的框架被广泛引用：

> **Agent = LLM + Memory + Planning + Tool Use**

展开来看，Agent Loop 是一个 Thought-Action-Observation 循环：

- **感知**：从环境获取 ground truth——工具调用结果、代码执行输出、测试通过/失败
- **推理/规划**：分析当前状态，决定下一步行动
- **行动**：调用工具执行操作
- **观察**：检查结果，决定是继续、调整还是终止

关键词是 ground truth。Agent 的每一步判断都基于环境的真实反馈，不是靠自己的"记忆"或"猜测"。

### 与 Workflow 的三个核心区别

| 维度 | Workflow | Agent |
|------|----------|-------|
| **控制权** | 在代码（预定义路径） | 在 LLM（动态决策） |
| **步骤数** | 固定或有上限 | 不确定——可能 3 步，可能 300 步 |
| **适用场景** | 可预测的任务 | 开放性问题，难以预测步骤数，无法硬编码固定路径 |

### 前五种模式是 Agent 的"技能包"

一个足够复杂的 Agent 在执行过程中会自发地使用前五种模式。前五种模式是积木，Agent 是用积木搭出来的东西。这就是为什么本篇放在最后：它不是并列的第六种模式，而是前五种的组合与升级。

### Anthropic 给出的三个适用条件

1. 开放性问题，难以预测所需步骤数量
2. 无法硬编码固定路径
3. 需要对 LLM 的决策能力有一定程度的信任

第三条容易被忽略。Agent 意味着你把"下一步做什么"的决策权交出去了。如果你对 LLM 的判断力没有信心，Workflow 是更安全的选择。

---

## 核心案例：Claude Code——你每天都在用的自主代理

选 Claude Code 作为核心案例不是因为它最酷，而是因为读者最熟悉——你每天用它写代码的体验，就是 Autonomous Agent 的完整体现。

### Claude Code 的 Agent Loop

Anthropic 在 [Claude Agent SDK 博客](https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk)中描述了 Agent 的运行方式：

> Agents often operate in a specific feedback loop: gather context → take action → verify work → repeat.

你说"修复这个 bug"，接下来发生的事全部由 agent 自主决定：

1. **感知**：读哪些文件？grep 搜索什么关键词？看 git log 找什么线索？这些都是 agent 自己判断的
2. **推理**：分析代码逻辑，定位问题根因，规划修复方案
3. **行动**：修改代码、运行测试
4. **观察**：测试通过了吗？有新的报错吗？需要改别的文件吗？
5. **循环**：根据观察结果决定下一步——可能需要追踪到另一个文件，可能需要换一个修复方案

关键特征是**步骤数不确定**。简单 bug 可能 3 步搞定，复杂 bug 可能需要 30 步——读 10 个文件、改 5 个地方、跑 3 次测试。你事先无法预测，也不需要预测。

### 为什么 Claude Code 是好的自主代理设计

**环境反馈真实。** 每一步都从真实环境获取 ground truth——文件内容、测试结果、编译错误都是真实的，不是 LLM 的幻觉。Anthropic 原文描述：agents gain "ground truth from the environment at each step (such as tool call results or code execution) to assess its progress"。

**工具集丰富。** Read、Write、Edit、Bash、Grep、Glob——涵盖了软件开发的完整工具链。其思路是给 Agent 一台计算机，让它像人类一样工作（原文："The key design principle behind the Claude Agent SDK is to give your agents a computer, allowing them to work like humans do"）。

**自我验证。** 改完代码会自动跑测试，测试失败会自动修复——内嵌了 Evaluator-Optimizer 循环。这是前一篇讲的模式在 Agent 内部的自然涌现。

**人工检查点。** 用户可以随时审查、拒绝或重定向 agent 的行为。Anthropic 原文说 agents "can then pause for human feedback at checkpoints or when encountering blockers"。不是完全失控的自主，而是有检查点的自主。

### 多 Agent 升级

单 agent 循环遇到大任务时上下文窗口会饱和。Agent Teams 把一个大循环拆成多个独立小循环——每个 agent 在隔离的 worktree 中自主工作，team lead 协调分工。

2026 年初（1-2 月间），多家厂商密集发布了多 agent 能力——Claude Code Agent Teams、OpenAI Codex CLI、Devin 2.0 接连上线。多 agent 自主协作从实验性功能变成了标配（关于 Agent Teams 的详细讨论见另文《Agent Team 多代理协作完整实战》）。

### 能力验证

Claude Opus 4.5 在 SWE-bench Verified 达到 80.9% 的解决率（一手来源：Anthropic 官方基准测试）。作为参考，2024 年中 GPT-4o 的成绩是 33.2%，一年半内从三分之一跳到了五分之四。

不过 SWE-bench Verified 本身存在争议。另一个更严格的 benchmark——SWE-bench Pro（排除了数据泄露和测试覆盖不足的用例）——上，即使 GPT-5 也只有约 23.3%。两个 benchmark 测的不是同一件事，但差距说明标准 benchmark 可能高估了实际能力。趋势仍然清晰：Agent 的编码能力在快速提升。

商业层面，Claude Code 在发布 6 个月内达到 $1B 年化收入，2026 年 2 月达到 $2.5B（多方媒体报道数据，非官方财报，仅作市场热度旁证）。

---

## 辅助案例：自主代理的三种形态

### Karpathy AutoResearch——"人睡了，AI 通宵做实验"

630 行 Python，核心就是一个 while 循环。人类写一个 program.md（指令 + 约束 + 终止条件），然后去睡觉。program.md 里有一条明确的指令：

> Once the experiment loop has begun, do NOT pause to ask the human if you should continue. The human might be asleep. You are autonomous.

核心循环：读代码 → 形成假设 → 改代码 → 跑实验（固定 5 分钟）→ 用 val_bpb 评估 → 改进则保留、否则 git reset 回滚 → 下一轮。

数据：一夜 126 个实验（23 次保留、102 次丢弃、1 次崩溃），val_bpb 从 0.9979 降到 0.9697（一手数据，GitHub Discussion #43）。两天 700 次迭代，发现约 20 个可迁移改进，Time-to-GPT-2 加速 11%（媒体报道汇总数据）。Shopify CEO Tobi Lütke 实测 37 实验/夜，模型质量提升 19%，0.8B 参数模型超越了之前的 1.6B 模型（媒体报道）。

从自主代理的视角看，AutoResearch 的关键洞察是：**"自主"不是"没有规则"，而是"在约束框架内自由决策"。** 外层规则固定（5 分钟一轮、val_bpb 评估、保留/回滚），内层实验决策完全自主（改什么参数、试什么架构由 LLM 根据上轮结果决定）。约束是自主的前提。

### OpenClaw——非编程场景的自主代理

前面两个案例都在编码领域。OpenClaw 把自主代理的入口从 IDE/终端搬到了飞书、钉钉、Telegram（详见另文[《OpenClaw 为什么越来越火》](/posts/openclaw-why-so-hot/)，这里不重复展开数据）。用户在聊天窗口发一条消息，agent 自主规划路径、调用技能、返回结果。

底层是同一个 Agent Loop，工具集不同决定了应用场景不同——Claude Code 的工具集是文件读写和代码执行，OpenClaw 的工具集是日程管理、信息查询、流程审批。自主代理不是编程专属，而是通用范式。

### Devin——最激进的自主代理

Devin 是目前自主程度最高的编码 agent：完整的沙箱云环境（IDE + 浏览器 + 终端），提交任务后自主规划、编码、测试、提交 PR。

Devin 2.0 引入了 Interactive Planning：先在几秒内分析代码库、识别相关文件、提出任务拆解方案，用户确认后再执行。这是全自主与人工检查点的平衡——不是"提交任务后完全失控"，而是"先对齐方案再放手执行"。

官方数据：67% PR 合并率，代码迁移场景 10-20x 效率提升。

![自主代理形态光谱](/blog/ai-agent-pattern-autonomous-agents/02-autonomy-spectrum.jpg)

把三个案例放在一起看，它们在同一个光谱上：Claude Code 默认偏协作式执行（每步可审查），AutoResearch 偏全自主执行（人睡觉去了），Devin 在中间（Interactive Planning 对齐后全自主）。不是二元对立，而是同一光谱上的不同位置，都可以通过检查点配置调整自主程度。

---

## 自主代理的设计要点

### Agent Loop 设计

**环境反馈是核心。** Agent 的每一步都必须从环境获取 ground truth（工具调用结果、代码执行输出、API 响应），而非依赖自己的"记忆"。Anthropic 原文反复强调这一点。靠"我觉得上次改过了"来推进工作的 agent，会在多步循环中快速偏离正轨。

**终止条件必须明确。** 任务完成、最大步骤数、token 预算耗尽、无进展检测——生产环境至少要有一个。AutoResearch 是一个刻意弱化停止条件的反例——program.md 的核心指令是"LOOP FOREVER"，它依赖人工手动中断来停止。这在研究场景可以接受（人醒了就停），但在生产环境中应额外加最大轮次或预算上限。Claude Code 有上下文窗口的物理限制和用户随时中断的检查点，更接近生产标准。

**检查点与人工介入。** Anthropic 原文说 agents "can then pause for human feedback at checkpoints or when encountering blockers"。不是"全自动或全手动"的二选一，而是根据置信度动态调整自主程度——低风险操作自动执行，遇到阻碍时暂停等待人类。

### 状态管理与可观测性

长时间自主运行对状态管理有硬性要求。

**Memory 不是可选项。** Agent 长时间运行时上下文窗口会满。Claude Code 用 compaction（自动摘要压缩上下文）和 subagents（隔离上下文窗口）解决。Anthropic SDK 的 compact 功能"automatically summarizes previous messages when the context limit approaches, so your agent won't run out of context"。AutoResearch 用 results.tsv 文件持久化实验历史——agent 不需要"记住"所有实验，回头查文件就行。不是靠 while 循环跑到底，而是靠状态管理活下来。

**可审计痕迹。** 自主 agent 的每一步决策都需要可追溯——日志、工具调用记录、中间产物。AutoResearch 每个实验都有 git commit 和 results.tsv 记录。出了问题能回放定位，这比"跑完看结果"重要得多。

### 安全与 Guardrails

Anthropic 原文的警告很直白：

> The autonomous nature of agents means higher costs, and the potential for compounding errors.

**成本风险。** Agent 自主运行意味着 token 成本不可预测。根据社区对 Anthropic 多 Agent 研究的转述和笔者实测（非官方论文，仅作量级参考）：标准聊天是 1x 基准，单 Agent 约 4x，多 Agent 约 15x。具体倍数因任务复杂度和模型选择差异较大，这里取的是中位量级。核心判断是**任务价值是否大于 token 成本**。

**错误累积。** 每一步的小错误在多步循环中累积放大。Anthropic 原文用了"compounding errors"这个词——复利效应，只不过方向相反。

**沙箱隔离。** 生产环境中 agent 必须在隔离容器中运行。Google ADK 推荐的标准做法包括：禁止网络连接和 API 调用、执行间完全清理数据、沙箱化代码执行（使用 gVisor 等容器运行时）。传统容器隔离对 agent 来说不够——AI Agent 生成并执行代码，本质上是运行不受信任的工作负载。

**最小代理权限。** OWASP 在 2025 年底发布了首个专门针对自主 AI Agent 的安全框架（Top 10 for Agentic Applications），核心防御原则是 Least Agency：Agent 只获得完成任务所需的最小自主权、工具访问和凭证范围。这是经典最小权限原则在 agentic 时代的延伸。

**分级审批。** 低风险操作自动执行，中风险通知，高风险等待人工批准。Devin 的 Interactive Planning 是一个具体实现——先展示方案再执行。AutoResearch 的"人睡了"模式之所以安全，是因为 agent 的操作范围被严格限制在一个 train.py 文件和一块 GPU 上——爆炸半径足够小。

**渐进式部署。** Shadow mode（只分析不执行）→ staging → 小范围生产 → 全量。对待 agent 像对待新员工：不会第一天就给所有权限。

### 何时用 Workflow、何时用 Agent

Anthropic 的建议很明确：

**Workflow 优先。** 任务可预测、步骤固定、需要一致性 → Workflow 更可靠。前五篇讲的所有模式都属于 Workflow 范畴。

**Agent 适用。** 任务开放、步骤不确定、需要灵活应对 → Agent 有优势。但伴随着更高成本和更大的不确定性。

**混合最常见。** Workflow 骨架 + Agent 局部——比如 Claude Code 在编码任务中自主循环，但在发布、部署等环节保留人工确认——这是生产环境的主流做法。

Anthropic 原文的总结："start simple and add complexity only when necessary"。不要为了用 Agent 而用 Agent。

---

## 系列总结：六种模式的统一视角

六篇写完，是时候把它们放在一张图里看。

![六种模式全景图](/blog/ai-agent-pattern-autonomous-agents/03-six-patterns-panorama.png)

### 从可预测到灵活的完整光谱

```
┌──────────────────────────────────────────────────────────┐
│  可预测性 ◄────────────────────────────────► 灵活性      │
│                                                          │
│  Chaining → Routing → Parallelization → O-W → E-O → Agent│
│  流水线     分诊台     施工队            项目   质检   自主 │
│                                          经理   循环   体  │
│                                                          │
│  ◄──── Workflows ────►  ◄──── 混合 ────► ◄── Agent ──►  │
└──────────────────────────────────────────────────────────┘
```

### 选择决策树（完整版，六个模式）

```
你的任务需要 AI 自主决策整个流程？
  ├─ 是 → 能承受不确定性和较高成本？
  │         ├─ 是 → Autonomous Agent
  │         └─ 否 → Workflow 骨架 + Agent 局部（混合模式）
  └─ 否 → 需要迭代改进质量？
            ├─ 是 → Evaluator-Optimizer
            └─ 否 → 子任务已知且固定？
                      ├─ 是 → 需要按顺序？
                      │         ├─ 是 → Chaining
                      │         └─ 否 → Parallelization
                      └─ 否 → 需要动态分解？
                                ├─ 是 → Orchestrator-Workers
                                └─ 否 → Routing
```

![四维度判断框架](/blog/ai-agent-pattern-autonomous-agents/04-decision-framework.jpg)

### 统一判断框架——四个维度

决策树之外，还有一个更底层的判断框架。拿到任何一个任务，问自己四个问题：

| 维度 | Chaining | Routing | Parallel | O-W | E-O | Agent |
|------|----------|---------|----------|-----|-----|-------|
| 谁决定下一步？ | 代码 | 分类器 | 代码 | 编排者 | 评估者 | LLM |
| 反馈来自哪里？ | Gate | 无 | 聚合 | 工人结果 | 评估结果 | 环境 |
| 步骤可预测吗？ | 完全 | 完全 | 完全 | 部分 | 部分 | 不确定 |
| 错误如何传播？ | 线性 | 隔离 | 隔离 | 聚合时 | 迭代收敛 | 累积放大 |

这个框架比决策树更有判断力。比如你拿到一个任务，发现"下一步必须由 LLM 根据环境反馈来决定"且"步骤完全不可预测"——那就是 Agent 的领地。如果"下一步是确定的"但"需要迭代提质"——E-O。如果"步骤固定但可以并行"——Parallelization。四个问题的答案自然指向合适的模式。

### 核心洞察

六种模式不是互斥的选择题，而是可组合的积木。生产系统几乎总是混合多种模式——一个复杂的 Agent 内部同时在用 Chaining（分步处理）、Routing（选工具）、Parallelization（并行子任务）和 E-O（自我检查）。

选择的标准不是"哪个最先进"，而是"在这个任务上，谁来决定下一步最可靠"。

---

## 结尾

这是 Building Effective Agents 模式解析系列的最后一篇。

Autonomous Agent 的本质不是"更复杂的 Workflow"，而是"把控制权交给 LLM"。实现上可以很简单——一个 while 循环、一组工具、环境反馈。但简单的实现背后是不简单的信任决策：你愿意让 AI 自己决定下一步做什么吗？在什么范围内？有什么约束？

Anthropic 原文的核心态度贯穿始终：start simple, add complexity only when necessary。不是所有任务都需要自主代理。最好的系统不是最复杂的，而是刚好够用的。

六篇写完，留下一个判断框架：拿到任务时问自己——谁来决定下一步？反馈来自哪里？步骤能预测吗？错误怎么传播？这四个问题的答案，会指向合适的模式。下次拿到一个自动化需求，先用这四个问题过一遍，再决定怎么搭。整个系列的原始出处是 Anthropic 的 [Building Effective Agents](https://www.anthropic.com/engineering/building-effective-agents)，建议通读一遍原文。

---

*原文参考：[Anthropic - Building Effective Agents](https://www.anthropic.com/engineering/building-effective-agents)*

*Agent SDK 参考：[Building Agents with the Claude Agent SDK](https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk)*

*Agent 理论框架：[Lilian Weng - LLM Powered Autonomous Agents](https://lilianweng.github.io/posts/2023-06-23-agent/)*

*核心案例：[Karpathy AutoResearch](https://github.com/karpathy/autoresearch)（GitHub 35,000+ stars，一手数据来自 GitHub Discussion #43）*

*行业数据：Shopify CEO 实测数据来自 [Firethering 报道](https://firethering.com/karpathy-autoresearch-ai-agent/)（媒体报道）*

*SWE-bench 数据：[Epoch AI - SWE-bench Verified](https://epoch.ai/benchmarks/swe-bench-verified)（一手基准测试数据）*

*安全框架：[OWASP Top 10 for Agentic Applications](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)（行业标准）*

*沙箱隔离：[Google ADK Safety Guidelines](https://google.github.io/adk-docs/safety/)（官方文档）*

*Token 成本数据：社区对 Anthropic 多 Agent 研究的转述（非官方论文，仅作量级参考）*

---

## 相关阅读

- [AI Agent 模式解析：Prompt Chaining 提示链](/posts/prompt-chaining-agent-pattern/) — 系列第一篇，串行管线的基础模式
- [AI Agent 模式解析：Evaluator-Optimizer 评估-优化](/posts/ai-agent-evaluator-optimizer/) — 上一篇，从"做完"到"做好"的迭代循环
- [AI Agent 模式解析：Orchestrator-Workers 编排者-工人](/posts/ai-agent-pattern-orchestrator-workers/) — 动态拆解任务的编排模式
- [OpenClaw 为什么越来越火](/posts/openclaw-why-so-hot/) — 非编程场景的自主代理案例
