跳到主要内容

Claude 编程经验

Claude Code,或者说 AI 智能体编程,聊一下个人的一些感受与心得。

感受 ⛵​

与 AI 智能体协作编程,可以说像是在航海,一起驶向计划的目的港。

我虽是那个舵手,但能放手让 AI 来掌舵了。不过,难免偏航,不时需要人来纠正一下航向。

我并没有甩手全权交给 AI,想来是几个方面吧:

一是 AI 确实会偏航;二是我懂编程有能力驾驭;三是凭感觉、不那么激进。

无论如何,个人用 AI 编程一直感受挺好。到目前的变化就是更放得开手,让 AI 做更多事情。

也印证着,或者说我在跟随着,AI 日复一日的进步。

变化 🌊​

目前,与 AI 协作编程,最大的变化是:我更多做引导决策,而不是给明确指令。

例如,只给目标方向,让 AI 设计、计划、执行、测试、审查、优化。换一句话说,就是让 AI 参与了整个开发流程,包括写文档。

但想了一想,之前难道不是么?其实一直都是,因为编程本就是这样。

只是 AI 智能体把工作流整合了,更符合编程习惯,让 AI 参与更深度了。

其实,我这里少了几环:需求分析、系统设计、技术选型等。前期这些一开始就先做了,到 AI 这里主要是开发工作。

环境 🖥️​

在聊心得之前,先说一下环境。最近一直用的 Claude Code CLI。

模型呢,上月都是 DeepSeek V4 Pro,这月则是 MiMo V2.5 Pro。之前,用过 Claude Opus 4.7, Zhipu GLM 5.1。

工作流,则是用的各 Skill 手动指挥的,而非直接端到端的实现。上次分享过。

心得 💡​

心得,分两方面,先是 AI 编程通用的,再是 CC 工具有关的。

AI 编程​

1)AI 编程,还是编程​

曾经哪听说过“未来每一个人都要会编程”,AI 让这变成了可能。

编程,往小了说,也只是一种用工具的能力,与会用 Excel 是一样的。

以前用笔画表,现在用 Excel 画,更简单了。现在用 Excel 做的,以后 AI 来做了。Excel 不够,AI 自己编程创造去做。

但编程,往大了说,它仍是软件工程。AI 编程也一样,只有按工程办法来,才能做好一个系统。

也就是,懂得软件工程、系统架构、研发流程的,才能保证更高的下限。

无论懂不懂编程,如下几件事一定要沉淀下来:

  • 文档
    • 使用说明:编译、运行、测试、部署
    • 架构设计:层次关系、边界约束
    • 接口设计:接口协议、模块设计
  • 流程
    • Git 规范: 修改提交必建分支(防丢)等
    • 提交前约束: 让 AI 审查、自测,过 CI 等
  • 测试
    • 多级测试:单元、集成、系统

关键在于来一个新人或 AI 能自己上手、规范提交。

2)AI 智能体,有何用?​

AI 编程,现在都是用 AI 智能体来编程,也就是 AI Agent Coding。

能刷到这一篇文章的想必都了解。简单说,AI Agent 让大模型长出了手脚,自己用编程工具。

AI Agent 是围绕模型形成的一套工作流,也自成一套小生态。

那重点来了,围绕模型,谁的模型?也就是说,有适配性。

Claude Code,简称 CC,当然与它自家的 Claude 模型最适配了。

进一步说,这也是为何各大模型厂商一定要出自己 AI Agent 的原因之一。也是我会切换用原厂 AI Agent 的理由之一。

3)AI 模型,有何差异​

AI 模型,是有差异。但 AI 编程使用差异,不一定是模型带来的。

先说模型自身的编程能力,以我的经验,即使相比以前 AI 聊天来编程,产出质量差异并不大。

但不可否认,模型编程能力是有差异、在进步。只是对不懂编程、直提需求的人来说,差异感受才会大得多。

至于 AI 编程上的差异感受,主要来源于两点:

一是刚提到的与 AI Agent 的适配性,二是有没有依照软件工程的工作流。

另外,AI 模型的调用延时,也当关注。这影响效率、甚至工作形态。

4)AI 编程,为何偏航?​

首先,与人对需求理解有差异一样,AI 对提示理解也不一定准确。

