<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>效率提升 on 集洲无水 | AI 落地实战笔记</title><link>https://www.ygaixiao.top/tags/%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87/</link><description>Recent content in 效率提升 on 集洲无水 | AI 落地实战笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 14 May 2026 18:00:00 +0800</lastBuildDate><atom:link href="https://www.ygaixiao.top/tags/%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87/index.xml" rel="self" type="application/rss+xml"/><item><title>用AI写了一年代码，我总结了5个效率翻倍的习惯</title><link>https://www.ygaixiao.top/p/%E7%94%A8ai%E5%86%99%E4%BA%86%E4%B8%80%E5%B9%B4%E4%BB%A3%E7%A0%81%E6%88%91%E6%80%BB%E7%BB%93%E4%BA%865%E4%B8%AA%E6%95%88%E7%8E%87%E7%BF%BB%E5%80%8D%E7%9A%84%E4%B9%A0%E6%83%AF/</link><pubDate>Thu, 14 May 2026 18:00:00 +0800</pubDate><guid>https://www.ygaixiao.top/p/%E7%94%A8ai%E5%86%99%E4%BA%86%E4%B8%80%E5%B9%B4%E4%BB%A3%E7%A0%81%E6%88%91%E6%80%BB%E7%BB%93%E4%BA%865%E4%B8%AA%E6%95%88%E7%8E%87%E7%BF%BB%E5%80%8D%E7%9A%84%E4%B9%A0%E6%83%AF/</guid><description>&lt;h2 id="一句话结论"&gt;一句话结论
&lt;/h2&gt;&lt;p&gt;AI编程的关键不是&amp;quot;让AI帮你写代码&amp;quot;，而是&amp;quot;把自己变成一个会指挥AI的程序员&amp;quot;。&lt;/p&gt;
&lt;h2 id="同样用ai编程差距为什么会这么大"&gt;同样用AI编程，差距为什么会这么大？
&lt;/h2&gt;&lt;p&gt;2025年初，我们团队开始全面引入AI辅助编程。一年下来，一个很有意思的现象出现了：同样是Cursor/Copilot，同样的大模型，有人效率翻了好几倍，有人反而觉得&amp;quot;AI写的代码还不如我自己写&amp;quot;。&lt;/p&gt;
&lt;p&gt;后来我仔细观察了效率高的几个同事，发现他们不是更聪明，而是&lt;strong&gt;形成了一套与AI协作的方法论&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这不是什么高深的技术，而是一些日常习惯。我把这5个最重要的习惯整理出来，每个都经过了一年的实战验证。&lt;/p&gt;
&lt;h2 id="习惯一永远不要让ai从零开始"&gt;习惯一：永远不要让AI从零开始
&lt;/h2&gt;&lt;p&gt;新手最常犯的错误是扔一句话给AI：&amp;ldquo;帮我写一个用户登录功能。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这种&amp;quot;裸提示词&amp;quot;的问题在于：AI不了解你的项目架构、代码风格、技术栈、命名规范。它只能基于通用经验生成一段&amp;quot;看起来能跑&amp;quot;的代码，但你拿回去大概率用不了。&lt;/p&gt;
&lt;p&gt;高效的做法是&lt;strong&gt;先给AI足够的上下文&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;我有一个基于FastAPI的后端项目，使用SQLAlchemy做ORM，
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MySQL数据库，用户表结构如下：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[附上表结构DDL]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;请帮我写一个用户登录接口，要求：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. 使用bcrypt做密码哈希
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 登录成功返回JWT token
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 失败返回具体的错误原因（密码错误/用户不存在）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4. 遵循项目现有的response格式：{&amp;#34;code&amp;#34;: 0, &amp;#34;msg&amp;#34;: &amp;#34;success&amp;#34;, &amp;#34;data&amp;#34;: {...}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;区别在哪？前者产出的代码要改半天，后者基本可以直接用或者小改就能用。&lt;strong&gt;花2分钟写好上下文，能省30分钟的调试时间。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="习惯二把大任务拆成10分钟以内的小任务"&gt;习惯二：把大任务拆成10分钟以内的小任务
&lt;/h2&gt;&lt;p&gt;别让AI一次性写一个500行的模块，它大概率会写到一半就开始跑偏。&lt;/p&gt;
&lt;p&gt;正确的做法是把大功能拆成一个个小步骤：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第1步：先让AI写数据库模型和表结构&lt;/li&gt;
&lt;li&gt;第2步：写数据验证逻辑（Pydantic schema）&lt;/li&gt;
&lt;li&gt;第3步：写CRUD接口&lt;/li&gt;
&lt;li&gt;第4步：写业务逻辑层&lt;/li&gt;
&lt;li&gt;第5步：写单元测试&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每一步都在上一步的基础上继续，这样AI始终有明确的上下文，产出的代码质量和连贯性都会高很多。&lt;/p&gt;
&lt;p&gt;这个习惯看起来&amp;quot;慢&amp;quot;，实际上更快。因为如果让AI一次写完500行代码，你可能要花2小时去调试和修改逻辑错误。拆成小步之后，每一步都可以即时验证，问题不会积累。&lt;/p&gt;
&lt;h2 id="习惯三先让ai解释代码再让它修改代码"&gt;习惯三：先让AI解释代码，再让它修改代码
&lt;/h2&gt;&lt;p&gt;这个习惯是我们团队踩了无数坑之后总结出来的。&lt;/p&gt;
&lt;p&gt;场景：你拿到了一段别人写的代码（或者自己半年前写的），要改一个功能。直接让AI&amp;quot;帮我加上xxx功能&amp;quot;，它可能会引入意想不到的bug。&lt;/p&gt;
&lt;p&gt;高效的做法是两步走：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;第1步：请详细解释这段代码的逻辑，特别是xxx函数的工作原理，
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;以及修改xxx功能可能会影响哪些地方。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;第2步：基于你的分析，帮我实现xxx功能，注意保持与现有代码风格一致。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;为什么要先解释？因为AI在解释代码的过程中，会&amp;quot;被迫&amp;quot;深入理解代码逻辑。这就好比让你给别人讲解一个知识点——讲清楚的过程本身就是理解的加深。&lt;/p&gt;
&lt;p&gt;先解释再修改，AI产出的代码质量和兼容性明显更高。&lt;/p&gt;
&lt;h2 id="习惯四建立一个自己的ai代码片段库"&gt;习惯四：建立一个自己的&amp;quot;AI代码片段库&amp;quot;
&lt;/h2&gt;&lt;p&gt;这是让我受益最多的一个习惯。&lt;/p&gt;
&lt;p&gt;每次AI帮你写了一段好用的代码片段（一个通用工具函数、一个优雅的装饰器、一个处理特定格式的解析器），别用完就扔。&lt;/p&gt;
&lt;p&gt;把它保存下来，按功能分类。下次遇到类似需求，直接把历史片段喂给AI，让它基于这个模式继续优化。&lt;/p&gt;
&lt;p&gt;我的个人片段库里目前有200多个片段，涵盖了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;各种API响应格式的封装&lt;/li&gt;
&lt;li&gt;数据库查询的通用模式&lt;/li&gt;
&lt;li&gt;错误处理的最佳实践&lt;/li&gt;
&lt;li&gt;常用的文本处理函数&lt;/li&gt;
&lt;li&gt;各种第三方SDK的调用模板&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有了这个库之后，我发现一个有趣的现象：&lt;strong&gt;AI越来越&amp;quot;懂&amp;quot;我了。因为它可以参考我积累的代码风格和偏好，产出的代码越来越贴合我的习惯。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="习惯五永远不要跳过代码审查"&gt;习惯五：永远不要跳过代码审查
&lt;/h2&gt;&lt;p&gt;这是最重要的一点，也是很多人最容易忽略的。&lt;/p&gt;
&lt;p&gt;AI写的代码&amp;quot;看起来能跑&amp;quot;，不代表它就是对的。常见的坑包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;安全漏洞&lt;/strong&gt;：没有做输入验证、SQL注入风险、敏感信息硬编码&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;边界条件&lt;/strong&gt;：没有处理空值、异常情况、并发冲突&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性能问题&lt;/strong&gt;：N+1查询、不必要的内存占用、没有分页&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;逻辑错误&lt;/strong&gt;：业务规则理解偏差、状态机设计缺陷&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我的做法是，AI生成的代码不管多&amp;quot;完美&amp;quot;，至少要做三层检查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;AI自检&lt;/strong&gt;：写完后让AI自己审查一遍，问它&amp;quot;这段代码有没有潜在问题？&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键逻辑人工过&lt;/strong&gt;：业务规则相关的代码一定要自己看一遍&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跑一遍测试&lt;/strong&gt;：有单元测试跑单元测试，没有测试至少手动跑几个用例&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这三步加起来可能只要5-10分钟，但能避免90%的线上事故。&lt;/p&gt;
&lt;h2 id="一个真实的效率对比"&gt;一个真实的效率对比
&lt;/h2&gt;&lt;p&gt;用数据和事实说话。以我们团队一个中等复杂度的后端接口开发为例：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方式&lt;/th&gt;
 &lt;th&gt;耗时&lt;/th&gt;
 &lt;th&gt;代码质量&lt;/th&gt;
 &lt;th&gt;Bug数量&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;纯手写&lt;/td&gt;
 &lt;td&gt;4小时&lt;/td&gt;
 &lt;td&gt;稳定&lt;/td&gt;
 &lt;td&gt;1-2个&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AI直接生成&lt;/td&gt;
 &lt;td&gt;1.5小时&lt;/td&gt;
 &lt;td&gt;一般，需大量修改&lt;/td&gt;
 &lt;td&gt;3-5个&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AI+这5个习惯&lt;/td&gt;
 &lt;td&gt;1小时&lt;/td&gt;
 &lt;td&gt;高&lt;/td&gt;
 &lt;td&gt;0-1个&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最关键的发现：&lt;strong&gt;&amp;ldquo;AI直接生成&amp;quot;反而比纯手写bug更多&lt;/strong&gt;。因为开发者容易产生&amp;quot;AI写的应该没问题&amp;quot;的信任心理，放松了审查。&lt;/p&gt;
&lt;p&gt;而&amp;quot;AI+好习惯&amp;quot;的组合，既享受了AI的速度优势，又保持了人工的质量把控。&lt;/p&gt;
&lt;h2 id="写在最后"&gt;写在最后
&lt;/h2&gt;&lt;p&gt;AI编程不是一个&amp;quot;会用还是不会用&amp;quot;的问题，而是一个&amp;quot;用得好还是用不好&amp;quot;的问题。&lt;/p&gt;
&lt;p&gt;这5个习惯的共同点是什么？&lt;strong&gt;都是把人放在主导位置，AI放在辅助位置。&lt;/strong&gt; 你负责思考架构、拆解任务、把控质量，AI负责生成代码、解释逻辑、提高速度。&lt;/p&gt;
&lt;p&gt;别指望AI替你思考。你越清楚自己想要什么，AI的产出质量就越高。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;希望这篇文章对你有帮助。如果你在实践中遇到问题，欢迎交流讨论，我的微信：18010612009（杨哥）。&lt;/p&gt;</description></item></channel></rss>