Skip to content

🤖 代理

代理由🧩 组件组成,负责执行管道和一些额外的逻辑。所有代理的基类是 BaseAgent,它包含了收集组件和执行协议所需的必要逻辑。

重要方法

BaseAgent 提供了两个抽象方法,任何代理要正常工作都需要实现这两个方法: 1. propose_action:该方法负责根据代理的当前状态提出一个动作,返回 ThoughtProcessOutput。 2. execute:该方法负责执行提出的动作,返回 ActionResult

AutoGPT 代理

Agent 是 AutoGPT 提供的主要代理。它是 BaseAgent 的子类。它包含了所有内置组件Agent 实现了 BaseAgent 中的基本抽象方法:propose_actionexecute

构建你自己的代理

构建自己的代理最简单的方法是扩展 Agent 类并添加额外的组件。通过这样做,你可以重用现有的组件和执行⚙️ 协议的默认逻辑。

class MyComponent(AgentComponent):
    pass

class MyAgent(Agent):
    def __init__(
        self,
        settings: AgentSettings,
        llm_provider: MultiProvider
        file_storage: FileStorage,
        app_config: AppConfig,
    ):
        # 调用父类构造函数以引入默认组件
        super().__init__(settings, llm_provider, file_storage, app_config)
        # 添加你的自定义组件
        self.my_component = MyComponent()

为了更多定制化,你可以覆盖 propose_actionexecute 方法,甚至直接子类化 BaseAgent。这样你可以完全控制代理的组件和行为。查看代理的实现了解更多细节。