Claude Code(一):A Highly Agentic Coding Assistant

一、简介

Claude Code 是一款智能编码工具,它驻留在您的终端中,能够理解您的代码库,并通过执行常规任务、解释复杂代码和处理 Git 工作流来帮助您更快地编写代码——所有操作均可通过自然语言命令完成。您可以在终端、IDE 中使用它,也可以在 GitHub 通过 @claude来调用

Claude Code不依赖于将代码库进行复杂的语义嵌入或构建可搜索的索引。相反,它通过一小组核心工具(如文件搜索、目录列表、正则表达式匹配)来智能地阅读和理解你的代码。这种方法的优势在于,你的代码库可以完全保留在本地,确保了安全性。

Claude Code 的一个独特之处在于它会主动地在你的代码库中创建一个名为 CLAUDE.md 的文件。它像一个工作笔记,用来记录它对代码库的理解、关键信息和指导方针,从而实现跨会话的记忆。

要点

  • 范式转变——从“指令式工具”到“智能体伙伴”:核心在于思维模式的跃迁。要将 Claude Code 视为一个能够自主规划、执行并进行反思的初级合伙人,而非一个被动的代码生成器。
  • 上下文工程——对话的本质是信息架构:与 AI 的每一次交互,都是一次微型的信息架构设计。成功的关键在于如何精准、高效地构建上下文,这决定了其输出质量的上限。
  • 持久化记忆——构建项目的“第二大脑”:通过 CLAUDE.md 系统,我们将为 AI 构建一个可版本化、可共享的项目知识库,实现跨会话、跨团队的知识沉淀与复用
  • 工程化整合——将 AI 注入开发生命周期:真正的价值在于将 AI 无缝融入成熟的工程实践中,例如测试驱动调试(TDD)、并行开发(Git Worktree)和持续集成/持续部署(CI/CD)。
  • 元编程思维——从“使用 AI”到“编排 AI”:通过 MCPs 和 Hooks 等高级功能,开发者将从 AI 的“使用者”转变为 AI 工作流的“设计者与编排者”,实现开发流程的深度自动化与定制。

相关资源

二、AI 编程助理的核心机制

“智能体系统” (Agentic Systems)际上是一个由模型 (Model)工具集 (Tools)执行环境 (Environment) 协同工作的系统。

传统的语言模型擅长处理输入和输出,但它们本身并不了解你的代码库结构,也不知道如何查找文件或处理复杂的多步骤任务。

Claude Code 的解决之道,是为大模型提供一个轻量级的 “约束框架” (Harness)。通过这个框架,我们能够充分利用模型的智能,在命令行中执行复杂的编码任务。模型不再是被动地回答问题,而是主动地规划、获取数据、并采取行动

在这个系统中:

  • 模型:是智能的核心,你可以根据任务复杂度和订阅类型选择 Opus 或 Sonnet 模型。
  • 环境:为模型提供了行动的场所,使其能够明确需要哪些数据,制定计划,然后执行。
  • 工具与记忆:则是我们接下来要深入探讨的关键组件,它们赋予了模型超凡的能力。

2.1 Claude Code 的核心能力

Claude Code 最强大的功能之一,是从代码的发现、解释和设计开始的。

Claude Code的能力远不止于此,涵盖了:

  • 代码编写
  • 代码重构
  • 错误调试
  • 数据分析与可视化
  • 与 GitHub 等环境集成

2.2 安装与配置

1
curl -fsSL https://claude.ai/install.sh | bash
  • 启动 Claude Code:
    • 方式一 (独立终端):导航到你的项目文件夹,然后输入 claude 命令。
    • 方式二 (VS Code 集成):在 VS Code 的集成终端中输入 claude,相关插件将会被自动安装。如果遇到问题,请确保 code 命令已添加到系统 PATH 中。

2.3 工具、搜索与记忆

2.3.1 工具使用 (Tool Use) - 赋予模型行动力

想象一下,你问模型:“某个文件里写了什么代码?” 模型本身无法浏览你的文件系统。工具使用机制正是为了解决这个问题。

Claude Code 内置了一套精简而强大的工具集,赋予了模型与本地环境交互的能力。

Name Purpose
Bash 运行shell命令
Edit 编辑文件
Glob 查找文件
Grep 在文件内容中查找
LS 列出文件和目录
MultiEdit 同时进行多项编辑
NotebookEdit 修改 Jupyter Notebook 单元格
NotebookRead 读取并显示 Jupyter Notebook 单元格
Read 读取文件
Task 运行sub-agent来处理复杂的多步骤任务
TodoWrite 创建和管理结构化任务列表
WebFetch 从 URL 获取内容
WebSearch 搜索网络
Write 创建或覆盖文件

正是这些工具,让 Claude Code 从一个简单的问答助手,转变为一个能够自主收集信息、解决复杂问题的智能体。

此外,Claude Code 是 高度可扩展的。你可以通过连接到 MCP (Model Context Protocol) 服务器 来为其添加更多工具。MCP 是一种开源的、模型无关的协议,允许 AI 系统与外部数据和工具轻松通信。

2.3.2 智能搜索 (Agentic Search) - 安全的本地化探索

与某些需要索引整个代码库并上传到云端的工具不同,Claude Code 采用了一种名为 “智能搜索” (Agentic Search) 的技术。

它不会为你的代码库创建结构化的表示或嵌入索引。相反,它利用其智能体和工具集,在需要时主动地在你的本地文件系统中查找信息。这种方法的巨大优势在于:

  • 安全性高:你的代码永远不会离开本地环境。
  • 上下文精准:避免了将整个代码库作为上下文的低效做法。

2.3.3 CLAUDE.md - 跨会话的持久化记忆

Claude Code 通过claude.md 文件记住你在不同会话中的偏好和项目背景。

当你启动 Claude Code 时,它会自动在你的项目中寻找并加载这个 Markdown 文件。你可以将它当作一个项目工作笔记,在其中定义:

  • 通用配置
  • 代码风格指南
  • 项目依赖说明
  • 常用命令

2.4 实战演练

目标:在一个空目录下,让 Claude Code 为我们创建一个有趣的网页可视化效果。

第一步:启动 Claude Code

在 VS Code 的终端中,我们进入一个空文件夹 demo,然后输入 claude 命令启动工具。

1
claude

第二步:下达指令

我们给出一个非常简单的指令:“为我创建一个很酷的可视化效果。”

1
> Make a cool visualization for me.

Claude Code 会立即开始思考并制定一个待办事项列表 (To-do list)。它会规划创建 HTML、CSS 和 JavaScript 文件来实现这个目标。

第三步:AI 自动编码与文件修改

Claude Code会让我们清晰地看到它正在进行的文件创建和修改。

我们可以接受这些更改,并授权它在后续步骤中自动执行,无需每次都请求许可。

第四步:运行与查看结果

编码完成后,我们甚至可以直接让 Claude Code 帮我们打开浏览器来查看结果。

1
> Open it in the browser for me.

它会确认将要执行的命令,然后启动浏览器。

Reference

  1. Claude Code: A Highly Agentic Coding Assistant
  2. Claude Code(GitHub)
  3. 吴恩达 Claude Code 笔记精华版
  4. 课程项目源码
  5. 课程官方文件与 Prompt
  6. Claude Code Docs
  7. Claude Code Offcial

Claude Code(一):A Highly Agentic Coding Assistant
https://mztchaoqun.com.cn/posts/D88_ClaudeCode/
作者
mztchaoqun
发布于
2025年10月10日
许可协议