MetaGPT智能体开发学习笔记02 编写Agent

第三章的核心是让我们理解MetaGPT关于Agent的设计理念和主要框架结构。
MetaGPT中定义的一个agent运行示例如下图所示:

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来生成不同内容:


生成文案标题的Action
生成文案内容的Action
从文案内容提炼关键字的Action

然后,又定义了一个Role 来处理调用这些Action:


SimpleAssistant

注意在Role中通过react和think方法来判断调用上述几个Action,Agent 的行动逻辑总体是按照run->react->think->act 的这样的过程运行。

react
think
act

进行调用测试上面的Role和Action, 例如用户提出 “儿童心理教育”的主题来生成相关文案内容:

main

运行测试结果情况(这里使用了智谱API):

运行输出等

注:这里只是简单的顺序调用了上面3个Action, 并没有做更复杂的处理,同时没有为 Agent 生成新的动作 打印4 打印5 打印6,这些可以通过init_action来增加新的Action。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容