单一智能体在处理复杂业务逻辑时,已逐渐显现出能力的边界与局限。面对诸如内容写作、代码开发、股票推荐等多维度、高耦合的任务,往往需要多个智能体协同作战,通过团队分工与协作,才能高效、精准地完成目标。如今,智能体正从“单打独斗”走向“联合制胜”,协作化、团队化的智能体系已成为满足市场需求的关键突破口。

市面上比较主流的选择,有如下几个:

框架核心定位一句话总结
LangGraph流程精确控制引擎核心逻辑是 “按图索骥”,通过有向图对任务流程进行精细化的状态管理。
AutoGen / CrewAI多角色协作团队框架核心逻辑是 “多人(Agent)成事”,通过预设角色和对话模拟团队协作。
Hermes Agent自主进化型AI智能体核心逻辑是“越用越聪明”,旨在打造一个能力不断提升的个体。

今天要介绍的主角是 LangGraph

我们用一个实际案例来演示:采用流水线模式,串联四个 Agent 协作,完成一个垂直行业主题文章的撰写任务。

智能体名称函数名职责
研究员research_agent研究主题,搜索和收集资料
作家writer_agent根据资料撰写报告
核查员fact_checker_agent验证报告的真实性和准确性
质量保证quality_assurance_agent综合评估整个流程质量

如果觉得太少了 还可以增加其他的智能体,比如预测浏览agent。

目前采用的是流水线模式:

研究员agent → 作家agent → 核查员agent → 质量保证agent → 结束

其实还有其他模式,比如

1,条件分支模式(根据情况选择路径)

2,并行执行模式(多个智能体同时工作)

3,协商模式(智能体之间可以讨论)

模式优势劣势
顺序执行(流水线模式)简单可控效率低,不够灵活
条件分支自适应需要设计路由逻辑
并行执行效率高状态管理复杂
协商模式结果更准确耗时,token消耗大

代码如下:

