教程 / 原生 Mac IDE / 先头脑风暴,再动手构建
📝 文字 ● 初级 更新于 2026-05-19

先头脑风暴,再动手构建 — 用 LingCode 先厘清范围

模糊的提示词("帮我实现 X 功能")只会产出模糊的代码。与 LingCode 进行五分钟的头脑风暴——厘清范围、列出需求、勾勒设计——实现质量将提升一个数量级。

为什么开头的五分钟决定一切

0

面对 AI 编程工具,人的本能是把想法打出来就按回车。"加一个排行榜。""帮我做个设置页面。""做一个聊天面板。"LingCode 确实会为这些需求产出代码。但这些代码往往与你真正想要的相差甚远,原因很简单:你从未说清楚。

跳过头脑风暴会带来三个问题:

  • 隐性需求始终隐而不发。"设置页面"需要明确:有哪些设置项、是按用户还是按工作区存储、如何持久化、如何同步。这些信息都不在提示词里。LingCode 会选择"听起来合理"的默认值——直到集成阶段你才会发现,"听起来合理"并不是你想要的。
  • 范围悄悄蔓延。没有明确的边界,实现就会不断膨胀。"排行榜"逐渐加上了好友筛选、每周重置、推送通知——这些都不是你要求的。事后删除比当初不加要难得多。
  • 从未见过的设计,根本无从拒绝。架构选择在 LingCode 写下第一个文件时就已固化。等到你审阅代码,再想推翻就不是"决策",而是"重写"了。

短短的头脑风暴——三轮对话,大约五分钟——能在代码出现之前把这一切都摆到台面上。这是你所能拥有的最廉价的纠错窗口。

与 LingCode 进行"头脑风暴"究竟是什么

1

这不是漫无目的的闲聊。头脑风暴有固定的结构:

  1. 意图——你在为谁解决什么问题?不是"要做什么功能",而是"要达成什么结果"。
  2. 需求——完成后必须满足哪些条件?包括功能性需求、非功能性需求,以及明确列出范围之外的事项。
  3. 设计草图——用一段话(不是文档)描述它将如何运作。够用就行,让双方都能指着它谈就够了。

第一项由你来驱动,后两项由 LingCode 通过反问来推进。当你们都能用一句话复述设计时,对话就结束了。

从意图出发,而非功能

2

先告诉 LingCode 问题所在,再说解决方案。一个有效的提示词示例:

I want to brainstorm before we write any code. Don't propose
implementation yet.

The problem: users on the free tier keep hitting our quota and
churning silently — no email, no upgrade prompt, just gone. I want
to catch them before that happens.

Ask me clarifying questions until you understand the scope. Then
list the requirements you've extracted. Then sketch one design in
a paragraph. Stop after the sketch.

注意缺少了什么:"发一封邮件"、"显示一个横幅"、"搭一个仪表盘"——这些统统没有提及。它们都是解决方案。头脑风暴的目的正是质疑这些方案是否正确。

提示:"don't propose implementation yet"这句话至关重要。没有它,LingCode 会直接跳到写代码,因为那是绝大多数请求的默认走向。明确说出"头脑风暴",才能让它保持在厘清范围的模式。

诚实地回答澄清性问题

3

LingCode 会反过来问你一些问题。好的问题大概是这样的:

  • "你目前是如何判断用户即将流失的——上次活跃时间、请求量触达配额,还是两者都看?"
  • "目标是警告他们、引导升级,还是先统计流失率?"
  • "通知归属哪里——产品内横幅、邮件,还是两者都要?你们目前在运营哪些渠道?"
  • "v1 版本哪些不做?群体分析?召回活动?移交给销售?"

回答它们。这里的陷阱是敷衍了事。"随便,怎么合理怎么来"会把决策推回给 LingCode,等于没做头脑风暴。如果你真的不知道,就说"我不确定——各种权衡是什么?"让 LingCode 列出选项,然后你来选。

如果某个问题让你感到烦躁,那正是最关键的问题。你不想回答的问题,往往指向设计中的漏洞。无论如何都要回答。

明确提取需求

4

澄清环节结束后,要求 LingCode 把需求写下来:

