🤖 代理¶
代理由🧩 组件组成,负责执行管道和一些额外的逻辑。所有代理的基类是 BaseAgent
,它包含了收集组件和执行协议所需的必要逻辑。
重要方法¶
BaseAgent
提供了两个抽象方法,任何代理要正常工作都需要实现这两个方法:
1. propose_action
:该方法负责根据代理的当前状态提出一个动作,返回 ThoughtProcessOutput
。
2. execute
:该方法负责执行提出的动作,返回 ActionResult
。
AutoGPT 代理¶
Agent
是 AutoGPT 提供的主要代理。它是 BaseAgent
的子类。它包含了所有内置组件。Agent
实现了 BaseAgent
中的基本抽象方法:propose_action
和 execute
。
构建你自己的代理¶
构建自己的代理最简单的方法是扩展 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_action
和 execute
方法,甚至直接子类化 BaseAgent
。这样你可以完全控制代理的组件和行为。查看代理的实现了解更多细节。