← 返回AI学院
AI编程工具·2026-04-25

用Claude Code做需求分析:如何正确提问才能一次搞定

Claude CodeAI编程需求分析提问技巧

用Claude Code做需求分析:如何正确提问才能一次搞定


学习来源:跟老金老师学的 Claude Code 系列课程

你有没有过这种感觉——AI给的答案总是"差点意思",不是自己真正想要的?


说实话,这事儿我踩过不少坑。一开始总以为是AI不够聪明,后来才发现,问题往往出在我**问问题的方式**上。


**AI不会读心术。** 你给的信息越模糊,它只能靠猜,猜错的概率能不大吗?


---


一、核心原则:把AI当实习生


这是我跟老金老师学到的最重要的一句话:


**想象你有个刚入职的实习生,你怎么说他才能一次听懂?**

好需求 = **具体场景** + **明确目标** + **约束条件** + **输出格式**


就这么简单?对,但90%的人做不到。


为啥?因为我们习惯了跟人说话时"省略常识"——跟同事说"搞个用户管理",对方知道你们的技术栈、业务逻辑、UI规范。但AI不知道啊,你跟它说"搞个用户管理",它只能给出最通用的方案。


---


二、常见踩坑 vs 正确姿势(我全都踩过)


踩坑1:太笼统,AI靠猜


**❌ 错误示范:**

```

帮我做个网站

```

AI内心OS:啥网站?企业站?博客?电商?SaaS?资讯?完全不知道方向。


**✅ 正确姿势:**