from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, AIMessage, SystemMessage
import os
from typing import TypedDict, Annotated, List, Dict
import operator
import json
# 1. 定义全局状态(增强版)
class AgentState(TypedDict):
topic: str
sources: List[str]
draft: str
verified_facts: Annotated[List[Dict], operator.add]
# 新增字段
research_quality: str  # 研究质量评估
writing_style: str     # 写作风格
fact_check_report: str # 核查报告
agent_dialog: List[str] # 智能体对话记录
# 2. 配置通义千问模型(每个智能体可以有独立配置)
researcher_llm = ChatOpenAI(
model="deepseek-v3.1",
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
temperature=0.5  # 研究员需要更准确
)
writer_llm = ChatOpenAI(
model="deepseek-v3.1",
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
temperature=0.8  # 作家可以更创意
)
fact_checker_llm = ChatOpenAI(
model="deepseek-v3.1",
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
temperature=0.3  # 核查员需要更严谨
)
# 3. 定义真正的智能体节点
def research_agent(state: AgentState):
"""真正的研究员:调用AI搜索和分析信息"""
print("🔍 [研究员] 正在研究主题...")
# 构建研究提示词
research_prompt = f"""
你是一个专业的研究员,正在研究主题:"{state['topic']}"
请完成以下任务:
1. 提供关于这个主题的3-5个关键信息点
2. 这些信息应该准确、有价值
3. 标注每个信息的来源(如果是模拟,说明是推测)
4. 评估这个主题的研究价值和难度
请以JSON格式返回:
{{
"sources": ["信息1", "信息2", ...],
"research_value": "高/中/低",
"difficulty": "简单/中等/困难"
}}
"""
try:
# 调用大模型
response = researcher_llm.invoke(research_prompt)
# 解析AI返回的内容
try:
result = json.loads(response.content)
sources = result.get("sources", [])
research_quality = result.get("research_value", "中")
except:
# 如果解析失败,使用原始响应
sources = [response.content]
research_quality = "中"
print(f"✅ [研究员] 找到 {len(sources)} 条资料")
return {
"sources": sources,
"research_quality": research_quality,
"agent_dialog": [f"研究员: 我找到了关于'{state['topic']}'的{len(sources)}条资料"]
}
except Exception as e:
print(f"❌ [研究员] 出错: {e}")
return {
"sources": [f"关于{state['topic']}的基础介绍(模拟数据)"],
"research_quality": "低",
"agent_dialog": [f"研究员: 研究过程中出现错误,使用备用资料"]
}
def writer_agent(state: AgentState):
"""真正的作家:调用AI智能生成报告"""
print("✍️ [作家] 正在撰写报告...")
# 构建写作提示词
writing_prompt = f"""
你是一个专业的科技作家,需要根据研究员提供的资料撰写一份报告。
主题:{state['topic']}
研究资料:
{chr(10).join(f"- {source}" for source in state.get('sources', []))}
写作要求:
1. 报告结构:引言 → 主体(分3个要点) → 结论
2. 语言风格:专业但不晦涩,适合技术人员阅读
3. 字数:500字左右
4. 如果资料不足,可以适当补充常识性内容
5. 在报告末尾给出阅读建议
请直接输出报告内容,不要包含JSON格式。
"""
try:
# 调用大模型生成报告
response = writer_llm.invoke(writing_prompt)
draft = response.content
print(f"✅ [作家] 报告撰写完成,共 {len(draft)} 字")
return {
"draft": draft,
"agent_dialog": [f"作家: 已完成报告撰写,长度{len(draft)}字符"]
}
except Exception as e:
print(f"❌ [作家] 出错: {e}")
return {
"draft": f"# 关于《{state['topic']}》的报告\n\n报告生成失败,请重试。",
"agent_dialog": [f"作家: 报告生成失败 - {str(e)}"]
}
def fact_checker_agent(state: AgentState):
"""真正的核查员:调用AI验证报告真实性"""
print("🔬 [核查员] 正在核查报告...")
# 构建核查提示词
fact_check_prompt = f"""
你是一个严谨的事实核查员,请审查以下报告的真实性和准确性。
主题:{state['topic']}
报告内容:
{state.get('draft', '')[:1500]}  # 限制长度
请完成以下核查任务:
1. 识别报告中可能存在的事实错误
2. 指出需要更多证据支撑的断言
3. 给出整体的可信度评分(1-10分)
4. 提供改进建议
请以JSON格式返回:
{{
"issues": ["问题1", "问题2", ...],
"trust_score": 8,
"improvements": ["建议1", "建议2", ...],
"verdict": "可信/部分可信/需重写"
}}
"""
try:
# 调用大模型核查
response = fact_checker_llm.invoke(fact_check_prompt)
# 解析结果
try:
result = json.loads(response.content)
verified_facts = [{
"fact": issue,
"is_valid": "需验证",
"source": "AI核查"
} for issue in result.get("issues", [])]
fact_check_report = result.get("verdict", "需核查")
trust_score = result.get("trust_score", 5)
except:
verified_facts = [{"fact": "报告已通过基础核查", "is_valid": "基本可信", "source": "AI"}]
fact_check_report = "报告质量待提升"
trust_score = 5
print(f"✅ [核查员] 核查完成,可信度评分: {trust_score}/10")
return {
"verified_facts": verified_facts,
"fact_check_report": fact_check_report,
"agent_dialog": [f"核查员: 核查完成,可信度评分{trust_score}/10"]
}
except Exception as e:
print(f"❌ [核查员] 出错: {e}")
return {
"verified_facts": [{"fact": "核查过程中出现错误", "is_valid": "未知", "source": "系统"}],
"fact_check_report": "核查失败",
"agent_dialog": [f"核查员: 核查失败 - {str(e)}"]
}
def quality_assurance_agent(state: AgentState):
"""质量保证智能体(新增):综合评估整个流程"""
print("📊 [质量保证] 正在综合评估...")
qa_prompt = f"""
作为质量保证专家,请评估整个研究-写作-核查流程的质量。
主题:{state['topic']}
研究质量:{state.get('research_quality', '未知')}
报告摘要:{state.get('draft', '')[:300]}
核查结果:{state.get('fact_check_report', '未知')}
请回答:
1. 整个流程的质量评分(1-10)
2. 是否可以发布?(是/否/修改后发布)
3. 三个改进建议
直接输出JSON格式。
"""
try:
response = researcher_llm.invoke(qa_prompt)
try:
result = json.loads(response.content)
quality_score = result.get("质量评分", 6)
can_publish = result.get("是否可以发布", "修改后发布")
except:
quality_score = 6
can_publish = "修改后发布"
print(f"✅ [质量保证] 综合评分: {quality_score}/10, 结论: {can_publish}")
return {
"agent_dialog": [f"质量保证: 综合评分{quality_score}/10,{can_publish}"]
}
except Exception as e:
print(f"❌ [质量保证] 出错: {e}")
return {
"agent_dialog": [f"质量保证: 评估失败 - {str(e)}"]
}
# 4. 构建多智能体图
def build_multi_agent_system():
"""构建真正的多智能体系统"""
builder = StateGraph(AgentState)
# 添加所有智能体节点
builder.add_node("researcher", research_agent)
builder.add_node("writer", writer_agent)
builder.add_node("fact_checker", fact_checker_agent)
builder.add_node("qa", quality_assurance_agent)
# 设置入口
builder.set_entry_point("researcher")
# 添加流程边
builder.add_edge("researcher", "writer")
builder.add_edge("writer", "fact_checker")
builder.add_edge("fact_checker", "qa")
builder.add_edge("qa", END)
return builder.compile()
# 5. 运行多智能体系统
if __name__ == "__main__":
print("="*60)
print("🤖 启动真正的多智能体系统")
print("="*60)
# 初始化状态
initial_state = {
"topic": "LangGraph多智能体系统的应用前景",
"sources": [],
"draft": "",
"verified_facts": [],
"research_quality": "",
"writing_style": "",
"fact_check_report": "",
"agent_dialog": []
}
# 构建并运行
app = build_multi_agent_system()
print("\n🚀 开始多智能体协作...\n")
# 执行任务
final_state = app.invoke(initial_state)
# 输出最终结果
print("\n" + "="*60)
print("📝 最终报告")
print("="*60)
print(final_state["draft"])
print("\n" + "="*60)
print("✅ 智能体协作对话记录")
print("="*60)
for dialog in final_state.get("agent_dialog", []):
print(dialog)
print("\n" + "="*60)
print("🔍 核查报告")
print("="*60)
print(f"核查结论: {final_state.get('fact_check_report', '无')}")
print(f"核查详情: {final_state.get('verified_facts', [])}")
print("\n" + "="*60)
print("🎯 运行完成!每个智能体都真正调用了大模型")
print("="*60)

