This commit is contained in:
sonto 2026-02-28 23:13:49 +08:00
parent 488b9fd22e
commit d3f5be858e
2 changed files with 106 additions and 1 deletions

View File

@ -184,7 +184,7 @@ class LLMEngine:
f"## 对话历史\n{context or '(无)'}\n\n"
f"## 用户输入\n{user_input}\n\n"
f"## 指令\n"
f" JSON 格式回复:\n"
f" JSON 格式回复,不要嵌入到其他对象中,如下\n"
f'{{"need_tool": true/false, "tool_name": "...", "arguments": {{...}}, "reasoning": "..."}}'
)

View File

@ -418,3 +418,108 @@
---
*由...
[2026-02-28 22:58:47,489] [agent.CLIENT] INFO: 🎉 [CLIENT] 流程完成,回复已返回
[2026-02-28 23:01:29,790] [agent.CLIENT] INFO: =======================================================
[2026-02-28 23:01:29,790] [agent.CLIENT] INFO: 📨 Step 1 [CLIENT] 收到用户输入: 搜索今日的天气如何
[2026-02-28 23:01:29,790] [agent.MEMORY] DEBUG: 💬 [USER] 搜索今日的天气如何...
[2026-02-28 23:01:29,791] [agent.CLIENT] INFO: 🧠 Step 2 [LLM] 开始推理,分析意图...
[2026-02-28 23:01:29,791] [agent.LLM] INFO: 💭 分析意图: 搜索今日的天气如何...
[2026-02-28 23:01:29,791] [agent.LLM] DEBUG: 📝 Prompt 已构造 (591 chars)
[2026-02-28 23:02:40,057] [agent.Monica] INFO: ```json
{
"need_tool": true,
"tool_name": "web_search",
"arguments": {
"query": "今日的天气"
},
"reasoning": "获取当日天气信息需要实时数据,而我无法直接访问实时信息,因此需要调用 web_search 工具来搜索并获取最新的天气信息。"
}
```
[2026-02-28 23:11:18,766] [agent.SYSTEM] INFO: 🔧 开始组装 Agent 系统...
[2026-02-28 23:11:18,766] [agent.MCP] INFO: 🚀 MCP Server [DemoMCPServer] 启动
[2026-02-28 23:11:18,766] [agent.MCP] INFO: 📌 注册工具: [calculator] — 计算数学表达式,支持加减乘除、幂运算、括号等
[2026-02-28 23:11:18,766] [agent.MCP] INFO: 📌 注册工具: [web_search] — 在互联网上搜索信息,返回相关网页摘要
[2026-02-28 23:11:18,766] [agent.MCP] INFO: 📌 注册工具: [file_reader] — 读取本地文件内容,仅限 workspace/ 目录下的文件
[2026-02-28 23:11:18,766] [agent.MCP] INFO: 📌 注册工具: [code_executor] — 在沙箱环境中执行 Python 代码片段,返回标准输出
[2026-02-28 23:11:18,767] [agent.LLM] INFO: 🧠 LLM 引擎初始化,模型: gpt-4o
[2026-02-28 23:11:18,821] [agent.MEMORY] INFO: 💾 Memory 初始化,最大历史: 20 条
[2026-02-28 23:11:18,822] [agent.CLIENT] INFO: 💻 Agent Client 初始化完成
[2026-02-28 23:11:18,822] [agent.SYSTEM] INFO: ✅ Agent 组装完成,已注册工具: ['calculator', 'web_search', 'file_reader', 'code_executor']
[2026-02-28 23:11:23,918] [agent.CLIENT] INFO: =======================================================
[2026-02-28 23:11:23,918] [agent.CLIENT] INFO: 📨 Step 1 [CLIENT] 收到用户输入: 查询今天的天气
[2026-02-28 23:11:23,918] [agent.MEMORY] DEBUG: 💬 [USER] 查询今天的天气...
[2026-02-28 23:11:23,918] [agent.CLIENT] INFO: 🧠 Step 2 [LLM] 开始推理,分析意图...
[2026-02-28 23:11:23,918] [agent.LLM] INFO: 💭 分析意图: 查询今天的天气...
[2026-02-28 23:11:23,919] [agent.LLM] DEBUG: 📝 Prompt 已构造 (359 chars)
[2026-02-28 23:11:27,029] [agent.Monica] INFO: {"need_tool": true, "tool_name": "web_search", "arguments": {"query": "今天的天气"}, "reasoning": "查询天气需要访问实时信息,无法直接从内置数据中获取,因此需要调用网络搜索工具来获取当天的天气状况。"}
[2026-02-28 23:11:27,029] [agent.LLM] INFO: 🎯 决策结果: 调用工具 [web_search]
[2026-02-28 23:11:27,029] [agent.LLM] DEBUG: 💡 推理: 查询天气需要访问实时信息,无法直接从内置数据中获取,因此需要调用网络搜索工具来获取当天的天气状况。
[2026-02-28 23:11:27,029] [agent.CLIENT] INFO: 📡 Step 3 [MCP] 发送工具调用请求
方法: tools/call
工具: web_search
参数: {'query': '今天的天气'}
请求体: {'jsonrpc': '2.0', 'id': '6b19ead1', 'method': 'tools/call', 'params': {'name': 'web_search', 'arguments': {'query': '今天的天气'}}}
[2026-02-28 23:11:27,030] [agent.CLIENT] INFO: 🔧 Step 4 [TOOL] MCP Server 执行工具 [web_search]...
[2026-02-28 23:11:27,030] [agent.MCP] INFO: 📨 收到请求 id=6b19ead1 method=tools/call
[2026-02-28 23:11:27,030] [agent.TOOL] INFO: ▶ 执行工具 [web_search],参数: {'query': '今天的天气'}
[2026-02-28 23:11:27,130] [agent.TOOL] INFO: ✅ 工具 [web_search] 执行成功
[2026-02-28 23:11:27,130] [agent.CLIENT] INFO: ✅ 工具执行成功,输出: 搜索「今天的天气」,共 2 条结果:
[1] 今日天气预报
晴转多云,气温 15°C ~ 24°C东南风 3 级
[2] 未来 7 天天气
本...
[2026-02-28 23:11:27,130] [agent.MEMORY] DEBUG: 💬 [TOOL] 搜索「今天的天气」,共 2 条结果:
[1] 今日天气预报
晴转多云,气温 15°C ~ 24°C东南风 3 ...
[2026-02-28 23:11:27,130] [agent.CLIENT] INFO: ✍️ Step 5 [LLM] 整合工具结果,生成最终回复...
[2026-02-28 23:11:27,131] [agent.LLM] INFO: ✍️ 整合工具结果,生成最终回复...
[2026-02-28 23:11:27,131] [agent.LLM] INFO: 💬 回复已生成 (167 chars)
[2026-02-28 23:11:27,131] [agent.MEMORY] DEBUG: 💬 [ASSISTANT] ✅ 已通过 [web_search] 工具处理您的请求。
**执行结果:**
搜索「今天的天气」,共 2 条结果:
[...
[2026-02-28 23:11:27,131] [agent.CLIENT] INFO: 🎉 [CLIENT] 流程完成,回复已返回
[2026-02-28 23:12:22,747] [agent.SYSTEM] INFO: 🔧 开始组装 Agent 系统...
[2026-02-28 23:12:22,747] [agent.MCP] INFO: 🚀 MCP Server [DemoMCPServer] 启动
[2026-02-28 23:12:22,747] [agent.MCP] INFO: 📌 注册工具: [calculator] — 计算数学表达式,支持加减乘除、幂运算、括号等
[2026-02-28 23:12:22,747] [agent.MCP] INFO: 📌 注册工具: [web_search] — 在互联网上搜索信息,返回相关网页摘要
[2026-02-28 23:12:22,747] [agent.MCP] INFO: 📌 注册工具: [file_reader] — 读取本地文件内容,仅限 workspace/ 目录下的文件
[2026-02-28 23:12:22,747] [agent.MCP] INFO: 📌 注册工具: [code_executor] — 在沙箱环境中执行 Python 代码片段,返回标准输出
[2026-02-28 23:12:22,747] [agent.LLM] INFO: 🧠 LLM 引擎初始化,模型: gpt-4o
[2026-02-28 23:12:22,785] [agent.MEMORY] INFO: 💾 Memory 初始化,最大历史: 20 条
[2026-02-28 23:12:22,785] [agent.CLIENT] INFO: 💻 Agent Client 初始化完成
[2026-02-28 23:12:22,785] [agent.SYSTEM] INFO: ✅ Agent 组装完成,已注册工具: ['calculator', 'web_search', 'file_reader', 'code_executor']
[2026-02-28 23:12:53,887] [agent.CLIENT] INFO: =======================================================
[2026-02-28 23:12:53,887] [agent.CLIENT] INFO: 📨 Step 1 [CLIENT] 收到用户输入: 执行python代码print('你好')
[2026-02-28 23:12:53,887] [agent.MEMORY] DEBUG: 💬 [USER] 执行python代码print('你好')...
[2026-02-28 23:12:53,887] [agent.CLIENT] INFO: 🧠 Step 2 [LLM] 开始推理,分析意图...
[2026-02-28 23:12:53,887] [agent.LLM] INFO: 💭 分析意图: 执行python代码print('你好')...
[2026-02-28 23:12:53,887] [agent.LLM] DEBUG: 📝 Prompt 已构造 (389 chars)
[2026-02-28 23:12:57,254] [agent.Monica] INFO: {"need_tool": true, "tool_name": "code_executor", "arguments": {"code": "print('你好')"}, "reasoning": "用户明确要求执行一段Python代码因此需要调用code_executor工具来执行该代码。"}
[2026-02-28 23:12:57,254] [agent.LLM] INFO: 🎯 决策结果: 调用工具 [code_executor]
[2026-02-28 23:12:57,254] [agent.LLM] DEBUG: 💡 推理: 用户明确要求执行一段Python代码因此需要调用code_executor工具来执行该代码。
[2026-02-28 23:12:57,254] [agent.CLIENT] INFO: 📡 Step 3 [MCP] 发送工具调用请求
方法: tools/call
工具: code_executor
参数: {'code': "print('你好')"}
请求体: {'jsonrpc': '2.0', 'id': '49bf04da', 'method': 'tools/call', 'params': {'name': 'code_executor', 'arguments': {'code': "print('你好')"}}}
[2026-02-28 23:12:57,255] [agent.CLIENT] INFO: 🔧 Step 4 [TOOL] MCP Server 执行工具 [code_executor]...
[2026-02-28 23:12:57,255] [agent.MCP] INFO: 📨 收到请求 id=49bf04da method=tools/call
[2026-02-28 23:12:57,255] [agent.TOOL] INFO: ▶ 执行工具 [code_executor],参数: {'code': "print('你好')"}
[2026-02-28 23:12:57,255] [agent.TOOL] INFO: ✅ 工具 [code_executor] 执行成功
[2026-02-28 23:12:57,255] [agent.CLIENT] INFO: ✅ 工具执行成功,输出: 执行成功 (0.1ms):
你好
...
[2026-02-28 23:12:57,255] [agent.MEMORY] DEBUG: 💬 [TOOL] 执行成功 (0.1ms):
你好
...
[2026-02-28 23:12:57,255] [agent.CLIENT] INFO: ✍️ Step 5 [LLM] 整合工具结果,生成最终回复...
[2026-02-28 23:12:57,255] [agent.LLM] INFO: ✍️ 整合工具结果,生成最终回复...
[2026-02-28 23:12:57,255] [agent.LLM] INFO: 💬 回复已生成 (99 chars)
[2026-02-28 23:12:57,256] [agent.MEMORY] DEBUG: 💬 [ASSISTANT] ✅ 已通过 [code_executor] 工具处理您的请求。
**执行结果:**
执行成功 (0.1ms):
你好
...
[2026-02-28 23:12:57,256] [agent.CLIENT] INFO: 🎉 [CLIENT] 流程完成,回复已返回