Skip to content

智能体式 AI 代码工具

AI 编码助手已经从简单的自动补全,进化成可以自主规划、修改多个文件、运行测试并创建 Pull Request 的智能体。本教程涵盖三大主流工具:Claude Code、Cursor 和 GitHub Copilot。

1) 什么算"智能体式"工具?

传统的 AI 代码补全只能建议接下来的几行代码。智能体式工具走得更远:

能力自动补全智能体式
范围当前行/函数整个代码库
规划多步推理
执行仅建议可修改文件、运行命令
上下文当前文件全仓库理解
工作流被动响应自主完成任务

智能体式工具能理解你整个项目的结构,规划跨多个文件的改动,执行这些改动,运行测试,反复迭代,直到任务完成。

2) 快速对比:Claude Code vs Cursor vs Copilot

特性Claude CodeCursorGitHub Copilot
界面CLI、网页、IDE 插件完整 IDE(VS Code 分支)IDE 扩展
上下文窗口约 20 万 token全仓库索引较小,正在改进
多文件编辑出色改进中
规划模式有(较新)
定价Pro/Max 等级积分 + 订阅订阅
最适合架构、大型重构交互式开发行内编码

3) Claude Code 基础

Claude Code 运行在 Opus 4.5 上,拥有超大上下文窗口。安装并登录:

bash
# 安装 Claude Code CLI
npm install -g @anthropic/claude-code

# 登录认证
claude login

# 在你的项目里启动
cd your-project
claude

基本命令

bash
# 询问代码库相关问题
claude "这里的认证是怎么实现的?"

# 生成代码
claude "加一个限流中间件"

# 多文件重构
claude "把整个代码库中的 UserService 重命名为 AuthService"

# 创建 PR
claude "创建一个 PR,为所有 API 端点加上输入校验"

项目配置

创建 .claude/config.json 来设置默认值:

json
{
  "style": {
    "language": "typescript",
    "formatting": "prettier",
    "testFramework": "vitest"
  },
  "context": {
    "include": ["src/**/*", "tests/**/*"],
    "exclude": ["node_modules", "dist"]
  },
  "safety": {
    "requireApproval": ["delete", "git push"],
    "dryRun": false
  }
}

记忆与上下文

Claude Code 会跨会话保留记忆。善用这一点:

bash
# 添加项目上下文
claude "记住:这个项目是 monorepo,packages/ 放共享代码"

# 引用之前的工作
claude "继续昨天开始的重构"

# 切换项目时清空记忆
claude --clear-memory

4) Cursor IDE 的智能体能力

Cursor 围绕智能体工作流构建。关键特性:

Agent 模式

Cmd+Shift+I(Mac)或 Ctrl+Shift+I(Windows/Linux)打开 Agent 模式下的 Composer:

Agent 模式工作流:
1. 描述任务
2. Agent 生成计划
3. 你批准或修改
4. Agent 执行改动
5. 复审、迭代

Plan 模式

对于复杂任务,明确使用 Plan 模式:

@plan 加入用户认证,包含:
- JWT token
- Refresh token 轮换
- 用 bcrypt 做密码哈希
- 登录尝试限流

Agent 会:

  1. 研究你已有的代码
  2. 创建详细的实施计划
  3. 等你批准
  4. 一步步执行

上下文注入

@ 添加特定上下文:

@file src/api/auth.ts
@folder src/middleware
@docs https://jwt.io/introduction

按这些模式实现 JWT 校验中间件

并行 Agent

在不同分支上同时运行多个 Agent:

# 在 Cursor 里:
1. 打开命令面板
2. "Cursor: New Agent in Worktree"
3. 每个 Agent 在隔离环境工作
4. 并排比较结果

用规则保持一致性

创建 .cursor/rules/project.mdc

markdown
# 项目规则

## 代码风格
- 使用 TypeScript 严格模式
- 优先使用函数组件
- 使用命名导出,不要默认导出

## 测试
- 每个功能都要有测试
- 使用 describe/it 块
- 模拟外部服务

## 安全
- 永远不要提交密钥
- 校验所有用户输入
- 使用参数化查询

5) GitHub Copilot 的智能体能力

Copilot 已经远不止自动补全:

Copilot Chat

打开对话面板,使用斜杠命令:

/explain - 解释所选代码
/fix - 修复所选代码中的问题
/tests - 生成测试
/doc - 添加文档

Agent 模式(Copilot Workspace)

# 在装有 Copilot 的 VS Code 中:
1. 打开 GitHub issue
2. 点击 "Open in Workspace"
3. Copilot 分析 issue
4. 生成实施计划
5. 生成代码改动
6. 以 PR 草稿形式打开

带上下文的行内建议

Copilot 会读你的代码库。用注释帮它:

typescript
// 认证中间件,功能:
// - 从 Authorization header 提取 JWT
// - 验证 token 签名
// - 把 user 挂到 request 上
// - 无效时返回 401
export function authMiddleware(req, res, next) {
  // Copilot 会生成实现
}

6) 所有工具通用的最佳实践

写清晰的提示词

❌ 差:"修一下 bug"

✅ 好:"修复 UserService.getById 在用户不存在时的
空指针异常。改为返回 null 而不是抛错。"

❌ 差:"加点测试"

✅ 好:"为 CartService 添加单元测试,覆盖:
- 向空购物车添加商品
- 移除商品
- 带折扣的总价计算
- 边界情况:数量为负"

复杂任务使用 Plan 模式

对任何涉及 3 个以上文件的任务,始终:

1. 先要一个计划
2. 复审计划
3. 批准或修改
4. 让 Agent 执行
5. 提交前复审改动

