前言
最近接连多个紧急项目集中推进,团队人手实在捉襟见肘。为了缓解开发压力,索性自己动手写代码——当然,如今写代码全靠Claude Code代劳,谁还手动敲键盘呢。
敢于全权交给AI来生成代码,是因为这些项目虽然紧急,但属于后台系统,与线上核心业务有一定隔离。这样的项目正是实践AI编程的最佳场景——需求清晰、环境真实、影响范围可控。本文将分享全程使用AI编程的体验与心得。
环境准备
工欲善其事,必先利其器。AI编程工具首选Claude Code,同时配合IDE快速浏览文件、启动访问等日常操作。
模型选用的是智谱GLM-5.1,效果相当出色。得益于并发能力的提升,整个过程中没有因模型请求或token耗尽而中断终端。
Skills方面采用Superpowers插件,关于其安装与使用,可参考《Claude Code的Skills实践及利器推荐:工欲善其事,必先利其器》一文。
编程语言选择Go,底层框架使用go-zero。环境准备大致就是这些内容。
编码的成果
让AI编写的程序主要包含以下几个功能模块:
- 在已有项目基础上,让Claude Code生成CLAUDE.md文件,用于指导后续开发;
- 集成Milvus向量数据库的SDK;
- 设计一张向量数据的业务表结构;
- 实现该表的新增、查询、删除等业务逻辑及对应的API文档;
- 集成embedding模型,在Milvus存储时使用该模型进行向量化处理。
完成上述全部功能,用时大约三到四小时,消耗的token数在200k至300k之间。按智谱模型的标价折算,每百万token约10元,总成本仅2至3元。
粗略浏览输出结果,质量不错。不过在运行过程中,仍需要自己具备编程框架和类库的知识,才能判断AI的实现方式是否更优。但从最终输出来看,AI编程的效果和效率基本可以媲美中高级开发者,甚至更高,而token成本仅需几块钱——当然,指挥AI工作的人力成本另算。
下面聊聊使用过程中的几点体感与经验。
AI还是有些慢
先不论执行效果,整体开发过程中最大的感受就是“慢”——一直在等待AI执行,然后不断做选择和确认。
这种慢主要源于两个方面。
第一,可能是Superpowers的Skills插件所致。该插件每次执行任务都按标准化流程推进:头脑风暴(苏格拉底式提问)、生成执行计划、按计划执行、编写单元测试、测试验证……也就是说,编程的Workflow让每一次执行都极为严谨且串行。一旦发现错误或疏漏,它还会继续添加改进计划并继续执行。整个过程显得拖沓且漫长。
第二,每次执行都需要人工确认。头脑风暴环节的提问情有可原,但在执行过程中,稍微有风险的操作(如执行脚本、拉取代码等)都需要确认。当然,也有可能模型本身执行速度较慢。
针对模型慢的问题,本次实践尝试了几种解决方案。
解决方案的尝试
关于Superpowers Skills标准化流程导致的慢,暂时认为无需过度解决——质量有保障,无需频繁返工,这本身就是快。关键要看清本质:慢就是快,没有问题。
任务并行
那么如何提升效率?一个有效的尝试是利用Claude Code对Git worktree的支持,同时打开多个窗口并行执行。例如,一个窗口执行SDK集成,一个窗口沟通表结构设计,另一个窗口执行embedding集成。这样将串行任务转化为并行,效率明显提升。这也是日常开发中必备的技能:拆解任务。关于这一点,在《6条Claude Code实践中的经验与思考》一文中也有专门分享。
减少与Claude Code的确认
另一个影响效率、也消耗精力的因素是每执行一段时间就需要人工确认操作,这些基本都涉及访问权限或安全问题。
那么如何减少确认?Claude Code提供了几种模式:
default:仅读取;acceptEdits:读取、文件编辑和常见文件系统命令(mkdir、touch、mv、cp等);plan:仅读取;auto:所有操作,带后台安全检查;dontAsk:仅预先批准的工具;bypassPermissions:所有操作,带后台安全检查。
在会话期间,按Shift+Tab可以循环切换default→acceptEdits→plan。当前模式会显示在状态栏中。编程过程中,习惯默认采用acceptEdits模式。
最理想的模式其实是auto,但有一定限制——需要Claude Code v2.1.83或更高版本,并开通Max、Team或Enterprise账号服务。目前暂时无法使用。另一个可选的是bypassPermissions模式,但权限过大,不清楚模型会执行什么操作,不太敢尝试。即便在acceptEdits模式下,AI有时也会莫名请求访问本机相册和通讯录,存在一定风险。因此这块需要谨慎处理。
小结
简单总结一下。本次项目中实践的AI Coding效果非常出色,能够大幅压缩开发时间。在整个开发过程中,“指挥者”需要具备一定的技术经验和判断力,但无需深入了解过多细节。
在结果的正确性与效率之间,首先要确保正确性——此时慢就是快。其他方面,可以通过拆分任务、设置自动模式等方式提升效率。更多的使用技巧和经验仍在探索中,与君共勉。
