第三章的核心是让我们理解MetaGPT关于Agent的设计理念和主要框架结构。
MetaGPT中定义的一个agent运行示例如下图所示:
agent在启动后会观察自己能获取到的信息,加入自己的记忆(memory)中, 然后下一步进行思考来决定下一步的行动,例如从Action1,Action2,Action3中选择执行的Action。
第三章课程任务是开发一个agent智能体,希望编写这样一个 agent
- 这个 Agent 拥有三个动作 打印1 打印2 打印3(初始化时 init_action([print,print,print]))
- 重写有关方法(请不要使用act_by_order,我希望你能独立实现)使得 Agent 顺序执行上面三个动作
...
这里我定义了3个差异的打印处理Action: PrintAction01,PrintAction02,PrintAction03,分别完成特定的动作,这里3个Action内部都调用了LLM来生成不同内容:
然后,又定义了一个Role 来处理调用这些Action:
注意在Role中通过react和think方法来判断调用上述几个Action,Agent 的行动逻辑总体是按照run->react->think->act 的这样的过程运行。
进行调用测试上面的Role和Action, 例如用户提出 “儿童心理教育”的主题来生成相关文案内容:
运行测试结果情况(这里使用了智谱API):
注:这里只是简单的顺序调用了上面3个Action, 并没有做更复杂的处理,同时没有为 Agent 生成新的动作 打印4 打印5 打印6,这些可以通过init_action来增加新的Action。