前言
前面几章提到过,上下文和提示词十分关键。你要提供足够多的信息,AI Agent 才能理解你的需求,并知道该如何完成它。
你不能在完全没有提供使用场景、安全边界和其他限制的情况下,直接对它说:
帮我实现一个 xxx 功能。
这样生成出来的结果,大概率不会符合你的预期。因为当 AI Agent 无法确定某些细节应该如何实现时,它往往会“自以为是”地替你补充,并按照它认为合理的方式继续完成任务。
于是,你只能一次又一次地要求它修改或者实现,也就是一直要求它迭代。直到最后,你可能会发现:需求还没有完成,token 却已经快用完了。
但是很多时候,道理我都懂,我就是不知道应该提供哪些信息。毕竟我不是什么具有“几十年功力的老师傅”,只是一个刚刚入门的菜鸟。
我自己完全不懂架构之类的东西,该怎么向 AI 描述一个完整的方案呢?
这个问题其实很简单。以前遇到不会的问题,使用的“古法”是“找度娘”,而现在,我们还可以直接询问 AI,比如 ChatGPT、DeepSeek 之类的工具。
那么这里就引出了一个问题:
我什么也不懂,我怎么向 AI 问方案?
其实我也是在不断摸索,可能几个月后 LLM 又变强了,这个文章提到的方法又没用了
所以这篇文章可能随时会改,只能说做下参考,欢迎你们评论说说你们的方法
乔哈里视窗
这里可以用 乔哈里视窗(Johari Window) 来理解。它原本是一种分析人际沟通的模型,会根据信息是否被自己和他人知道,将其分成开放区、隐蔽区、盲点区和未知区。
乔哈里视窗
放到 AI 协作中,隐藏区是“我知道但没有告诉 AI”的项目背景和限制,盲点区是“AI 可能知道,但我还没有意识到”的风险和方案,未知区则需要双方继续探索。
询问方案的过程,其实就是把这些信息一点点搬到开放区。
Plan Mode
现在很多 Agent 都有 Plan Mode 功能。
这个功能可以帮助我们在执行复杂任务之前先制订计划,避免 Agent 还没有想清楚就直接修改项目。
很多人会想:那我什么也不懂,直接把需求丢给它,让它生成一份详细的 Plan,不就解决上面的问题了吗?
但真正用 Agent 开发过的人,可能会发现这里面还有一个很大的坑:你怎么确保 AI 制订的计划和你想的一样?又或者像上面说的,你连这份 Plan 都看不懂,又该怎么判断它是否合理?
这时可能有人会说,那我把 Prompt 写长一点,多提供一些信息不就行了吗?
问题在于,用户通常只描述了自己想要的结果,而从结果到最终计划之间,还藏着很多需要选择的决策,比如技术路线、架构边界、数据结构、异常处理、兼容性和取舍。
如果用户没有参与这些决策,AI 就只能替用户决定。即使结果描述得再详细,最后生成的 Plan 也可能出现问题:为了看起来完整而过度设计,没有考虑项目现有的技术栈和可用资源,或者忽略了一些为了避免 Bug 而存在的特殊设计。
所以问题的本质不在于 Prompt 写得够不够长,而在于这些关键决策有没有被摆到桌面上讨论。Plan Mode 当然可以用来探索和提问,但不能只让它给出结果,然后默认接受它在背后作出的所有决定。
具体的方法
- 先告知所有你知道的内容,有多少说多少,让 AI 了解当前状况。比如最终目标、大概有哪些限制、有没有相关文档,以及基于什么场景等。不知道的地方就直接说不知道,让 AI 先读取项目,并告诉你还缺少哪些信息。
- 无论自己有没有想法,都可以询问 AI 有什么看法,让它提供几个备用方案,并用简单的话说明各自的优缺点、适用场景和推荐理由。遇到看不懂的概念就继续问,不需要假装自己已经理解。当然如果你有自己的意见,这一步也可以询问 AI 有什么看法。
- 根据自己的真实需求补充细节,纠正明显不符合预期的地方。如果无法判断 AI 的观点是否正确,就让它标出依据、假设和需要进一步验证的内容,而不是直接接受。
- 逐个确认关键决策。对于不了解的决策,可以让 AI 解释“现在要决定什么”“不同选择有什么后果”以及“它推荐哪一个”。仍然无法确定时,优先选择风险较低、容易修改的方案,或者暂时保留为未决问题。
- 切换到 Plan Mode 生成 Plan,并要求它明确列出已经确认的决策、仍然使用的假设、未解决的问题和验证方法。如果 Plan 中还有看不懂的内容,就先让 AI 解释,不要急着执行。
- 审核 Plan 是否符合最初的目标和限制,再基于 Plan 分步骤执行。即使看不懂具体代码,也可以检查它有没有修改不相关的文件、有没有完成预期效果,以及有没有执行必要的测试。
一些辅助工具
有些人喜欢使用 grill-me 之类的 Skill 辅助梳理决策。
grill-me 会在写代码前沿着决策树不断追问,每次只问一个问题,并给出它推荐的答案。这样做的好处是不会一次塞给用户一大堆问题,也能减少 AI 默默替用户作出决定的情况。
不过,它的缺点也很明显:复杂需求可能连续问几十个问题,容易把人问废,也会占用不少上下文和 Token。因此有人认为这种一个一个问的方式纯属浪费时间,不如直接让 Agent 列出所有需要确认的内容,一次性给出一份决策清单,再由用户集中回答。
现在也出现了一些可能更合适的工具。batch-grill-me 会把当前已经满足前置条件、可以立即回答的问题放在同一轮中提问,在保留决策依赖关系的同时减少来回问答的次数。不过它目前仍在 in-progress 目录中,更像一个正在试验的新方案。
wayfinder 则适合大到无法在一个 Agent 会话中完成、方向又比较模糊的任务。它会把整个工作整理成一张决策地图,再将研究、原型和需要人工参与的讨论拆成一个个 Ticket,逐步把未知内容弄清楚。它不一定比 grill-me 更快,而且对小需求可能有些过重,但对于大型项目,可能比在一个会话里连续追问更合适。
所以这些工具并没有绝对的好坏:小需求可以直接列决策清单,普通需求可以使用 grill-me 或 batch-grill-me,而跨越多个会话且大型的或者模糊不清的需求再考虑 wayfinder。
总结
大概可以分成下面几个阶段:
描述问题 → 补充信息 → 讨论方案 →
Plan Mode收敛计划 → 理解并确认 Plan → 执行并review
说到底,AI Agent 可以帮你干活,但不能代替你确认自己到底想要什么。