用豆包做表单整理:把自由文本收进固定字段
收集上来的信息常常是一段自由文本:“下周三下午吧,两个人,最好靠窗,如果下雨就改天”。人读得懂,但要放进表格、做统计,就得拆成字段。这类活儿交给豆包很合适,前提是字段契约先定好。
先定契约,再让它填
提示词我固定用这个结构:
把下面这段文本整理成一条记录。输出一个 Markdown 表格,一行,且只能包含这些列:
时间、人数、偏好、备选方案、未提及项。
规则:
- 原文没有明确写出的,填“未提及”,不要推断;
- 时间统一写成“相对描述”,不要自行换算成具体日期;
- 一列里有多个值,用顿号分隔;
- 最后单独写一句:哪些内容因为原文含糊而无法归类。
四条规则里,第一条和第四条最有用。不许推断挡住了模型最常见的“合理补全”,最后那句则把真含糊的地方单独拎出来,方便回头问一句。
一次实际结果
上面那句话被整理成:时间=下周三下午、人数=两人、偏好=靠窗、备选方案=下雨则改天、未提及项=联系方式。最后一句提示:“改天”没有具体日期,无法归类为确定的备选时间。
于是我知道该追问的不是整段话,只有一项。比起自己逐条读,省的是定位问题的时间。
字段怎么定才合理?可以参考 BackendWiki 把参数、类型、默认值列成表的方式:列名要能机械判定,别设“备注”“其他”这种什么都往里装的字段。想做成可反复运行的流程,WorkBuddy 官方文档 里的任务编排说明可以配合看。
两个边界
别让它做归一化判断。 “下周三”换算成具体日期需要知道当前日期和时区,交给代码比交给模型稳。
批量跑之前先跑十条。 拿十条真实文本试一遍,看哪一列最常出现“无法归类”,再回头改字段契约,通常一轮就够。
小结
自由文本转结构化,难点从来不是拆句子,而是把“不知道”明确留下来。字段契约加上不许推断,豆包就能稳定地做这件事,剩下的含糊项正好变成下一步要问的问题。