和 AI 把想法做成项目:用 RED 管理持续变化的项目知识

1 阅读11分钟

把一个想法交给 AI,看着它一点点变成能用的东西,是件挺有成就感的事。原本只在脑子里的几句话,有了界面,能点开,也能跑起来。你试了试,很自然地接着说:「这里再改一下。」

真正用起来,你才会发现还有不少事情没说清楚。这个数字怎么算出来的?原来能用的功能怎么变了?上次只是随口讨论的想法,怎么也被做进去了?你一边看结果,一边解释,有时还得让 AI 撤回刚才的改动。

于是,提示词后面多了几条注意事项:先分析再动手、保留原来的行为、拿不准就问。踩过一次坑,就再补上一条。可很多细节,连你自己也是看到第一版之后才想到的。

从 GPT-4o 发布后开始,我们持续把 AI 用在软件开发里,越来越在意这部分协作。AI 已经能帮我们做不少事,人也应该能通过正常的对话把要求逐步讲清楚。专业问题可以让它参与调查,你来判断取舍;已经说定的部分,则值得留下来,免得换个对话又要解释一遍。

先从一张看不明白的报表说起

比如,你手上有一张销售报表。销售额列得很清楚,但你今天想知道的是这个月实际收回了多少钱。你未必知道该改哪个字段、加哪种统计,先告诉 AI:

我想知道这个月收回了多少钱,现在这张报表看不出来。帮我看看怎么改。

接下来,AI 得去看看这张表原本是怎么回事。假设它查过项目说明和数据后发现,销售额按签约月份统计,销售团队用它核对业绩;到账记录则单独存放,一笔订单可能分几次到账。

拿一笔订单来说:9 月签下 1 万元,当月到账 3000 元,剩下的 7000 元在 10 月到账。销售报表在 9 月记了 1 万元,有它的用途;你拿它来核对回款,看到这个数字就会觉得不对,因为当月只收到了 3000 元。

现在,AI 就有具体的事情可以和你讨论了:原来的销售统计还要继续用,回款最好另外看。它也能解释为什么建议这样做,而不只是问一句「你想要什么样的报表」。

这里,原有的销售口径属于项目已经接受的约定。AI 先弄清它服务谁,才知道这次改动需要保留什么。你说「报表不好用」,还不足以让它替整个销售团队换掉统计方式。

回款需求里则有一批需要调查的问题:到账记录是否完整,能不能对应到客户,退回的款项又怎样处理。你不必在第一句话里把这些细节全写出来。AI 可以检查数据和代码,把查到的情况和还拿不准的地方一起带回来。

「系统里有到账日期」是一条调查发现。「新增报表按到账日期统计」则是一项需要你确认的规则。前一条为后一条提供依据,但有了那个字段,并不等于你已经决定采用这个方案。

你现在有材料可以判断了:新方案能回答什么问题,原来的用法会不会受影响,还有什么需要继续查。最初那句模糊的「不好用」,就这样逐渐有了可以动手的方向。

有些要求,要用过才说得出来

看过调查结果,你决定先做一版给自己用:

原来的销售统计留着,另外加一页回款。按到账时间算,退回的单独列出来,先给我内部用。

这句话确认了一轮改动的范围。AI 可以把字段、计算规则和检查方法整理成方案,再继续实现。那笔分两个月到账的订单,就可以拿来核对新报表;原来的销售报表,也需要检查有没有被这次修改影响。

第一版出来,你点开看了看。金额对了,但同一个客户分几次打款,散在好几行里,核对起来还得自己加一遍。于是你又说:

按客户汇总一下,同时让我能展开看每笔明细。

这个要求是在用过之后才具体起来的。AI 要把它补进正在做的方案,调整实现和检查方法。后续继续工作时,双方都应该能查到:现在做的是带客户汇总和逐笔明细的回款视图。

聊到这里,你可能又顺口提了一句:「以后要不要让它自动催款?」这个想法也值得留下,但发送给谁、什么时候发、会不会打扰客户,都还没谈。它和你刚要求加入的客户汇总,需要分开记录,否则下一轮 AI 可能把两件事都当成待办。

等你核对了结果,试过几个客户,觉得这一版可以了,再让 AI 更新说明。使用者需要知道怎么查汇总和明细,开发者需要知道字段和计算口径,维护者需要知道为什么保留两种统计。这些文档都可以从刚才已经弄清、并且接受的结论中整理出来。

你不用重新撰写一套专业说明。AI 参与过调查和实现,手里有材料;你确认哪些结论成立,它再按后续读者的需要写清楚。至于自动催款,仍然留在待研究的问题里。

聊清楚之后,下次从哪里接着做

到这里,报表做出来了,你和 AI 也一起补齐了不少最初没想清楚的事情。接下来还有一个容易忽略的问题:这些判断,下次能不能找得到、用得上?

如果只留下「讨论了回款统计、客户汇总和自动催款」,几件事看起来就都差不多。换一个对话,AI 又要从聊天记录里猜,哪些已经定了,哪些只是提过。

我们把前面这套区分和维护内容的做法整理成了 RED。Research、Evolve、Document 分别对应三种状态:

  • Research:还在弄清楚的。 留下问题、调查发现和建议。AI 查到了什么、还有什么没把握,你可以在这里找到判断所需的上下文。
  • Evolve:正在一起做的。 留下本轮范围、方案、进展和验收要求。试用后改了主意,就跟着更新;被放弃的方案也要交代清楚。
  • Document:已经说定的。 把接受的结论整理成后续可以依循的说明。项目一开始就可能有这些约定,以后要调整它们,再通过相应改动和确认来更新。

