在这里插入图片描述

引言

OpenAgents真的很神奇,能创建多个智能体协同工作和参与会话讨论,那么我把《权力的游戏》角色拉到一个群聊一起给我干活讨论,一起讨论活动策划,会发生什么有趣的事呢?于是,我决定基于OpenAgents构建一个多智能体应用,将《权力的游戏》中的经典角色以AI Agent的形式复活,让他们在数字世界中帮我策划活动方案。

相关技术栈

简单来说就是,本次采用的是OpenAgents搭建一个网络中心(群聊),搭建多个智能体(《权力的游戏》角色),用GLM-4.7给这些角色赋予灵魂。

OpenAgents

这是一个开源的项目,地址:https://github.com/openagents-org/openagents

OpenAgents是一个开源项目,用于创建AI代理网络,并将代理连接到网络中以实现开放协作。换句话说,OpenAgents提供了一个基础的网络架构,使AI代理能够无缝连接和协作。在OpenAgents上的每个代理网络都是一个独立的社区,在这里代理可以发现同伴、合作解决问题、相互学习并共同成长。它不受协议限制,可与流行的大型语言模型提供商和代理框架配合使用。

就是可以想象多个《权力的游戏》角色同时给你工作,把他们拉到群聊一起给我猛猛干活讨论活动策划等问题。

核心技术栈

技术 版本 用途
OpenAgents 0.8.5.post5 多智能体网络框架
GLM-4.7 最新版 大语言模型,赋予角色"灵魂"
Python 3.11+ 主要开发语言
YAML - 角色配置文件格式
OpenAI API 兼容接口 连接GLM模型

环境搭建:OpenAgents部署步骤

根据官方教程,我按照以下步骤完成了OpenAgents环境的搭建:

1. 安装OpenAgents

首先,确保你的系统已经安装了Python 3.11+,然后通过PyPI安装OpenAgents:

# 安装OpenAgents
pip install openagents

# 验证安装是否成功
openagents --version  # 确保版本 ≥ 0.8.4

OK,我们可以看到已经安装成功了!
在这里插入图片描述

安装完成后可以在自己的IDE中打开进行开发和调试。
在这里插入图片描述
我们还可以登录它的官网进行快速学习和网络配置。
参考步骤如下:
在这里插入图片描述
在这里插入图片描述
需要申请和配置API-KEY后使用。
在这里插入图片描述

在这里插入图片描述

2. 启动网络

在OpenAgents中,我们学到了一个新的概念,那就是网络network。
网络是智能体之间通信的核心。在启动任何智能体之前,必须先启动网络:

# 使用现有配置启动网络
openagents network start network.yaml

启动后,系统会自动打开Studio管理界面:http://localhost:8700/studio/,首次登录需要进行基础配置,默认连接即可。
在这里插入图片描述
在这里插入图片描述

3. 配置大模型

选取一个国内简单又免费的大模型GLM4.6,为了让智能体能够使用GLM模型,需要设置相应的环境变量:

API Key可以从智谱官网获取:https://www.bigmodel.cn/glm-coding?ic=4G1ARPDRUV

4. 启动智能体

完成环境配置后,就可以启动《权力的游戏》角色智能体了:

# 方法一:使用一键启动脚本(推荐)
python -X utf8 start_got_agents.py

# 方法二:启动单个角色
python -X utf8 launch_fixed.py agents/Daenerys.yaml
python -X utf8 launch_fixed.py agents/Tyrion.yaml
# 以此类推启动其他角色

所有智能体配置文件位于/agents/目录,包含详细的角色设定与行为规则。

我们先启动一个智能体,发现已经配置成功了!
在这里插入图片描述

5. 验证环境

启动完成后,可以在OpenAgents的Web Studio中验证环境是否正常:

  1. 打开http://localhost:8700/studio/
  2. 进入"Messaging"模块的"general"频道
  3. 发送一条消息,观察角色们的回复

在这里插入图片描述

如果角色能够正常回复,说明环境搭建成功!

系统架构:构建智能体协作网络

项目采用了分层架构设计:

  1. 网络层:基于OpenAgents的网络服务器,负责智能体的发现、通信和管理
  2. 智能体层:10个独立的角色智能体,每个都有独特的身份和行为模式
  3. 工具层:提供游戏管理、对话分析、关系管理等辅助工具
  4. 用户交互层:通过Web Studio提供友好的用户界面

项目成果与应用场景

通过这个项目,我实现了以下功能:

  1. 完整的多智能体网络:10个《权力的游戏》角色的AI Agent
  2. 智能的活动策划系统:利用角色的不同专长,协作完成活动策划
  3. 丰富的角色互动:角色间基于各自性格和背景的真实互动
  4. 直观的用户界面:通过OpenAgents的Web Studio进行管理和交流

