让 Claude 整理文档索引,先锁死行数和顺序
Reddit 上有人要给法律截止日期相关的索引做格式化,担心模型合并条目或改错编号。一个可复用的提示词,核心是把不可变约束、允许修改项和校验方式分开写。
Reddit 的 r/PromptEngineering 上,Andreea_comet 提了一个很具体的问题:想让 Claude 只修文档索引里的格式和拼写,不准移动或删除任何一行。索引里有条目编号、日期、短描述。描述写法不统一,日期格式混杂,有些行还有多余空格。发帖者不希望模型把两条合并,或改掉某个编号,因为这些归档截止日期由法律规定。发帖者想做成可复用的 skill,问提示词里该放什么,才能返回相同行数,并且只展示改动;到底要改动列表,还是完整干净副本。
这个问题适合用工程约束处理,别让模型自由发挥。先明确三件事:哪些东西绝对不能变;哪些修改被允许;输出怎么校验。否则提示词写得再礼貌,模型都可能顺手总结、重排、合并。
第一,锁死不可变项。行数、行序、条目编号、日期语义、空行位置,都写进约束。日期只允许在明确规则下统一格式,比如 2026-11-14 改成 2026/11/14,不能根据上下文猜。描述只做拼写和空格清理,不得压缩、合并、改写。遇到不确定的行,保留原样并写进待人工确认列表。
第二,输出用两段。完整干净副本方便直接使用,逐行变更表方便核对。两段必须按同一行号对齐。只用变更表时,人还要手工拼回原文,容易出错;只给完整副本时,没人知道模型改了哪里。两个都给,才有复核入口。但完整副本可能被模型截断,所以要在提示词里要求逐行处理,并在末尾报告总行数。
第三,别把模型输出当最终校验。法律相关文件,最后用脚本做硬校验:原始行数等于输出行数;条目编号集合不变;每条编号顺序不变;变更行号只出现在允许字段。模型负责清理,脚本负责证明它没乱动。
一个可复用的提示词骨架可以这样写:
你是文档索引清理器。输入是固定格式索引,每行包含条目编号、日期、描述。
任务:只修格式和拼写,不改内容,不移动行,不删除行,不合并行。
不可变:
1. 输出行数与输入行数完全一致,顺序完全一致。
2. 条目编号必须原样保留,包括前导零和分隔符。
3. 日期只按下列规则统一:...
4. 描述只修拼写、标点和多余空格。不得改写、缩写、扩写。
5. 不确定的行保留原样,列入待确认。
输出:
A. CLEANED_INDEX,完整索引,行数与输入一致。
B. CHANGES,每行格式为 行号 | 原内容 | 新内容 | 修改原因。无改动写 NO_CHANGE。
C. SUMMARY,输入行数、输出行数、改动行数、待确认行数。
输入索引放在 <original_index> 和 </original_index> 之间。
<original_index>
...
</original_index>
这个骨架里,关键不在语气,在可检查的约束。比如行号对齐让变更表能核对,SUMMARY 让截断和合并更容易暴露,待确认列表给模糊日期留出口。对法律截止日期这类数据,任何日期都不该由模型猜。格式统一也要给白名单,别写成就统一日期格式,否则模型可能把 03/04/2026 解释成 3 月 4 日或 4 月 3 日。
如果只能保留一种主产物,优先给完整副本,再附行号变更表。单独改动列表最弱,因为它依赖模型准确引用原行。更稳的做法是让程序先按行编号,再让模型只处理描述字段,最后程序回填。模型少碰结构,出错面就小。
发布时间: 2026-11-15 05:25