提供架构上下文

重要工作开始前,给 Agent 介绍背景:

"这是微服务架构:
- api-gateway:请求路由
- auth-service:JWT、会话
- user-service:用户 CRUD
- notification-service:邮件、推送

服务之间通过 Redis pub/sub 通信。
数据库是 PostgreSQL,ORM 用 Prisma。"

与 Agent 配合的测试驱动开发

1. 先写失败的测试:
   "为用户注册写一个测试,要求校验邮箱"

2. 让 Agent 看到失败的测试:
   "实现注册功能让这个测试通过"

3. 反复迭代直到全绿:
   "修掉剩下的测试失败"

7) 安全考量

智能体工具真有实权。要划清边界:

审批关卡

json
// .claude/config.json
{
  "safety": {
    "requireApproval": [
      "rm",
      "git push",
      "npm publish",
      "database migrations",
      "env file changes"
    ]
  }
}

沙箱

bash
# 在隔离环境里运行 Agent
docker run -v $(pwd):/workspace -it claude-sandbox

# 或者用 git worktree 做隔离
git worktree add ../feature-branch feature-branch

敏感文件

# .cursorignore / .claudeignore
.env
.env.*
secrets/
credentials/
*.pem
*.key

复审所有改动

bash
# 接受 Agent 改动之前:
git diff --stat
git diff

# 使用交互式 staging
git add -p

# 不要不审查就自动合并

8) 行之有效的工作流模式

模式 1:探索、规划、执行

会话 1:"支付系统是怎么工作的?"
        → Agent 探索,你学习

会话 2:"要加 Stripe 大概要做什么?"
        → Agent 生成计划

会话 3:"实现 Stripe 集成"
        → Agent 执行计划

模式 2:并行探索

# 在 Cursor 中使用并行 Agent:

Agent 1:"用 Redis 实现缓存"
Agent 2:"用 Memcached 实现缓存"
Agent 3:"用内存 LRU 实现缓存"

→ 比较各种实现,挑出最优方案

模式 3:增量迁移

第 1 步:"找出所有使用废弃 API 的地方"
第 2 步:"为新 API 创建适配器"
第 3 步:"把模块 A 迁移到使用适配器"
第 4 步:"迁移模块 B……"
...
第 N 步:"移除适配器,直接使用新 API"

模式 4:测试先行的功能开发

1. "为用户资料编辑写验收测试"
2. "为资料校验写单元测试"
3. "实现代码让测试通过"
4. "加上集成测试"
5. "为可读性做重构"

9) 什么时候用哪个工具

场景推荐工具
实时编码、行内帮助GitHub Copilot
大型重构、架构Claude Code
完整的开发会话Cursor
关于代码的快速提问任何对话界面
从 issue 创建 PRCopilot Workspace
复杂的多文件改动Cursor Agent
API 设计、文档Claude Code
学习新代码库Cursor 或 Claude Code

10) 衡量效果

跟踪这些指标来评估智能体工具:

javascript
const metrics = {
  // 生产力
  suggestionsAccepted: '你保留的建议占比',
  timeToFeature: '从开始到合并 PR 的小时数',
  linesPerHour: '代码速度(要谨慎使用)',
  
  // 质量
  bugsIntroduced: '可追溯到 AI 生成代码的缺陷数',
  testCoverage: 'AI 生成代码的测试覆盖率',
  reviewChanges: '你对 AI 建议的修改程度',
  
  // 成本
  apiCosts: 'AI 工具的月支出',
  creditsUsed: 'Cursor 消耗的积分',
  
  // 学习
  newPatternsLearned: '你从 AI 学到的新技巧',
  codebaseUnderstanding: 'AI 在帮你了解代码库方面做得多好',
}

11) 常见陷阱

过度信任 Agent

❌ 不审查就接受大段改动
❌ 让 Agent 执行破坏性命令
❌ 没搞懂代码就上线

✅ 复审每一处改动
✅ 弄懂你交付的代码
✅ 把 Agent 当协作者,不是替身

上下文污染

❌ 巨长但与任务无关的提示词
❌ 在切换不相关任务时不清理上下文
❌ 把生成出来的文件包含到上下文里

✅ 提示词保持聚焦
✅ 用具体的 @file 引用
✅ 排除构建产物

提示词含糊

❌ "让它更好"
❌ "修一下问题"
❌ "加些测试"

✅ "把时间复杂度从 O(n²) 降到 O(n log n)"
✅ "对第 45 行的 null 情况提前返回"
✅ "加上边界情况测试:空输入、最大长度、unicode"

12) 上手清单

markdown
## 配置清单

### Claude Code
- [ ] 安装 CLI:`npm install -g @anthropic/claude-code`
- [ ] 登录:`claude login`
- [ ] 创建 `.claude/config.json`
- [ ] 为敏感文件添加 `.claudeignore`

### Cursor
- [ ] 从 cursor.com 下载
- [ ] 导入 VS Code 设置
- [ ] 配置 `.cursor/rules/`
- [ ] 学会 `Cmd+Shift+I` 进入 Agent 模式

### GitHub Copilot
- [ ] 在你的 IDE 装好扩展
- [ ] 启用 Copilot Chat
- [ ] 试试用 Copilot Workspace 处理 issue
- [ ] 配置 `.github/copilot-instructions.md`

### 所有工具
- [ ] 为破坏性操作设置审批关卡
- [ ] 创建 ignore 文件保护密钥
- [ ] 建立复审流程
- [ ] 从第一天起就跟踪指标

相关阅读