A 用 Agent 写脚本
第 3 章

如何提需求

Agent 的上限,基本由你这句话决定。好消息是:不需要懂技术,只需要像交代同事办事那样,把五件事说清楚。

一、五要素框架:说清这五件事

把需求想成一张工单。写完这五行,AI 的执行准确率会明显提高:

要素回答什么问题示例
目标 最终要什么结果 把 12 个月的销售表合并成一张年度汇总表
输入 数据在哪、什么格式、有多少 D:\月报 下 12 个 .xlsx,文件名是 1月 到 12月
输出 结果放哪、叫什么、什么格式 生成 全年汇总.xlsx,放在同一文件夹
规则 特殊情况怎么处理、什么不能做 按表头对齐;跳过空行;不要改原文件;重名加序号
验收 怎么算做对了 跑完告诉我总行数,并列出对不上的表头
✓

五要素不必逐条写标题,但内容必须齐。最容易被忘掉的是「规则」和「验收」——而这两项恰恰决定了它会不会默默把数据搞错。

二、可直接套用的模板

把空格填上,复制给 Agent 就能用。第一次做某类任务时,建议完整用这个结构;熟了以后可以简化。

通用需求模板
【目标】
我要把 ______ 变成 ______。

【输入】
文件在 ______ 文件夹,是 ______ 格式,大约 ______ 个。
每个文件的结构是这样的(贴一两行示例,把敏感信息替换掉):
______

【输出】
结果放到 ______,文件名是 ______,格式是 ______。

【规则】
1. 遇到 ______ 的情况,按 ______ 处理。
2. 不要修改、不要删除原始文件。
3. 先拿 3 个文件试跑给我看,我确认后再处理全部。

【验收】
跑完请告诉我:一共处理了多少个、成功多少、失败多少、失败的是哪几个。

这个模板里,有三句话是「保命句」,建议每次都说:

三、三组正反例

例 1:整理文件

不清楚

「帮我整理一下下载文件夹,太乱了。」

清楚

「把 D:\下载 里的文件按扩展名分到 图片、文档、压缩包、其他 四个子文件夹,文件名不要改,移动而不是复制。」

差别在哪:「整理」是个主观词,每个人理解不同。换成分类依据(扩展名)+ 分类结果(四个子文件夹)+ 动作(移动),就没有歧义了。

例 2:合并表格

不清楚

「把这些 Excel 合起来,做成汇总。」

清楚

「合并成一个表,按表头名称对齐列(各文件列顺序不一样),加一列「来源文件」,跳过空行,表头只保留一行。」

差别在哪:没说清「按列的位置还是按列的名字对齐」时,AI 可能选错,导致数据整体错位——而结果看起来还挺正常,很难发现。

例 3:修改已有脚本

不清楚

「这里不对,你改一下。」

清楚

「第 3 个文件的日期没被识别出来,原因是它的格式是 2026/1/5,而脚本只认 2026-01-05。请兼容这两种写法,其他逻辑不要动。」

差别在哪:「不对」只描述了情绪,没有描述现象、原因、范围。加上「其他逻辑不要动」,还能防止它顺手重写整个脚本。

四、八个实用技巧

1. 说结果,不说技术

你不需要知道 pandas、正则表达式、os 模块。说「按表头对齐」「把所有 .jpg 找出来」就行——把它该考虑的技术细节留给它。

2. 给一个「长这样」的样例

贴两行真实数据的结构(敏感内容替换成假数据),比描述十句都管用。它能直接照着这个格式输出。

给样例的说法
输入长这样(前两行):
订单号,客户,金额,日期
A001,张三,1200,2026-01-05
A002,李四,800,2026-01-06

输出我希望长这样:
客户,订单数,总金额
张三,1,1200

3. 一次一件事,小步快跑

别把「重命名 + 合并 + 做透视表 + 发邮件」塞进一段话。先做第一步,确认对了,再说「在此基础上加一步」。

4. 明确「不要做什么」

负面约束往往比正面要求更有效:不要动原文件、不要删除空行、不要改列名、不要联网、不要安装额外的库。

5. 先要方案,再要代码

任务比较绕时,先别让它写代码。让它说思路,你能提前发现理解偏差,比写完再返工省事得多。

先看方案
先不要写代码。先用中文告诉我你打算分几步做、每步读哪些文件、可能有什么风险。
我看过之后再说「开始」。

6. 先小批量试跑

这是最重要的一条。让它先打印结果、不要真的执行;或者只处理 3 个文件。确认无误再放开全量。

空跑检查
先不要真的改文件。只打印出「原文件名 → 新文件名」的对照表,我确认后再执行。

7. 给出验收标准

「怎么样算完成」要说出来。否则它可能只处理了一部分就宣布搞定。比如:「总共应该有 312 行,如果对不上就告诉我哪里少了。」

8. 报错时贴原文,不要只描述

「报错了」这三个字没有信息量。把终端里那几行红字完整复制给它,包括最后一行。它能据此定位到具体行号。

五、追问与纠偏话术

第一版不满意是正常的。下面这几句可以直接复制,覆盖了大部分场景:

让它改得精准
只改 xxx 这一处,其他代码保持原样,不要重写整个文件。
结果不对时
结果不对。预期是:______
实际是:______
可能的原因:______
请先分析原因,确认后只修改相关部分。
看不懂代码时
请用大白话解释这个脚本每一步在做什么,假设我完全不懂编程。
重点说明:它会改动哪些文件、有没有删除操作。
让它做成双击可运行
请再帮我写一个 .bat 启动文件,双击就能运行这个脚本。
运行结束后窗口不要立刻关闭,让我能看到结果。
相对路径要用脚本自己所在的目录,这样我换电脑也能用。
让它写使用说明
在同一个文件夹里生成一个「使用说明.txt」,写明:
1. 这个脚本是做什么的;
2. 运行前要准备什么;
3. 怎么运行;
4. 常见问题怎么办。
用最简单的中文写,给不懂技术的人看。

六、说法对照表

左边这些话很常见,但 AI 只能靠猜。右边是等效但更可执行的表达:

你习惯说的问题在哪建议改成
「优化一下」优化速度?体积?可读性?「让它在 30 秒内跑完」/「让代码加中文注释」
「整理得好看点」好看是主观的「列宽自适应,表头加粗,冻结首行」
「处理一下这些数据」处理成什么?「去重、去掉空行、金额保留两位小数」
「这个不行」没说哪不行「第 5 行之后的日期都变成了空值」
「你自己看着办」它只能猜,通常猜错「如果没有把握,就按 A 方案做,并告诉我原因」
「全部都要」范围不明「这个文件夹下的全部 .xlsx,不含子文件夹」
i

一个判断标准:如果你的需求可以直接转述给一个没见过这项工作的新同事,并且他能照着做出来,那这个需求就合格了。