2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

如何用AI Coding和Claude Code提升开发效率?看我的全流程复盘

发布日期:2025-07-30 08:40:41 浏览次数: 3104
作者:阿里云开发者

微信搜一搜,关注“阿里云开发者”

推荐语

AI Coding工具如何改变开发流程?看作者如何用Claude Code实现高效开发的全过程复盘。

核心内容:
1. AI Coding工具在开发流程中的实际应用价值
2. 提升AI编程效率的关键Prompt技巧
3. Claude Code在结构化Prompt处理上的独特优势

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

随着人工智能技术的迅速发展,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 生成代码出现幻觉的概率就越高,后续修正过程会消耗更多资源。

因此,我会人工辅助管理上下文:

1. 提供精确信息

  • 当已确定修改范围时,应提供准确的文件路径和相关细节。

  • 先通过与 AI 逐步沟通,获取并明确关键信息,形成清晰上下文后,再让AI执行。

2. 信息压缩策略

手动筛选重要信息,只保留有价值的部分。举个例子,我们在让AI修复一些执行错误的时候,如果把全部Exception信息丢给AI,比如Java抛出来的Exception,会非常长。想象一下我们自己去解决问题的时候,往往也是定位几行有用信息。

3. 控制任务粒度

执行复杂任务需要较高的 prompt 技巧和使用经验,且难以验证细节。尝试过让AI写2个半小时的代码,一直在运行。但是对于结果,其实我们要花很多时间去做验证,review的成本会非常高。

过于复杂的任务可能超出上下文长度限制,导致 AI 遗忘早期任务内容。之前尝试让AI生成上百个单元测试,执行过程有过半没成功。尝试在依据命令里面让AI逐一修复,AI执行到最后会告知执行完成,实际只修复了几个。原因就是上下文太长了,他不记得任务列表。

4. 利用外部记忆

针对上面这种情况,我的做法是,将失败的任务手动编辑出来,并存储在一个外部文档中,然后告诉AI去逐个修复。

test_result.md里面记录了运行单元测试失败的case以及异常的信息,请从上往下进行修复。
对于每一个test case,代码修复完成后,通过运行pytest检查case是否执行成功。test case运行成功,在test_result.md里面标记完成。
任务结束前,请检查test_result.md文档,确保失败的测试用例全部修复。

也可以尝试使用 mem0 等 MCP 工具辅助管理上下文,我还没来得及尝试,有试过的同学可以分享一下。

5. 知识库很重要

对于已有项目,如果希望长期让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做很多事情。

下面是我的一些探索

写HTML研究报告[6]

计划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]

我今年考了674分,想在山东上大学,物理这门课考的比较好,喜欢金融/计算机相关的专业,请帮我分析一下应该怎么填报高考志愿. 结果帮我输出成html

结果html[7]



53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