type
status
date
slug
summary
tags
category
icon
password
谋定而后动:规划流程
- 制定周详计划:先别急着动手,让 AI 帮你写一份详尽的实施方案,存成 Markdown 文件。
- 评审与优化:仔细审阅方案,删掉不必要的项目,如果某个功能过于复杂,要勇于砍掉。
- 严控范围:把那些灵光一闪的新点子记到另一个地方,以免打乱当前节奏,保持专注。
- 小步快跑,逐步实现:一次只做一个部分,而不是试图一蹴而就,避免搭建空中楼阁。
- 追踪进度:每完成一个部分,就在实施方案文档里打个勾。
- 频繁提交:确保每个部分完成后,都稳稳当当地提交到 Git,然后再开启下一段征程。
版本控制:你的安全网
- Git 是你的生命线:绝对不要把希望寄托在 AI 工具自带的撤销功能上。
- 另起炉灶:每开发一个新功能,都从一个干净的 Git 分支开始。
- 陷入僵局?果断重来:如果 AI 开始胡言乱语,带你跑偏,别犹豫,直接用
git reset --hard HEAD
回到最初的美好。
- 避免滚雪球:多次失败的尝试会层层叠叠,留下一堆烂代码。要及时清理。
- 净室实现:当你终于找到解决方案时,回滚代码,在一个干净的状态下重新实现它。
测试为王
- 高屋建瓴,抓大放小:把重心放在端到端的集成测试上,而不是单元测试。
- 模拟真实用户场景:让测试模拟用户在网站或应用上的真实点击行为。
- 警惕“暗度陈仓”:大语言模型(LLM)常常会画蛇添足,在不相关的逻辑上做出些意想不到的改动。测试能帮你揪出这些问题。
- 测试是最好的护栏:一些开发者甚至从测试用例写起,用它来给 AI 的行为划定清晰的边界。
高效 Debug 心法
- 善用报错信息:很多时候,你只需要把错误信息原封不动地扔给 AI 就够了。
- 动手前先分析:在动手改代码之前,先让 AI 分析一下所有可能的原因。
- 失败后就重来:一次修复尝试失败后,就从一个干净的状态开始下一次。
- 巧用日志:引入策略性的日志记录,能帮你和 AI 更清楚地了解到底发生了什么。
- 换个模型试试:一个 AI 搞不定时,不妨换个别的 AI,或许就豁然开朗了。
- 净室修复:一旦你确定了问题所在,就回滚代码,在一个干净的版本上实施修复。
优化你的“AI 程序员”
- 创建指令文件:把你的详细要求、规则和偏好,写进
cursor.rules
、windsurf.rules
或claude.md
这类文件里,给 AI 立好规矩。
- 本地文档不可少:把 API 文档下载到你的项目文件夹里,确保 AI 能读到最准确的信息。
- 多工具联合作战:有些高手会同时开着 Cursor 和 Windsurf,让它们在同一个项目上并肩作战。
- 人尽其才,物尽其用:Cursor 在前端开发上速度更快,而 Windsurf 则想得更深更远。
- 货比三家:同时让多个方案并行,然后挑选最好的那个。
复杂功能开发之道
- 先搭个原型:先把复杂功能在一个干净、独立的代码库里构建出来。
- 提供参考范例:直接把可用的代码示例甩给 AI,让它照着学。
- 边界清晰:在允许 AI 进行内部重构的同时,保持 API 的外部一致性。
- 模块化架构是王道:基于服务的架构,因为其边界清晰,比庞大的单体仓库(monorepos)更适合 AI 发挥。
技术栈选择的考量
- 成熟框架更胜一筹:像 Ruby on Rails 这种身经百战、约定俗成的框架,AI 理解起来毫不费力。
- 训练数据是关键:像 Rust 或 Elixir 这类较新的语言,AI 可用的训练数据就相对匮乏。
- 模块化至关重要:小而美的模块化文件,无论对人还是对 AI 都更加友好。
- 远离超大文件:别让 AI 处理成千上万行的代码文件,它会头晕的。
编码之外,大有可为
- 自动化运维:让 AI 帮你配置服务器、DNS 和托管服务。
- 设计辅助:生成网站图标(favicon)和其他设计元素。
- 内容创作:起草文档和市场营销材料。
- 变身学习利器:让 AI 逐行解释它不理解的实现细节。
- 活用截图:利用截图来报告 UI 错误或激发设计灵感。
- 语音输入:借助像 Aqua 这样的工具,实现每分钟 140 个单词的语音输入。
持续进阶
- 定期重构:一旦测试就位,就应该频繁地重构代码。
- 寻找重构机会:主动问 AI,代码里有哪些地方可以优化。
- 拥抱最新模型:每个新模型发布了都去试试。
- 扬长避短:认识到不同的模型在不同任务上各有千秋。