首页 › AI Agent › AI Agent 开发实战 › 第八节 Claude Code 实战:全链路 Agent 编程

第八节 Claude Code 实战:全链路 Agent 编程

一、Claude Code 是什么:从 Research Preview 到 GA​

Claude Code 是 Anthropic 官方推出的 Agentic Coding 工具,它以终端为载体,将大语言模型(LLM)的推理能力直接接入你的开发环境。​

​

飞书文档 - 图片

​

Claude Code 会自动扫描项目结构,读取 CLAUDE.md(如果存在),并进入交互式会话。你可以用自然语言描述任何开发任务,它会自主规划和执行。​

二、核心能力:终端中的自主编码 Agent​

Claude Code 的核心价值在于"自主性"。它不是一个等待你逐行确认的补全工具,而是一个能独立完成多步骤任务的 Agent。​

多文件编辑与代码生成​

Claude Code 能够同时理解和修改多个文件,这是其最显著的优势之一。当你要求"给这个 Express 应用添加 JWT 认证中间件"时,它会:​

​

🌰

读取现有路由和中间件结构​

创建认证中间件文件​

修改路由文件以引入中间件​

更新 package.json 添加依赖​

生成对应的单元测试​

​

​

代码块​

TypeScript

// Claude Code 自动生成的 JWT 中间件示例import jwt from 'jsonwebtoken';​

import { Request, Response, NextFunction } from 'express';​

​

interface AuthRequest extends Request {​

userId?: string;​

}​

​