执行的结果如下:

python .\muti.py
============================================================
🤖 启动真正的多智能体系统
============================================================
🚀 开始多智能体协作...
🔍 [研究员] 正在研究主题...
✅ [研究员] 找到 4 条资料
✍️ [作家] 正在撰写报告...
✅ [作家] 报告撰写完成,共 1100 字
🔬 [核查员] 正在核查报告...
✅ [核查员] 核查完成,可信度评分: 5/10
📊 [质量保证] 正在综合评估...
✅ [质量保证] 综合评分: 6/10, 结论: 修改后发布
============================================================
📝 最终报告
============================================================
# LangGraph多智能体系统的应用前景报告
## 引言
随着大语言模型(LLM)在各领域的广泛应用,单一智能体在处理复杂、多步骤任务时的局限性日益凸显。LangGraph作为一种基于图结构的多智能体协调框架,通过引入有状态、周期性的工作流机制,为多智能体协作提供了新的解决方案。本报告将分析LangGraph在多智能体系统中的技术优势、应用场景及面临的挑战。
## 主体
### 1. 技术优势:增强协作与协调能力
LangGraph通过图结构明确定义了多个智能体之间的交互逻辑和数据流向,每个节点代表一个智能体或子任务,边表示任务间的依赖关系。这种设计使得系统能够 以可控的方式执行周期性、有状态的任务。例如,在代码生成任务中,一个智能体负责生成代码,另一个负责检查语法,第三个负责优化性能,LangGraph可以协 调这些智能体按顺序协作,同时保留中间状态以供后续阶段使用。相比传统单智能体系统,这种分工协作显著提升了复杂任务的完成质量和可靠性。
### 2. 应用场景:从自动化工作流到高风险领域
LangGraph的多智能体系统在自动化工作流(如客户支持、文档处理)中表现出色,通过智能体分工减少错误并提高效率。此外,其支持动态路由和人类干预的特 性,使其在高风险领域如医疗诊断和法律咨询中具备潜力。例如,在医疗场景中,初步诊断智能体可将不确定的病例路由至人工审核节点,确保决策的可靠性。这种灵活性降低了AI系统在关键领域的应用风险,符合伦理和合规要求。
### 3. 挑战与平衡:成本与资源优化
尽管LangGraph提升了任务处理能力,但多智能体系统也带来了计算资源消耗和成本控制的挑战。智能体数量的增加可能导致更高的API调用开销和延迟,尤其在实时应用中需权衡性能与成本。根据多智能体系统研究(如DeepMind的协作AI工作),优化智能体分工、引入异步处理机制以及采用轻量化模型是可能的解决方案。LangGraph需在框架层面提供资源调度支持,以促进实际部署。
## 结论
LangGraph通过图结构的多智能体协调机制,在复杂任务处理中展现出高效性和可靠性,尤其适用于自动化工作流和高风险领域。然而,其在成本控制和资源优化 方面仍需进一步改进。未来,随着计算效率提升和框架优化,LangGraph有望成为多智能体系统的主流选择之一。
## 阅读建议
- 推荐阅读LangGraph官方文档以了解其技术实现细节。
- 参考多智能体系统研究(如OpenAI和DeepMind的论文)以对比不同方案的优劣。
- 在实际项目中,建议从小规模任务开始试验,以评估成本与性能的平衡。
============================================================
✅ 智能体协作对话记录
============================================================
质量保证: 综合评分6/10,修改后发布
============================================================
🔍 核查报告
============================================================
核查结论: 报告质量待提升
核查详情: [{'fact': '报告已通过基础核查', 'is_valid': '基本可信', 'source': 'AI'}]
============================================================
🎯 运行完成!每个智能体都真正调用了大模型
============================================================

结论很明确:复杂任务需要的是团队作战,而非单兵突袭。LangGraph 的价值就在于,它能把多个独立的 Agent 串联成一个流程透明、可控可干预的智能团队——让每一次协作都有迹可循,每一个环节都心中有数,真正让复杂任务从“不可控”走向“可靠落地”。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