用了半年 AI 编程工具,我总结了 16 个提升效率的关键技巧
-
AI 写的代码看起来没问题,一跑全是 bug
-
需求提得越简单,改得越频繁
-
明明是同一个问题,每次都要重新解释
-
上下文越来越长,AI 越来越”糊涂”
其实,这些问题不是工具不够好,而是我们没有掌握正确的使用方法。经过半年多的实践,我总结了 16 个实用技巧,分享给大家。
一、沟通技巧:让 AI 更懂你
1. 给出明确的验证标准
最常见的问题是需求不够具体。与其说”写个登录功能”,不如说清楚具体要求:
❌ 模糊表达:
实现一个验证邮箱的函数
✅ 明确表达:
编写 validateEmail 函数。测试用例包括:
user@example.com → true
invalid → false
user@.com → false
实现后请运行测试验证
为什么重要?当你告诉 AI 什么算”对”,它才能朝着正确的方向努力。这就像写代码要先写测试用例一样,明确的标准能大幅减少返工次数。
2. 需求描述越具体越好
这是最重要的一条。具体的需求描述能帮你少改十次代码。
对比一下:
| 模糊描述 | 具体描述 |
|---|---|
| 帮我写个登录功能 | 用 JWT 实现用户登录:1. 登录接口 POST /api/login2. 接收 email + password3. 验证成功返回 JWT token,有效期 7 天4. 使用 jsonwebtoken 库5. 参考 src/auth/ 代码风格 |
| 添加一个日历组件 | 参考现有组件实现方式,按同样模式实现日历组件 |
实践建议:
-
限定任务范围:”为 foo.py 添加测试,涵盖用户已注销的边界情况”
-
指向数据源:”查看这个 API 的 git 历史,总结它是如何形成的”
-
参考现有模式:”按照现有组件的实现方式实现新功能”
3. 让 AI 先采访你
有时候我们自己也想不清楚具体要什么。这时候别急着让 AI 写代码,先让它采访你。
可以这样提示:
我想实现一个 xxx 功能。请详细询问我技术实现方案、用户体验设计、边界情况及权衡取舍。避免问显而易见的问题,深入探讨难点。持续提问直至完全明确,再开始实现。
好处:AI 会提出你可能没考虑到的问题,把这些都想清楚了,后续开发会顺利很多。
二、工作流:不要一上来就写代码
4. 遵循”探索-规划-实现-提交”流程
很多人一上来就让 AI 直接写代码,这其实效率很低。更好的方式是:
-
探索阶段:让 AI 只读代码,理解项目结构
-
规划阶段:要求 AI 创建详细计划
-
实现阶段:按照计划执行
-
提交阶段:创建 PR 交付
这个流程虽然看起来多了几步,但能大幅减少返工。
5. 尽早纠正方向
AI 干活过程中,如果你发现方向不对,要立刻指出:
-
Esc:中途停止 AI,可以重定向 -
Esc + Esc或/rewind:回退到之前的状态 -
/clear:不行就重来,别在错误的方向越走越远
小技巧:如果对同一问题改了两次以上,直接 /clear 重开会更高效。
6. 善用 Checkpoints 大胆尝试
Checkpoints(检查点)是自动状态跟踪功能:
-
每次提示自动创建检查点
-
捕获编辑前的代码状态
-
支持回退到之前的状态
就像游戏存档一样,你可以大胆尝试,不满意随时回退。
三、上下文管理:省钱又高效
7. 主动管理上下文
AI 按上下文长度收费,上下文太长既浪费钱,还会影响 AI 的表现。
三个实用技巧:
| 技巧 | 用途 | 示例 |
|---|---|---|
| 任务间清除 | 换任务重新开始 | /clear |
| 压缩上下文 | 精简历史内容 | /compact Focus on code samples |
| 快速提问 | 临时问题不计入历史 | /btw 这个函数参数类型? |
小提示:/btw 命令是免费的,问题和答案只出现在临时浮层中,不会消耗 token。
8. 用 Subagents 独立调查
需要分析整个代码库时,别让主对话去读。创建一个 Subagent,让它在独立上下文里跑,最后给你汇报。
常用 Subagents 类型:
-
Explore:快速搜索代码库(只读)
-
Plan:规划模式的研究
-
General-purpose:复杂多步骤任务
适合的独立任务示例:
-
组件审查:检查 React/Vue 组件最佳实践
-
样式检查:验证 CSS/Tailwind 一致性
-
测试运行:执行测试并报告失败
四、环境配置:一次设置,终身受益
9. 用 CLAUDE.md 统一项目规范
每次开新项目都要跟 AI 解释一遍规范?太累了。
在项目根目录创建 CLAUDE.md,一次性说清楚:
# 项目说明
## 技术栈
- React 18 + TypeScript
- Vite
- Tailwind CSS
## 代码规范
- 组件用函数式组件
- 必须使用 TypeScript 类型
- 样式统一使用 Tailwind
运行 /init 还可以自动生成模板。
建议:保持简洁,500 行以内即可。专门的指令可以移到 Skills 中按需加载,减少基础上下文消耗。
10. 用 Hooks 保证必执行
CLAUDE.md 里的指令 AI 可能会忘记,但 Hooks 是确定性的,每次都会执行。
{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "eslint --fix $FILE"
}]
}]
}
}
比如:每次写完代码自动运行 lint,每次提交前自动检查。
11. 用 Skills 创建可复用工作流
重复的工作流?创建 Skill 一次定义,随时调用。
示例:
---
name: fix-issue
description: 修复 GitHub issue
disable-model-invocation: true
---
分析并修复:$ARGUMENTS。
1. 获取 issue 详情
2. 理解问题本质
3. 搜索相关文件
4. 实现修复方案
5. 编写并运行测试
6. 提交并创建 PR
调用方式:/fix-issue 1234
五、扩展能力:融入你的工作流
12. 用管道(Pipeline)融入命令行
用 -p 标志,AI 可以直接融入你的命令行工作流:
# 代码审查
gitdiff | claude -p"review these changes"
# 测试失败分析
npm test 2>&1 | claude -p"why did tests fail"
# 创建提交
claude -p"create commit"--allowedTools"Bash(git diff *),Bash(git commit *)"
获取结构化输出:
claude -p"summarize"--output-format json
13. 用 MCP 连接外部世界
MCP(Model Context Protocol)可以让 AI 读取邮件、日历、各种 SaaS 数据。
常用操作:
# 添加 HTTP 服务器
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 添加本地 stdio
claude mcp add --transport stdio airtable -- npx -y airtable-mcp-server
# 管理
claude mcp list
claude mcp remove github
/mcp
14. 用 Git Worktrees 并行开发
需要多个 AI 会话同时工作?用 worktree 隔离,每个会话有独立代码副本,互不干扰。
claude --worktree feature-auth
claude --worktree bugfix-123
特点:
-
Worktree 创建在
/.claude/worktrees/ -
退出时无更改自动清理,有更改提示保留或删除
-
支持多会话并行工作
六、会话管理:保持井井有条
15. 及时命名会话
/rename auth-refactor
claude --resume auth-refactor
早命名,后续好找。尤其当你同时处理多个任务时,清晰的命名能帮你快速定位。
16. 调整扩展思考级别
简单任务不需要太多思考,复杂任务才需要。
| 调整方式 | 说明 |
|---|---|
| 努力级别 | 低、中、高 |
| ultrathink 关键字 | 提示中添加 “ultrathink” |
| 快捷键 | Option + T |
省钱小技巧:简单任务关掉扩展思考,能节省不少成本。
总结
16 个技巧,核心其实就一点:Context Window 是最重要的资源。
所有的技巧都在围绕这几点:
-
让 AI 更准确理解你的需求
-
减少不必要的上下文浪费
-
提高单次交互的成功率
工具再好,也要会用。希望这些技巧能帮你真正把 AI 编程工具用出效率。
一句话总结:工具是死的,人是活的。掌握正确的方法,AI 才能真正成为你的得力助手。
本文基于实际使用经验总结,适合所有使用 AI 编程工具的开发者。如果你有其他实用技巧,欢迎交流分享。
夜雨聆风