# 10.3 常见工具

本节用“工具类型与能力结构”的方式，介绍常见的智能体编程工具与工作流形态，帮助你建立选型与组合的视角。

## 10.3.1 GitHub Copilot

GitHub Copilot 的云端 coding agent 深度集成在 GitHub 协作面中，更像“在代码托管平台里运行的后台开发者”：任务通常从 issue、Copilot Chat、PR 评论或安全活动里发起，在 GitHub 提供的短暂开发环境中研究仓库、修改代码并迭代。

### 10.3.1.1 核心场景

| 场景                          | 描述                        | 典型入口                                           |
| --------------------------- | ------------------------- | ---------------------------------------------- |
| **Issue / Prompt → 分支或 PR** | 接收任务后研究仓库、规划、改代码，并按需创建 PR | 指派 issue 给 Copilot，或在 GitHub/VS Code 中要求它创建 PR |
| **PR 迭代**                   | 在现有 PR 上继续修改              | 在 PR 评论里 `@copilot` 提出后续要求                     |
| **安全修复**                    | 从安全活动中接任务并提交修复            | 安全 campaign / alert 工作流                        |
| **代码审查协作**                  | 围绕 PR 日志和 diff 继续协作       | agents panel、PR 页面、Copilot Chat                |

### 10.3.1.2 常见入口示例

相比“自己写一个 YAML 去触发它”，GitHub Copilot cloud agent 更常见的使用方式是直接从 GitHub 的协作入口发起任务：

```markdown
1. 在 GitHub Issue 页面把 assignee 设为 Copilot
2. 在 GitHub Copilot Chat 中要求：
   "Research this repository, implement the fix, and open a pull request."
3. 在现有 PR 评论中继续追单：
   "@copilot fix the failing tests and update the PR."
```

### 10.3.1.3 平台机器人与交互式环境

需要区分两个概念：

* **平台机器人**：运行在 CI/CD 或平台自动化环境中的机器人，处理异步任务。
* **交互式环境**：IDE 或 Web 端的对话式/多文件编辑体验，用于人机协作完成开发。

在 IDE 端协作时，常见的工作区级提问方式如下；不同产品的具体命令名会不同：

```markdown
@workspace /explain 解释这个项目的架构
@workspace /fix 修复当前文件的所有警告
@workspace /tests 为选中的代码生成测试
@workspace /doc 更新这个函数的文档
```

## 10.3.2 Cursor

Cursor 是典型的 AI 原生编辑器。当前官方文档把能力中心放在 Agent、Rules、Terminal、MCP 和 Background Agents 上，而不是早期材料里常见的若干旧命名。理解它时，最好把“上下文控制”“工具执行”和“自动运行权限”分开看。

### 10.3.2.1 核心能力

| 能力                        | 描述                             | 典型入口                                  |
| ------------------------- | ------------------------------ | ------------------------------------- |
| **Agent**                 | 多文件修改、终端执行、错误修复                | Chat / Agent 面板                       |
| **@ 引用**                  | 精确选择文件、文件夹与其他上下文               | `@`                                   |
| **Rules / AGENTS.md**     | 注入持续生效的项目指令                    | `.cursor/rules`、项目根 `AGENTS.md`       |
| **MCP 工具**                | 连接数据库、API 与外部服务                | MCP 配置与工具列表                           |
| **Auto-run / Guardrails** | 控制是否自动执行命令、自动接受编辑，以及允许哪些操作自动运行 | Agent 设置、Custom Modes、CLI `/auto-run` |

### 10.3.2.2 @ 引用系统

“@ 引用”能力用于精确控制上下文，按需指定要分析的文件、文件夹、文档或历史记录。这让 IDE 智能体可以集中分析并跨文件修改，而不是逐个处理。常见的引用类型包括：`@file`（单个文件）、`@folder`（文件夹）、`@code`（代码片段）、`@git`（历史记录）等。

**使用建议**：

* 明确指定上下文范围，减少模型的搜索成本
* 使用 `@definitions` 引用跨文件的符号定义，确保修改的一致性
* 对复杂重构任务，先通过 `@folder` 引用整个子模块理解架构

### 10.3.2.3 上下文与规则管理

Cursor 当前官方支持的核心约束层主要是 **Rules** 与 **`AGENTS.md`**。其中，`.cursor/rules` 提供可复用、可分作用域的规则；`AGENTS.md` 是更简单的 Markdown 指令文件；CLI 还会在项目根同时读取 `AGENTS.md` 与 `CLAUDE.md` 并作为规则应用。它们都属于“指令层”，不是权限执行面。

### 10.3.2.4 工具与权限控制

Cursor 的“能做什么”和“会不会自动做”需要分开理解：

