test_agent_improvements.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/usr/bin/env python3
  2. """
  3. 测试智能体改进效果的脚本
  4. 用于验证pwd命令识别和工具调用优化
  5. """
  6. import os
  7. import sys
  8. from pathlib import Path
  9. # 添加项目根目录到路径
  10. project_root = Path(__file__).parent
  11. sys.path.insert(0, str(project_root))
  12. from src.agents.agent_universal import UniversalAgent
  13. def test_simple_commands():
  14. """测试简单命令的识别和执行"""
  15. print("🧪 测试智能体改进效果")
  16. print("=" * 50)
  17. # 创建智能体实例
  18. try:
  19. agent = UniversalAgent()
  20. print("✅ 智能体初始化成功")
  21. except Exception as e:
  22. print(f"❌ 智能体初始化失败: {e}")
  23. return
  24. # 测试用例
  25. test_cases = [
  26. "pwd",
  27. "ls",
  28. "查看当前目录",
  29. "列出文件",
  30. "whoami",
  31. "date"
  32. ]
  33. print("\n📝 开始测试命令识别:")
  34. print("-" * 30)
  35. for i, command in enumerate(test_cases, 1):
  36. print(f"\n测试 {i}: {command}")
  37. print("-" * 20)
  38. try:
  39. # 这里我们只测试工具调用逻辑,不实际执行LLM
  40. # 因为需要API密钥,我们只检查工具注册情况
  41. tool_registry = agent.tool_registry
  42. # 检查工具注册情况
  43. print(f"✅ 工具注册表类型: {type(tool_registry)}")
  44. # 尝试获取终端工具
  45. if hasattr(tool_registry, 'get_tool'):
  46. terminal_tool = tool_registry.get_tool("terminal_exec")
  47. elif hasattr(tool_registry, 'tools'):
  48. terminal_tool = tool_registry.tools.get("terminal_exec")
  49. else:
  50. print(f"🔍 ToolRegistry属性: {dir(tool_registry)}")
  51. terminal_tool = None
  52. if terminal_tool:
  53. print(f"✅ 终端工具已注册: {terminal_tool.name}")
  54. print(f"📝 工具描述: {terminal_tool.description}")
  55. print(f"🔧 支持参数: {terminal_tool.get_parameters()}")
  56. else:
  57. print("❌ 终端工具未注册")
  58. except Exception as e:
  59. print(f"❌ 测试失败: {e}")
  60. print("\n🎯 修改总结:")
  61. print("-" * 20)
  62. print("1. ✅ 系统提示词已优化,添加了明确的工具调用规则")
  63. print("2. ✅ 终端工具描述已改进,更用户友好")
  64. print("3. ✅ 参数描述已优化,添加了具体示例")
  65. print("4. ✅ 触发关键词已明确定义")
  66. print("5. ✅ 添加了更多使用示例")
  67. print("\n📋 预期改进效果:")
  68. print("-" * 20)
  69. print("- pwd命令现在应该能正确识别并调用terminal_exec工具")
  70. print("- '查看当前目录'等自然语言描述也能触发工具调用")
  71. print("- 智能体不再猜测命令结果,而是调用工具获取真实结果")
  72. print("- 工具调用更加主动和准确")
  73. if __name__ == "__main__":
  74. test_simple_commands()