所以,对于复杂一点的提示,要与 AI 讨论、扩散思路、澄清想法。这就是 /idea /grill-me /office-hours 这类技能的用途。

如果有你不确定的,只管问 AI 原因,最后决策并沉淀进文档。

如果发现 AI 误入歧途,最好即时中止,澄清后再继续。这也建议优先计划再执行。这也是 /spec /plan 等技能的用途。

总不能每时每刻都盯着 AI 输出吧😅,所以要计划清楚。

其次,AI 目前还是有上下文瓶颈,遗忘约束或注意力不在。

例如,即使一些规则落盘进了 CLAUDE.md,但 CC 长对话后还是忘了。

此时,要么让 AI 重读,或阶段性重开。也是之前为何强调一定要沉淀文档、流程、测试。

至于这个问题,如何从根本上解决?

我认为,即使无限上下文长度,也并不能解决。因为注意力是有限的,无论人和 AI 都一样。

什么意思?说到底,给 AI 模型的仍是一段提示,其中一部分是约定的基本约束,但太长了,给分配的注意力不还是少了么。

就像我读一篇长科幻,一开始有个基础约定,读到最后就不记得了。除非这个约定是贯穿始终的。

所以,想法是,要么 AI 模型对基础约束可固定注意力,无论是分层次、还是加权重。这得等 AI 升级了🚀。

或者工程上简单一点,基础约束在长文本里,固定间隔插入,多重申几次。

最后,则是编程本身就是要把控的,不然“屎山💩”哪来的?

这与 AI 无关,两个原因:编程习惯与责任心、业务变更与紧急度。

当然,永远是冲突的、没时间的。其实,第一要看的是重要性,有些“屎山”在那也无所谓啦。

反而有了 AI,更有时间让代码保持健康度、提高质量下限。

一是,人工审核不对味的,提示 AI 改。反正快。

AI 也是一样不断堆砌代码。即使加了 Karpathy Skill 底层规则,发现长对话后仍一样,估计注意力不在了。例如:

  • 函数参数越加越多,得人工提示一句把参数封装一下。
  • 类或单文件里功能越来越多,得人工提示怎么拆分组合一下。

此外修改浮于表面,不是本质、或不优美,得人工审问或调试来补充信息。总之,要人工剔除一下坏味道。

二是,AI 改动较多的,一定让它自己审查一遍。挺周全。

AI Agent 多角色,其审查还挺专业,各方向都照顾到了。也就是记得用 /review /simplify 等技能。

三是,一定阶段之后,人工审查架构、整理重构。仍不足。

只看 AI 的每次改动,有些坏味道是发现不了的,或者当时改动影响大先缓一缓的。

所以一定阶段后,一定要人工看看。或者等 AI 执行时,浏览代码。

也就是,不定期微重构。一般涉及:

  • 通用:类型、常量,魔法数
  • 封装:抽象、特例,模块化
  • 框架:拆分组合、用设计模式

CC 工具​

AI 编程、技能、工作流等,都聊过了。CC 工具里,也是一样的。它自身有关的心得,反而没多少了🤔。

1)阶段性重开会话

CC 本身 context 到一定程度会自动 compact,可以在配置里修改或手动执行 /compact。

此外,可以完成一个阶段后,重开会话,读取上手文档,重新开始下一阶段任务。

2)选择性并行开发

CC 本身会话时就能多开 Agent 来并行任务。此外,可以用 worktree 来并行开发。

但建议另开终端,而不是对话建 worktree,也不建议重命名。因为遇过问题😅。

另外,并行高强度使用,会发现文本输入太慢,所以如 TML 语音对话,会是下一次交互革新吧。

不过,这也挺费脑的,注意劳逸结合。

3)按需求选用模型

模型目前都分 Pro 与 Flash,看自己预算与需求做选择。

我用 Pro,想着质量好一点、慢一点也能接受。Flash 没多用,不做对比。

而用不同模型,感受确实有差异,可能有些和 CC 不够适配吧。

例如执行中插话被忽略,一句多件事情会漏掉,甚至有时卡住要中止再继续。

所以用模型原厂出的 Agent 可能更合适,如果有的话。

模型切换,缓存命中就没了,所以最好下一阶段时再切换。

结语 ☕​

Let's Go Coding ~