一、工作进展

本阶段在 Prompt 工程模块承担的任务横跨四条战线:饮食子域说明文档中对写入记录的字段语义进行刚性约束并引入估算义务;主系统与子域约束中对「允许多轮同域工具调用」的能力进行前置陈述并辅以推理纪律条款;意图识别模块的分类提示词扩展为带有域边界叙事与小样本句式提示的长指令;预制 Insight 文案模板分别覆盖饮食快评与身体建议两类批量解读场景并处理运行时占位符与 JSON 字面量冲突。

与后端模块负责同学的协作点在于:模板拼接层使用基于花括号的格式化机制时,若模板内需要向模型展示 JSON 示例,则必须将示例花括号加倍转义,否则运行时会误把示例字段当成占位变量抛出异常——这一类问题不属于模型能力范畴而属于文案交付的工程卫生。

与 Agent 架构模块负责同学的协作点在于:主系统提示与意图分类提示需要共用一套稳定的域叙事口径,避免出现分类提示承认多轮循环而早期子域段落仍残留「严禁第二次调用」之类自相打架表述。

二、详细内容

饮食写入:从可选字段到「必填且可估算」

业务侧若允许明细行仅有食物名称而热量与三大营养素均为空,则任何汇总视图、趋势折线与盈亏叙事都会在数学上断层——前端只能展示缺失而非展示错误,这对用户的教育意义很弱。

单纯把字段标为必填又会把交互压力转嫁给终端用户:大量场景下用户只会说「午饭吃了鸡胸肉」而不会报出克数级别的宏量拆分。

本轮采用的 Prompt 策略是双层义务:其一是工具参数层必须补齐四个计量维度;其二是若用户未口述具体数字则由模型依据食物常识与默认份量假设进行估计,并在对话层用自然语言声明该估计属性。用户一旦给出具体数字则必须以用户为准。

这一策略的代价是估计偏差风险,需要通过产品话术与免责声明在适当位置对冲,而不能在调用 schema 层面继续放松。

附带规则包括餐次枚举的推断优先级与多食物拆行写入的惯例,以减少「一顿混在一条里难以后续精改」的技术债。

意图识别:标签列表不足时如何注入可学习先验

仅有若干字符串标签的分类任务在小型模型上极不稳定——用户措辞稍微模糊就会越界。

本轮在提示词层为每个标签增加「覆盖的数据字段与典型生活化表达」段落,并显式写入判据:先识别用户想动的是进食数据、训练数据还是身体档案数据,再考虑语气词。

同时提供反例心智:数值出现并不自动意味训练域,因为热量与宏量同样是数值。

这种做法的本质是把产品知识前置到可编辑文本里,迭代成本低于更换模型规格,也更符合实训项目的风险可控诉求。

ReAct 能力的前置陈述与推理纪律

历史遗留措辞里可能存在「一轮只做一件事」这类为了简化教学示例而写下的口语化约束,容易被推理模型当成硬规矩并在私有推理通道展开长篇辩论。

本轮的做法是把「同域可多轮顺序执行」写成紧随时间与persona之后的显眼段落,并用一句话点名典型范式为先查询列表再写入。

同时追加否定式纪律:不要在推理通道反复论证规则允许性,直接把下一轮载荷写出来。

对人类读者显得略带命令口吻,但对抑制特定模型的无效元推理链条有效——属于实践中常见的对齐技巧。

从批量按日到按主键精确改写:指南层的决策树更新

当后端补齐按主键级别的单行更新语义之后,Prompt 指南必须同步改写决策树:用户点名某一食物时需要先定位行再改写,而不能默认调用批量按自然日的宽泛更新——后者的语义在历史实现中有可能波及同日其它记录。

指南层还需要给出失败路径叙事:查询为空怎么办、多条同名候选怎么办——这部分可以通过追问策略或置信度最高的默认选项来完成,但不能留白。

Insight 预制模板的双重受众与设计约束

Insight 模板的第一受众是大模型本身:需要通过篇幅适中的上下文陈列用户的档案摘要、当日明细或多日序列,并指定输出必须是结构化 JSON,以便前端不经由二次正则野蛮解析。

第二受众是工程运行时:占位符命名必须稳定,示例 JSON 中与格式化语法冲突的花括号必须转义。

