Files
TrulyMEM-TrueHumanMEM-local/test_tool_call_flow.py
JianFeeeee b7a6a3c1a9 Enhance: Add detailed usage examples for all memory tools
为所有记忆工具添加详细的使用示例,帮助AI理解工具的作用和使用方法:
1. memory_recall: 添加查询人设图、工作记忆链、用户偏好等示例
2. memory_commit: 添加记录用户偏好、项目信息、游戏状态等示例
3. memory_purge: 添加软删除、纠错替代等示例
4. persona_update: 添加切换角色、添加属性等示例
5. task_create: 添加创建任务节点的完整流程示例
6. task_set_state: 添加任务状态转换的完整流程示例
7. task_link_info: 添加关联信息节点的完整流程示例

更新系统提示词:
- 强化工作记忆链机制说明
- 添加完整的成语接龙游戏示例(三轮对话)
- 明确强制查询和更新场景
- 强调工作记忆链是唯一上下文载体

解决问题: AI无法通过自己写入的记忆链恢复上下文记忆

Generated with CodeArts Agent
2026-04-12 11:09:31 +08:00

53 lines
1.4 KiB
Python

"""
测试工具调用的正确流程
OpenAI API 工具调用的正确消息顺序:
第一轮:
1. system
2. user: "帮我查询用户信息"
→ AI 返回 tool_calls: [memory_recall]
第二轮:
1. system
2. user: "帮我查询用户信息"
3. assistant: tool_calls=[memory_recall]
4. tool: "查询结果..."
→ AI 返回 tool_calls: [memory_commit]
第三轮:
1. system
2. user: "帮我查询用户信息"
3. assistant: tool_calls=[memory_recall]
4. tool: "查询结果..."
5. assistant: tool_calls=[memory_commit]
6. tool: "写入结果..."
→ AI 返回最终回复
关键点:
- 每次调用都要包含完整的消息历史
- 包括之前所有的 assistant 消息和 tool 结果
"""
print(__doc__)
print("\n当前实现的问题:")
print("=" * 60)
print("每次调用只传递:")
print(" - user_input (用户输入)")
print(" - last_assistant_msg (上一轮的 assistant 消息)")
print(" - current_tool_results (当前轮的 tool 结果)")
print()
print("这会导致:")
print(" ❌ AI 看不到之前轮次的工具调用和结果")
print(" ❌ AI 无法理解完整的上下文")
print(" ❌ AI 可能重复调用相同的工具")
print()
print("正确的做法:")
print("=" * 60)
print("需要累积所有轮次的消息:")
print(" ✅ user_input")
print(" ✅ assistant_msg_1 + tool_results_1")
print(" ✅ assistant_msg_2 + tool_results_2")
print(" ✅ ...")