1. 应对 AI 幻觉:果断重启

当发现 Claude Code 无论怎么修改都无法解决问题时,很可能是出现了“幻觉”。AI 可能陷入了错误的解决思路,继续尝试只会浪费时间。

识别幻觉的信号:

  • 反复修改同一段代码但问题依旧
  • 给出的解决方案越来越复杂
  • 开始建议一些明显不合理的修改

正确的处理方法:

  • 立即停止当前对话(使用 /clear 命令)
  • 回滚到上一个稳定版本(git reset --hard
  • 总结已尝试的错误方案,形成“负面清单”
  • 重新开始,明确告知 AI 避免这些错误方向

2. 版本控制是生命线

养成良好的版本管理习惯,这是使用 AI 编程工具的基础保障。

最佳实践:

  • 原子化提交:每完成一个小功能就提交
  • 有意义的提交信息:描述清楚做了什么改动
  • 分支策略:为每个新功能创建独立分支
  • 标签管理:为重要版本打标签

3. 善用 Plan Mode 规划先行

Claude Code 的 Plan Mode(按 Alt+m 进入)是提高成功率的利器。它让 AI 先思考再行动,避免盲目修改。

Plan Mode 的优势:

  • 生成详细的实施计划
  • 列出可能的风险点
  • 提供多种解决方案
  • 预估所需时间

4. 需求文档决定成功率

在开始编码前,先让 AI 编写详细的 Product Specs(产品规格说明书)。好的文档是成功的一半。

Product Specs 应包含:

功能规格:

  • 详细的功能描述
  • 用户故事和使用场景
  • 输入输出定义
  • 边界条件处理

技术规格:

  • 技术架构设计
  • 数据模型定义
  • API接口规范
  • 性能指标要求

实施细节

  • 开发步骤分解
  • 测试策略
  • 部署方案
  • 回滚方案

5. 建立项目规则记忆

充分利用 Claude Code 的本地配置文件 .claude/CLAUDE.md,让 AI 越用越懂你的需求。

6. 全程使用中文交流和文档

虽然 Claude Code 支持多语言,但统一使用中文可以提高沟通效率。

7. 免授权模式:提升工作流畅度

当你的代码仓库已经由 Git 管理,且没有敏感内容时,可以使用 Bypass 模式大幅提升效率。

启动命令:

claude --dangerously-skip-permissions

Bypass 模式的特点:

  • 无需反复确认授权
  • 异步任务执行
  • 更流畅的工作体验
  • 接近完全自动化

风险提示

  • Claude 可能会修改你未预期的文件
  • 可能会执行一些系统命令
  • 建议只在个人项目中使用
  • 重要项目请做好备份

8. 多用 /clear 即时清理上下文

保持上下文窗口的清洁是提高效率的关键。

清理时机:

  • 完成一个独立任务后
  • 切换到不相关的新任务
  • 发现 AI 开始混淆概念

清理策略:

好处:

  • 提高 AI 的响应速度
  • 减少无关信息干扰
  • 避免上下文溢出
  • 保持对话的专注性

9. 智能的审查工作流

建立高效的AI辅助代码审查流程,确保代码质量。

三层审查模型

第一层:功能验证(30%时间)

  • 运行代码,测试功能是否正常
  • 检查是否满足需求
  • 验证边界条件

第二层:AI自审(20%时间)

AI通常能发现:

  • 性能优化机会
  • 代码重复
  • 潜在的bug
  • 不符合规范的地方

第三层:人工评审(50%时间)

重点关注:
  • 业务逻辑正确性
  • 安全性问题
  • 代码可维护性
  • 架构合理性
审查检查清单:
  • 功能是否完整实现
  • 是否有明显的性能问题
  • 错误处理是否完善
  • 是否有安全漏洞
  • 代码是否易于理解
  • 是否符合项目规范

10. 合理设定 AI 参与度

不要期望 AI 生成 100% 完美的代码,合理的期望值能带来更好的体验。

AI 擅长的领域(90%)

  • 样板代码生成
  • CRUD 操作实现
  • 常见设计模式应用
  • 测试用例编写
  • 文档生成
  • 代码重构

需要人工介入的领域(10%)

  • 复杂的业务逻辑决策
  • UI 细节的像素级调整
  • 特定的性能优化
  • 架构级别的设计决策
  • 与外部系统的特殊集成

11. 良好架构和命名的重要性

清晰的代码结构和命名规范能显著提高 AI 的理解能力和代码生成质量。

命名规范的重要性

在一个实际项目中,我发现前端部分仅用 10 分钟就完成了全部功能,而后端却耗费了 2 小时。深入分析发现,后端某些地方概念模糊,不同功能使用了相同的命名,导致 AI 产生理解偏差。