RED 的三种知识状态

过一周,你决定给回款视图增加「负责人」筛选。AI 此时读到的项目内容,可以明确到这样的程度:

已接受:回款按到账日期统计,保留原有销售额口径。

正在推进:增加「负责人」筛选,本轮范围已确认。

待调查:是否需要自动催款,发送对象和时机尚未确认。

这样,AI 就有依据保留统计方式,围绕筛选功能展开工作,并把自动催款留作待查问题。几段内容即使一起出现在上下文里,也各有用途。

这也是分开记录能够帮助你们做得更好的原因。动手前,AI 查清销售额和回款的差别,少走一次改错口径的弯路;试用中,客户汇总进入当前方案,后续实施有据可循;下一次加筛选时,已经确认的统计方式继续有效。

三类文档也会推动下一步工作:调查材料帮助你确认方向,确认后的范围进入推进中的方案,结果被接受后再更新相关说明。已有说明又为下一轮提供依据。遇到新的关键问题,就回去调查;目标清楚、已经获准的改动,也可以直接推进。

RED 的工作推进与反馈关系

你仍然会提出新想法,也仍然需要看结果、作取舍。但上一次花时间解释清楚的事,有机会成为下一次工作的起点,而不只是留在一段已经结束的聊天里。

不同的方法,在回答不同的问题

让 AI 更好地完成工作,已经有不少值得借鉴的思路。它们的出发点,往往就是我们在使用中遇到的某一类困难。

规格驱动开发,着重让实现有明确的要求可循。 比如 GitHub 的 Spec Kit,会帮助你把需求整理为规格、方案和任务,再推进实现。目标、规则和验收条件写清楚,AI 就有依据判断该做什么;需求变化之后,也需要继续维护这些依据。

上下文工程,着重让 AI 在工作时拿到合适的信息。 它通过选择资料、按需读取、整理笔记和压缩历史,帮助 AI 在有限的上下文里维持任务理解,减少遗漏与重复解释。

循环工程(loop engineering),着重让 AI 能够持续执行和修正。 将行动、检查和反馈组织成循环,AI 就可以根据结果继续调整,减少人一步步催促的需要。循环追求的目标和采用的检查标准,也会直接影响它最后完成什么。

这些方法各有侧重,也会相互覆盖。实际工作中的困难,却常常跨过好几个环节:最初想法含糊,做出第一版才发现新的需要,讨论中作了取舍,换个对话又丢掉了其中一部分。

RED 关注的,就是在这样的持续协作中,让 AI 对你们正在做的事保持一份可检查、可更新的理解。 人的意图会逐步清楚,方案会随反馈改变,AI 需要知道哪些内容还在探索、哪些改变获准推进、哪些结论已经可以依循,并参与维护这些区别。

这使得前面几种困惑有了连贯的处理方式。「报表不好用」还说不清时,先让 AI 调查,把足够的材料带回来供你判断;试用后才想到客户汇总,就调整正在推进的方案;你接受统计口径之后,再把它留给下一次工作。自动催款虽然也聊过,仍然可以明确保留为待研究的想法。

从模糊意图到做出结果,再到后续修改,RED 用同一套状态和确认方式组织整个过程。你可以通过对话逐步补齐专业要求,AI 则把这些判断落实到调查、实施和文档中。这样,前面说到的做偏方向、漏掉反馈、把讨论当决定,就都有了可以检查和纠正的位置。

规格、上下文管理和自动循环,依然可以帮助你们完成其中的工作。RED 提供的是贯穿这些工作的协作方法,让这一次弄清楚、做出来并接受的成果,能够成为下一次继续工作的依据。

在下一项小改动里试试

如果你想试试,可以就从手边正在做的项目开始。我们把上面这些做法写进了一个开源 Skill,AI 加载之后,就有一份调查、推进改动和整理结果时可以遵循的工作指南。

在你准备修改的项目目录里,使用 Node.js 22.12 或更高版本运行:

npx -y @exoticknight/red@latest skill install --scope repo

命令会把 Skill 放到 .agents/skills/red。使用能加载这个目录的 AI 编程工具,先让它读取 RED Skill,并告诉你从哪个文件加载、准备遵循哪些规则。如果你的工具使用其他加载方式,可以按项目说明接入,也可以让 AI 协助完成。

然后挑一个本来就准备做的小改动,例如给报表增加一个筛选项:

用 RED 帮我给这张报表增加「负责人」筛选。先看看会影响哪些现有约定,有需要我判断的地方,带着方案来讨论。

接下来,你可以说「按这个范围做」,也可以让它继续调查。它交付结果后,检查实际效果;接受之后,再说「更新相关说明」。

等下一次你再说「这里改一下」,看看 AI 能否从项目说明里找到之前的约定,分清哪些已经说定、哪些还在考虑。如果能少解释几件已经说过的事,你就有了继续用下去的理由。

完整方法介绍见 RED 文章网站,代码与安装说明见 GitHub 仓库

创作说明:本文由 RED 项目作者结合自身 AI 开发实践构思与审定,使用 AI 辅助整理和润色。文中的销售与回款报表示例为说明方法而构造的情景。