微信扫码
添加专属顾问
AI Coding工具如何改变开发流程?看作者如何用Claude Code实现高效开发的全过程复盘。 核心内容: 1. AI Coding工具在开发流程中的实际应用价值 2. 提升AI编程效率的关键Prompt技巧 3. Claude Code在结构化Prompt处理上的独特优势
随着人工智能技术的迅速发展,AI Coding 工具已经成为我日常开发中提升效率的重要手段。前阵子参加了一个算法技术的 Hackathon 活动,全程使用 AI 进行写文档、出设计图、写代码,这次经历让我深刻体会到 AI 在加速开发流程中的巨大潜力。因此,我想分享一些自己在实际业务场景中使用 AI Coding(特别是 Claude Code)的经验和心得,希望能对大家有所启发。
文章共分为两部分。第一部分是关于 AI Coding 相关的经验,在这部分,我会详细介绍如何利用 AI Coding 工具优化开发流程;第二部分主要讲述使用 Claude Code 方面的经验,Claude Code 作为一款先进的 AI 编程助手,在此次实践中发挥了重要作用。
AI Coding
关于 Prompt 工程的一些心得
关于prompt engineering,这个话题差不多有两年了,这个词虽然已经过气,尤其最近被Karpathy的新词Context Engineering盖过,不过还是想强调一下prompt的重要性,prompt的质量直接关乎到AI交付结果的质量。然而实际很多开发同学,对prompt技巧掌握并不多,那让AI产出好代码的上限可能就不高了。
我们平时工作中拒绝接受一句话需求,同样,我们和AI沟通时候,应该尽量避免一句话需求,而是尝试将需求描述清楚。这和我们平时工作时候和同事沟通的情况也是一样的,如果表达不清楚,对方也是不知道要做什么,那交付的产物也是五花八门的。
在开始使用 AI Coding 之前,是有必要系统学习一下Prompt 技巧,对后续使用效果影响是很大。
我的两个经验:
1. 清晰的需求描述:
如果一个需求不能描述出来,那么谨慎将任务交给AI,因为你可能获取到的是惊喜,也可能是失望。举个例子,作为服务端同学,如果没法用语言描述前端这个输入框的视觉效果,那就没办法让AI实现前端代码
另外,在中文表达的时候可能存在二义性,可以中英文混合描述来表达需求。
前后端接口对齐
根据服务端接口/v1/api/chat 的request schema 和 response schema,调整一下前端接口
2.使用结构化的方式表示Prompt
我比较喜欢使用COSTAR框架,他是2023年新加坡prompt大赛冠军总结出来的一个提示词编写框架,他将Prompt分成了Context、Objective、Style、Tone、Audience、Response这几个部分,分别表示任务的背景、Agent的目标、风格、回复预期、受众以及响应格式要求。我经常会将style、tone、audience做一些修改,加入一些对agent的要求。
另外,使用claude模型的时候,可以使用伪xml的结构做结构化,claude模型对于伪xml的理解更好。比如:
<<这是你的角色>>{your_role}<</这是你的角色>><<你的任务>>{your_task}<</你的任务>><<要求>>{specification}<</要求>><<输出格式>><</输出格式>>...
3.让AI协助将需求明确清楚,然后再做prompt engineering
在高效写prompt,或者明确需求这块,可以借助一些AI的工具,提升写prompt的效率。比如openai的prompt工具,也可以自己写一个prompt优化的agent。Claude在写prompt template这方面的效果比较不错。
合理划分AI任务边界
在尝试修改生产级别的代码时,我一般会根据任务复杂度和自身能力范围合理分配 AI 的工作,按照我自己的能力范围划分为3个类别:
1. 能力范围内的任务:实现逻辑是清晰的,实现需要花很多时间让 AI 处理逻辑清晰但实现耗时的任务,可以显著提升效率。我把这类任务称为"搬砖提效",常见的如CRUD,稍微复杂一点的像需求文档是非常清晰的,技术设计完善,性能、稳定性等方案也已经完善,剩下就是coding实现。
2. 略超出能力范围的任务:如果我通过调研、短期学习,就可以解决的,那我也会把这部分任务交给AI去解决。,比如我在一个项目环境里面需要调用阿里云 SDK ,他并没有提供javascript版本的签名,我需要详细文档阅读、参考python源码,改成js的版本。这种任务交给AI实现会非常方便,一方面他有能力去fetch官方的文档阅读,另外,对于一些流行的模型,比如Claude,他已经把主流的官方文档都已经训练过了,甚至不用阅读,就可以凭借内生的知识就可以帮我们补全。
3. 远超能力范围的任务:对于自己完全不熟悉的技术领域,不建议完全依赖 AI,除非这个代码仅仅只是用于demo用途。有个翻车例子是,我对React Native了解甚少,有个非常紧急的项目,期望用Claude Code生成一个React Native项目。AI前期代码写的很快,基本上半天就有一个可以跑在手机上的demo出来了。但是到了项目后期,想要加更多效果,就显得非常困难了。代码量越来越多,冗余代码问题、设计问题都藏在底下不得而知,效率变低,成本变高。最后还是回到使用熟悉的语言。
题外话: 越发觉得全栈技能,对于现在鞭笞AI干活显得非常重要。
小步快跑,每一步需要可验证
不要等代码全生成了,然后一次性调试,好的代码应该像细菌🦠一样(by Karpathy),精炼,模块化,闭包( copy paste-able)。再举一个翻车例子,当时按照需求/技术文件让AI进行生成全部代码,然后调试,结果AI告诉我这不是一个react-native的项目,直接崩溃。
⏺ Bash(npx react-native run-ios) ⎿ Error: error iOS project folder not found. Are you sure this is a React Native project?.
当时没舍得从头来过,进入无休止的鞭笞、调试、PUA,成本很高,最后不得已,还是重头开发...
哥,将mobile目录删除掉吧,然后初始化一个React Native工程,使用这些中间件版本,核心技术栈是... balaba...
AI生成的方案和代码必须要Review
除非需求极其清晰,否则不要期望一次命令就能完成一个完整需求,AI认为的完成,有可能并不是实际的完成。一方面可能会因为上下文长度的原因,遗忘,或者产生幻觉。 另外一方面对于项目的了解程度的片面性,生产出来的代码质量或技术方案不够好。
因此,我对AI生产的态度其实有转变,从部分信任到不信任,类似于防御性编程,在系统代码行增加到2万行左右时,对他生产的方案或者代码,我会详细的Review,确保代码投入到生产是没有问题的。
防御性编程的好处是提高代码质量和可靠性,但也需要平衡,过度会导致效率低下。中间过程中,通常也需要多轮沟通,减少信息传递过程中存在理解差异。其次让 AI 编写单元测试 ,利用 AI 为生成的代码编写单元测试,这是一种验证代码质量的有效方法,需要注意的是,不要盲目信任单元测试,AI 也可能为了让测试通过而采取一些技巧,因此仍需人工审核测试质量。
有两个例子,一个是AI为了能通过单元测试,修改了技术方案,实际仅仅是安装包依赖问题。另外一个例子是,多轮修复bug不成功后,AI偷懒修改了测试代码,做了mock数据让单元测试通过了。
频繁提交到git仓库
AI 通常能给出详细的 git commit 信息,充分利用这一点。AI非常熟悉git指令,能了解代码仓库过去都修改了哪些内容。因此git history就是项目的另外一份README.md,抑或者是上下文。
另外,频繁提交有助于在问题出现时方便回滚。
有效管理上下文
最近 Karpathy 提出了"上下文工程"(Context Engineering)"的概念。虽然现代模型支持 128K 甚至 192K 的上下文长度,但在编码场景下,这些上下文往往仍然不足,因为模型需要阅读和理解大量code文件,一下子就把上下文塞得差不多了。
像Claude Code这类的工具,在上下文做了很多优化(后续会分享一些),但是上下文越长,AI 生成代码出现幻觉的概率就越高,后续修正过程会消耗更多资源。
因此,我会人工辅助管理上下文:
当已确定修改范围时,应提供准确的文件路径和相关细节。
先通过与 AI 逐步沟通,获取并明确关键信息,形成清晰上下文后,再让AI执行。
手动筛选重要信息,只保留有价值的部分。举个例子,我们在让AI修复一些执行错误的时候,如果把全部Exception信息丢给AI,比如Java抛出来的Exception,会非常长。想象一下我们自己去解决问题的时候,往往也是定位几行有用信息。
执行复杂任务需要较高的 prompt 技巧和使用经验,且难以验证细节。尝试过让AI写2个半小时的代码,一直在运行。但是对于结果,其实我们要花很多时间去做验证,review的成本会非常高。
过于复杂的任务可能超出上下文长度限制,导致 AI 遗忘早期任务内容。之前尝试让AI生成上百个单元测试,执行过程有过半没成功。尝试在依据命令里面让AI逐一修复,AI执行到最后会告知执行完成,实际只修复了几个。原因就是上下文太长了,他不记得任务列表。
针对上面这种情况,我的做法是,将失败的任务手动编辑出来,并存储在一个外部文档中,然后告诉AI去逐个修复。
test_result.md里面记录了运行单元测试失败的case以及异常的信息,请从上往下进行修复。对于每一个test case,代码修复完成后,通过运行pytest检查case是否执行成功。若test case运行成功,在test_result.md里面标记完成。任务结束前,请检查test_result.md文档,确保失败的测试用例全部修复。
也可以尝试使用 mem0 等 MCP 工具辅助管理上下文,我还没来得及尝试,有试过的同学可以分享一下。
对于已有项目,如果希望长期让AI持续进来改动,请务必先给他提供更多的信息,以及一个良好的信息获取方式。
像Claude Code,提供了 /init 指令,目的是为了让AI快速了解项目的背景、技术架构等,知识库记录了业务需求、技术规约、常见的工程流程等信息。
对于一个已经存在的工程项目,我强烈建议先让AI针对代码写说明文档(README.md),然后再让他参与到写代码 。
Claude Code使用经验分享
在使用Claude Code之前我是Cline的用户,最近深度使用Claude Code之后,发现Claude Code在多方面表现更为出色。它对上下文的管理更智能,能够精准定位修改区域,并且在命令行工具的使用上更加直观高效。因此,在开始使用Claude Code前,了解其claude code大概原理将有助于更好地发挥其潜力。
Claude Code本质上是由一个主模型搭配15个专用工具组成的智能体系统。其工具集主要包括:
- 任务列表管理
- 文件编辑功能
- Bash命令执行
- 内容查找(Grep、Glob)
- Web搜索能力
官方文档[1]提供了简要介绍,而更深入的原理将在后续文章中详细讲解。
https://docs.anthropic.com/en/docs/build-with-claude/overview
关于安装
快速安装,打开终端执行下面命令即可,安装过程需要用到api key,去心流网站[2]申请一个即可。
bash -c "$(curl -fsSL https://cloud.iflow.cn/claude-code/install.sh)"
后续如果要更改模型,修改~/.config/claude-code-proxy/config.json,通过配置兼容function call模型的base url和api key,就可以欢乐地使用上claude code了。如果需要图像相关的,需要有多模态模型能力。
常用启动参数(启动前)
--dangerously-skip-permissions:允许 Claude Code 无需询问权限直接执行操作
--continue:继续上一次的工作会话
常用交互指令(启动后)
/memory:直接编辑记忆,也可通过 # 命令追加记忆
/mcp:查看当前 MCP 工作状态
/compact:压缩上下文(当上下文达到 95% 时会自动启动,但建议主动管理)
/clean:清除上下文
/resume:查看历史记录
可以安装的扩展工具:
ccusage:查看claude code的模型使用量
实时查看消耗
ccusage blocks --live
掌握这些基础知识后,接下来的互动主要依靠自然语言交流。
构建项目的rules和workflow
通过/init指令,可以让Claude Code扫描整个工程,了解项目结构,并将结果写入CLAUDE.md文件:
CLAUDE.md是Claude Code的记忆存储文件,执行任务时它会优先参考这里的内容。官方文档对此有详细介绍。我们可以通过 /memory 直接编辑这个文件,也可以用 # 命令追加内容。
我建议在CLAUDE.md中包含以下关键内容:
1. AI必须了解的核心信息:项目背景、技术栈、架构设计等
2. 项目编码标准、流程等指导AI正确执行任务的行为准则
对于常用框架、开发语言规范甚至是工作流,可参考GitHub上的优质资源,如awesome-cursor-rules-mdc[3],描述了各种语言、各种框架沉淀的code conduct。
https://github.com/sanjeed5/awesome-cursor-rules-mdc/blob/main/rules-mdc/python.mdc
以下是一个我追加的CLAUDE.md片段示例:
CLAUDE.md片段
1. **workflow**:处理Excel时使用pandas进行数据分析2. **rules**:服务端接口必须包含success、code、msg、body字段3. **sop**:通过读取README.md了解项目情况,提交git前请更新README.md
如果单个CLAUDE.md信息量过大,可以将其分层分模块存储,按模块准备不同的CLAUDE.md文件。Claude会从修改最深一级的记忆开始查找。
上下文管理策略
定期使用/compact命令:上下文容易超出限制,需要主动压缩,否则模型可能遗忘早期重要信息;
及时更新README.md和CLAUDE.md,将其作为上下文存储的补充;
任务结束后,使用/clean清除上下文,保持环境整洁;
考虑到AI上下文长度限制,建议尝试使用外部文件列表管理复杂任务。
先plan再code(shift + tab)
当项目复杂度高、代码设计量大时,采用"计划先行"模式能显著提升效率:先让AI分析修改点,制定详细计划,然后再执行具体编码工作。
比较两种方案的差异:直接生成代码模式在运行时间长、代码量大的情况下,容易导致代码难以review、方案错误难以回滚。而plan模式则允许先review方案,对齐期望,流程更加清晰。
计划先行的好处
计划先行的主要优点是允许人参与决策过程:
1. 纠正过度保守倾向:AI有时不敢删除现有代码,倾向于通过新建而非修改来实现功能,可能导致代码冗余。人参与可以判断并纠正这种行为。
2. 避免信息片面:AI容易基于首次找到的信息做决策,而忽视项目中的其他相关信息,或者使用已经废弃的代码。人可以提供更全面的视角。
3. 避免不必要的AI调用:有时规划后发现修改仅涉及少量代码,由人工直接完成更为高效,避免AI进行搜索、定位、修改和总结的耗时过程。
使用git worktree
多个Claude Code协同工作
为减少等待时间和提高工作效率,可以使用git worktree同时运行多个Claude Code实例处理不同任务。git worktree是多检出的轻量替代方案,允许将同一仓库的多个分支检出到不同目录,每个worktree有独立的工作目录和文件,但共享历史和reflog。
1.多个功能特性同时迭代;
2.前后端协作:一个实例负责前端,另一个负责后端;
例如,一个Claude实例重构认证系统,另一个构建数据可视化组件,两个任务互不干扰,可以同时高效推进:
创建worktree:git worktree add -b feature-a ../project-feature-a;
在每个worktree目录中启动独立的Claude Code实例;
根据需要创建更多worktree(在新终端标签页重复 1-2 步骤,但不建议过多,以免人工切换上下文带来认知负担);
重要提示:不要在同一工作目录同时启动多个Claude Code实例执行任务,这会导致文件冲突。建议限制worktree数量,避免人工切换上下文带来的认知负担。
有效利用MCP
Claude Code可以扩展一些工具,增加他的能力,但是不建议过多。
Context7 MCP[4]:能够从源代码直接提取最新、特定版本的文档和代码示例,并将其直接放入prompt中
Figma Dev Mode MCP[5]:实现交互稿像素级还原,MasterGO也有类似功能。注意点:Figma的源码文件往往很长,建议逐个模块选中,让AI实现。
Browse use MCP:配合工作流,完成前端研发后,让Claude Code查看浏览器中的实际表现
最后
AI Coding 工具,尤其是 Claude Code,在正确使用的情况下,可以显著提升开发效率。以上是我个人的一些经验分享。
除此之外,Claude Code其实能做更多的事情。在原理简单介绍可以看出,Claude Code是一个非常通用的Agent,通过自然语言描述工作流程,接入MCP,是可以让Claude Code做很多事情。
下面是我的一些探索
计划8月15到8月24或25去西欧旅游,杭州出发亲子游,共9天。地点选择Amsterdam、Cologne、Paris和Saarbrücken。为这个行程做规划和设计,要求是:1. 少走回头路,自驾旅游,亲子为主。2.8月23号要在Saarbrücken参观比赛3. Cologne预留3天4.回城的飞机可以在巴黎或者德国,找价格低的航班。
结果html[6]
做PPT
你是一个PPT编写专家,你会根据用户的需求做一个漂亮美观的PPT技术要求:- 使用reveal.js这个库- 统一使用league这个theme- PPT大小为1280*900- 统一的风格和色调你需要这么做:- 根据PPT的内容,思考整个PPT的风格和色调,挑选一个合适的色调- 思考每一页的内容,然后根据每一页内容思考他的布局- 逐页生成每一页的内容- 在所有页面生成完成之后,生成一个首页,和最后一页感谢页用户的输入:PPT的内容在ppt.md文件,你需要去加载这个ppt.md文件你的输出:一个可以直接打开的html文件
处理Excel,进行数据分析,最后导出HTML[7]
结果html[7]
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-01
Mirawork 亲测:颠覆工作方式的 AI 办公神器
2026-06-30
一个业务一线同学,把 AI 真用起来之后的 12 个真实想法
2026-06-30
PRD 2.0:AI时代的需求文档长什么样(附腾讯模板)
2026-06-29
Rspack 2.1 发布:React Compiler 提速 10 倍!
2026-06-28
想转 AI 落地 FDE?先看 3 个核心能力项
2026-06-26
产品经理转FDE:一份6个月的生存手册
2026-06-26
年中了,试试让你的Agent快速写出半年总结?
2026-06-22
我花了三年读王阳明,结果不如用AI蒸馏他一次
2026-05-26
2026-05-18
2026-06-04
2026-06-09
2026-04-16
2026-04-25
2026-04-14
2026-05-21
2026-04-09
2026-04-22
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。