YesImBot icon indicating copy to clipboard operation
YesImBot copied to clipboard

Feature: 多智能体协作系统

Open MiaowFISH opened this issue 3 months ago • 0 comments

Describe the problem related to the feature request

当前系统提示词过于复杂,使用单一智能体承担角色扮演、响应流程、思维链、工具调用、核心记忆等多种职责。如 #149 中提到的,这种设计要求模型有较强的能力,同时限制了在特定任务上的表现,难以发挥模型的最佳性能

Describe the solution you'd like

通过引入多智能体协作系统来优化整体架构。每个智能体将专注于一个独立的、定义明确的任务,希望能提升系统的模块化和可扩展性。为每个特定任务选择最合适的模型,还可以有效降低响应延迟和API调用成本

核心思路: 将复杂任务分解,设计专注于特定领域的子智能体。初期规划的子智能体包括:

  • 回复生成: 专注于根据上下文生成高质量、连贯的回复
  • 工具调用: 负责解析用户意图,并准确调用相关工具或API
  • 记忆维护: 负责长期和短期记忆的管理与检索
  • 统一协调: 作为总指挥,负责接收用户请求,并将任务路由给合适的子智能体,最后汇总结果

未来可扩展的智能体:

  • 情感分析: 用于识别和响应用户情绪,提取潜在意图
  • 任务处理: 专注于执行更复杂的、多步骤的任务

实施路径: 该方案将分两个阶段进行:

第一阶段:实现异步工具调用与任务系统 这是构建多智能体系统的基础。我们将设计一个异步任务系统,使工具调用不再阻塞主对话流程。

  1. 异步执行:当需要调用一个复杂工具(例如 DeepSearch)时,系统将立即返回一个任务ID,并在后台异步执行该工具
  2. 事件唤醒:任务完成后,通过系统事件唤醒响应流程,并将结果整合到对话中 这种设计不仅能优化用户体验,还能将复杂的工具调用改写为由专门的子智能体处理的形式

第二阶段:构建智能体通信与协作机制 在异步任务系统的基础上,我们将进一步构建完整的智能体协作框架。

  1. 抽象核心智能体:将 agent-core 提取为抽象基类,为所有智能体提供标准化的接口和能力
  2. 建立通信机制:设计智能体之间的通信协议和消息传递机制,确保它们可以高效协作
  3. 创建子智能体:基于新的框架,正式创建并集成上文提到的各类子智能体

Describe alternatives you've considered

在实现多智能体协作之前,仍可以从提示词设计角度入手,持续优化单一智能体提示词

引入提示词编排层,考虑在现有智能体前增加一个“提示词路由器”,根据任务动态选择和组合提示词。

Additional context

引入异步任务系统还将带来一些额外的优势:

  • 间接实现计划任务:得益于异步任务的唤醒机制,未来可以实现如“日程提醒”或“定时消息”等功能,即系统可以在特定时间点主动与用户发起交互
  • 主动式消息推送:当后台任务完成后,系统可以主动通知用户,提升了交互的主动性和实用性

MiaowFISH avatar Sep 09 '25 17:09 MiaowFISH