题目
如何组织系统指令、用户请求、历史消息和工具结果?
答案
使用模型接口支持的消息角色,分别放置系统约束、用户输入、模型回复和工具结果。不要把所有内容拼成一个大字符串,否则很难区分谁提出要求、哪些内容只是资料。
系统层放稳定的目标与行为边界;用户层保留本轮原始需求;历史消息按对话顺序保存;工具结果通过调用 ID 与对应请求配对。检索资料注明来源、时间,并明确它是待使用的数据。
历史过长时,可以压缩已经结束的话题,但本轮任务目标、关键约束、未完成调用和最近结果应完整保留。不能只删除工具请求而留下返回结果。

组装完成后再计算 Token,预留输出空间。租户身份、密钥等执行环境信息只传给需要它的程序,不必都送入模型。不同供应商的角色和消息块要求,应由适配层处理。
