核心定位:专为构建循环式、状态化智能体系统设计,突破传统DAG限制
from langgraph.graph import StateGraph, MessagesState from langchain_openai import ChatOpenAI # 定义持久化状态(存储对话历史) class AgentState(TypedDict): messages: List[BaseMessage] # 构建工作流 workflow = StateGraph(AgentState) # 添加节点:LLM调用 def call_model(state): model = ChatOpenAI(model="gpt-4o") return {"messages": [model.invoke(state["messages"])]} workflow.add_node("assistant", call_model) # 条件分支:根据输出决定是否结束 def should_continue(state): last_msg = state["messages"][-1].content if "[END]" in last_msg: return "end" return "assistant" workflow.add_conditional_edges("assistant", should_continue) workflow.set_entry_point("assistant")
技术亮点:
循环状态管理:支持多轮迭代任务(如RAG结果优化)
持久化引擎:自动保存检查点,宕机后可从断点恢复
人工干预接口:human_review_node()
实现关键节点人工审核
适用场景:需状态跟踪的长周期任务(如Uber客服系统)
设计哲学:通过自然语言对话实现Agent间任务委派
from autogen import AssistantAgent, UserProxyAgent # 创建代理角色 coder = AssistantAgent("coder", llm_config={"model": "gpt-4-turbo"}) reviewer = AssistantAgent("reviewer", system_message="你是一名资深代码审查员") user_proxy = UserProxyAgent("user", human_input_mode="TERMINATE") # 定义协作流程 def solve_bug(task): user_proxy.initiate_chat( coder, message=f"修复这段代码的bug:\n{task}", subsequent_handler=lambda msg: reviewer.send(msg, coder) ) solve_bug("def calc(a,b): return a/b") # 触发零除错误处理流程
突破性特性:
动态任务委派:Agent自动传递未完成子任务
沙箱代码执行:在Docker中安全运行生成代码
实时调试:中断对话直接修改变量值
group_chat = GroupChat( agents=[test_manager, test_generator, test_runner], roles=["设计测试策略", "生成测试用例", "执行测试"] ) test_manager.initiate_chat("为登录模块生成边界测试")
效能提升:Uber实测减少40%测试编写时间
存在意义:解决自由对话低效问题,明确定义角色与任务依赖链
from crewai import Agent, Task, Crew, Process # 角色定义 researcher = Agent( role="市场研究员", goal="发现行业趋势", tools=[web_search_tool] ) # 任务编排 trend_task = Task( description="分析2025年AI代理技术趋势", agent=researcher, expected_output="包含TOP3趋势的Markdown报告" ) # 流程执行 crew = Crew( agents=[researcher], tasks=[trend_task], process=Process.sequential ) result = crew.kickoff()
结构化优势:
上下文传递:上游任务输出自动注入下游Prompt
层级流程:管理者Agent动态分配任务(Process.hierarchical
)
工具复用:Agent级与Task级工具继承体系
效果:3小时人工工作 → 20秒自动化执行
核心价值:5行代码构建生产级Agent,降低开发门槛
from openai_agents import Agent, tool @tool def stock_price(symbol: str) -> float: """查询股票实时价格""" return yf.Ticker(symbol).history().iloc[-1].Close # 创建Agent并绑定工具 agent = Agent(tools=[stock_price]) print(agent.run("苹果公司当前股价是多少?"))
技术革新:
自动代理循环:无需手动处理工具调用/结果解析
函数即工具:@tool
装饰器秒级接入现有代码
安全护栏:输入校验+错误重试机制
agent.connect_mcp_service("financial_tools") agent.run("对比TSLA和AAPL的市盈率")
行业影响:工具开发者数量3个月增长800%
定位:无缝集成Google云服务的企业级Agent开发平台
Vertex AI管道:可视化编排Dialogflow+BigQuery+Cloud Functions
Firebase实时同步:跨设备状态持久化
Knowledge Connector:直连企业级知识库(支持250+格式文档)
隐私合规:自动过滤PII敏感信息(符合GDPR/CCPA)
典型场景:
客服系统:Dialogflow处理对话 → BigQuery分析用户画像 → 生成个性化回复
供应链管理:预测库存需求 → 自动生成采购订单
创新点:用软件公司组织架构管理Agent团队
from metagpt.roles import ProductManager, Architect, Engineer pm = ProductManager() architect = Architect() engineer = Engineer() # 需求驱动开发 pm.run("开发短视频推荐算法") architect.receive(pm.output) # 接收PRD文档 engineer.receive(architect.output) # 获取设计文档并编码
效能数据:
生成完整项目耗时: 3分钟(含需求文档/API设计/单元测试)
代码一次通过率: 78%(GPT-4驱动)
适用领域:软件工程/科研论文/商业分析
核心问题:解决LLM输出格式漂移与非确定性
from pydantic_ai import Agent from pydantic import BaseModel class MarketReport(BaseModel): trends: list[str] risk_factors: list[str] # 强制结构化输出 agent = Agent(model="gemini-1.5", output_type=MarketReport) report = agent.run("生成量子计算市场报告") print(report.trends[0]) # 直接访问结构化字段
创新机制:
输出即工具调用:将JSON Schema转化为LLM必调工具
闭环重试:自动修复ValidationError并重新生成
动态多模态:支持union[Report, Alert]
自适应输出
避免循环失控:在LangGraph中设置max_loops=10
防止死循环
成本控制策略:
# AutoGen混合模型配置 coder = AssistantAgent(llm_config={"model": "gpt-4-turbo"}) reviewer = AssistantAgent(llm_config={"model": "claude-3-sonnet"})
透明度提升:
LangGraph集成LangSmith追踪
CrewAI使用step_callback
记录决策日志
更多AI大模型应用开发学习视频内容和资料,尽在聚客AI学院。