export const authMiddleware = (req: AuthRequest, res: Response, next: NextFunction) => {​

const token = req.headers.authorization?.split(' ')[1];​

if (!token) {​

return res.status(401).json({ error: 'No token provided' });​

}​

try {​

const decoded = jwt.verify(token, process.env.JWT_SECRET!) as { userId: string };​

req.userId = decoded.userId;​

next();​

​

Git 操作与版本管理​

Claude Code 对 Git 的理解不止于 add 和 commit。它能分析 diff、生成语义化的 commit message、处理合并冲突,甚至根据变更内容自动拆分多个原子 commit:​

bash​

​

代码块​

Bash

# 在 Claude Code 交互会话中​

> 把我最近的改动拆分成合理的原子 commit​

​

# Claude Code 会:# 1. 分析 git diff 的所有变更# 2. 按功能语义分组# 3. 依次创建 commit,每个都附带清晰的 message​

​

测试生成与运行​

Claude Code 不仅生成代码,还能生成测试并即时运行验证。它会读取你现有的测试框架配置(Jest、Vitest、pytest 等),遵循项目的测试风格:​

bash​

​

代码块​

Bash

> 为 src/utils/validator.ts 生成单元测试,覆盖边界情况​

​

# Claude Code 输出:# ✓ 创建 src/utils/__tests__/validator.test.ts# ✓ 添加了 12 个测试用例,包含:# - 正常输入验证 (4 cases)# - 边界值测试 (3 cases)# - 异常输入处理 (3 cases)# - 类型校验 (2 cases)# ✓ 运行 npm test -- --testPathPattern=validator# ✓ 12/12 测试通过​

​

三、Claude Code 工作流:典型使用模式​

在日常开发中,Claude Code 的工作流可以分为交互模式和 Headless 模式两种范式。​

交互模式:对话式开发​

交互模式是最常用的方式。你在终端中启动 claude,然后通过自然语言描述任务:​

​

​

典型的交互流程示例:​

bash​

​

代码块​

Bash

# 启动 Claude Code​

$ claude​

​

# 场景1:代码重构​

> 将 src/api/ 下所有 callback 风格的异步函数重构为 async/await​

​

# 场景2:Bug 修复​

> 用户报告 /api/orders 在分页参数为 0 时返回 500,帮我定位并修复​

​

# 场景3:代码审查​

> review 上次 commit 的改动,关注安全问题和性能隐患​

​

Headless 模式:脚本化集成​

Headless 模式通过 --print(或 -p)标志启动,适合嵌入脚本和自动化管道。它处理单次请求后退出,不进入交互式会话:​

bash​

​

代码块​

Bash

# 基本用法​

claude -p "分析这个项目的依赖安全性"# 指定模型和工具权限​

claude -p "Fix all ESLint errors in src/" \​

--model opus \​

--allowedTools "Bash,Read,Write" \​

--permission-mode acceptEdits​

​

# 管道化输入echo "Explain the authentication flow" | claude -p​

​

# JSON 结构化输出​

claude -p "List all API endpoints" --output-format json​

​

Headless 模式的关键参数:​

​

​

四、Claude Code SDK:构建自定义 Agent 应用​

Claude Code SDK(现已更名为 Claude Agent SDK)让你能够以编程方式调用 Claude Code 的全部能力,构建自定义的 Agent 应用。​

安装与基础用法​

bash​

​

代码块​

Bash

# TypeScript SDK​

npm install @anthropic-ai/claude-agent-sdk​

​

# Python SDK​

pip install claude-agent-sdk​

​

TypeScript SDK 的基本用法:​

typescript​

​

代码块​

TypeScript

import { ClaudeAgent } from '@anthropic-ai/claude-agent-sdk';​

​

const agent = new ClaudeAgent({​

model: 'opus',​

workingDirectory: './my-project',​

​

子 Agent(Subagent)模式​

SDK 支持通过 Markdown 文件定义子 Agent,每个子 Agent 拥有独立的角色和工具权限。这一机制非常适合构建多 Agent 协作系统:​

markdown​

​

代码块​

Markdown

​

typescript​

​

代码块​

TypeScript

// 在主 Agent 中调用子 Agentconst result = await agent.run(​

'Use the security-reviewer agent to audit the authentication module'​

);​

​

这种模式让你能够构建复杂的 Agent 编排系统——比如一个"技术负责人"Agent 协调"前端开发"、"后端开发"和"安全审查"三个专业子 Agent。要深入了解多 Agent 系统架构,可参考我们的 AI Agent 开发实战。​

五、GitHub Actions 集成:背景 Agent 自动化​

Claude Code 的 GitHub Actions 集成将 Agent 编程从本地终端推向了 CI/CD 流水线。通过官方 anthropics/claude-code-action,你可以让 Claude 自动审查 PR、修复 Issue、生成文档。​

基础配置​

yaml​

​

代码块​

YAML

# .github/workflows/claude.ymlname: Claude Code Assistanton:issue_comment:types: [created]​

pull_request_review_comment:types: [created]​

issues:types: [opened, labeled]​

pull_request:types: [opened, synchronize]​

​

jobs:claude:runs-on: ubuntu-latestpermissions:contents: writepull-requests: writeissues: writesteps:- uses: actions/checkout@v4with:fetch-depth: 0- uses: anthropics/claude-code-action@v1with:anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}model: "opus"​

​

工作模式​

GitHub Actions 集成支持两种核心模式:​

Tag 模式(按需触发):在 PR 或 Issue 的评论中使用 @claude 触发:​

yaml​

​

代码块​

YAML

- uses: anthropics/claude-code-action@v1with:mode: "tag"anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}​

​

使用方式:​

code​

​

代码块​

Plain Text

@claude 这个 PR 有潜在的 N+1 查询问题,请帮我优化 UserService 中的数据库访问​

@claude 为这个新增的 API 端点生成 OpenAPI 文档​

​

Auto 模式(自动触发):在新 PR 或 Issue 创建时自动执行分析:​

yaml​

​

代码块​

YAML

- uses: anthropics/claude-code-action@v1with:mode: "auto"direct_prompt: "Review this PR for security issues and performance problems"anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}​

​

这意味着每次有新 PR 提交,Claude 都会自动进行代码审查并在 PR 中留下结构化的评论,指出潜在问题和改进建议。这与我们在 LLM 结合 CI/CD 自动化代码审查 中讨论的理念完全一致,但 Claude Code 将其封装成了开箱即用的方案。​

六、IDE 集成:VS Code 与 JetBrains​

虽然 Claude Code 以终端为核心,但它也提供了与主流 IDE 的深度集成。​

VS Code 集成​

在 VS Code 中,Claude Code 作为终端面板运行,同时提供了快捷键绑定和上下文菜单:​

bash​

​

代码块​

Bash

# 安装 VS Code 扩展​

code --install-extension anthropic.claude-code​

​

# 或在 VS Code 扩展市场搜索 "Claude Code"​

​

集成后,你可以:​

•

在编辑器中选中代码,右键选择"Ask Claude"​

•

使用 Cmd+Shift+P → "Claude Code: Open Terminal" 快速启动​

