一句话提示词的问题是它只说了「做什么」,没说另外三件事:输入从哪来、输出长什么样、怎么算做完。补上这三段,结果才可复现。
改写前
帮我把这些 PDF 整理成一个索引。
改写后
扫描【目录:pdfs/】下所有 PDF,生成一份 Markdown 索引 index.md。 【输入】 - 只处理 pdfs/ 下一层的 PDF,不递归子目录 - 读不到正文的(无文本层)单独列一节,标注「读取失败」 【输出】 表格,四列:文件名 | 一句话说明 | 三个关键词 | 修改时间 - 一句话说明必须来自正文,不许根据文件名猜 - 按主题分组,组内按时间倒序 【验收】 - index.md 已生成,原 PDF 一个都没被改动 - 每条说明能在原文找到对应内容 - 读取失败的文件单独列出,没有被跳过 - 处理总数 = 成功数 + 失败数 先只做前 5 份给我看格式,我确认后再做全量。
三段各自解决什么
| 段 | 解决 | 缺了会怎样 |
|---|---|---|
| 输入 | 边界与前置条件:处理什么、不处理什么、遇到坏数据怎么办 | 它会自己决定范围,每次不一样 |
| 输出 | 形态与判据:几列、什么格式、哪些字段不许猜 | 结果每次长得不同,没法机械核对 |
| 验收 | 怎么算完成:可检查的条件 | 它说做完了,你说不清做没做完 |
两个细节最容易被忽略
- 「不许猜」要明说:不写「说明必须来自正文」,它会根据文件名编一句像模像样的。
- 「先做5份」写进指令:这一句把一次赌博拆成两次确认,成本几乎为零。
验收段落里的每一条都必须是可机械核对的。「质量好」不是验收项,「总数 = 成功 + 失败」是。