#!/usr/bin/env python3 """ 测试智能体改进效果的脚本 用于验证pwd命令识别和工具调用优化 """ import os import sys from pathlib import Path # 添加项目根目录到路径 project_root = Path(__file__).parent sys.path.insert(0, str(project_root)) from src.agents.agent_universal import UniversalAgent def test_simple_commands(): """测试简单命令的识别和执行""" print("🧪 测试智能体改进效果") print("=" * 50) # 创建智能体实例 try: agent = UniversalAgent() print("✅ 智能体初始化成功") except Exception as e: print(f"❌ 智能体初始化失败: {e}") return # 测试用例 test_cases = [ "pwd", "ls", "查看当前目录", "列出文件", "whoami", "date" ] print("\n📝 开始测试命令识别:") print("-" * 30) for i, command in enumerate(test_cases, 1): print(f"\n测试 {i}: {command}") print("-" * 20) try: # 这里我们只测试工具调用逻辑,不实际执行LLM # 因为需要API密钥,我们只检查工具注册情况 tool_registry = agent.tool_registry # 检查工具注册情况 print(f"✅ 工具注册表类型: {type(tool_registry)}") # 尝试获取终端工具 if hasattr(tool_registry, 'get_tool'): terminal_tool = tool_registry.get_tool("terminal_exec") elif hasattr(tool_registry, 'tools'): terminal_tool = tool_registry.tools.get("terminal_exec") else: print(f"🔍 ToolRegistry属性: {dir(tool_registry)}") terminal_tool = None if terminal_tool: print(f"✅ 终端工具已注册: {terminal_tool.name}") print(f"📝 工具描述: {terminal_tool.description}") print(f"🔧 支持参数: {terminal_tool.get_parameters()}") else: print("❌ 终端工具未注册") except Exception as e: print(f"❌ 测试失败: {e}") print("\n🎯 修改总结:") print("-" * 20) print("1. ✅ 系统提示词已优化,添加了明确的工具调用规则") print("2. ✅ 终端工具描述已改进,更用户友好") print("3. ✅ 参数描述已优化,添加了具体示例") print("4. ✅ 触发关键词已明确定义") print("5. ✅ 添加了更多使用示例") print("\n📋 预期改进效果:") print("-" * 20) print("- pwd命令现在应该能正确识别并调用terminal_exec工具") print("- '查看当前目录'等自然语言描述也能触发工具调用") print("- 智能体不再猜测命令结果,而是调用工具获取真实结果") print("- 工具调用更加主动和准确") if __name__ == "__main__": test_simple_commands()