---
title: "Agentic Loop：对话的心跳"
description: "AI 不只回答问题，它会反复思考-行动-观察，直到任务完成"
---

{/* 本章目标：解释 Agentic Loop 这个核心机制 */}

## 什么是 Agentic Loop

传统聊天机器人：你问一句，它答一句。  
Claude Code 不一样：你说一个需求，它可能连续执行十几步操作才给你最终结果。

这背后的机制叫做 **Agentic Loop**（智能体循环）：

{/* TODO: 插入 Loop 示意图 */}

<Steps>
  <Step title="思考">
    AI 分析当前上下文，决定下一步该做什么
  </Step>
  <Step title="行动">
    AI 发出工具调用请求（比如"读取这个文件"、"执行这条命令"）
  </Step>
  <Step title="观察">
    工具执行完毕，结果回传给 AI
  </Step>
  <Step title="循环或结束">
    AI 根据观察结果决定：继续下一步操作，还是任务已完成、直接回答用户
  </Step>
</Steps>

## 一个真实的例子

> 用户："帮我找到项目里所有未使用的导入语句，然后删掉它们"

AI 的内部过程：

1. **思考**：我需要先了解项目结构 → **行动**：调用 Glob 工具扫描所有源文件
2. **观察**：拿到文件列表 → **思考**：逐个检查 → **行动**：调用 Grep 搜索 import 语句
3. **观察**：发现 3 个文件有未使用导入 → **行动**：调用 FileEdit 逐个删除
4. **观察**：编辑成功 → **结束**：告诉用户"已清理 3 个文件中的 5 条未使用导入"

整个过程可能涉及 10+ 次工具调用，但用户只需要说一句话。

## 为什么不是"一次规划，批量执行"

<Note>
一个常见的替代方案是：AI 先生成一个完整的计划，然后一次性执行所有步骤。Claude Code 选择了逐步循环，原因是：
</Note>

- **每一步都能看到真实结果**：文件内容、命令输出、错误信息——这些只有执行后才知道
- **动态调整**：如果第 3 步发现了意外情况，AI 可以立刻改变策略
- **错误恢复**：某步失败了，AI 可以当场诊断和修复，不需要推倒重来
- **用户可控**：用户可以在任何一步中断，AI 的循环不会失控

## 循环的终止条件

Agentic Loop 不会无限运行，以下情况会让循环停止：

| 条件 | 说明 |
|------|------|
| AI 主动结束 | AI 判断任务完成，返回纯文本回答（不再调用工具） |
| 用户中断 | 用户按 Ctrl+C 或 ESC 打断当前操作 |
| Token 预算耗尽 | 单轮对话的 token 用量达到上限 |
| 输出过长自动续写 | AI 回复被截断时，系统自动发起续写请求（有次数上限） |
| 成本上限 | 累计 API 花费超过用户设定的预算 |
