置顶

加拿大机器人 RAG系统构建及Agent智能体编排

作者:admin | 分类:加拿大机器人 | 浏览:2 | 日期:2026年08月04日

结合你此前关注AI应用开发、RAG系统构建及Agent智能体编排的相关背景,本项目将带你从

“单点工具调用”进阶到‌多智能体协作(Multi-Agent)‌,实现一个具备分工协作能力的AI团队。


一、项目核心目标

角色分工‌:定义“研究员”、“作家”、“审核员”三个不同角色的Agent,各司其职。

任务编排‌:使用 LangGraph 或 LangChain 的 SequentialChain 实现任务的串行与并行流转。

状态管理‌:在多轮交互中维护全局状态,确保信息在不同Agent间准确传递。

二、核心代码实现 (基于 LangChain)

python

from langchain_openai import ChatOpenAI

from langchain.prompts import ChatPromptTemplate

from langchain.chains import LLMChain

from langchain.agents import AgentExecutor, create_react_agent

from langchain.tools import Tool

import os


# 1. 初始化 LLM

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)


# 2. 定义角色 Prompt

researcher_prompt = ChatPromptTemplate.from_template(

    "你是一个资深研究员。请针对主题 '{topic}' 搜集关键事实和数据,列出3个核心要点。"

)

writer_prompt = ChatPromptTemplate.from_template(

    "你是一个专业作家。请根据以下研究要点:\n{research_result}\n撰写一篇简短的博客文章引言。"

)

reviewer_prompt = ChatPromptTemplate.from_template(

    "你是一个严格的审核员。请评估以下文章引言:\n{draft}\n指出逻辑漏洞并提出修改建议。"

)


# 3. 构建链式调用

researcher_chain = LLMChain(llm=llm, prompt=researcher_prompt, output_key="research_result")

writer_chain = LLMChain(llm=llm, prompt=writer_prompt, output_key="draft")

reviewer_chain = LLMChain(llm=llm, prompt=reviewer_prompt, output_key="feedback")


def multi_agent_workflow(topic: str):

    print(f"--- 开始处理主题: {topic} ---")

    

    # 步骤1: 研究员工作

    print("🕵️ 研究员正在搜集资料...")

    research_result = researcher_chain.run(topic=topic)

    print(f"研究结果: {research_result[:100]}...")

    

    # 步骤2: 作家工作

    print("✍️ 作家正在撰写初稿...")

    draft = writer_chain.run(research_result=research_result)

    print(f"初稿: {draft[:100]}...")

    

    # 步骤3: 审核员工作

    print("🧐 审核员正在审查...")

    feedback = reviewer_chain.run(draft=draft)

    print(f"反馈: {feedback}")

    

    return {"topic": topic, "draft": draft, "feedback": feedback}


# 4. 测试运行

if __name__ == "__main__":

    result = multi_agent_workflow("AI在医疗领域的应用")

    print("\n=== 最终输出 ===")

    print(result)


三、关键知识点解析

Chain 串联‌:通过 output_key 和 input_variables 将上一个环节的输出作为下一个环节的输入,实现数据的自动流转。

角色隔离‌:每个 Agent 拥有独立的 System Prompt,确保其行为符合特定角色设定,避免能力混淆。

可扩展性‌:这种串行结构可以轻松扩展为并行结构(如多个研究员同时搜集不同维度的信息),或引入条件分支(如审核不通过则返回作家重写)。

四、进阶方向

引入 LangGraph‌:使用状态图(StateGraph)替代简单的 Chain,实现更复杂的循环、条件判断和中断恢复机制。

人类在环(Human-in-the-loop)‌:在审核环节加入人工确认步骤,确保最终输出符合业务标准。

工具增强‌:让“研究员”Agent 具备搜索工具调用能力,获取实时数据而非仅依赖训练知识。


这个项目标志着你的 AI 应用开发从“单兵作战”迈向了“团队协作”,是构建复杂企业级 AI 工作流的基础。


需要我为你演示如何使用 LangGraph 重构这个多智能体工作流吗?帮你掌握更灵活的状态管理机制。