""" 多Agent协作的智能文档助手 使用两个SimpleAgent分工协作: - Agent1:GitHub搜索专家 - Agent2:文档生成专家 """ from hello_agents import SimpleAgent, HelloAgentsLLM from hello_agents.tools import MCPTool from dotenv import load_dotenv # 加载.env文件中的环境变量 load_dotenv(dotenv_path="../HelloAgents/.env") print("="*70) print("多Agent协作的智能文档助手") print("="*70) # ============================================================ # Agent 1: GitHub搜索专家 # ============================================================ print("\n【步骤1】创建GitHub搜索专家...") github_searcher = SimpleAgent( name="GitHub搜索专家", llm=HelloAgentsLLM(), system_prompt="""你是一个GitHub搜索专家。 你的任务是搜索GitHub仓库并返回结果。 请返回清晰、结构化的搜索结果,包括: - 仓库名称 - 简短描述 保持简洁,不要添加额外的解释。""" ) # 添加GitHub工具 github_tool = MCPTool( name="gh", server_command=["npx", "-y", "@modelcontextprotocol/server-github"] ) github_searcher.add_tool(github_tool) # ============================================================ # Agent 2: 文档生成专家 # ============================================================ print("\n【步骤2】创建文档生成专家...") document_writer = SimpleAgent( name="文档生成专家", llm=HelloAgentsLLM(), system_prompt="""你是一个文档生成专家。 你的任务是根据提供的信息生成结构化的Markdown报告。 报告应该包括: - 标题 - 简介 - 主要内容(分点列出,包括项目名称、描述等) - 总结 请直接输出完整的Markdown格式报告内容,不要使用工具保存。""" ) # 添加文件系统工具 fs_tool = MCPTool( name="fs", server_command=["npx", "-y", "@modelcontextprotocol/server-filesystem", "."] ) document_writer.add_tool(fs_tool) # ============================================================ # 执行任务 # ============================================================ print("\n" + "="*70) print("开始执行任务...") print("="*70) try: # 步骤1:GitHub搜索 print("\n【步骤3】Agent1 搜索GitHub...") search_task = "搜索关于'AI agent'的GitHub仓库,返回前5个最相关的结果" search_results = github_searcher.run(search_task) print("\n搜索结果:") print("-" * 70) print(search_results) print("-" * 70) # 步骤2:生成报告 print("\n【步骤4】Agent2 生成报告...") report_task = f""" 根据以下GitHub搜索结果,生成一份Markdown格式的研究报告: {search_results} 报告要求: 1. 标题:# AI Agent框架研究报告 2. 简介:说明这是关于AI Agent的GitHub项目调研 3. 主要发现:列出找到的项目及其特点(包括名称、描述等) 4. 总结:总结这些项目的共同特点 请直接输出完整的Markdown格式报告。 """ report_content = document_writer.run(report_task) print("\n报告内容:") print("=" * 70) print(report_content) print("=" * 70) # 步骤3:保存报告 print("\n【步骤5】保存报告到文件...") import os try: with open("report.md", "w", encoding="utf-8") as f: f.write(report_content) print("✅ 报告已保存到 report.md") # 验证文件 file_size = os.path.getsize("report.md") print(f"✅ 文件大小: {file_size} 字节") except Exception as e: print(f"❌ 保存失败: {e}") print("\n" + "="*70) print("任务完成!") print("="*70) except Exception as e: print(f"\n❌ 错误: {e}") import traceback traceback.print_exc()