综合介绍
OWL(Optimized Workforce Learning)是由 CAMEL-AI 团队开发的一个开源框架,专注于优化多智能体协作以实现真实世界任务的自动化。基于 CAMEL-AI 架构,OWL通过动态的智能体交互提升任务处理的自然性、效率和鲁棒性。在GAIA基准测试中,OWL取得58.18的平均分,位列开源框架第一。该项目于2025年3月7日正式开源,代码托管于GitHub(https://github.com/camel-ai/owl),提供详细文档和示例,旨在推动AI研究与实际应用的结合,适用于学术探索和任务自动化场景。
中文圈最可悲之处在于作为信息传播源头,他们从不介绍 CAMEL-AI 和 AGENTGPT ,反而对类似于 Manus 的 OWL 很感兴趣。有些产品商业化会促进科技进步,有些却不行。
功能列表
- 实时信息检索:支持通过Wikipedia、Google Search等在线资源获取最新信息。
- 多模态处理:能够处理网络或本地的视频、图片和音频数据。
- 浏览器自动化:基于Playwright框架,支持模拟浏览器操作,如滚动、点击、输入和下载。
- 文档解析:提取Word、Excel、PDF和PowerPoint文件内容,并转为文本或Markdown格式。
- 代码执行:支持编写和运行Python代码,通过解释器完成任务。
- 多智能体协作:多个AI智能体动态交互,协同完成复杂任务。
使用帮助
安装流程
OWL是一个开源项目,用户需从GitHub下载源码并配置运行环境。以下是详细安装步骤:
- 克隆仓库
在终端输入以下命令获取OWL源码:
git clone https://github.com/camel-ai/owl.git
cd owl
- 设置环境
- 推荐使用Conda:
conda create -n owl python=3.11 conda activate owl
- 替代方案使用venv:
python -m venv owl_env
- Windows系统激活:
owl_env\Scripts\activate
- Unix或MacOS系统激活:
source owl_env/bin/activate
- Windows系统激活:
- 安装依赖
在激活环境后,运行以下命令安装依赖:
python -m pip install -r requirements.txt
playwright install
注:playwright install
用于安装浏览器自动化所需的组件。
- 配置环境变量
OWL需配置API密钥以使用外部服务(如OpenAI模型)。操作步骤如下:
- 复制模板文件:
cp .env_template .env
- 编辑
.env
文件,填入API密钥,例如:OPENAI_API_KEY=your_openai_key
- 获取密钥指引:参考
owl/.env_template
中列出的服务注册网址。 - 更多模型支持:可查阅CAMEL模型文档(https://docs.camel-ai.org/key_modules/models.html)。
注意:官方推荐使用OpenAI模型以获得最佳性能,其他模型在复杂任务中表现可能较差。
- 验证安装
运行以下命令测试环境:
python owl/run.py
若控制台输出正常信息,则安装成功。
主要功能操作流程
1. 运行基础示例
OWL提供了一个最小化示例脚本run.py
,直接运行即可体验:
- 在终端输入:
python owl/run.py
- 输出:控制台将显示默认任务的运行结果。
2. 自定义任务
用户可通过修改run.py
脚本运行自定义任务:
- 编辑脚本:打开
run.py
,修改任务描述,例如:
question = "查询苹果公司最新的股票价格。"
society = construct_society(question)
answer, chat_history, token_count = run_society(society)
logger.success(f"Answer: {answer}")
- 运行脚本:
python owl/run.py
- 结果查看:控制台将输出股票价格信息。
- 其他示例任务:
- "分析最近关于气候变化的推文情感"
- "帮我调试这段Python代码:[代码内容]"
- "总结这篇研究论文要点:[论文URL]"
3. 浏览器自动化操作
OWL支持通过Playwright实现浏览器交互,例如爬取网页:
- 示例脚本:创建一个文件(如
web_task.py
):from owl.agents import BrowserAgent agent = BrowserAgent() agent.navigate("https://example.com") content = agent.get_content() print(content)
- 运行脚本:
python web_task.py
- 结果:输出网页的文本内容。
- 支持操作:滚动、点击、输入、下载等,具体API参考官方文档。
4. 文档解析与多模态处理
- 解析文档:将本地文件(如
sample.pdf
)放入owl
目录,运行以下代码:from owl.utils import parse_document text = parse_document("sample.pdf") print(text)
- 处理视频:支持分析本地或网络视频,例如:
from owl.multimodal import process_video result = process_video("https://example.com/video.mp4") print(result)
特色功能操作
实时信息检索
- 操作步骤:在任务描述中指定信息来源,例如:
question = "从Wikipedia获取人工智能的最新定义。" society = construct_society(question) answer, chat_history, token_count = run_society(society) print(answer)
- 结果:返回Wikipedia上的最新内容。
GAIA基准测试复现
- 运行测试:使用提供的脚本复现GAIA结果:
python run_gaia_roleplaying.py
- 结果查看:输出各任务得分,验证OWL在基准测试中的表现(平均分58.18)。
使用注意事项
- 系统需安装Git和Python 3.11+。
- 运行大规模任务时,建议使用高性能设备并确保网络稳定。
- 若Chrome浏览器窗口空白但控制台有输出,这是正常现象,仅当任务需要浏览器交互时才会激活窗口。