加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是某中型企业的 IT 负责人,公司用了五年时间在内部部署了 Jira 处理工单、Confluence 沉淀文档、Slack 进行日常沟通。最近公司引入了 AI 大模型,想让 AI 助手帮员工快速检索分散在各个平台的知识——但问题是,Slack 里有人提到"第 3 季度的预算调整",Jira 里记着这个需求的工单号,Confluence 的某篇文档里有完整的解决方案。这些信息散落在三个系统里,AI 怎么知道去哪找?
UnifAI 正是为了解决这个"企业知识孤岛"问题而生的。它是一个生产级的多 Agent 编排引擎,能够连接 Slack、Jira、PDF 文档等多种数据源,构建统一的知识库,再通过多个 AI Agent 协同工作,让用户在一个界面里用自然语言提问,系统自动去多个知识库检索、整合、回答。
单 Agent 的局限性很明显:一个 Agent 只能调用一个工具或一个知识库。当用户的问题需要同时参考 Slack 历史消息、Confluence 文档和 Jira 工单时,单 Agent 就力不从心了。
多 Agent 系统的核心思想是分工协作:不同 Agent 专门负责不同的数据源和任务,最后由一个"聚合节点"将各路结果整合成最终答案。这类似于一个公司里的部门协作——财务 Agent 查报销数据,技术 Agent 查代码文档,最终由 CEO Agent 综合判断。
UnifAI 来自 Red Hat 社区(redhat-community-ai-tools),是一个相对年轻但野心勃勃的项目,于 2025 年 11 月创建,定位是企业级生产就绪的解决方案,而非实验性项目。
UnifAI 的架构设计非常清晰,从底层到上层分为五个核心服务:
负责数据接入与向量化。它从 Slack、PDF、Markdown 等数据源抓取内容,进行分块(chunking)、嵌入(embedding),然后存入 Qdrant 向量数据库。整个过程由 Celery + RabbitMQ 异步队列驱动,支持海量文档的后台批量处理。用户可以在 RAG Dashboard 里实时查看各数据源的统计信息。
这是整个系统的大脑。基于 LangGraph 定义有向图结构,通过 YAML 蓝图(blueprint)声明 Agent 之间的依赖关系和执行顺序。关键特性包括:
after: input 表示两者都依赖输入节点)branch_chooser_node 根据中间结果决定下一步走哪个分支基于 Flask 的 HTTP 接口层,提供管理 API 和 Slack 命令集成(slack-bolt)。负责整体业务逻辑和前端数据交互。
基于 Keycloak 的认证授权服务。本地开发时可设置 local_auth: true 跳过 SSO,生产环境必须对接 Keycloak 实现企业级安全管控。
用 React 18 + Vite + TailwindCSS + TypeScript 构建,提供三大功能界面:
用户无需写代码,只需编写 YAML 文件即可定义复杂的多 Agent 工作流。如下是一个典型的"多源知识搜索"蓝图:
plan:
- uid: input
node: input_rid
- uid: docs
after: input
node: docs_agent_rid
- uid: slack
after: input
node: slack_agent_rid
- uid: merge
after: [docs, slack]
node: merger_rid
- uid: answer
after: merge
node: answer_rid
这意味着两个检索 Agent(文档和 Slack)并行运行,等待两者都完成后由 merger_rid 合并结果。这种 DAG 风格的工作流定义直观且易于维护。
UnifAI 支持两种执行模式:
UnifAI 提供了一个可插拔目录,涵盖多种类型的节点、LLM 提供商、工具和检索器:
| 类别 | 示例 | 说明 |
|---|---|---|
| 节点 | custom_agent_node、orchestrator_node、merger_node、a2a_agent_node | Agent 图的构建块 |
| LLM | openai、google_genai | 支持任意 OpenAI 兼容 API |
| 工具 | ssh_exec、web_fetch、mcp_proxy | Agent 可执行的操作 |
| 检索器 | docs_rag、slack | 对接不同数据源 |
项目提供了完整的 Helm Chart,包含 backend.yaml、multiagent.yaml、rag.yaml、shared-resources.yaml 等模板,支持在 Kubernetes 上一键部署企业级集群。
UnifAI 的上手存在一定门槛,主要体现在:
基础设施依赖多:MongoDB、RabbitMQ、Qdrant、Temporal、Redis——5 个基础设施服务缺一不可。本地开发通过 unifai-dev CLI 可以一键启动,但需要 Docker/Podman + Python 3.11 + Node 22 环境。
概念较复杂:多 Agent、DAG 工作流、向量检索、RAG 等概念对初学者有挑战。项目文档相对完善,提供了详细的本地开发指南。
无一键部署方案:没有 docker-compose.yml 单文件启动方式,本地开发必须依赖 unifai-dev CLI 工具,生产部署则需要 Kubernetes 环境。
如果你不想写 YAML,UnifAI 提供了拖拽式 Blueprint Builder,可以可视化地连接各个节点、配置参数、设定分支条件。RAG Dashboard 能实时展示各数据源的文档数量、向量索引状态。
UnifAI 本身不运行 LLM 模型,推理完全依赖外部 API(OpenAI GPT-4o / Google GenAI)。这意味着:
企业知识库往往包含敏感信息(如内部财务数据、技术方案),将数据发送给 OpenAI 或 Google 的 API 存在合规风险。UnifAI 目前不支持本地 LLM 部署(如 Ollama),这是一个明显的短板。
项目于 2025 年 11 月创建,Stars 仅 44,整体生态尚处于早期阶段。相比 AutoGen、CrewAI 等成熟框架,UnifAI 的社区规模、插件生态和文档丰富度都有较大差距。
backend/pyproject.toml 中 license 字段标注为 "Proprietary",虽然项目整体是 Apache-2.0,但后端代码可能存在特殊限制条款,使用前需仔细阅读 LICENSE 文件。
Temporal 分布式执行模式虽然强大,但增加了系统运维复杂度。对于中小型团队,LangGraph 本地模式可能已足够,生产级部署需要专职 DevOps 支撑。
UnifAI 代表了 Agent 编排框架的一个细分方向——企业知识管理 RAG + 多 Agent 协同。与 AutoGen(微软)、CrewAI(通用多 Agent)等框架相比,UnifAI 的差异化在于:
从技术趋势看,A2A(Agent-to-Agent)协议和 MCP(Model Context Protocol) 正在成为 Agent 互联的事实标准,UnifAI 率先支持这两个协议,在标准化浪潮中占据了一个有利的生态位。
UnifAI 是一款设计精良的企业级多 Agent 编排平台,核心优势在于:YAML 蓝图驱动的可视化工作流、内置 RAG 管道、以及完整的 Helm/K8s 部署方案。它非常适合有技术能力的团队构建企业内部 AI 知识助手,但同时也面临 LLM 隐私合规、框架成熟度和运维复杂度等现实挑战。
如果你正在评估企业级 Agent 编排方案,UnifAI 值得放进候选名单;如果你追求的是快速原型验证,AutoGen 或 CrewAI 的生态可能更成熟。无论如何,多 Agent 工作流正在成为 AI 应用的主流范式,提前理解这些工具的设计理念会很有价值。