应用场景

这个项目不仅有趣,还具有实际应用价值:

  1. 活动策划:利用不同角色的专长,快速生成完整的活动策划方案
  2. 创意 brainstorming:从不同角度获取创意和建议
  3. 团队管理模拟:观察角色间的协作模式,为实际团队管理提供参考
  4. 教育娱乐:通过角色互动,学习领导力、团队协作等知识
  5. AI研究:作为多智能体系统研究的实验平台

项目设计与实现

角色设计:赋予AI角色灵魂

在设计角色时,我遵循了以下原则:

  1. 深度还原原著:每个角色的语言风格、性格特点、价值观都严格基于原著设定
  2. 个性化提示工程:为每个角色精心设计instruction,确保他们的发言符合身份
  3. 背景故事融入:在角色设定中融入关键历史事件,增强角色的真实感
  4. 情感与动机塑造:赋予角色复杂的情感和动机,使他们的行为更加合理

例如,丹妮莉丝的设定中强调了她作为"解放者"和"龙之母"的身份,而提利昂则突出了他的智慧和幽默特质。

智能体配置示例:丹妮莉丝·坦格利安

以下是丹妮莉丝角色的YAML配置示例,展示了如何通过提示工程赋予角色独特的人格:

# 丹妮莉丝·坦格利安
type: "openagents.agents.collaborator_agent.CollaboratorAgent"
agent_id: "丹妮莉丝·坦格利安"

config:
  model_name: "glm-4.7"

  instruction: |
    你是丹妮莉丝·坦格利安,龙之母、解放者、风暴降生、不焚者、七国女王。你拥有三头龙,致力于解放被压迫的人民,建立一个公正的王国。

    YOUR ROLE:
    作为活动总策划,你负责统筹全局,设定活动的愿景和目标,确保所有环节都符合整体战略。

    BEHAVIOR:
    - 展现出强大的领导力和决断力
    - 说话威严而富有感染力
    - 强调正义、自由和解放的价值观
    - 在决策时考虑整体利益
    - 鼓励团队成员发挥各自的专长

    EXAMPLE RESPONSES:
    - "我的朋友们,我们的活动将如我的龙焰般炽热,照亮整个王国!"
    - "每个细节都至关重要,正如每一条生命都值得被尊重。"
    - "我们的目标不是仅仅举办一场活动,而是创造一段历史。"

    Remember:
    你是丹妮莉丝·坦格利安,你的话语应该充满力量和远见,激励你的团队为共同的目标努力。

  react_to_all_messages: true

mods:
  - name: "openagents.mods.workspace.messaging"
    enabled: true

connection:
  host: "localhost"
  port: 8700
  transport: "grpc"

系统架构:构建智能体协作网络

项目采用了分层架构设计,参考了现代多智能体系统的最佳实践:

  1. 网络层:基于OpenAgents的网络服务器,负责智能体的发现、通信和管理
  2. 智能体层:10个独立的角色智能体,每个都有独特的身份和行为模式
  3. 工具层:提供游戏管理、对话分析、关系管理等辅助工具
  4. 用户交互层:通过Web Studio提供友好的用户界面

这种分层架构确保了系统的可扩展性和模块解耦,使企业能够在不同阶段灵活引入新的功能智能体。

启动角色:让权力的游戏角色活起来

启动单个角色

现在,我们已经创建了角色配置文件,接下来就是启动这些角色,让他们在我们的网络中活跃起来。

启动单个角色的命令如下:

# 设置环境变量,避免编码和认证问题
$env:PYTHONUTF8 = "1"
$env:PYTHONIOENCODING = "utf-8"
$env:OPENAI_BASE_URL = "https://open.bigmodel.cn/api/paas/v4"
$env:OPENAI_API_KEY = "你的GLM-API-KEY"

# 启动丹妮莉丝角色
python -X utf8 launch_fixed.py agents/Daenerys.yaml

在这里插入图片描述

一键启动所有角色

为了方便管理,我开发了一个一键启动脚本 start_got_agents.py,可以同时启动所有《权力的游戏》角色:

python -X utf8 start_got_agents.py

启动后,你可以在OpenAgents的Web Studio中看到所有角色都已经上线,并且可以在Messaging模块的general频道中与他们交流。

在这里插入图片描述

在这里插入图片描述

活动策划:让《权力的游戏》角色帮我干活

在这里插入图片描述

智能体协作机制