•

Claude Code 会自动感知当前打开的文件和光标位置​

JetBrains 集成​

JetBrains 系列 IDE(IntelliJ、WebStorm、PyCharm 等)也支持 Claude Code 插件,体验与 VS Code 类似:​

•

通过内置终端启动 Claude Code​

•

支持通过 Ctrl+Shift+A 搜索 Claude Code 相关命令​

•

与 JetBrains 的 Run/Debug 配置联动​

IDE 集成的核心价值在于上下文的无缝传递——你在编辑器中看到的文件、选中的代码片段、当前的 Git 状态,都能直接成为 Claude Code 的输入上下文。​

七、实战示例:重构、测试与代码审查​

让我们通过三个真实场景,展示 Claude Code 在日常开发中的实际表现。​

场景一:遗留代码重构​

假设你面对一个包含 300+ 行回调地狱的 Node.js 文件:​

bash​

​

代码块​

Bash

$ claude​

> 将 src/services/paymentService.js 从 callback 风格重构为 async/await,​

> 保持所有现有测试通过,确保错误处理语义不变​

​

​

场景二:自动生成测试​

bash​

​

代码块​

Bash

> 为 src/utils/ 下所有缺少测试的模块生成单元测试,目标覆盖率 80%​

​

# Claude Code 会:# 1. 扫描 src/utils/ 下所有文件# 2. 对比 __tests__/ 目录,找到缺少测试的模块# 3. 为每个模块生成测试文件# 4. 运行测试并检查覆盖率# 5. 补充遗漏的分支测试直到达标​

​

场景三:安全代码审查​

bash​

​

代码块​

Bash

> review src/api/ 目录下所有端点的安全性,关注:​

> 1. SQL注入风险​

​

这种代码审查能力比传统静态分析工具更深入,因为 Claude Code 能理解业务语义和跨文件的数据流动。关于 上下文工程(Context Engineering) 的更多讨论,可以参考我们的专栏系列。​

八、Claude Code vs Cursor vs Copilot:三大 Agent 对比​

2026 年的 AI 编程工具格局已经形成"三足鼎立",每种工具代表了不同的设计哲学。​

​

​

如何选择?​

•

选 Claude Code:如果你是 CLI 重度用户、需要 CI/CD 集成、处理大型代码库重构​

•

选 Cursor:如果你需要可视化反馈、多模型灵活切换、日常全栈开发​

•

选 Copilot:如果你深度依赖 GitHub 生态、需要高性价比的 Tab 补全​

对于许多开发者而言,最佳策略是组合使用:日常编码用 Cursor/Copilot 提供即时补全,复杂任务和 CI/CD 自动化用 Claude Code 处理。关于 Vibe Coding 工作流的更多细节,参见 Vibe Coding 实战指南。​

九、Opus 4 的长时间自主执行能力​

Claude Opus 4 的发布标志着 AI 编程从"分钟级辅助"迈入"小时级自主执行"时代。​

Rakuten 7 小时案例​

Rakuten(乐天)在评估 Opus 4 时,给它分配了一个高强度的开源代码重构任务。结果令人震撼:Opus 4 独立运行了 7 小时,持续编写和重构代码,性能始终保持稳定。​

这意味着什么?传统的 AI 编码工具通常在几分钟后就会出现上下文漂移、逻辑退化或直接中断。Opus 4 的 7 小时马拉松证明了它具备:​

•

稳定的长期记忆管理:不会在长会话中"遗忘"早期上下文​

•

一致的代码风格:7 小时内生成的代码保持统一的架构和命名风格​

•

自我纠错能力:能发现并修复自身早期引入的问题​

SWE-bench 基准测试​

在标准的软件工程基准测试 SWE-bench 上,Opus 4 达到了 72.5% 的解决率,这是截至发布时的业界最高分。它在 Terminal-bench 上的得分为 43.2%,同样领先。​

code​

​

代码块​

Plain Text

SWE-bench 解决率对比:​

├── Claude Opus 4: ████████████████████████████████████ 72.5%​

├── GPT-4.1: ██████████████████████████████ 54.6%​

├── Claude Sonnet 4: █████████████████████████████ 53.4%​

└── Gemini 2.5 Pro: ████████████████████████████ 51.8%​

​

