跳到正文
docai.cc

DOCAI · 课程 · L3 · 21 分钟 · 基础入门

Claude 的核心优势

从「只会补全」到「能把一件事做完」:看清命令行编码代理在项目上下文、改动落地、命令反馈和项目记忆上的四个实际差别。

Claude Code 程序员 · Claude Code 概述

你将学会

  • 能说清补全工具和编码代理在工作单位上的区别
  • 能写出一个范围、验收标准和交付物都明确的编码任务
  • 知道哪些任务不该交给它,改用别的工具

先换一个衡量标准

挑 AI 编程工具时,很多人先比补全速度、模型数量和月费。这些指标有用,却回答不了另一个问题:手里这件事,能不能直接交给它做完。

这篇说的是 Claude Code:一个跑在终端里的编码代理。补全工具的工作单位是一行代码;编码代理的工作单位是一次改动。前者让你写得更快,后者替你把一段活干完。先分清任务属于哪一种,再谈选型。

判断方法很朴素:把任务写成一句话,看它需不需要「先去看别处」。需要读懂几个文件才能动手的,属于后一类;只差下一行怎么写的,属于前一类。

它先读项目,再动手

只盯着当前打开的文件,模型只能靠猜。它的做法是先看目录结构,再顺着线索找相关模块,一直读到数据层。

比如你说「登录接口偶尔报 500,帮我查」。它会去找路由、鉴权逻辑、会话存储和数据库访问,判断问题卡在哪一层。跨文件的依赖也在阅读范围内,所以它动手时不会只补一个点。

前提是上下文装得下(见什么是上下文窗口)。项目特别大时,仍要你先圈出范围,否则它读到的可能只是冰山一角。

两者的差别可以列成一张表:

维度 补全类工具 编码代理
看哪些文件 当前文件,或随手贴进来的片段 按需要自己去找、去读
产出什么 一段建议代码 落盘的改动加命令输出
谁来验证 你自己跑测试 它跑,把结果带回来
适合的颗粒度 一个函数、一行表达式 一个功能、一次迁移

改动直接落到文件

网页对话的循环是:复制出去、改完、粘回来。中间漏一段,就得重来。

它的循环是:你说清目标,它直接编辑工作区里的文件,你在差异视图里逐块确认。同意就留,不同意就让它改。

改十个文件时,这个差距才明显:手抄十遍的成本,和看一遍 diff 的成本,不在一个量级。

值得养成的习惯是:先把改动范围谈定,再让它动手。范围越清楚,diff 越短,你越看得完。看不完的 diff 等于没有审查。

能跑命令,才有反馈

写代码不是写完就结束。格式化、类型检查、单元测试、构建,每一步都会抛出新信息。

它能执行这些命令,读到报错,再回头改。于是「改—验—再改」在它那边闭合,你只在结果上把关。

可以直接给这样的任务:

跑一遍测试,失败的用例逐条修掉;只改实现,不要动测试断言;修完再跑一次,把结果贴出来。

一句话里,范围、验收标准和交付物都有了。这比「帮我修一下」有效得多,也更容易判断它有没有真的做完。

记住项目的规矩

每开一个新会话就重新解释规范,很浪费。在项目根目录放一份 CLAUDE.md,把测试命令、代码风格、禁止碰的目录写进去,它启动时会自己读。

写法有个简单标准:只写「不写就会做错」的事。目录结构它自己看得到,不必抄;构建命令、发布流程、不能改的迁移目录,才值得写。

一份够用的说明通常包含四块:跑什么命令验证、代码风格以哪份配置为准、哪些目录不许碰、提交信息怎么起头。写完放进版本库,团队里每个人都能受益,它也不至于每次开局都从头问。

一次迁移任务的拆法

说「把项目从 CommonJS 换成 ES Modules」听起来像一句话,真做起来会牵动几十个文件。代理能接住,但前提是你把验收方式一起给它。

把 src/ 从 CommonJS 迁到 ESM,按下面的顺序做,每步结束停下等我确认:
1. 盘点:列出所有使用 require 和 module.exports 的文件,标出动态 require、__dirname、条件加载;
2. 改配置:说明 package.json 需要改哪个字段,先不要动;
3. 转换:先小文件、后入口文件,一次提交一个目录;
4. 处理特例:动态导入和路径拼接单独列出来讨论;
5. 验证:跑测试和构建,失败项逐条修,只改实现不改断言;
6. 收尾:给出改动文件清单和仍未处理的风险点。

这份提示的价值不在步骤多,而在每步都有停点。一次跑完几十个文件再让你审,diff 会长到无法逐行看;分步走,每一步都能退。

和补全工具怎么分工

两者不是替代关系,任务颗粒度不同:

手上的事 更顺手的工具 原因
补下一行、改变量名 编辑器里的补全 不用离开光标,延迟低
跨文件改一个功能 编码代理 需要读多处代码并跑验证
查一个 API 的用法 网页对话 一次性问答,不必动仓库
每天定时整理文件 脚本模式 无人值守,按计划执行

一个常见的搭配是:写的时候用补全,整块功能、重构和排错交给代理。切换的成本很低,难的是判断什么时候该切——标准还是那条:这件事需不需要先读别处、再动手改。

文件读写类操作的具体边界,可以看文件操作。

它不适合什么

  • 你要的是边写边出现的下一个词,编辑器里的补全更顺;
  • 任务要靠眼睛看界面效果,回 IDE 调更快;
  • 代码库本身敏感,你不愿让它读,那就先划权限,或者别用。

工具放对位置,比争论谁更强有用。

下一节把这几条差异摊开到具体工具上比:Claude 与其他 AI 编程工具的对比。

自测

先自己回答,再展开对照;答不上来就回到对应小节。
  1. 01补全工具和编码代理,工作单位分别是什么?看答案

    补全工具处理光标附近的一行;编码代理处理一次完整的改动,包括读文件、修改和验证。

  2. 02为什么说「能跑命令」比「能写代码」更关键?看答案

    因为只有执行命令才能拿到测试、构建、类型检查的真实反馈,改错才有依据回头再改。

查看 Markdown

涉及的概念

在知识树上

相关动态

全部新闻 →