三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Claude Code 架构全景:从 CLI 到 AI Agent 的编程新范式

Claude Code 架构全景:从 CLI 到 AI Agent 的编程新范式
  • Claude Code 架构全景:从 CLI 到 AI Agent 的编程新范式

    • 核心痛点:AI 编程工具层出不穷,但从"代码补全"到"自主编程 Agent"的范式跃迁背后的架构设计,多数开发者仍停留在表面使用层面,缺乏系统性认知
    • 适配人群:AI/ML 工程师、高级开发者、DevOps 工程师、技术架构师——希望深入理解 Claude Code 内部机制并将其应用到实际工程中
    • 收获能力:理解 Claude Code 的多形态部署架构、Agent 循环核心原理、工具层与扩展层设计、上下文管理策略,以及与主流竞品的本质差异
    • 技术背景与演进逻辑

      • 2023 年,AI 编程工具以"代码补全"形态进入主流视野。GitHub Copilot 凭借 IDE 内联建议率先落地,Cursor 以"AI-first IDE"定位切入,Cline 则以开源 VS Code 插件形态吸引了大量开发者
      • 但这些工具有一个共同的局限:它们本质上是"辅助工具",只能在你写代码的时候提供建议,无法自主完成跨文件的工程任务
      • 2025 年初,Anthropic 发布了 Claude Code——一个从终端运行的 AI 编程 Agent。它不再只是"建议",而是能够自主读取整个代码库、编辑文件、运行命令、调用外部服务,并验证结果。这不是渐进式改进,而是范式跃迁
      • 从"补全"到"Agent"的转变,意味着 AI 编程工具的角色从"打字助手"升级为"工程协作者"。Claude Code 的架构设计正是围绕这一核心理念展开
      • 贯穿案例引入:本系列以「CSDN 文章自动发布流水线」为主线案例。在本文中,我们从一个简单场景切入——用 Claude Code 在终端中搜索技术资料、阅读文档、生成文章大纲。这个看似简单的流程,背后涉及 Claude Code 的 Agentic Loop、工具调用、上下文管理等核心机制
      • 演进时间线(text 树表达):
        AI 编程工具演进时间线 ├── 2022-06 -> GitHub Copilot GA:IDE 内联代码补全,开启 AI 编程时代 ├── 2023-03 -> Cursor 发布:AI-first IDE,引入 Chat + Edit 模式 ├── 2023-07 -> Cline(原 Continue)开源:VS Code 插件,社区驱动 ├── 2024-12 -> Anthropic 发布 Claude Code 预览版:CLI Agent 形态 ├── 2025-02 -> Claude Code 正式发布:终端 AI 编程助手 ├── 2025-06 -> MCP 协议生态成熟:外部工具标准化接入 ├── 2025-09 -> Claude Code 支持多 Surface:VS Code / JetBrains / Desktop ├── 2026-01 -> Skills + Auto Memory 系统落地:持久化知识与可复用能力 ├── 2026-02 -> Worktree 并行开发 + Agent Teams 实验性发布 ├── 2026-03 -> Web Surface + Mobile + Dispatch:随时随地编程 ├── 2026-05 -> Workflows + Scheduled Tasks:确定性多 Agent 编排 └── 2026-Q3 -> Agent SDK + Plugins + Marketplaces:生态全面开放
      • 这条时间线揭示了一个关键趋势:AI 编程工具正在从"单点能力"演进为"操作系统级平台"。Claude Code 不再只是一个 CLI 工具,而是一个覆盖终端、IDE、桌面应用、Web、移动端、CI/CD 的全形态编程 Agent 平台
    • 核心原理深度解析

      • Agentic Loop:Claude Code 的核心引擎

        • Claude Code 的所有能力都围绕一个核心机制运转——Agentic Loop(Agent 循环)。理解这个循环,就理解了 Claude Code 为什么能"自主编程"
        • Agentic Loop 由三个阶段组成,它们不是严格的线性流程,而是相互交织的:
        • 循环机制(text 树):
          Agentic Loop 核心循环 ├── 阶段 1 -> 收集上下文(Gather Context) │ ├── 读取文件 -> 理解代码结构 │ ├── 搜索代码 -> 定位相关组件 │ ├── 运行命令 -> 获取运行时状态 │ └── 调用 MCP -> 获取外部数据 ├── 阶段 2 -> 执行动作(Take Action) │ ├── 编辑文件 -> 修改代码 │ ├── 创建文件 -> 生成新组件 │ ├── 运行命令 -> 执行构建/测试 │ └── 调用 API -> 与外部系统交互 ├── 阶段 3 -> 验证结果(Verify Results) │ ├── 运行测试 -> 确认功能正确 │ ├── 检查输出 -> 验证预期行为 │ └── 回顾变更 -> 确保一致性 └── 循环 -> 根据验证结果决定下一步 ├── 任务完成 -> 返回结果给用户 └── 未完成 -> 回到阶段 1 继续
        • 关键设计思想:每次工具调用都会产生新的信息,这些信息反馈给模型,影响下一步决策。这不是预定义的工作流,而是模型根据实时信息自主决策的动态循环
        • 举个具体例子:当你说"修复认证模块的 bug"时,Claude Code 可能经历这样的循环:
        • 循环示例(text 树):
          "修复认证模块的 bug" -> Agent 循环 ├── 循环 1:搜索 -> Glob("auth*") -> 定位到 src/auth/ 目录 ├── 循环 2:读取 -> Read("src/auth/session.ts") -> 理解会话逻辑 ├── 循环 3:搜索 -> Grep("token refresh") -> 找到 token 刷新逻辑 ├── 循环 4:读取 -> Read("src/auth/token.ts") -> 发现过期检查缺失 ├── 循环 5:编辑 -> Edit("token.ts", 添加过期检查) -> 修复代码 ├── 循环 6:运行 -> Bash("npm test") -> 测试通过 └── 循环 7:完成 -> 返回修复报告给用户
        • 用户可以在循环的任何时刻中断(按 Esc)或纠正方向(直接输入新指令)。Claude Code 是自主的,但始终保持对用户输入的响应性
      • 工具层:赋予模型行动力

        • 没有工具,模型只能生成文本。工具是 Claude Code 从"聊天机器人"升级为"编程 Agent"的关键。Claude Code 的内置工具分为五大类:
        • 工具分类(text 树):
          Claude Code 内置工具体系 ├── 文件操作(File Operations) │ ├── Read -> 读取文件内容(支持行号、偏移、图片、PDF) │ ├── Write -> 创建/覆写文件 │ ├── Edit -> 精确字符串替换编辑 │ └── Glob -> 按模式匹配查找文件 ├── 搜索(Search) │ ├── Grep -> 正则表达式内容搜索(基于 ripgrep) │ └── codegraph -> 代码语义搜索
← 返回列表