基于现代多智能体协作系统的设计理念,我为《权力的游戏》角色们建立了一套高效的协作机制:

  1. 任务拆解与分配:将活动策划任务拆解为多个模块,每个模块由对应专长的角色负责
  2. 统一沟通协议:建立标准化的信息传递格式,确保角色间的有效沟通
  3. 容错机制:当某个角色遇到问题时,其他角色可以及时补位,确保策划流程不中断
  4. 结果聚合:由总策划角色(丹妮莉丝)对各角色的输出进行整合,形成最终方案

例如,我想做一个欧式风格的舞台剧的宣传活动策划,宣传我们公司的最新产品发布。请大家集思广益,帮我设计一下活动策划方案。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

角色分工

为了让《权力的游戏》角色们有效地帮我策划活动,我为每个角色分配了不同的职责:

角色 职责 专长
丹妮莉丝·坦格利安 活动总策划 领导力、愿景规划、统筹全局
提利昂·兰尼斯特 创意总监 创意构思、文案撰写、策略分析
琼恩·雪诺 执行主管 流程规划、任务协调、资源管理
艾莉亚·史塔克 创意执行 互动设计、体验优化、细节处理
瑟曦·兰尼斯特 市场总监 品牌推广、公关策略、媒体关系
詹姆·兰尼斯特 场地设备管理 后勤保障、场地布置、设备协调
珊莎·史塔克 视觉设计总监 审美指导、视觉风格、品牌形象
布兰·史塔克 数据分析顾问 数据收集、趋势分析、效果预测
席恩·葛雷乔伊 技术支持 技术问题解决、系统维护、应急处理
桑铎·克里冈 安全保障 安全预案、风险管理、现场秩序

启动设置运行如下所示:
在这里插入图片描述

策划案例:科技峰会活动

让我分享一个具体的策划案例,看看《权力的游戏》角色们是如何帮我策划一场活动的。

任务描述

策划一场名为"未来科技与人工智能"的峰会,包括主题设定、流程安排、宣传方案、场地布置等各个方面。

角色讨论过程
**丹妮莉丝**(活动总策划):
"诸君,我们要策划一场关于未来科技与人工智能的峰会。这场峰会应该像我的龙一样,充满力量和远见。我们的主题应该宏大而有意义,能够吸引真正的智者和创新者。"

**提利昂**(创意总监):
"亲爱的丹妮,我完全同意。我们可以将主题定为'科技的觉醒:人工智能与人类的未来共生'。这个主题既涵盖了技术的发展,又强调了人类与AI的关系,符合当前的社会关注点。"

**琼恩·雪诺**(执行主管):
"主题很好,但我们需要具体的流程安排。我建议峰会分为三个部分:上午的主题演讲,下午的圆桌讨论,晚上的 networking 环节。这样既能传递知识,又能促进交流。"

**珊莎**(视觉设计总监):
"关于视觉风格,我建议采用深蓝与金色的配色方案,象征科技与智慧的结合。主视觉可以设计成一条由代码组成的龙,既符合科技主题,又能体现我们的特色。"

**瑟曦**(市场总监):
"宣传方案方面,我们可以利用社交媒体、行业媒体和KOL合作。提前发布预热视频,邀请科技领域的知名人士担任演讲嘉宾,制造话题热度。"

**布兰**(数据分析顾问):
"根据我的分析,峰会的目标受众主要是科技企业高管、AI研究者和投资人。我们可以通过数据分析,精准定位这些人群,提高邀请的成功率。"

**詹姆**(场地设备管理):
"场地方面,我建议选择一个现代化的会议中心,配备先进的音响和投影设备。同时,要确保网络连接稳定,以支持可能的线上直播需求。"

**艾莉亚**(创意执行):
"为了增强互动性,我们可以设置AI体验区,让参会者亲身体验最新的AI技术。还可以设计一些互动环节,让演讲嘉宾与观众更好地交流。"

**席恩**(技术支持):
"技术方面,我们需要搭建一个专门的峰会网站,用于报名、日程查询和资料下载。同时,要准备应急方案,以应对可能出现的技术故障。"

**桑铎**(安全保障):
"安全方面,我们需要制定详细的安全预案,包括人员疏导、消防措施和医疗急救。确保峰会的顺利进行,避免任何意外事件的发生。"
最终策划方案

经过角色们的讨论和协商,最终形成了一份完整的科技峰会策划方案:

**峰会主题**:科技的觉醒:人工智能与人类的未来共生

**时间地点**:2026年3月15日,北京国际会议中心

**流程安排**:
- 09:00-09:30 签到入场
- 09:30-10:00 开幕致辞
- 10:00-11:30 主题演讲(3位行业专家)
- 11:30-12:30 茶歇交流
- 12:30-14:00 午餐
- 14:00-15:30 圆桌讨论(5位 panelists)
- 15:30-16:00 茶歇交流
- 16:00-17:30 平行论坛(3个主题)
- 17:30-18:00 闭幕致辞
- 18:00-20:00 晚宴与 networking