Good. Now list what we've agreed on as a bulleted requirements
list. Three sections:
- Must do (the actual feature)
- Must not do (out of scope for v1)
- Must respect (constraints — perf budget, dependencies, existing
  patterns to match)

Be specific. "Sends an email" is bad. "Sends one email per user
per 24-hour window when they exceed 80% of monthly quota" is good.

仔细阅读这份清单。如有出入,就说"不对,实际上……"让 LingCode 修订。"不做"那一节是创始人最容易跳过、工程师最喜欢的——它是防止实现阶段范围蔓延的边界。

只要一个设计,不要三个选项

5

接下来,要求一个单一的设计草图:

Sketch one design — not three options. Just commit to an approach
and justify it in a paragraph. Cover:
- Where the detection logic lives (cron? request middleware?
  background job?).
- What state we track and where it persists.
- How the notification ships (which channel, what triggers it).
- What we change in the existing codebase vs. add new.

One paragraph. No code. If something's genuinely a coin-flip,
name the trade-off and pick anyway.

"pick anyway"是关键约束。给出多个选项看似稳妥,实则把决策抛回给你——头脑风暴的目的是做出决策,而不是推迟决策。如果权衡真的重要,你会在理由中发现并提出异议;如果无关紧要,LingCode 的选择就够用了。

用一句话复述

6

当你们都能用一句话复述设计时,头脑风暴就完成了。问:

In one sentence — what are we building?

如果 LingCode 的回答与你脑海中的一致,就大功告成。如果不一致,还需要再做一轮澄清。这个偏差就是 bug,而你在写任何代码之前就发现了它。

把需求清单和设计草图保存好——放进草稿文件、文档或聊天记录里。下一步(编写实现计划)就从这里开始。

五分钟法则:如果头脑风暴超过十分钟,说明这个功能比你想象的更复杂——这本身也是有价值的信息。不要强行推进,把功能拆成小块,逐一头脑风暴。

一次完整的头脑风暴长什么样

7

完成的头脑风暴包含三个产出物:

  • 一段意图陈述——描述问题是什么、谁遇到了这个问题。
  • 一份需求清单——必须做 / 不能做 / 必须遵守的约束。
  • 一段设计草图——已确定方向、有理由支撑、无备选方案。

就这些。不是设计文档,不是规格说明书,只是足以支撑编写实现计划的内容。写得比这多,说明头脑风暴过度;写得比这少,说明还不够充分。

下一步自然是把这些内容转化成一份排好顺序、暴露最高风险步骤的计划——请参阅下方的"编写实现计划"教程。

在 LingCode 中使用

8

将头脑风暴流程封装成一个技能(skill),让 LingCode 在任何创意工作开始前自动触发——无论是请求实现某个功能、搭建项目脚手架,还是设计某个组件:

---
name: brainstorm
description: Use BEFORE any creative work — building a feature, scaffolding a project, designing a component, adding functionality. Forces scope clarification, requirement gathering, and a tiny design sketch before code is written. Triggers: 'let's build', 'I want to add', 'help me design', 'how should I approach', 'what should we build', 'design X'. Actions: brainstorm, clarify, scope, requirement-gather, sketch, design-doc, plan. Stops vague prompts from producing vague code.
---

Run a short brainstorm pass before proposing implementation.

1. Intent: ask what problem we're solving and for whom. Don't
   accept a feature description — push for the outcome.

2. Clarify: ask the questions that the prompt didn't answer.
   Trade-offs, scope edges, existing patterns to match,
   constraints. Keep going until the picture is concrete.

3. Requirements: write a bulleted list with three sections —
   Must do, Must not do, Must respect. Be specific.

4. Design: sketch ONE design in a paragraph. Commit to an
   approach. No alternatives. Justify briefly. No code.

5. Restate: summarize in one sentence. Stop and wait for user
   confirmation before writing any code.

If the brainstorm exceeds ~10 minutes of exchanges, the feature
is too big — break it into smaller pieces and brainstorm each.

保存至 ~/.lingcode/skills/brainstorm/SKILL.md——请参阅安装技能,了解确切路径以及技能是如何被发现的。

获取 LingCode →

下一步