语义约束层面需要写明缺失数据时的降级策略——例如当日无进食记录则评分归零并提示补录,而不是瞎编一餐;身体侧若缺长期趋势则在要点中诚实说明样本不足。

两类模板在语气上保持一致:短句、少形容、像一个可靠训练伙伴而非论文摘要。

Prompt 迭代与评测的朴素方法

在缺乏完整离线评测集的前提下,本轮主要依赖构造型用例手工走查:饮食修正热量、训练查询、身体改档案等代表性句子各若干条,观察分类标签分布;再在多轮链路用例里观察是否出现查询后紧跟合理写入。

后续可把这些用例沉淀成半自动回归清单。

文案资产与代码变更的同行评审策略

Prompt 改动常被认为是「文字游戏」而被轻率合并,实则一次分类提示的删除或调换语序都可能影响线上路由分布。

建议在团队内将子域指南与预制模板的改动与功能需求单关联,并要求至少另一名角色进行业务向审阅——审阅关注点不是文采而是冲突与遗漏。

「禁止编造」与「允许估算」的边界措辞

表面上二者张力很大:一边是诚实性约束,一边是数值推断义务。

拆解方式是分层叙事——在写入食物的语境里推断计量属于填补缺失观测而非捏造外部事实;在 Insight 语境里捏造用户从未录入过的进食事件才是红线。

Prompt 文案需要用一两句显式澄清这一分界,否则审稿人也会产生误会。

多语言与国际化的伏笔

当前模板中文为主;若未来引入英文界面,预制 Insight 的输出语言也应跟随会话 locale——这需要模板参数层扩展而非简单复制两份文件。

实训阶段可先记录在案。

与前端契约字段命名的对齐

Insight JSON 字段命名必须在 Prompt 示例与前端类型约定之间完全一致——本轮实践中曾因大小写或可选字段遗漏引发解析抖动。

建议在团队 wiki 维护一张「契约字段表」,不以口口相传为准。

教学复盘:Prompt 工程的思维方式训练

实训学生的常见误区是把 Prompt 当成咒语堆砌——越长越好。

更有效的训练是让学生反向列举每条约束解决的失败案例,删去任何找不到对应案例的句子,从尔后获得可维护篇幅。

仍待加强:自动 JSON 修复的立场

某些模型偶尔在 JSON 外加少量前后缀噪音,已有代码做宽松剥离。

是否进一步用规则自动修复残缺 JSON 属于产品风险域——过度修复可能掩盖模型质量下滑,需在团队内形成明确政策。

饮食子域文档中表格与示例 JSON 的分工

表格负责字段类型与单位的心理锚定,示例 JSON 负责整体形状。

二者若出现语义冲突应以表格为准并立即修正示例——否则模型会学着错误示范走偏。

反例池:刻意收集的「模型曾犯过错」

建议在团队内部维护非公开备忘录,记录每一次线上或联调中观察到的离谱调用,将其转写为 Prompt 否定句或决策树分叉。

这比单纯追加「不要干什么」的长名单更具针对性。

与课程大作业文档的交叉引用

若学院要求提交设计说明书,可将子域指南的目录结构映射到说明书中的接口规约章节,减少双份维护的心智负担——但需注意对外文档剔除内部玩笑语与未发布规划。

自我检查:是否出现「指令膨胀」迹象

当前轮迭代后指南页数上升,这是自然现象。

每个迭代应安排一次「删减周」——没有证据支持其降低错误率的段落应被挪到附录或删除,主路径只保留高频失败模式相关文字。

Prompt 工程的文档化输出物列表

除主指南外,尚有意图分类提示、Insight 预制模板、系统级父提示、若干子域后缀约束段。

建议在仓库根或内部 wiki 维护「提示词地图」一页,帮助新成员一天内定位。

三、总结

Prompt 工程在本阶段的价值,体现在把「可被后端与编排层执行」与「可被模型稳定遵守」这两件事通过文本来对齐——包括字段义务、域边界、多轮许可、Insight 契约与格式化卫生。

三条可复用原则:其一,凡是影响工具参数合法性的规则必须写进子域指南而不是仅存在于口头约定;其二,凡是可能让模型误读的历史措辞需要被显式覆盖而不是假设模型会综合理解;其三,预制模板既要约束输出形状也要约束诚实性与缺失数据处理。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