把需求说清楚,代码自己长出来:我的 CodeBuddy 提问心法

为什么同一个问题,别人问 AI 就能得到能跑的代码,我却得到一堆废话?差别往往在提问方式。

用 CodeBuddy 一个月后,我发现一个规律:它能不能给出好东西,一半取决于它的能力,另一半取决于我怎么问。同样一句「帮我做个进销存」,有人能拿到一个可以上线的系统,有人只能得到一段永远跑不起来的示例代码。

差别在哪?在我的提问里。这篇文章把我总结的方法讲给你听,就四个字:背景、目标、约束、示例

一、背景(Context):先告诉它「你是谁、在什么环境」

AI 不是神仙,它不知道我在用 Windows 还是 Linux,不知道我装没装 Node.js,更不知道我的水平。如果我什么都不说,它只能按「最可能的默认情况」来回答——而默认情况,往往和我的情况对不上。

❌ 坏问法:帮我写个网页,能记账就行。

✅ 好问法:我在 Windows 上用 phpstudy,PHP 8.2 + MySQL,
   我完全没写过代码,想要一个本地运行的记账网页,
   数据存数据库里。请用最简单的方式给我。

短短几句话,它就知道:环境是 Windows + phpstudy、后端用 PHP、数据库用 MySQL、受众是零基础、本地运行。它给的方案就会是完全不同的一套——不会再丢给我「npm install」这种我根本跑不动的命令。

二、目标(Goal):说清楚「做成什么样算成功」

「帮我写个网页」这种需求,一万个网页都能算数。你得告诉它,这个网页给谁用、解决什么问题、什么程度算完成

  • 给谁用?——「我爸妈,他们 60 岁,字要大,按钮要少」
  • 解决什么?——「记菜市场的进货,月底能算出这个月赚了多少」
  • 什么算完成?——「能加一行、能改一行、能删一行,月底能看总数」

目标越具体,AI 的取舍就越合理。比如「字要大、按钮要少」,它就不会给我做一个花里胡哨的后台管理系统,而会做一个大字版、一个页面搞定的小工具。

三、约束(Constraint):划出「绝对不能踩的线」

约束是让 AI 少走弯路最快的方法。常用的约束有这么几类:

  • 技术约束:「只能用 PHP,不要用框架」「不装任何额外软件」
  • 范围约束:「先只做入库功能,别管出库和报表」
  • 质量约束:「每次操作要确认,防止误删」「密码不能明文存」
  • 风格约束:「界面像微信一样干净」「代码加中文注释」

我常用的一句话是:「如果有什么地方拿不准,先告诉我你的方案,再动手,不要自作主张。」 这一句能让它在关键岔路口先跟我商量,而不是跑偏了再返工。

四、示例(Example):给它一个「长这样的答案」

文字描述有时候说不清,这时候给示例最管用。示例可以是:

  • 一张你手画的界面草图(截图给它看);
  • 一段你想要的输入输出:「我输入『猪肉 3 斤 每斤 15 元』,页面要显示『合计 45 元』」;
  • 一个你见过的软件的截图,说「要这个感觉」。这就是为什么 CodeBuddy 支持截图提问那么重要——一张图,胜过十行描述

一个完整的例子:我是怎么问的

这是我要做进销存时,第一次完整提问的原话:

我:我想给我家的小卖部做一个进销存系统。
背景:我在 Windows 上用 phpstudy,装了 PHP 8.2 和 MySQL,
      我基本不会写代码,但会用浏览器。
目标:能录入商品和进货,卖货时扣库存,月底能看利润。
约束:只用 PHP 原生代码,不要用框架;界面要简单清楚,
      60 岁的人也能用;数据要安全,不能随便删。
示例:界面像超市收银小票那样,从上往下:商品名、数量、金额。
请先给我设计数据库表,再告诉我整个项目要建哪些文件,
      一步一步来,每一步我验证完再继续。

结果它给了我三张表的设计(商品、进货、销售),一个清晰的建文件清单,并且真的做到「我验证一步,它再给下一步」。整个系统就这样一步一步被我「带」了出来。

总结成一句话:把 CodeBuddy 当成一个「能力很强但不了解你」的新同事。你交代得越清楚,它干得越漂亮。背景、目标、约束、示例,四样给全,代码自然就长出来了。

写于 2026-08-05 返回全部文章 →