Back to Hello Agents

Universal Hello-Agents 智能体系统

Co-creation-projects/haoye2-UnivesalAgent/main.ipynb

1.0.25.5 KB
Original Source

Universal Hello-Agents 智能体系统

📝 项目简介

这是一个基于 Hello-Agents 框架的通用智能体系统,采用 单智能体 + 多工具 设计。 智能体通过 ToolRegistry 注册并调用多个工具实现复杂任务处理。

核心功能

  • 智能网络搜索:支持多引擎搜索和内容提取
  • 安全终端执行:受限命令执行,带白名单策略
  • 记忆功能:支持用户偏好和重要信息记忆(未来)
  • 多引擎支持:DuckDuckGo、Brave、Ecosia、Searx

👤 作者信息

  • 项目名称: UniversalAgent
  • 作者: haoye2
  • 日期: 2025-11-30
  • 框架版本: Hello-Agents >= 0.2.0

🛠️ 第2部分:环境配置

python
# 安装依赖(如果需要)
# !pip install -q hello-agents[all] requests beautifulsoup4 python-dotenv

# 导入必要的库
import os
import sys
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# 添加项目根目录到Python路径
sys.path.append('.')

print("✅ 环境配置完成")
print(f"📁 当前工作目录: {os.getcwd()}")
print(f"🐍 Python版本: {sys.version}")

🧰 第3部分:工具定义

本项目使用预定义的工具,位于 tools/ 目录下:

python
# 导入工具定义
from src.tools.browser_tool import BrowserTool
from src.tools.terminal_tool import TerminalTool

# 创建工具实例
browser_tool = BrowserTool()
terminal_tool = TerminalTool()

print("📋 可用工具列表:")
print(f"1. {browser_tool.name}: {browser_tool.description}")
print(f"2. {terminal_tool.name}: {terminal_tool.description}")

🤖 第4部分:智能体构建

python
# 导入智能体类
from src.agents.agent_universal import UniversalAgent

# 创建智能体实例
agent = UniversalAgent()

print("🚀 智能体创建成功!")
print(f"📛 智能体名称: {agent.name}")
print(f"🔧 已注册工具数量: {len(agent.tool_registry.tools)}")

# 显示已注册的工具
print("\n📋 已注册的工具:")
for tool_name, tool in agent.tool_registry.tools.items():
    print(f"  - {tool_name}: {tool.description}")

🎯 第5部分:功能演示

示例1:基础搜索功能

python
# 演示搜索功能
query = "Python人工智能最新发展"
print(f"🔍 搜索查询: {query}")
print("=" * 50)

try:
    result = agent.run(query)
    print("\n📋 搜索结果:")
    print(result)
except Exception as e:
    print(f"❌ 搜索失败: {e}")

示例2:终端命令执行

python
# 演示终端功能(安全命令)
command = "pwd"
print(f"💻 执行命令: {command}")
print("=" * 50)

try:
    result = agent.run(f"执行 {command}")
    print("\n📋 执行结果:")
    print(result)
except Exception as e:
    print(f"❌ 命令执行失败: {e}")

示例3:复杂任务处理

python
# 演示复杂任务
complex_task = "搜索LangChain框架的最新版本信息,然后查看当前目录的文件列表"
print(f"🎯 复杂任务: {complex_task}")
print("=" * 50)

try:
    result = agent.run(complex_task)
    print("\n📋 处理结果:")
    print(result)
except Exception as e:
    print(f"❌ 任务处理失败: {e}")

📊 第6部分:性能评估(可选)

python
import time

# 简单的性能测试
test_queries = [
    "Python基础语法",
    "当前目录文件列表",
    "人工智能发展趋势"
]

print("📊 性能测试开始...")
print("=" * 50)

for i, query in enumerate(test_queries, 1):
    print(f"\n🧪 测试 {i}: {query}")
    
    start_time = time.time()
    try:
        result = agent.run(query)
        end_time = time.time()
        
        response_time = end_time - start_time
        result_length = len(result) if result else 0
        
        print(f"✅ 成功 - 响应时间: {response_time:.2f}秒, 结果长度: {result_length}字符")
        print(f"📝 结果预览: {result[:100]}..." if len(result) > 100 else f"📝 结果: {result}")
    except Exception as e:
        end_time = time.time()
        response_time = end_time - start_time
        print(f"❌ 失败 - 响应时间: {response_time:.2f}秒, 错误: {e}")

print("\n📊 性能测试完成")

📝 第7部分:总结与展望

项目总结

✅ 实现的功能

  • 多工具智能体系统构建
  • 安全的网络搜索功能
  • 受限的终端命令执行
  • 灵活的工具注册机制
  • 完整的Jupyter Notebook演示

🎯 遇到的挑战

  • API密钥管理: 通过.env文件安全配置
  • 工具安全策略: 实现白名单机制限制危险操作
  • 多引擎兼容: 处理不同搜索引擎的响应格式
  • 错误处理: 完善异常捕获和用户友好的错误提示

🚀 未来改进方向

  • 添加更多工具(文件操作、数据库查询等)
  • 实现真正的记忆功能集成
  • 优化搜索引擎的响应速度
  • 添加Web界面支持
  • 实现多智能体协作
  • 添加更多安全策略

💡 技术亮点

  • 模块化设计: 工具和智能体分离,易于扩展
  • 安全优先: 多层安全策略保护系统安全
  • 容错机制: 智能降级和错误恢复策略
  • 标准兼容: 符合Hello-Agents框架标准

🎓 恭喜!您已经成功运行了UniversalAgent智能体系统!

📚 更多学习资源:

🙏 感谢Datawhale社区和Hello-Agents项目!