* **前台 Agent / CLI**：默认会对终端命令和 MCP 工具请求批准；Cursor CLI 文档也明确写到，运行终端命令前会要求用户批准。
* **Auto-run**：可以自动接受编辑、自动运行终端命令和 MCP 工具，但应配合 guardrails 或 allowlist 使用。
* **非交互式 CLI**：适合集成到脚本和 CI；官方文档明确说明此模式下 Cursor 具有完整写权限。
* **Background Agents**：运行在 Cursor 的远程环境中，会自动运行终端命令；这和前台 Agent 的逐次批准模型不同。

## 10.3.3 Cline

Cline (原 Claude Dev) 是一个优秀的开源 VS Code 自主智能体扩展。它不仅支持连接云端模型，也完美支持本地模型（如 Ollama），是“本地化与自托管”场景的最佳代表。如果对数据隐私有严格要求，或希望更强的可控性与成本边界，可以选择 Cline 配合本地模型运行时。

典型的本地化开源组合方案如下：

**Cline (VS Code 扩展)**+**本地模型运行时**+**代码模型**

* **编辑器侧扩展**：读取文件、执行终端命令和编辑代码。
* **本地模型运行时**：在本机或内网部署模型推理。
* **代码模型**：用于补全、重构与解释。

Cline 支持连接本地模型运行时（如 Ollama）和云端模型。具体配置请参考 Cline 官方文档。

**选型对比**：

| 维度     | 本地模型       | 云端模型    |
| ------ | ---------- | ------- |
| **隐私** | ✅ 数据不出域    | ❌ 需上传云端 |
| **成本** | ✅ API 可控   | ❌ 按词元计费 |
| **能力** | ⚠️ 取决于本地算力 | ✅ 通常更强  |

**典型场景**：混合模式（日常补全用本地模型，复杂任务用托管模型）或企业内网统一部署。

## 10.3.4 Claude Code

Claude Code 是一款强大的 CLI 工具，擅长与终端工作流融合：批量修改、运行脚本、分析 Git 历史、生成变更摘要等。目前也已支持 IDE 插件和桌面版本。

### 10.3.4.1 安装与配置

安装完成后，验证命令入口可用：

```bash
claude --version
```

### 10.3.4.2 基本使用

常见的命令形态：

```bash
claude "重构这个目录下的测试文件，使用 pytest 风格"
claude -p "分析 src/ 目录，找出所有未使用的导入"
claude "分析最近 10 个 commit，生成 CHANGELOG"
claude "审查 src/api/auth.py 的安全性"
```

### 10.3.4.3 交互模式

启动交互模式后可连续提问，Claude Code 会分析代码库、执行任务并生成 Git 变更摘要。

### 10.3.4.4 项目级指令文件

Claude Code 使用 `CLAUDE.md` 作为项目级指令文件。包含技术栈、代码约定、已知问题等信息，便于智能体做出符合上下文的决策。

Claude Code 支持 `.claude/skills/` 目录加载自定义技能，以及 Hooks 在提交前、后执行自定义逻辑。技能系统可兼容标准化工具服务协议，让智能体安全地操作数据库、聊天工具等，无需胶水代码。

### 10.3.4.5 Effort 分级与示意性 AutoDream

Claude Code 支持 `effort` 参数控制推理深度（`low` / `medium` / `high` / `xhigh` / `max`）。其中 `xhigh` 仅在 Opus 4.7 上可用，`max` 提供最深度推理但 token 消耗最高。`xhigh` 适合复杂重构、多文件迁移和架构级任务——它会启动多轮规划，覆盖边界条件与跨模块依赖，而 `high` 通常只生成主路径实现。推荐策略是日常使用 `high`，深度推理场景切换到 `xhigh`，仅在评测显示 `xhigh` 仍有提升空间时使用 `max`。

这里的 AutoDream 不是 Claude Code 当前公开文档中的官方功能名，而是本书用于说明后台记忆整理的示意性称呼。更稳妥的写法是：可以基于 `CLAUDE.md`、`/memory`、`/compact`、subagents 与 hooks 等公开机制，工程化组合出一个在会话间隙整理记忆、修剪过期条目、解决冲突记录并补充时间戳的维护流程；除非目标仓库或一手文档给出证据，不应把 AutoDream 写成 Claude Code 内置机制。

## 10.3.5 Codex

Codex 是 OpenAI 的 coding agent 家族，覆盖 app、CLI、IDE extension 与 cloud task 等运行面；其中 CLI 是最典型的本地入口。当前官方文档列出的能力包括：在选定目录中读取、修改和运行代码，以及使用 subagents、web search、MCP 和 cloud tasks。

常见命令：

```bash
codex
codex "优化这个函数的性能"
codex exec "为当前仓库生成变更摘要"
```

Codex 使用 `AGENTS.md` 作为项目级指令来源之一，把仓库约束和协作要求注入上下文；但真正决定“能否自动编辑、能否执行命令、可访问哪些文件/网络”的，是单独的 **approval mode** 与 **sandbox configuration**。把 `AGENTS.md` 和权限控制混为一谈，会把“指令层”和“执行层”说乱。

