II-Agent:一个用于构建和部署智能体的全新开源框架。II-Agent 是一款开源智能助手,旨在简化和增强跨领域的工作流程。它代表了我们与技术互动方式的重大进步——从被动工具转变为能够独立执行复杂任务的智能系统。作为简易的COZE,Dify平替。
ii-agent开源框架,擅长构建跨多个领域工作流的Agent,能独立执行复杂任务已是Agent标配 其技能覆盖研究与核查、内容生成、数据分析可视化、软件开发、工作流自动化、问题解决6个方面 可以用它来做笔记、写文章、做研究、分析数据、写代码、建网站、自动化工作流、故障排除等等,基本上日常工作覆盖的差不多了 ii-agent集成了搜索引擎、代码编辑器、命令行终端等工具,使得它可以处理更复杂的任务,具备持续学习和适应能力 给了命令行界面和网页界面两种交互方式。目前正在开发针对PDF、音频、图像、视频、幻灯片等不同模态的处理能力
II Agent 旨在为 Anthropic Claude 模型提供代理接口。它提供以下功能:
- 用于直接命令行交互的 CLI 界面
- 支持现代基于 React 的前端的 WebSocket 服务器
- 与 Google Cloud 的 Vertex AI 集成,通过 API 访问人类学模型
II-Agent 是一款多功能开源助手,旨在提升您在各个领域的工作效率:
领域 | II-Agent 的功能 |
---|---|
研究与事实核查 | 多步网页搜索、源三角测量、结构化笔记、快速摘要 |
内容生成 | 博客和文章草稿、课程计划、创意散文、技术手册、网站创作 |
数据分析与可视化 | 清理、统计、趋势检测、图表和自动报告生成 |
软件开发 | 跨多种语言的代码合成、重构、调试、测试编写和分步教程 |
工作流自动化 | 脚本生成、浏览器自动化、文件管理、流程优化 |
解决问题 | 分解、替代路径探索、逐步指导、故障排除 |
II-Agent 系统代表了一种构建多功能 AI 代理的复杂方法。我们的方法论核心在于:
-
核心代理架构与LLM交互
- 动态定制上下文的系统提示
- 全面的交互历史管理
- 智能上下文管理来处理令牌限制
- 系统性LLM调用和能力选择
- 通过执行周期进行迭代改进
-
规划与反思
- 解决复杂问题的结构化推理
- 问题分解和顺序思考
- 透明的决策过程
- 假设的形成和检验
-
执行能力
- 具有智能代码编辑的文件系统操作
- 在安全环境中执行命令行
- 高级 Web 交互和浏览器自动化
- 任务完成和报告
- 针对各种模式的专门功能(实验性)(PDF、音频、图像、视频、幻灯片)
- 深度研究整合
-
上下文管理
- 代币使用情况估算和优化
- 针对冗长互动的战略性缩短
- 基于文件的大型输出存档
-
实时通信
- 基于 WebSocket 的交互使用界面
- 每个客户端的独立代理实例
- 流式传输操作事件以实现响应式用户体验
II-Agent 已根据 GAIA 基准进行了评估,该基准评估基于 LLM 的代理在多维度(包括多模式处理、工具利用和网络搜索)的现实场景中的运行情况。
我们在评估过程中发现了 GAIA 基准的几个问题:
- 注释错误:数据集中存在一些不正确的注释(例如,误解日期范围、计算错误)
- 过时的信息:一些问题涉及不再可访问的网站或内容
- 语言歧义:措辞不明确导致对问题的不同解释
尽管面临这些挑战,II-Agent 在基准测试中表现出色,特别是在需要复杂推理、工具使用和多步骤规划的领域。
您可以在此处查看一些样本的完整跟踪:GAIA 基准跟踪
- Python 3.10+
- Node.js 18+(用于前端)
- 已启用 Vertex AI API 或 Anthropic API 密钥的 Google Cloud 项目
.env
在根目录中创建一个包含以下变量的文件:
# Image and Video Generation Tool
OPENAI_API_KEY=your_openai_key
OPENAI_AZURE_ENDPOINT=your_azure_endpoint
# Search Provider
TAVILY_API_KEY=your_tavily_key
#JINA_API_KEY=your_jina_key
#FIRECRAWL_API_KEY=your_firecrawl_key
# For Image Search and better search results use SerpAPI
#SERPAPI_API_KEY=your_serpapi_key
STATIC_FILE_BASE_URL=http://localhost:8000/
#If you are using Anthropic client
ANTHROPIC_API_KEY=
#If you are using Goolge Vertex (recommended if you have permission extra throughput)
#GOOGLE_APPLICATION_CREDENTIALS=
对于前端,.env
在前端目录中创建一个文件:
NEXT_PUBLIC_API_URL=http://localhost:8000
-
克隆存储库
-
设置Python环境:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e .
-
设置前端(可选):
cd frontend npm install
如果要使用人类客户端,请在文件ANTHROPIC_API_KEY
中设置.env
并运行:
python cli.py
如果要使用顶点,请在文件GOOGLE_APPLICATION_CREDENTIALS
中设置.env
并运行:
python cli.py --project-id YOUR_PROJECT_ID --region YOUR_REGION
选项:
--project-id
:Google Cloud 项目 ID--region
:Google Cloud 区域(例如 us-east5)--workspace
:工作区目录的路径(默认值:./workspace)--needs-permission
:执行命令前需要权限--minimize-stdout-logs
:减少打印到标准输出的日志量
- 启动 WebSocket 服务器:
使用 Anthropic 客户端时:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000
使用 Vertex 时:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000 --project-id YOUR_PROJECT_ID --region YOUR_REGION
- 启动前端(在单独的终端中):
cd frontend
npm run dev
- 打开浏览器访问http://localhost:3000
cli.py
:命令行界面ws_server.py
:前端的 WebSocket 服务器src/ii_agent/
:核心代理实现agents/
:代理实现llm/
:LLM 客户端接口tools/
:工具实现utils/
:实用功能
II-Agent 框架基于 Claude 3.7 Sonnet 等大型语言模型的推理能力构建,为构建多功能 AI 代理提供了全面而强大的方法。II-Agent 结合了强大的 LLM、丰富的执行能力、明确的规划和反思机制以及智能上下文管理策略,能够出色地处理各种复杂的多步骤任务。其开源特性和可扩展设计为快速发展的代理 AI 领域的持续研究和开发奠定了坚实的基础。