Opus 4 的定价为每百万 Token 输入 $15、输出 $75。对于需要处理复杂、长时间任务的 Agent 场景,这个投入的 ROI 非常明确。​

十、最佳实践:CLAUDE.md 与 Memory 系统​

CLAUDE.md 是 Claude Code 最重要的配置机制——它是你给 Claude 的"项目说明书",每次会话自动加载。​

CLAUDE.md 配置示例​

markdown​

​

代码块​

Markdown

# CLAUDE.md## 项目概述​

这是一个基于 Next.js 14 + TypeScript 的 SaaS 平台,使用 Prisma ORM 连接 PostgreSQL。​

​

## 常用命令- 开发服务器:`npm run dev`- 运行测试:`npm test`- 类型检查:`npx tsc --noEmit`- 代码检查:`npm run lint`- 数据库迁移:`npx prisma migrate dev`## 代码规范- 使用函数式组件 + Hooks,禁止 class 组件​

- 所有 API 路由必须包含输入验证(使用 Zod)​

- 错误处理使用自定义 AppError 类​

- 所有用户可见文本使用 i18n(next-intl)​

​

## 架构约定- src/app/ - Next.js App Router 页面​

- src/lib/ - 业务逻辑和工具函数​

- src/components/ - React 组件(使用 shadcn/ui)​

- prisma/schema.prisma - 数据库模型定义​

​

## 禁止事项- 不要修改 prisma/migrations/ 下的已有迁移文件​

- 不要在客户端组件中直接访问数据库​

- 不要使用 any 类型​

​

Memory 层级体系​

Claude Code 的 Memory 系统采用多层级结构,优先级从高到低:​

​

​

使用 /init 命令可以快速为当前项目生成 CLAUDE.md 骨架:​

bash​

​

代码块​

Bash

​

自动记忆(Auto-Memory)​

除了手动编写的 CLAUDE.md,Claude Code 还支持自动记忆功能。当你在会话中纠正 Claude 的行为时,它会自动将这些偏好保存到 MEMORY.md:​

bash​

​

代码块​

Bash

# 会话中的纠正会被自动记录​

> 不要使用 console.log 调试,用 debug 库​

> 数据库查询一律使用 prepared statements​

​

# Claude 自动更新 MEMORY.md:# - Prefer debug library over console.log# - Always use prepared statements for database queries​

​

关于 提示工程(Prompt Engineering) 和上下文管理的更多技巧,可以参考我们的 MCP 协议深度解析,了解 Claude Code 如何通过 MCP 协议 扩展工具能力。​

十一、进阶技巧:让 Claude Code 发挥最大效能​

斜杠命令速查​

​

​

高效 Prompt 模式​

在 Claude Code 中,好的 Prompt 遵循"目标 + 约束 + 验证标准"的三段式结构:​

bash​

​

代码块​

Bash

# ❌ 模糊指令​

> 修一下登录​

​

# ✅ 明确的三段式指令​

> 修复登录接口的 Bug:用户使用 Google OAuth 登录时偶尔返回 500。​

> 约束:不要修改数据库 schema,保持向后兼容。​

> 验证:修复后运行 npm test -- auth,所有测试必须通过。​

​

MCP 协议集成​

Claude Code 支持 MCP(Model Context Protocol) 协议,可以连接外部工具服务器扩展能力。这让 Claude Code 不仅能操作本地文件系统,还能与数据库、API 平台、监控系统等外部服务交互。​

浏览我们的 MCP 工具导航 发现更多可用的 MCP Server。你也可以使用 JSON Formatter 来格式化 MCP 配置文件中的 JSON 内容。​

十二、总结​

Claude Code 代表了 AI 编程工具的一个关键转折点:从"辅助补全"到"自主 Agent"。它的终端原生设计、SDK 可编程性和 CI/CD 集成能力,让 AI Agent 技术真正落地到软件工程的全链路中。​

核心收益总结:​

•

提升开发效率:自主完成重构、测试、审查等耗时任务​

•

降低 CI/CD 门槛:零配置的 GitHub Actions 集成​

•

保持代码质量:CLAUDE.md 确保 Agent 遵循项目规范​

•

支持规模化:SDK 和子 Agent 机制支持构建企业级自动化管道​

无论你是独立开发者还是团队技术负责人,Claude Code 都值得纳入你的工具箱。从一个简单的 claude 命令开始,让 Agent 为你编程。​