| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #!/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()
|