```

帮我做一个个人简历网站


需求说明:

  • 技术栈:Next.js 14 + Tailwind CSS
  • 单页设计,滚动式布局
  • 必须包含:个人简介、工作经历、技能标签云、联系方式表单
  • 设计风格:简洁专业,主色调蓝色系
  • 移动端适配(重点!)
  • 部署到 Vercel

  • 请先生成项目结构和组件规划,我再确认。

    ```


    **效果对比:**


    | 维度 | 笼统提问 | 精准提问 |

    |------|---------|---------|

    | 第一次就满意的概率 | ~10% | ~70% |

    | 来回修改的次数 | 5-8轮 | 1-3轮 |

    | 花费的时间 | 30分钟+ | 10分钟 |

    | Token消耗 | 高(反复生成) | 低(一次到位) |


    ---


    踩坑2:不给上下文,AI无从下手


    **❌ 错误示范:**

    ```

    这个代码报错了,帮我看看

    ```

    没贴代码、没贴错误信息、没说在干什么。AI只能回"请提供更多信息"——等于白问。


    **✅ 正确姿势:**

    ```

    我在运行测试时遇到了一个错误,帮我分析原因并修复:


    项目背景:

  • Node.js 18 + Express 4 + MongoDB
  • 用 Jest 跑单元测试

  • 错误信息:

    TypeError: Cannot read properties of undefined (reading 'id')

    at Object.<anonymous> (tests/user.test.js:25:18)


    相关代码(user.test.js 20-35行):

    it('should return user by id', async () => {

    const user = await UserService.getUserById('123')

    expect(user.id).toBe('123') // ← 第25行报错

    })


    UserService.getUserById 的实现:

    async getUserById(id) {

    const user = await UserModel.findById(id)

    return user

    }

    ```


    这样AI才能精准定位问题——哦,`findById` 返回了 `null`,没有做空值处理。


    ---


    踩坑3:目标太模糊,AI不知道往哪使劲


    **❌ 错误示范:**

    ```

    帮我优化一下这个函数

    ```

    "优化"这个词太宽泛了——优化性能?可读性?安全性?内存占用?不同的方向,做法完全不同。


    **✅ 正确姿势:**

    ```

    帮我优化这个函数,按以下优先级:


    1. 【最高优先】安全性 - 防止SQL注入,验证输入

    2. 【中等优先】可读性 - 加必要的注释,提取子函数

    3. 【最低优先】性能 - 这段代码调用频率不高,性能不是瓶颈


    函数代码:

    [贴代码]

    ```


    告诉AI你的优先级,它就知道往哪儿使劲了。否则它可能会花大量时间做你不需要的优化。


    ---


    踩坑4:一次塞太多,AI消化不了


    **❌ 错误示范:**

    ```

    帮我做一个完整的电商系统,包含用户注册登录、商品管理、购物车、订单、支付、后台管理、数据统计、消息通知、优惠券系统……(以下省略100个需求)

    ```


    **✅ 正确姿势:**

    分阶段提需求:

    ```

    第一阶段:帮我搭一个电商系统的项目骨架

  • Next.js 14 + Prisma + PostgreSQL
  • 只需要用户注册/登录功能
  • 先做最基本的目录结构和数据库模型

  • 第二阶段:[等第一阶段完成后再提]

    ```


    ---


    三、5个万能提问模板(建议收藏)


    这些模板我每天都在用,覆盖了最常见的开发场景:


    模板1:实现新功能


    ```

    我想实现[功能描述],当前已有[现有代码/项目情况]。

    期望结果是[具体目标]。

    约束条件:[技术栈/规范/限制/性能要求]

    输出格式:[代码/文档/分析报告]

    ```


    **实战案例:**

    ```

    我想在现有Next.js项目中添加用户权限管理功能。

    当前已用NextAuth做了基础登录,users表有role字段(admin/user)。

    期望实现:不同角色看到不同的导航菜单和页面。

    约束:使用middleware实现路由保护,不要额外引入权限库。

    请给出完整的实现方案和代码。

    ```


    ---


    模板2:修复Bug


    ```

    遇到问题:[错误现象/错误信息]

    环境:[语言/框架/版本]

    相关代码:[贴关键代码]

    已尝试的方法:[你试过的解决方式,避免AI重复建议]

    ```


    **实战案例:**

    ```

    遇到问题:React Hook useEffect 缺少依赖项警告,但加上依赖后会无限循环。

    环境:React 18,函数组件

    相关代码:

    useEffect(() => {

    setData(process(items))

    }, [items]) // ← 如果加上 items 会无限循环


    已尝试:

    1. 把 items 加入依赖 → 无限循环

    2. 用 useRef 存储 items → 可以但不优雅

    3. 用 useMemo 处理 process(items) → 依然有警告


    请帮我分析根本原因并给出最佳解决方案。

    ```


    ---


    模板3:代码审查


    ```

    帮我审查这段代码,重点关注以下维度(按优先级排序):

    1. 安全性:有没有SQL注入、XSS等漏洞风险

    2. 性能:有没有N+1查询、不必要的重渲染

    3. 可维护性:命名是否清晰、有没有重复代码

    4. 错误处理:边界情况有没有覆盖


    代码:

    [贴代码]


    如果是问题代码,请给出修复方案。

    ```


    ---


    模板4:技术选型


    ```

    项目背景:[项目类型/规模/团队情况]

    核心需求:[要解决什么问题]

    候选方案:[方案A/方案B/方案C]

    评估维度:学习成本、维护性、性能、生态成熟度


    帮我分析各方案的优劣,给出推荐并说明理由。

    ```


    **实战案例:**

    ```

    项目背景:团队5人,技术栈React,做一个中后台管理系统,2个月工期。

    核心需求:状态管理方案选型。

    候选方案:Zustand / Jotai / Redux Toolkit

    评估维度:学习成本(团队React中级水平)、开发效率、维护性。

    请给出推荐。

    ```


    ---


    模板5:学习新知识


    ```

    我想了解[主题],当前基础是[你的水平]。

    请用通俗易懂的方式解释,最好有类比。

    重点讲清楚[你最关心的那几个点]。

    如果可以,给一个最小可运行的例子。

    ```


    **实战案例:**

    ```

    我想了解React Server Components(RSC),当前基础是:

  • 熟练使用React 18客户端组件
  • 对Next.js App Router有基本了解
  • 不太理解"服务器组件"和"客户端组件"的区别

  • 请用类比的方式帮我理解:

    1. RSC解决了什么实际问题?

    2. 什么时候用服务器组件、什么时候用客户端组件?

    3. 给一个最简单的对比例子

    ```


    ---


    四、进阶技巧:让AI回答质量再上一个台阶


    技巧1:角色扮演法


    让AI设定一个专业角色,回答质量会明显不同:


    ```

    你是一个有10年经验的前端架构师,曾在阿里、字节带过团队。

    我现在要做一个中后台系统,技术栈 React + Ant Design Pro。

    请帮我分析目录结构怎么组织最合理,并解释你的设计思路。

    ```


    比"帮我设计目录结构"得到的答案会深入得多。


    技巧2:给AI"思考模板"


    ```

    在回答之前,请按以下步骤思考:

    1. 先理解我的需求,如果有不清楚的地方,列出你的疑问

    2. 分析可能的方案,评估每个方案的优缺点

    3. 给出你的推荐方案和理由

    4. 最后才是具体实现

    ```


    这样AI给出的答案结构清晰、逻辑完整,不会直接跳结论。


    技巧3:迭代式提问


    不要追求一次性完美,用"反馈→调整"的迭代模式:


    ```

    第1轮:让AI先出方案

    帮我设计一个用户注册功能的技术方案

    第2轮:反馈调整

    方案不错,但密码策略我想调整一下:
    1. 不用密码复杂度要求,改用密码强度实时检测
    2. 增加短信验证码验证
    请更新方案

    第3轮:细化实现

    方案确认了,先从后端 API 开始实现

    ```


    技巧4:让AI自我纠错


    ```

    等一下,你刚才的建议有一个潜在问题——

    如果并发量大的话,这个方案会出现竞态条件。

    请重新考虑并给出更健壮的方案。

    ```


    AI会承认错误并重新分析,比你自己去查资料快多了。


    ---


    五、真实案例:提问质量决定答案质量


    **需求:写一个用户注册API**


    **❌ 笼统提问:**

    ```

    帮我写一个注册接口

    ```


    AI给出的可能是最简单的 Express + 内存存储 的demo代码,完全不能用。


    **✅ 精准提问:**

    ```

    帮我用Express写一个用户注册API,要求如下:


    功能要求:

    1. 支持用户名、邮箱、密码注册

    2. 密码用bcrypt加密存储

    3. 注册成功后返回JWT token

    4. 邮箱格式和密码强度(8位以上,含大小写字母+数字)校验

    5. 同一邮箱不能重复注册


    技术栈:

  • Node.js + Express + MongoDB(Mongoose)
  • JWT认证

  • 请生成以下内容:

    1. 路由文件(routes/auth.js)

    2. 控制器(controllers/auth.js)

    3. 数据模型(models/User.js)

    4. 验证中间件(middleware/validate.js)

    5. 对应的测试用例

    ```


    差距非常明显——一个是玩具代码,一个是能直接用的生产级代码。


    ---


    六、一句话总结


    | 你的问法 | AI表现 | 需要多少轮 |

    |---------|--------|-----------|

    | "帮我做个网站" | 猜你心思,大概率跑偏 | 5-8轮 |

    | "写一个注册接口" | 给个demo应付了事 | 3-5轮 |

    | "用Express写注册API,需要bcrypt加密+JWT返回" | 生产级代码 | 1-2轮 |

    | "技术栈+功能+约束+输出格式全给齐" | 一次性完美交付 | 0-1轮 |


    **记住:** 你多花30秒写清楚需求,AI帮你省30分钟来回修改。


    对AI提问,就像跟同事沟通需求一样——越清晰、越具体、越有结构,效率越高。


    ---


    *本文学自老金老师的Claude Code系列教程。*


    评论

    评论功能即将上线~