菜单

特殊能力

相关源文件

本页面介绍了MetaGPT核心框架之外的专业能力。这些系统为特定的用例和高级工作流提供了额外的功能,能够实现更复杂的代理行为和自动化。

有关核心架构(包括角色、动作和消息传递系统)的信息,请参阅核心架构

1. 自监督提示优化 (SPO)

SPO是一个无需人工反馈即可自动优化大型语言模型(LLM)提示的框架。它实现了迭代优化方法,显著提高了提示的有效性,同时保持超低成本。

SPO架构

来源

SPO工作流程

SPO系统遵循特定的优化工作流程。

来源

使用SPO

SPO可用于三种不同的方式:

  1. Python脚本:
  1. 命令行界面:
  1. Streamlit Web界面:

来源

SPO配置

SPO系统需要配置:

  1. 模板文件 - 包含以下内容的YAML文件:
    • 初始提示
    • 优化要求
    • 字数限制(可选)
    • 用于测试的问答对

模板示例(MyTemplate.yaml)

SPO相比传统提示工程具有显著优势:

  • 超低成本(每次任务优化约0.15美元)
  • 零监督(无需人工反馈)
  • 通用适应性(支持封闭式和开放式任务)
  • 自进化(通过LLM作为裁判机制进行自动优化)

来源

2. Git仓库管理

MetaGPT包含一个全面的Git仓库管理系统,支持自动化的仓库操作、文件管理和问题解决。

架构概述

来源

核心组件

GitRepository类

GitRepository类是Git操作的主要接口。

关键操作包括

  • 仓库初始化和克隆
  • 分支和文件管理
  • 提交、推送和归档操作
  • 创建拉取请求和问题
  • Gitignore过滤

来源

FileRepository类

FileRepository类管理Git仓库内的文件操作。

关键操作包括

  • 读写文件
  • 跟踪文件依赖
  • 使用文档对象
  • 处理已更改的文件

来源

用于问题解决的SWEAgent

SWEAgent角色专门负责解决GitHub问题。

SWEAgent

  • 使用浏览器工具分析GitHub问题
  • 进行有针对性的代码修改
  • 创建带有修复程序(fix)的拉取请求
  • 实施标准化的工作流程来解决问题

来源

API工具接口

MetaGPT为Git操作提供工具API,任何代理或角色都可以使用。

这些工具提供了一个简化的接口,用于:

  • 创建拉取请求
  • 创建问题
  • 管理凭证

来源

3. 机器学习工程

MetaGPT包含用于机器学习工程任务的实用程序,特别是在代码执行、存储和管理方面。

代码保存和管理

代码管理函数:

  • save_code_file:以各种格式(Python、JSON、Jupyter Notebook)保存代码。
  • save_history:保存执行历史和计划数据。
  • load_history:检索保存的历史数据。

系统支持多种文件格式:

  • Python(.py)文件,用于可执行代码。
  • JSON(.json)文件,用于结构化数据存储。
  • Jupyter Notebook(.ipynb)文件,用于交互式会话。

来源

文档和仓库管理

文档和仓库管理能力支持项目文件的结构化组织。

文档管理组件

  • PrepareDocuments:用于初始化项目文件夹和需求文档的动作。
  • 文档存储和组织能力
  • 文件依赖跟踪

来源

实际用法示例

使用 Git 仓库管理系统

使用 SPO 系统

使用 SWEAgent 解决问题

来源