## 10.3.6 工具对比

### 10.3.6.1 工具执行与权限控制对比

图 10-12：智能体编程工具功能对比

| 工具                             | 主要运行面                             | 典型工具执行面                                       | 指令 / 规则面                                       | 权限与安全控制                                                |
| ------------------------------ | --------------------------------- | --------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------ |
| **GitHub Copilot cloud agent** | GitHub.com + GitHub Actions 短暂环境  | 研究仓库、改代码、跑测试/linters、生成或迭代 PR                 | prompt、仓库上下文、平台配置                              | 仓库权限、分支保护、必需检查、PR 审批流                                  |
| **Cursor**                     | IDE、CLI、Background Agents         | 编辑、终端、MCP；Background Agent 在远程环境运行            | `.cursor/rules`、`AGENTS.md`、CLI 下的 `CLAUDE.md` | 前台默认逐项批准，支持 auto-run / guardrails；后台 agent 自动运行命令      |
| **Claude Code**                | CLI + IDE 集成                      | 文件、终端、MCP、hooks 驱动的校验与自动化                     | `CLAUDE.md`、memory、settings                    | approval / sandbox 配置，hooks 可在会话、回合、工具事件上插入控制          |
| **Codex**                      | App、CLI、IDE extension、cloud tasks | 编辑、shell、web search、MCP、subagents             | `AGENTS.md`、skills、配置文件                        | 显式的 approval mode + sandbox configuration，网络与外部工具可单独启用 |
| **Cline**                      | IDE 扩展 + 可选本地/云模型运行时              | 编辑、终端、浏览器/工具调用依赖宿主扩展与模型运行时                    | 项目说明文件、扩展设置                                    | 权限边界主要由扩展配置、宿主 IDE 与所接入运行时共同决定                         |
| **Mistral Vibe**               | CLI + Le Chat Web + 云端异步          | 远程沙箱中的文件编辑、shell、GitHub/Linear/Jira/Sentry 集成 | Le Chat Work mode 配置                           | 显式审批触发、diff 可视化、自动开 PR 而非直接推送                          |

> **其它工具**：除了上述主流类型，还有一些值得关注的创新形态：
>
> * **Aider**：CLI 工具的杰出代表，以其稳健的代码编辑能力和 Git 集成著称，常被视为“流式编辑”的标杆。
> * **Windsurf**：主打“Flow”（心流）体验的 IDE，通过 Cascade 引擎实现深度的上下文感知。
> * **Augment**：专注于极速的代码库索引与补全，强调对大型单体仓库（Monorepo）的即时感知能力。
> * **OpenHands**：开源社区的自主智能体平台（原 OpenDevin），探索多智能体协作与完全自主开发的未来形态。

Mistral Vibe 代表了一种新兴的“异步云端编码代理”范式：agent 脱离本地终端，在远程隔离沙箱中并行运行、持续执行，完成后通过 diff 可视化和 PR 输出将结果交还开发者审批。这种模式将 agent 的生命周期从“交互式会话”延伸到“后台任务”，与 Cursor Background Agents 和 GitHub Copilot cloud agent 形成不同路线的对照。Mistral Medium 3.5（128B 参数，256k 上下文，Modified MIT 开放权重）在 SWE-Bench Verified 上达到 77.6%，为开放权重模型在 agentic coding 领域建立了新的基线。

### 10.3.6.2 场景选择指南

根据不同任务选择合适的工具：

| 场景           | 推荐工具           |
| ------------ | -------------- |
| 日常开发/多文件编辑   | Cursor         |
| DevOps/脚本/终端 | Claude Code    |
| 代码托管工作流      | GitHub Copilot |
| 批量自动化任务      | Codex          |
| 异步后台编码       | Mistral Vibe   |
| 数据隐私优先       | Cline          |

## 10.3.7 工具组合策略

在实际项目中，典型的组合是：Cursor（日常开发）→ Claude Code / Codex（自动化任务）→ GitHub Copilot（流程自动化）。

**配置统一**：通过项目级指令文件和规则目录（如 `CLAUDE.md`、`AGENTS.md`、`.cursor/rules`）统一行为约定；再用各工具自己的 approvals、sandbox、guardrails 与仓库权限定义安全边界。

**分工边界**：

* **IDE 工具**：多文件编辑、局部重构、交互式调试
* **CLI 智能体**：批处理、仓库级扫描、测试与变更摘要
* **平台机器人**：事件驱动的自动化（Issue→PR、代码审查、定时任务）

***

**下一节**: [开发方法论](/agentic_ai_guide/di-san-bu-fen-gong-cheng-shi-jian-yu-luo-di/10_agentic_coding/10.4_workflow.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/agentic_ai_guide/di-san-bu-fen-gong-cheng-shi-jian-yu-luo-di/10_agentic_coding/10.3_tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
