image

一、什么是Agent?

AI Agent(人工智能体)是一种具备自主思考、规划和行动能力的智能系统,它主要包括三个部分:

  • LLM大模型
  • Tools工具
  • Prompt提示词

以下所有代码使用 LangGraph 作为示例:

from langgraph.prebuiltimport create_react_agent

def get_weather(city: str)-> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"

agent =create_react_agent(
    model="anthropic:claude-3-7-sonnet-latest",
    tools=[get_weather],
    prompt="You are a helpful assistant"
)

# Run the agent
agent.invoke(
{"messages":[{"role":"user","content":"what is the weather in sf"}]}
)

我们定义了get_weather方法作为tool, 使用 claude LLM大模型,"You are a helpful assistant"为提示词,就构成了一个最简单的 Agent

chatbot-with-tools-diagram

二、Agent Framework

我们来介绍一下LLM Agent的两个框架:

2.1 LangGraph

概述
LangGraph 是由 LangChain 团队开发的 有状态多智能体工作流框架,专为构建复杂、动态的 AI 应用设计。其灵感来源于 Pregel 和 Apache Beam,支持循环流程和细粒度控制,适用于需要长期记忆和人工干预的场景。

核心特性

  • 循环与分支 :突破传统 DAG 限制,支持循环逻辑(如多轮对话)。

  • 持久化状态 :自动保存执行状态,支持中断恢复和“人在环”操作。

  • 多智能体协作 :可构建分层代理系统(如代码生成与测试代理协作)。

  • 与 LangChain 集成 :兼容 LangChain 生态,但可独立使用。

应用场景

  • 客户服务 :自动化聊天机器人,处理多轮对话。

  • 数据分析 :代理协作执行数据检索、清洗与分析。

  • 软件开发 :如 Uber 用其生成单元测试代码。

代码示例

from langgraph.graph import StateGraph
# 定义状态图并添加节点
graph = StateGraph(State)
graph.add_node("model", llm_model)
graph.add_edge("tools","model")# 工具调用后触发模型
app = graph.compile()# 编译为可执行工作流

2.2 Google ADK (Agent Development Kit)

概述
Google ADK 是 模块化多智能体开发框架,开源且支持 Gemini 等模型,强调灵活部署与多代理协作,适用于企业级自动化任务。

核心特性

  • 模块化架构 :像“乐高积木”组合代理(如销售、运营代理)。

  • 多模型支持 :兼容 Gemini、GPT 等,动态选择最优模型。

  • 自动任务委派 :代理根据能力自动转移任务(如旅行规划中航班/酒店代理协作)。

  • Google Cloud 集成 :支持 Vertex AI 部署,提供企业级扩展性。

应用场景

  • 企业服务 :Google 自用的客户服务自动化系统(Agentspace)。

  • 实时交互 :多模态代理处理音频/视频任务。

  • 复杂流程 :如动态路由任务至专业化子代理。

代码示例

from google.adk.agents import Agent
# 创建基于 Gemini 的代理
root_agent = Agent(
    model="gemini-2.0-flash-exp",
    tools=[google_search],
    description="Web search assistant"
)

对比与选型建议

维度 LangGraph Google ADK
核心优势 状态管理、循环控制 模块化、多模型与云集成
适用场景 需长期记忆的复杂流程(如客服、开发) 企业级多代理协作(如实时服务)
学习曲线 较高(需理解状态图) 中等(模块化设计降低复杂度)
生态依赖 LangChain 生态 Google Cloud 与 Gemini 生态

3. Multi-Agent System

Multi-Agent系统的出现是为了解决单个智能体在复杂任务中的局限性,通过分布式协作实现更高效率、更强鲁棒性和更灵活的适应性。(鲁棒性(Robustness),又称健壮性或稳健性,是指系统在面临内部参数变化、外部干扰或异常输入时,仍能维持核心功能稳定运行的能力。)

我们的系统是非常复杂的,如果单个Agent专注于多个专业,定义了很多的tools,那Agent的效果会非常差。所以我们需要把任务分级、分解成多个Agent,负责不同的任务,共同组成多智能体系统。

多智能体架构:

图片

旅行多Agent示例:

from langchain_openai importChatOpenAI
from langgraph.prebuiltimportcreate_react_agent
from langgraph_supervisor import create_supervisor


def book_hotel(hotel_name: str):
"""Book a hotel"""
return f"Successfully booked a stay at {hotel_name}."

def book_flight(from_airport: str,to_airport: str):
"""Book a flight"""
return f"Successfully booked a flight from {from_airport} to {to_airport}."

flight_assistant =create_react_agent(
    model="openai:gpt-4o",
    tools=[book_flight],
    prompt="You are a flight booking assistant",
    name="flight_assistant"
)

hotel_assistant =create_react_agent(
    model="openai:gpt-4o",
    tools=[book_hotel],
    prompt="You are a hotel booking assistant",
    name="hotel_assistant"
)

supervisor =create_supervisor(
    agents=[flight_assistant, hotel_assistant],
    model=ChatOpenAI(model="gpt-4o"),
    prompt=(
"You manage a hotel booking assistant and a"
"flight booking assistant. Assign work to them."
)
).compile()

我们定义了两个子 Agent:

  • flight_assistant : 航班助手使用book_flight 工具预定航班
  • hotel_assistant : 酒店助手使用book_hotel 工具预定酒店

又定义了一个 Supervisor agent ,来管理flight_assistanthotel_assistant两个子Agent工作。

工作流程:

当我们输入"book a flight from BOS to JFK and a stay at McKittrick Hotel"。 首先会到达 supervisor Agent:

  1. supervisor agent
    首先将任务分发给flight_assistant agent预定航班。

  2. flight_assistant
    会调用book_flight工具预定航班,完成预定后返回supervisor agent

  3. supervisor agent
    在将任务分发给hotel_assistant agent预定酒店。

  4. hotel_assistant agent
    调用book_hotel工具预定酒店,完成预定后返回supervisor agent.

  5. supervisor agent
    进行总结,将航班和酒店预定成功信息返回给用户。

图片

完整代码已上传Github:

  • https://github.com/Liu-Shihao/ai-agent-demo/tree/main/src/multi_agent_travel_hotel
  • https://github.com/Liu-Shihao/ai-agent-demo/tree/main/src/sql_agent
  • https://github.com/Liu-Shihao/ai-agent-demo/tree/main/src/rag_agent

如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