我现在已经完成了6个Agent和对应的机器人的建立,并且实现了飞书对话。为了实现他们协作。我需要完成如下任务:

  1. 初始化这6个Agent
  2. 建立工作流程
  3. 组建飞书沟通群,将6个Agent拉到一个群组中
  4. 发布第一个需求
  5. 完善提示词、Agent人格、工作流程

初始化Agent

这6个Agent组成一家叫Band的软件技术公司。

  • BandBusiness,是Band的业务负责人,也是公司的负责人,拥有20年寿险行业的经验,是业务专家。需要提出详细的业务需求,给到BandProductMgr。
  • BandProjectMgr,是Band的项目经理,但不做具体的任务,只管理、协调任务。
  • BandProductMgr,Band的产品经理,是寿险行业的资深产品经理,负责接收业务需求,并产出详细的产品功能需求,页面流程图等,输出给BandSysDesign。
  • BandSysDesign,是Band的系统设计师,拥有20年寿险行业经验的资深架构师,负责接收详细的产品需求,进行架构设计、技术选型、详细的方案设计、前后端交互、接口设计等,输出文档给BandCoder。
  • BandCoder,是Band的开发人员,拥有丰富程序开发经验,精通前端、后端的代码开发,能基于BandSysDesign设计,完成实际的开发。
  • BandTester,是Band的测试人员,拥有丰富程序测试经验,精通功能测试、界面测试、接口测试,性能测试,等,能完整验证系统的功能可用性。
    基于这6个Agent的要求,对他们的职责进行细化,找到一些适合他们的提示词模板、SKILL,初始化他们的人格信息。
    将上面的提示词发给main会话,会帮我们初始化这些Agent的基础文件、建立workspace。还会创建公共的文件夹~/.openclaw/band-company-workspace

大小写导致无法相互调用的问题

在后续执行过程中,发现名称包含大写,会导致Agent之间调用失败,建议全部用小写。(可能时隐藏Bug)

通过主会话初始化后,Agent还认为自己没被初始化

让OpenClaw自己修复这个问题,就跟main会话沟通,让它改就好。

建立工作流程

给BandProjectMgr发布命令,建立从需求、产品设计、系统设计、开发、测试的开发流程。它会根据不同Agent的职责,确定他们之间的调用关系。

组建飞书群

跟微信不太一样,飞书建群是单独的功能。每一个群有一个特殊的id(以oc开头)。

在群组中使用机器人
获取群ID
因为我设置的groupPolicyallowlist,需要显示将获取到的oc_id,添加到groupAllowFrom。参考如下:

"channels": {
    "feishu": {
      "enabled": true,
      "domain": "feishu",
      "groupPolicy": "allowlist",
      "accounts": {
        "main": {
          "appId": "cli_xxx",
          "appSecret": "xxx",
          "botName": "主助手",
          "groupAllowFrom": [
            "ou_xxx"
          ]
        }
      },
      "dmPolicy": "pairing",
    }
  },

此时,在群组中就可以给你的机器人发消息。注意,发消息的方式是@对应的机器人。这是因为有如下配置,规定机器人必须要显示@才能回应。

  "messages": {
    "ackReactionScope": "group-mentions"
  },

在Gateway界面,也能通过切换会话,找到你在群组中@机器人的界面。有类会话

  • 下图中第1、5行,是飞书中单独找机器人对话
  • 第3、4、6行,是飞书群组中,@机器人的对话
  • 第2行,是机器人调用其他Agent,发起的子对话,Subagent对话记录。
    请添加图片描述

在Gateway的会话界面,能找到更多的会话。在聊天界面,不活跃的会话就被隐藏起来。但在会话界面能找到,而且名称也更合理。
请添加图片描述

发布需求

进入群组BandCompany,发布需求跟BandBusiness
之后只需要跟BandProjectMgr沟通项目进展,然后推进任务。
刚开始出现调用其他Agent失败。

出现Agent调用受限问题,解决之后还是调用失败。原因是allowAgents没加,加了发现大小写问题,全部改为小写。建议手动改。还要修改所有的调用规则、工作流程,我是让OpenClaw改的。

修改点是agents.list.subagent.allowAgents

      {
        "id": "bandbusiness",
        "name": "业务负责人",
        "subagents": {
          "allowAgents": [
            "bandproductmgr", # 全加上

          ]
        }
      },

请添加图片描述

调用别的Agent失败之后,居然就自己干起来了。应该加上工作内容限制,不做自己不专业的事情。受上下文窗口大小限制、上下文污染、系统提示词给的专业要求,建议每一项工作,拆分为不同的Agent去执行。
请添加图片描述

成果

驱动BandProjectMgr,把所有需求、设计、开发工作基本完成。因为我做的是一个安卓App,在Ubuntu环境还不太好搞。所以准备停一下,研究怎么处理。

请添加图片描述

总结

受此启发,我准备再多搞些Agent,让他们一起做事情。
比如

  • 6顶思考帽群组
  • 头脑风暴群组
  • 项目方案咨询群组
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