使用技巧

与AI高效沟通

# 沟通规范:一次性讲清楚 vs 多轮小修改

# 核心问题

很多用户习惯"聊天式"地和 Claude/ChatGPT 说话:

用户:帮我写个登录组件
Claude/ChatGPT :[写了一个]
用户:改成用 TypeScript
Claude/ChatGPT :[改了]
用户:再加个邮箱验证
Claude/ChatGPT :[加了]
用户:还要 loading 状态
Claude/ChatGPT :[加了]
用户:其实我想要 Google OAuth
Claude/ChatGPT :[全部重写]
用户:对了,还要支持记住密码
...

每一条消息都会重新发一遍完整历史 —— 上面的对话可能消耗 10 倍于实际工作量的 token。

# 正确做法:一次性把需求说全

用户:帮我写一个登录组件,要求:
- 使用 TypeScript + React 18
- 走 Google OAuth(不要自建邮箱密码流程)
- 包含 loading 状态、错误提示
- 有"记住登录"功能(localStorage 存 refresh token)
- 样式用 Tailwind,匹配现有 design system
- 组件名 LoginForm,放在 src/components/auth/

Claude/ChatGPT 直接出一版完整的 → 你反馈 1-2 处小问题 → 完事。

token 节省:一次性讲清楚 vs 10 轮小修改,后者多花 3-5 倍 token,还多花 3-5 倍时间。

# 需求描述的黄金模板

每次发需求,确保这 5 要素都有:

# 1. 背景(Context)

“我在开发一个 SaaS dashboard,用 Nuxt 4 + PostgreSQL”

让 Claude/ChatGPT 知道项目类型,避免它假设错误(比如给你 Next.js 代码)。

# 2. 目标(Goal)

“想加一个 admin 页面列出所有用户”

明确结果,不要说"加点功能"这种模糊的。

# 3. 约束(Constraints)

"- 必须复用现有的 <AdminLayout> 组件

  • 不要引入新的 state 管理库
  • 分页每页 50 条"

让 Claude 不要自作主张引入你不想要的技术。

# 4. 期望交付物(Deliverable)

“输出:文件 app/pages/admin/users.vue,带搜索框和分页”

明确要几个文件、文件路径、功能点。

# 5. 已知坑(Gotchas)

“注意:项目用的是 PostgreSQL 的 jsonb 字段存 user metadata,查询时用 ->> 取字段”

提前告诉 Claude 项目特殊约定,避免返工。

# 反面例子对照

❌ 不好:

“加个搜索”

Claude 不知道搜什么、搜哪张表、UI 长什么样、要不要分页、要不要实时搜索。它会猜,猜错的概率 80%。

✅ 好:

“在 admin/users 页面顶部加一个搜索框,搜 email 和 username 字段(后端做 ILIKE 模糊匹配),防抖 300ms,支持清空。搜索期间禁用翻页按钮。搜 0 结果时显示"无匹配用户”。"

Claude/ChatGPT 一次到位。

# 打字太累怎么办

不要因为懒而用短消息浪费 token。几个技巧:

  1. 用 markdown 格式化:要点用 bullet list,让 Claude/ChatGPT 看得清楚
  2. Voice-to-text:Mac 的听写、iOS 的语音输入、ChatGPT 手机 app 转写都比打字快
  3. 先在 editor 写完再粘贴:比在 Claude/ChatGPT 输入框里边想边打更有条理
  4. 用代码块复制现有文件:
    这是现在的登录组件:
    
    [贴代码]
    
    帮我改成...
    

# 真实数据对比

一个典型场景:写一个带表单验证的注册页面。

方式 对话轮数 总 token 总时间
一次性讲清楚 2-3 轮(需求 → 代码 → 微调) ~30K 10 分钟
聊天式碎片化 15-20 轮 ~150K 45 分钟

5 倍 token、4.5 倍时间。