Claude Code 为何如此强大?🤔

核心思想:大道至简,傻瓜式简单才是王道!

(Keep It Simple, Dummy)

本文档为交互式幻灯片,请使用下方的按钮进行翻页。

第一部分

控制回路:大脑结构要简单 🧠

单一主心骨

拒绝复杂的“多智能体系统”(如PM->程序员->测试员的模式)。Claude Code 只有一个主工作流程,这使得它:

  • 思路清晰:任务路径单一,不易跑偏。
  • 易于调试:出问题时,很容易定位错误来源。
  • 结构稳健:避免了多智能体之间交接的复杂性和脆弱性。

“Debuggability >>> complicated hand-tuned multi-agent... mishmash.” (可调试性远胜于复杂的、精调的多智能体大杂烩)

小事用小模型

不是所有任务都需要最强的模型。Claude Code 超过50%的重要调用都使用了更小、更快的 `claude-3-5-haiku` 模型。

  • 应用场景:阅读大文件、解析网页、处理 git 历史、总结对话等。
  • 巨大优势:成本降低 70-80%,响应速度更快,体验更流畅。

好钢用在刀刃上,把最强大的模型留给最核心的编码和推理任务。

第二部分

指令:说明书要写得好 📝

使用 claude.md 备忘录

这是一个强大的模式,让用户可以创建一个上下文文件,告诉 AI 项目的特定规则和偏好。AI 每次请求都会读取它。

  • 强制规则:比如,强制使用某个库,或者跳过某些文件夹。
  • 提供上下文:告知代码库中无法直接推断出的背景信息。
  • 效果显著:使用与否,Claude Code 的表现判若两人。

用特殊标签和范例划重点

通过结构化的方式(XML 标签和 Markdown)来组织和强调指令,让 AI 更容易理解和遵守。

<system-reminder>: 提醒 AI 容易忘记的事情。

<good-example>: 展示正确的做法。

<bad-example>: 展示错误的做法,形成对比。

这种方式比单纯的“Do/Don't”列表更清晰、更有效。

第三部分

工具:配备合适的工具箱 🧰

LLM Search >>> RAG Search

Claude Code 放弃了流行的 RAG(检索增强生成)技术,而是让 LLM 像一个真正的程序员一样,使用 ripgrep 等命令行工具直接在代码库中搜索。

  • RAG 的问题:依赖外部索引,分块、排序等环节都可能引入“隐藏的”错误,不够智能。
  • LLM Search 的优势:利用了 LLM 对代码的深刻理解,可以执行复杂的正则搜索,更灵活、更强大,也更符合程序员的直觉。

工具要“有粗有细”

工具的设计需要在“底层通用”和“高层专用”之间找到平衡。

  • 底层工具:Bash, Read, Write (灵活万能)
  • 中层工具:Grep, Glob, Edit (常用操作封装)
  • 高层工具:WebFetch, getDiagnostics (特定任务一键完成)

自我管理待办清单

为防止 AI 在长任务中“迷失方向”(Context Rot),Claude Code 使用了由模型自己维护的待办清单。

  • 保持聚焦:AI 会被频繁提醒参考清单,确保不偏离最终目标。
  • 灵活调整:AI 可以根据新情况,动态添加、修改或删除任务项。

第四部分

可控性:如何“驯服”这头猛兽 🎯

定义语气风格

在指令中明确规定 AI 的沟通方式,例如:“不要说教”、“直接给代码,别讲废话”、“用户没要求就别用 emoji”,以提升用户体验。

靠“大写”强调

很不幸,目前最有效的“紧箍咒”仍然是在指令中使用 IMPORTANT, VERY IMPORTANT, NEVER 等词语来强制 AI 遵守规则。

把任务写成算法

避免给出一堆杂乱的“Dos and Don'ts”。最好将核心任务流程化、步骤化,像写算法一样,明确告诉 AI 决策的路径和依据。

🚀 总结:少即是多 (Less is More)

Claude Code 的成功在于它抵制了过度设计的诱惑,用最简单、最直接的方式,构建了一个清晰、可控、且极其强大的 AI 助手。它让我们相信,一个优秀的 Agent 可以既简单又强大。