Agent每轮聊天的历史消息的存入规则

Agent每轮聊天的历史消息的存入规则

全量追踪,因果严格

大模型的每轮对话中,不仅要记住人类说了什么,还要记得它自己为什么去调工具以及工具返回了什么

存入规则必须是:

System->Human->AI(Tool Call)->Tool->AI(Final Answer)

每一个ToolMessage(工具执行结果)的前面,必须紧跟着触发它的哪个AIMessage(包括tool_call请求),如果中间插入了别的人类发言,或者顺序反了,大模型在下一轮读取时就会直接发生逻辑混乱或报错。

一条对话线什么时候可以既定事实沉淀进历史库

当前仅当大模型输出的AIMessage中,tool_calls为空且content有文本内容时, 这意味着工具探索全部结束,模型给出了人话最终回复。

RunnableWithMessageHistory 不会存入工具调用历史消息(ToolMessage),因此在使用RunnableWithMessageHistory 时,虽然RunnableWithMessageHistory 能自动的加入AIMessage和HumanMessage,但是ToolMessage需要自己手动加