1,377
社区成员
发帖
与我相关
我的任务
分享随着大语言模型能力不断提升,我们正在从“单纯使用一个大模型”,逐渐走向“大模型+知识+工具+Agent”的组合式AI系统。
很多项目刚开始时的架构都非常简单:
用户问题
↓
大语言模型
↓
生成答案
这种方式适合聊天、写作、总结等通用任务。
但如果进入企业知识问答、智能客服、代码分析、科研辅助、金融分析等场景,仅依靠模型本身往往就不够了。
原因很简单:
模型并不知道所有知识,也不能天然访问所有系统,更不能保证每一次回答都基于最新、可靠的信息。
因此,“知识协同”逐渐成为大模型应用中的一个重要方向。
可以把知识协同简单理解为:
不再要求大模型自己“记住所有东西”,而是让它在需要的时候,从外部获取知识、调用工具,并与不同系统协同完成任务。
一个比较完整的大模型应用可以表示为:
用户
↓
LLM
↓
任务理解与规划
↓
知识检索 / 工具调用 / Agent协同
↓
结果整合
↓
最终回答
其中,大语言模型更像一个“智能中枢”,而不是整个系统的全部。
大语言模型仍然是整个系统的核心。
它主要负责:
例如用户提出:
“帮我分析公司今年几个主要项目的风险,并给出优先级建议。”
这个问题显然不是单纯依靠语言生成就能解决的。
模型首先需要知道:
有哪些项目?
项目当前进度如何?
预算有没有超支?
负责人是谁?
有没有延期风险?
这些信息通常并不存在于模型参数内部。
这时候就需要第二层:外部知识。
RAG,也就是检索增强生成,是目前大模型连接企业知识最常见的方式之一。
基本流程是:
企业文档
↓
文本切分
↓
Embedding
↓
向量数据库
用户提问后:
用户问题
↓
向量检索
↓
找到相关知识
↓
交给LLM
↓
生成回答
例如员工询问:
“公司的差旅报销标准是什么?”
系统不需要让大模型提前记住公司所有制度,而是先从内部知识库找到《差旅管理办法》,再把相关内容交给模型回答。
这样做最大的价值在于:
模型负责理解,知识库负责提供事实。
两者各司其职。
但普通RAG仍然存在一个问题。
它擅长找“相关文本”,却不一定擅长理解复杂的知识关系。
于是又出现了GraphRAG、知识图谱等方案。
假设知识库中有以下信息:
项目A由张三负责。
项目B依赖项目A。
系统X属于项目B。
漏洞C影响系统X。
如果用户问:
“张三负责的项目可能受到哪些漏洞影响?”
普通向量检索可能需要碰巧检索到多个相关Chunk,再依赖大模型自己拼接关系。
而知识图谱可以直接表示:
张三
↓负责
项目A
↓被依赖
项目B
↓包含
系统X
↓存在
漏洞C
这样,大模型就不只是获取零散文本,而是可以利用明确的实体和关系进行推理。
因此,很多知识协同系统正在逐渐形成一种组合:
向量数据库负责语义检索,知识图谱负责关系推理,大语言模型负责理解与生成。
知识只能告诉模型“发生了什么”。
但用户很多时候希望AI直接完成任务。
比如:
“查一下服务器当前CPU使用率。”
“帮我查询订单状态。”
“分析一下数据库中的销售数据。”
“创建一个GitHub Issue。”
这些任务已经不是单纯的知识问答,而是需要调用外部系统。
于是就出现了Tool Calling。
例如:
用户
↓
“查询订单A123状态”
↓
LLM判断需要调用订单API
↓
调用API
↓
返回订单状态
↓
LLM组织回答
这时候,大模型的角色就发生了明显变化。
它不再只是一个聊天机器人,而开始变成一个任务调度器。
当系统越来越复杂之后,会出现另一个问题。
假设AI需要连接:
如果每连接一个系统,都单独编写一套接口适配代码,维护成本会越来越高。
MCP这类协议尝试解决的就是:
模型与外部数据、工具之间的标准化连接问题。
可以简单理解为:
过去:
LLM → GitHub专用接口
LLM → 数据库专用接口
LLM → Slack专用接口
LLM → 文件系统专用接口
现在希望逐渐变成:
LLM
↓
统一协议
↓
不同工具和数据源
如果这一方向继续发展,大模型应用的工具生态可能会越来越像今天的软件API生态。
当一个任务包含多个步骤时,仅靠一次Tool Calling也不够。
例如:
“分析一家公司的经营情况,并生成一份投资分析报告。”
这个任务可能包括:
1.查询公司财务数据;
2.搜索行业信息;
3.搜索近期新闻;
4.分析竞争对手;
5.识别风险;
6.生成最终报告。
这时候可以引入Agent。
一个Agent负责财务分析,一个Agent负责行业研究,一个Agent负责新闻搜索,另一个Agent负责最终整合。
于是系统结构可能变成:
用户
↓
主Agent
↓
任务规划
↓
财务Agent / 搜索Agent / 数据Agent / 写作Agent
↓
结果汇总
↓
最终答案
这种架构的核心并不是“Agent数量越多越好”,而是:
让不同模块负责自己擅长的任务。
把前面的技术组合起来,一个较完整的系统可能是:
用户
↓
LLM / Agent
↓
任务理解
↓
任务规划
↓
┌──────────────┐
│ │
RAG Knowledge Graph
│ │
知识检索 关系推理
│ │
└──────┬───────┘
↓
Tool Calling / MCP
↓
数据库 / API / GitHub / 文件 / 企业系统
↓
结果整合
↓
LLM生成最终回答
从这个角度看,大模型应用的发展方向已经非常清楚:
LLM正在从“一个模型”变成“一个智能系统的核心调度层”。
很多时候,真正困难的并不是把LLM接入系统,而是如何保证整个知识链路可靠。
例如:
企业文档可能存在过期、重复甚至互相矛盾的内容。
知识库里明明有答案,但Embedding没有把正确内容召回。
即使检索到了正确内容,模型仍然可能忽略证据或者产生幻觉。
如果模型可以执行数据库操作、发送邮件甚至修改生产系统,就必须设计严格的权限控制。
多Agent会带来新的问题:
任务重复、信息冲突、无限循环、调用成本增加等。
因此,大模型知识协同并不仅仅是一个“模型能力问题”,更是一个完整的系统工程问题。
如果把今天的大模型应用看成一个技术栈:
LLM负责理解和推理;
RAG负责知识检索;
知识图谱负责知识关系;
Memory负责长期记忆;
Tool Calling负责执行动作;
MCP负责连接工具;
Agent负责任务规划和协作。
那么未来真正有价值的大模型系统,很可能不再是“调用一个模型API”,而是围绕模型构建一整套知识与工具协同体系。
模型本身只是其中一个核心组件。
真正决定系统能力的,将是:
模型能力×知识质量×检索能力×工具生态×任务规划能力。
这可能也是下一阶段大模型应用真正值得研究的问题。
大家现在在实际项目中,更倾向于使用哪种架构?
是传统RAG、GraphRAG、Agent,还是已经开始尝试MCP和多智能体协作?
欢迎一起交流。