Maestro:让Claude Opus、GPT和本地LLMs共同指挥子代理的交响乐
Maestro是一个Python框架,它展示了如何利用Anthropic API进行AI辅助的任务分解和执行工作流程。这个创新框架集成了Opus和Haiku两种AI模型,将复杂目标拆解为可管理的子任务,并协同完成这些子任务,最后整合成一份连贯的最终结果。
新特性
现在,借助Ollama平台,Maestro可在本地运行Llama 3的强大功能。只需安装Ollama客户端并更新所需的模型:
pip install ollama
ollama.pull('llama3:70b') # 或 'llama3:8b'
python maestro-ollama.py
此外,Maestro还引入了GROQ支持和搜索功能:
- 使用Groq提升API响应速度(需要先
pip install groq
) - 当创建子任务时,Claude Opus会进行搜索以获取最佳答案,以帮助子任务更高效地解决问题。记得替换你的Tavil API(获取API)
功能亮点
- 智能拆分:Opus模型将目标拆分为易于处理的子任务。
- 高效执行:Haiku模型执行每个子任务,保持对先前任务的记忆。
- 上下文融合:Opus模型通过结合子任务结果生成最终输出。
- 交互记录:详细记录整个过程,保存为Markdown文件便于参考。
- 状态判断:优化的提示帮助Opus评估任务完成情况。
- 代码环境支持:当处理代码项目时创建代码文件和目录。
先决条件与安装
你需要以下组件:
- 已安装Python
- Anthropic API密钥
- 安装所需Python包:
anthropic
和rich
克隆仓库或下载脚本文件后,运行以下命令安装依赖:
pip install -r requirements.txt
将API密钥替换为实际值(在脚本中查找YOUR_API_KEY_HERE
),如果使用搜索功能也需替换Tavil API。
使用方法
- 在终端或命令行界面中导航到脚本所在目录。
- 运行脚本:
python maestro.py
- 输入你的目标:
Please enter your objective: 输入你的目标
程序会启动任务分解和执行流程,进度和结果将在控制台以格式化的面板显示。
完成后,会展示精炼后的最终输出,并将完整交流记录保存为Markdown文件。
代码结构
关键函数包括:
opus_orchestrator
:调用Opus模型拆分任务或提供最终输出,使用改进的提示判断任务是否完成。haiku_sub_agent
:调用Haiku模型执行子任务,提供先前子任务的记忆。opus_refine
:调用Opus模型审查和整合子任务结果为统一的最终输出。
脚本遵循迭代过程,直到Opus模型在响应中包含"任务已完成:",表明目标已达成。
最后,opus_refine
函数整合子任务结果生成最终输出。完整的交互日志会被保存至Markdown文件。
自定义与扩展
你可以根据需求定制Maestro:
- 调整
client.messages.create()
中的max_tokens
参数,控制模型生成的最大令牌数。 - 替换模型,如用Sonnet替换Haiku。
- 修改Rich库的Panel和Console配置,自定义控制台输出格式。
- 根据需要调整交换日志的格式和文件扩展名。
许可证
本项目受MIT许可证保护。
致谢
感谢Anthropic提供了AI模型和API,以及Rich库带来的美化控制台输出的功能。
让我们一起探索Maestro如何改变你处理复杂任务的方式,释放人工智能的潜力吧!