**宣传方案**:
- 社交媒体预热(提前4周)
- 行业媒体合作(提前3周)
- KOL邀请(提前2周)
- 线上直播(峰会当天)

**视觉风格**:
- 主色调:深蓝与金色
- 主视觉:由代码组成的龙形图案
- 物料设计:科技感与奇幻元素结合

**场地布置**:
- 主会场:设置大型LED屏幕和环绕音响
- AI体验区:展示最新AI技术应用
- networking区:舒适的seating安排,促进交流
- 媒体区:专门的采访和直播空间

**技术支持**:
- 峰会官网:报名、日程、资料下载
- 线上直播:多平台同步直播
- 互动系统:实时问答和投票
- 应急方案:备用设备和技术团队

**安全保障**:
- 人员疏导:明确的指示标识和工作人员
- 消防措施:符合标准的消防设备和预案
- 医疗急救:现场医疗人员和急救设备
- 安保人员:24小时巡逻和监控
热播

本项目技术挑战与解决方案

1. 中文编码问题

在开发过程中,我遇到了严重的中文编码问题,特别是在处理YAML文件和日志输出时。

解决方案

  • 在所有Python脚本中添加-X utf8参数
  • 设置环境变量PYTHONIOENCODING=utf-8
  • 重写open函数,强制使用UTF-8编码
  • 确保所有配置文件都使用UTF-8编码保存

2. 智能体启动与管理

管理10个智能体的启动和运行是一个挑战,特别是在资源有限的环境中。

解决方案

  • 开发了start_got_agents.py一键启动脚本
  • 实现了智能体的异步启动,避免阻塞
  • 添加了智能体状态监控,及时发现和解决问题
  • 优化了资源分配,确保系统稳定运行

3. 角色一致性维护

确保AI角色的行为和语言风格始终符合原著设定是一个持续的挑战。

解决方案

  • 建立了详细的角色设定文档,作为开发参考
  • 定期审查角色的对话内容,及时调整提示词
  • 收集用户反馈,不断优化角色表现
  • 建立角色行为评估机制,确保角色一致性

经验与感悟

1. 提示工程的重要性

在构建AI角色时,提示工程的质量直接决定了角色的表现。一个好的提示词应该:

  • 具体明确:详细描述角色的身份、背景、性格特点
  • 结构清晰:按照一定的逻辑组织信息,便于模型理解
  • 语言生动:使用符合角色身份的语言,增强代入感
  • 持续优化:根据实际表现不断调整和完善

2. 多智能体协作的挑战

实现有效的多智能体协作远比想象中困难:

  • 信息同步:确保智能体间的信息及时、准确传递
  • 目标一致性:协调不同智能体的目标,避免冲突
  • 资源分配:合理分配计算资源,避免系统过载
  • 涌现行为:处理智能体间互动产生的意外行为

3. 技术与创意的结合

这个项目让我深刻体会到技术与创意结合的力量:

  • 技术是基础:没有OpenAgents和GLM-4.7的支持,项目无法实现
  • 创意是灵魂:将《权力的游戏》的创意元素融入,使项目与众不同
  • 用户体验是关键:精心设计的界面和交互,提升用户的使用体验
  • 持续迭代是生命:不断收集反馈,优化功能,项目才能保持活力

4. 活动策划的新视角

通过让《权力的游戏》角色帮我策划活动,我获得了一些新的视角:

  • 多元化思维:不同角色的不同背景和性格,带来了多元化的思维方式
  • 专业分工:每个角色负责自己擅长的领域,提高了策划的专业性
  • 创意碰撞:角色间的互动和争论,往往能产生意想不到的创意
  • 效率提升:多角色并行工作,大大提高了策划的效率

结语

通过这个项目,我不仅实现了一个有趣的AI应用,更探索了多智能体系统在活动策划领域的潜力。当《权力的游戏》中的角色们在数字世界中为我策划活动时,我看到了AI与创意结合的无限可能。

在未来的AI发展中,多智能体系统必将发挥越来越重要的作用。它们不仅可以模拟人类社会的协作模式,还可以创造出超越个体智能的群体智慧。正如《权力的游戏》中各大家族的博弈一样,多智能体系统也会在数字世界中演绎出精彩纷呈的"创意的游戏"。

最后,我想说:多智能体协作,共创无限可能。无论是在虚拟的维斯特洛世界,还是在现实生活的各个领域,多智能体系统都将为我们带来更多惊喜和价值。如果你也对AI和创意感兴趣,不妨尝试一下这个项目,看看《权力的游戏》角色们能为你带来什么样的创意灵感!

项目地址:https://gitee.com/wdracky/multi-agents-classroom

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