Semantic Kernel 2026:微软AI编排框架的成熟之路

Semantic Kernel 2026:微软AI编排框架的成熟之路

Semantic Kernel 2026:从实验到成熟 Semantic Kernel(SK)是微软的AI编排框架,经过三年的迭代,2026版本终于达到了企业级成熟度。与AutoGen的对话范式不同,SK采用函数编排范式——将AI能力封装为可组合的函数(Functions),通过Kernel进行编排。 核心架构 函数体系 SK的核心抽象是三种函数类型: // C# 示例:Semantic Kernel 2026 using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.Connectors.OpenAI; var builder = Kernel.CreateBuilder(); builder.AddAzureOpenAIChatCompletion("gpt-4o", endpoint, apiKey); builder.Plugins.AddFromType<TimePlugin>(); builder.Plugins.AddFromType<SearchPlugin>(); var kernel = builder.Build(); // 1. Semantic Function(AI生成) var summarize = kernel.CreateFunctionFromPrompt( "总结以下文本的核心要点:\n{{$input}}", functionName: "Summarize", description: "文本摘要" ); // 2. Native Function(原生代码) public class SearchPlugin { [KernelFunction("search")] [Description("搜索网络信息")] public async Task<string> SearchAsync( [Description("搜索关键词")] string query, [Description("结果数量")] int count = 5 ) { return await _searchEngine.QueryAsync(query, count); } } // 3. Hybrid Function(混合函数 - 2026新增) var analyze = kernel.CreateFunctionFromMethod( async (string input) => { var summary = await summarize.InvokeAsync(kernel, new() { ["input"] = input }); var keywords = await extractKeywords.InvokeAsync(kernel, new() { ["input"] = summary }); return new { Summary = summary, Keywords = keywords }; }, functionName: "Analyze" ); Kernel编排 2026版本的Kernel引入了管道编排器(Pipeline Orchestrator): ...

2026-06-30 · 3 min · 439 words · 硅基 AGI 探索者
Dify 2026:开源AI应用开发平台的崛起

Dify 2026:开源AI应用开发平台的崛起

Dify 2026:从LLM应用到Agent平台 Dify在2026年完成了从"LLM应用开发平台"到"全栈AI Agent平台"的蜕变。凭借其低代码可视化界面和强大的后端引擎,Dify已成为开源AI应用开发领域下载量最高的平台之一。 本文将深入分析Dify 2026的核心能力、架构设计和生产适用性。 平台架构演进 2026版架构全景 ┌──────────────────────────────────────────────────┐ │ 可视化编排层 (Studio) │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐│ │ │ Chatflow│ │ Workflow│ │ Agent │ │ 知识库 ││ │ │ 编排 │ │ 编排 │ │ 编排 │ │ 管理 ││ │ └────┬───┘ └────┬───┘ └────┬───┘ └────┬───┘│ ├───────┼────────────┼──────────┼────────────┼────┤ │ 运行时引擎 (Runtime) │ │ ┌─────────┐ ┌──────────┐ ┌──────────────┐ │ │ │ DAG执行器 │ │ Tool调用器 │ │ RAG Pipeline │ │ │ └─────────┘ └──────────┘ └──────────────┘ │ ├──────────────────────────────────────────────────┤ │ 基础设施层 (Infra) │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────────┐ │ │ │ LLM │ │向量DB │ │ 对象 │ │ 消息队列 │ │ │ │ 网关 │ │ │ │ 存储 │ │ │ │ │ └──────┘ └──────┘ └──────┘ └──────────┘ │ └──────────────────────────────────────────────────┘ 核心组件解析 DAG执行器是Dify工作流的底层引擎,2026版本重写后性能提升3倍: ...

2026-06-30 · 3 min · 585 words · 硅基 AGI 探索者
AutoGen 2026:微软的多Agent对话框架深度评测

AutoGen 2026:微软的多Agent对话框架深度评测

AutoGen 2026:对话驱动的多Agent编排 微软的AutoGen是最早一批多Agent框架,以"对话即编排"的理念独树一帜。2026版本(v0.5+)经历了底层架构重写,在稳定性、可扩展性和生态集成方面有了质的飞跃。 本文将从架构设计、开发体验、性能表现、生产就绪度四个维度进行深度评测。 架构设计评测 对话协议模型 AutoGen的核心抽象是对话(Conversation)而非图(Graph)。2026版本引入了结构化对话协议: from autogen import ConversableAgent, GroupChat, GroupChatManager from autogen.protocol import ConversationProtocol, MessageContract # 定义消息契约 class AnalysisRequest(MessageContract): """分析请求消息""" target: str metrics: list[str] deadline: str class AnalysisResult(MessageContract): """分析结果消息""" findings: list[dict] confidence: float caveats: str # 定义对话协议 protocol = ConversationProtocol( participants=["analyst", "reviewer", "reporter"], message_types=[AnalysisRequest, AnalysisResult], termination_condition="reporter:FINAL_REPORT", max_turns=20 ) 与2025版本相比,结构化协议带来的最大改进是消息类型安全和自动终止检测。 GroupChat机制 GroupChat是AutoGen的杀手锏功能。2026版本新增了动态角色管理: from autogen import AssistantAgent, UserProxyAgent, GroupChat # 动态角色注册 class DynamicGroupChat(GroupChat): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.role_registry = {} def register_role(self, name: str, agent: ConversableAgent, trigger_condition: callable): """注册条件触发的动态角色""" self.role_registry[name] = { "agent": agent, "trigger": trigger_condition } def select_speaker(self, last_speaker, messages): # 先检查动态角色触发条件 for name, role in self.role_registry.items(): if role["trigger"](messages): return role["agent"] # 回退到默认选择逻辑 return super().select_speaker(last_speaker, messages) # 使用场景:当检测到法律问题时动态引入法务Agent legal_trigger = lambda msgs: any( "合规" in m.get("content", "") or "法律" in m.get("content", "") for m in msgs[-3:] ) chat = DynamicGroupChat( agents=[analyst, researcher, writer], messages=[], max_round=30 ) chat.register_role("legal", legal_agent, legal_trigger) 开发体验评测 上手难度 AutoGen的"对话即编程"范式对新手友好,但生产级使用存在隐性复杂度: ...

2026-06-30 · 2 min · 372 words · 硅基 AGI 探索者
CrewAI 2026:多Agent协作框架的生产部署经验

CrewAI 2026:多Agent协作框架的生产部署经验

CrewAI 2026:从Demo到生产的跨越 CrewAI以其直观的"角色-任务-流程"(Role-Task-Process)三元组模型,成为搭建多Agent协作系统最快速的框架。2026版本在生产可靠性方面做了大量改进,使其不再只是Demo级别的玩具。 本文基于我们在金融分析和内容生产两个场景的生产部署经验,分享CrewAI的工程化最佳实践。 角色设计方法论 角色边界原则 CrewAI的核心抽象是Agent角色。最常见的错误是角色定义过于宽泛,导致Agent行为不可预测。我们总结出SPECIALIST原则: from crewai import Agent, Task, Crew, Process from crewai.tools import BaseTool # ❌ 错误:角色过于宽泛 bad_agent = Agent( role="通用助手", goal="帮助用户解决所有问题", backstory="一个全能的AI助手" ) # ✅ 正确:角色聚焦且边界清晰 financial_analyst = Agent( role="上市公⻔财务分析师", goal="分析目标公司的财务报表,识别风险和机会,输出结构化评估报告", backstory="""你是一位拥有15年经验的上市公司财务分析师, 专注于消费零售赛道。你擅长从财报数据中发现异常信号, 曾多次提前预警财务造假。你只分析公开财报数据, 不做股价预测或投资建议。""", tools=[FinancialDataTool(), SECQueryTool()], llm="gpt-4o", max_iter=5, # 2026新特性:限制迭代次数防止无限循环 verbose=True ) 任务分解的粒度控制 # 研究报告生成Crew的任务分解 research_tasks = [ Task( description="""分析{company}最近三年的财务报表: 1. 营收增长率和毛利率趋势 2. 应收账款周转天数变化 3. 存货周转率变化 4. 现金流与净利润的匹配度 输出JSON格式的分析结果""", agent=financial_analyst, expected_output="JSON格式的财务指标分析", output_file="output/financial_analysis.json" ), Task( description="""基于财务分析结果,撰写{company}的风险评估报告: - 总结3个主要风险点 - 每个风险附带量化指标 - 给出风险等级(低/中/高) - 提供缓解建议""", agent=risk_writer, expected_output="Markdown格式的风险评估报告", context=[task_for_financial_analysis], # 显式依赖 output_file="output/risk_report.md" ) ] 生产部署架构 容器化部署方案 # docker-compose.yml - CrewAI生产部署 version: '3.9' services: crewai-api: build: . ports: - "8000:8000" environment: - OPENAI_API_KEY=${OPENAI_API_KEY} - CREWAI_TELEMETRY=false - CREWAI_STORAGE_BACKEND=redis - REDIS_URL=redis://redis:6379 - CREWAI_MAX_CONCURRENT_CREWS=10 deploy: replicas: 3 resources: limits: memory: 2G cpus: '2.0' restart_policy: condition: on-failure max_attempts: 3 redis: image: redis:7-alpine command: redis-server --maxmemory 512mb --maxmemory-policy allkeys-lru volumes: - redis-data:/data crewai-monitor: image: crewai/monitor:2026.1 ports: - "3000:3000" environment: - CREWAI_API_URL=http://crewai-api:8000 depends_on: - crewai-api volumes: redis-data: 异步Crew执行 2026版本引入了原生异步支持,这对于长时间运行的分析任务至关重要: ...

2026-06-30 · 3 min · 439 words · 硅基 AGI 探索者
AutoGen 2026:微软的多Agent对话框架深度评测

AutoGen 2026:微软的多Agent对话框架深度评测

AutoGen 2026:微软的Agent对话哲学 AutoGen的核心设计理念与CrewAI、LangGraph截然不同。CrewAI强调角色和任务分配,LangGraph强调图式工作流,而AutoGen强调对话即计算——通过Agent之间的自然语言对话来解决问题。这个理念在2026版本中被推向了新高度。 核心架构:ConversationGraph AutoGen 2026引入了ConversationGraph作为底层抽象,将Agent间的对话建模为图结构: from autogen import ConversableAgent, GroupChat, GroupChatManager from autogen.graph import ConversationGraph # 创建具有不同专长的Agent data_scientist = ConversableAgent( name="数据科学家", system_message="""你是一位资深数据科学家。 你负责数据探索、特征工程和模型选择。 当需要编写代码时,请使用python工具执行。""", llm_config={"model": "gpt-4o", "temperature": 0.3}, code_execution_config={ "work_dir": "workspace", "use_docker": True, # 2026新增:默认Docker隔离 "timeout": 60, "max_consecutive_auto_reply": 3 } ) domain_expert = ConversableAgent( name="业务专家", system_message="""你是一位金融领域专家。 你负责理解业务需求、解释数据含义、验证分析结论的合理性。 你不写代码,但你能判断分析方向是否正确。""", llm_config={"model": "claude-sonnet-4", "temperature": 0.5} ) critic = ConversableAgent( name="审查员", system_message="""你是代码和分析方法的审查者。 检查代码的正确性、统计方法是否恰当、结论是否有数据支撑。 提出具体的改进建议,不做泛泛评价。""", llm_config={"model": "gpt-4o", "temperature": 0.2} ) # GroupChat配置 group_chat = GroupChat( agents=[data_scientist, domain_expert, critic], messages=[], max_round=20, # 最大对话轮次 speaker_selection_method="auto", # 自动选择发言者 allow_repeat_speaker=False, # 禁止连续发言 select_speaker_prompt_template="""根据当前对话历史,选择下一位发言者。 考虑任务的当前阶段和各Agent的专长。""" ) manager = GroupChatManager( groupchat=group_chat, llm_config={"model": "gpt-4o", "temperature": 0.1} ) # 启动对话 data_scientist.initiate_chat( manager, message="我们需要分析2025年A股市场科技板块的涨跌因子,数据已准备在data/目录下。" ) GroupChat 2.0:智能发言者选择 2026版本最大的改进是GroupChat的发言者选择机制。旧版本使用简单的轮询或随机选择,新版本引入了基于LLM的智能选择: ...

2026-06-30 · 2 min · 420 words · 硅基 AGI 探索者
CrewAI 2026:多Agent协作框架的生产部署经验

CrewAI 2026:多Agent协作框架的生产部署经验

从Demo到生产:CrewAI的6个月实战复盘 CrewAI在2024年以"多Agent协作"的概念走红,但早期版本在生产环境中暴露了大量问题:Agent之间无限对话、角色定义冲突、上下文爆炸。2026版本(v3.x)在这些问题上做了系统性修复。本文基于我们在某金融科技公司6个月的生产实践,分享CrewAI的真实表现和经验教训。 CrewAI 2026核心模型 角色定义与任务分配 CrewAI的核心抽象是Crew(团队)→Agent(成员)→Task(任务)。2026版本引入了角色模板和动态角色分配: from crewai import Agent, Task, Crew, Process from crewai.tools import tool # 定义具有专业工具的Agent @tool def financial_data_query(query: str) -> str: """查询金融数据库,支持股票、基金、债券数据""" # 实际实现... return data @tool def risk_calculator(portfolio: str) -> dict: """计算投资组合风险指标""" return {"var_95": 0.12, "max_drawdown": 0.25} analyst = Agent( role="高级金融分析师", goal="提供准确的市场分析和投资建议", backstory="拥有15年华尔街经验的CFA持证人,擅长跨市场分析", tools=[financial_data_query, risk_calculator], llm="gpt-4o", max_iter=5, # 2026新增:限制单Agent迭代次数 max_rpm=30, # 限流:每分钟最多30次LLM调用 memory=True, # 启用Agent级记忆 verbose=True ) risk_manager = Agent( role="风险管理官", goal="确保所有投资建议符合风险控制标准", backstory="前银监会风控专家,对系统性风险有敏锐直觉", llm="claude-sonnet-4", max_iter=3, memory=True ) # 定义任务链 analysis_task = Task( description="分析当前市场环境,评估{asset}的投资价值", expected_output="包含基本面、技术面、风险评估的完整报告", agent=analyst, max_execution_time=120 # 2026新增:任务级超时 ) review_task = Task( description="审查分析报告,确认风险指标在可接受范围内", expected_output="风险审批意见,包含通过/拒绝及理由", agent=risk_manager, context=[analysis_task], # 依赖前置任务输出 max_execution_time=60 ) # 组建团队 crew = Crew( agents=[analyst, risk_manager], tasks=[analysis_task, review_task], process=Process.sequential, # 2026新增:Process.hierarchical 支持层级管理 memory=True, embedder={ # 2026新增:可配置的嵌入模型 "provider": "openai", "config": {"model": "text-embedding-3-small"} }, manager_llm="gpt-4o", # 层级模式下的管理者LLM planning=True, # 启用任务规划阶段 output_log_file="crew_log.json" ) result = crew.kickoff(inputs={"asset": "贵州茅台(600519)"}) 协作模式对比 协作模式 适用场景 优点 缺点 Sequential 流水线任务,有明确先后顺序 简单可控,易于调试 不支持并行,总延迟高 Hierarchical 复杂任务需要分解和协调 支持动态任务分配 Manager可能成为瓶颈 Consensual 需要多方达成一致的场景 结果更全面 对话轮次多,token消耗大 Debate 需要多角度论证的决策 减少单一视角偏见 容易陷入循环争论 生产环境踩坑记录 坑1:Agent间无限对话 现象:两个Agent在review环节互相推诿,来回传递"请修改"和"已修改请再审",消耗了大量token。 ...

2026-06-30 · 2 min · 286 words · 硅基 AGI 探索者
Dify 2026:开源AI应用开发平台的崛起

Dify 2026:开源AI应用开发平台的崛起

Dify 2026:从LLMOps到AI应用平台 2024年,Dify还是一个LLMOps(大语言模型运维)工具,提供提示词管理、模型调用和简单的应用编排。到了2026年,Dify已经成长为集工作流编排、RAG管道、模型管理、应用部署于一体的完整AI应用开发平台。根据GitHub数据,Dify是2025-2026年增长最快的开源AI项目,Star数突破80K。 核心架构 Dify的架构围绕"应用"这一核心概念展开: 用户交互层 ├── Web App(可视化构建) ├── API(编程接入) └── SDK(多语言客户端) ↓ 应用层 ├── 工作流应用(可视化编排) ├── 对话应用(ChatGPT式交互) ├── 文本生成应用(单次调用) └── 复合应用(多应用组合) ↓ 能力层 ├── 模型管理(多模型统一API) ├── 知识库(RAG引擎) ├── 工具集(API/函数调用) └── 记忆管理(会话上下文) ↓ 基础设施层 ├── PostgreSQL(元数据) ├── Redis(缓存/队列) ├── Weaviate/Qdrant(向量存储) └── Celery(异步任务) 工作流引擎:可视化Agent编排 Dify 2026的工作流引擎是其最核心的功能,采用可视化节点编排方式: 节点类型 节点类型 功能 配置示例 LLM节点 调用大语言模型 模型选择、提示词模板、输出格式 知识库节点 检索相关知识 知识库选择、检索参数、重排序 条件分支节点 if-else逻辑 条件表达式、分支路由 代码节点 执行自定义代码 Python/Node.js、沙箱隔离 模板转换节点 文本模板渲染 Jinja2模板、变量映射 HTTP请求节点 调用外部API URL、方法、Header、Body 变量聚合节点 合并多路输出 聚合策略、冲突处理 循环节点 重复执行子流程 循环条件、最大迭代次数 人工审核节点 等待人工确认 审核表单、超时策略 工作流示例:智能客服Agent [开始] ↓ [知识库检索]:检索产品文档和用户历史 ↓ [LLM判断]:问题类型识别 ↓ ├─ 简单FAQ → [LLM回答] → [结束] ├─ 需要查订单 → [HTTP请求(订单系统)] → [LLM生成回复] → [结束] ├─ 需要退款 → [人工审核节点] → 审核通过 → [HTTP请求(退款系统)] → [结束] └─ 无法处理 → [转人工客服] → [结束] 与LangGraph的对比 维度 LangGraph Dify工作流 编排方式 代码定义 可视化拖拽 学习曲线 陡峭 平缓 灵活性 极高 中等 版本管理 Git 内置版本控制 调试体验 代码调试 可视化执行追踪 适合人群 开发者 开发者+业务人员 部署方式 自行部署 一键部署/云服务 RAG管道:从检索到生成 Dify 2026的RAG能力是其区别于其他框架的重要特性: ...

2026-06-30 · 3 min · 486 words · 硅基 AGI 探索者
LangGraph 2026:图式Agent工作流的最佳实践

LangGraph 2026:图式Agent工作流的最佳实践

LangGraph 2026:图式Agent工作流的演进 LangGraph 自2024年首次发布以来,已经成为构建复杂Agent工作流的事实标准之一。2026年的LangGraph版本在状态管理、条件路由和并行执行方面实现了重大突破,使其从单纯的"有状态图执行引擎"进化为完整的Agent生产平台。 本文将基于我们在3个企业级项目中的实战经验,系统性地分享LangGraph 2026的最佳实践。 核心架构解析 状态图(StateGraph)设计 LangGraph的核心是StateGraph——一种基于TypedDict定义的有状态有向图。2026版本引入了分层状态空间(Hierarchical State Space): from langgraph.graph import StateGraph, START, END from typing import TypedDict, Annotated, Literal from langgraph.graph.message import add_messages import operator class AgentState(TypedDict): messages: Annotated[list, add_messages] # 分层状态:每个节点可访问独立的命名空间 context: dict[str, Any] # 聚合状态:多节点并行写入时自动合并 results: Annotated[list, operator.add] # 路由决策 next_node: str # 迭代计数器 iteration: int graph = StateGraph(AgentState) 与2025版本相比,2026版本的关键改进包括: 特性 2025版 2026版 状态合并 仅append 支持自定义reducer + 优先级合并 并行节点 静态扇出 动态扇出 + 条件汇聚 状态持久化 SQLite/Postgres 原生支持Redis + 向量DB 检查点粒度 节点级 操作级(细到函数调用) 时间旅行 基础回溯 分支时间线 + What-if分析 条件路由的最佳实践 条件路由是LangGraph最强大的特性之一。2026版本新增了路由函数链(Router Chain)模式: def route_by_complexity(state: AgentState) -> str: """根据任务复杂度路由到不同处理节点""" last_msg = state["messages"][-1] complexity = assess_complexity(last_msg.content) if complexity > 0.8: return "deep_reasoning" elif complexity > 0.4: return "standard_processing" else: return "quick_response" def route_by_domain(state: AgentState) -> str: """根据领域知识路由""" domain = state.get("context", {}).get("domain", "general") domain_map = { "finance": "finance_agent", "legal": "legal_agent", "tech": "tech_agent", "general": "general_agent" } return domain_map.get(domain, "general_agent") # 链式路由:先按复杂度,再按领域 graph.add_conditional_edges( "router", [route_by_complexity, route_by_domain], { "deep_reasoning": "reasoning_subgraph", "standard_processing": "processing_pool", "quick_response": "fast_responder", # 兜底路由 "default": "general_agent" } ) 生产级实践模式 模式1:人机协作(Human-in-the-Loop) 2026版本的interrupt机制更加成熟,支持多级审批流: ...

2026-06-30 · 2 min · 414 words · 硅基 AGI 探索者
LangGraph 2026:图式Agent工作流的最佳实践

LangGraph 2026:图式Agent工作流的最佳实践

LangGraph 2026:从DAG到动态图的演进 2026年的LangGraph已经从一个简单的有向无环图(DAG)编排工具,演进为支持动态拓扑、条件分支、循环回退的完整Agent工作流框架。在LangChain团队持续两年的迭代后,LangGraph 2026版本在生产稳定性、可观测性和分布式执行方面取得了突破性进展。 核心架构:StateGraph 2.0 LangGraph 2026的核心是StateGraph 2.0,相比2024年的初版,新版本在状态管理、节点通信和错误处理上做了全面重构。 状态管理新范式 from langgraph import StateGraph, GraphState from typing import TypedDict, Annotated from operator import add class AgentState(TypedDict): messages: Annotated[list, add] # 消息列表自动追加 current_task: str scratchpad: str iterations: int tool_results: dict confidence: float # 定义图 graph = StateGraph(AgentState) # 添加节点 graph.add_node("planner", plan_step) graph.add_node("executor", execute_step) graph.add_node("reviewer", review_step) graph.add_node("finalizer", finalize_step) # 条件边:根据审查结果决定路由 graph.add_conditional_edges( "reviewer", lambda state: "executor" if state["confidence"] < 0.85 else "finalizer", { "executor": "executor", # 置信度不足,重新执行 "finalizer": "finalizer" # 置信度达标,收尾 } ) # 设置最大迭代次数防止死循环 graph.set_max_iterations(10) app = graph.compile() 关键改进对比 特性 LangGraph 2024 LangGraph 2026 状态类型 基础字典 TypedDict + Annotated 循环支持 手动break 内置max_iterations 并行节点 不支持 原生扇出/扇入 状态持久化 内存/文件 Redis/PostgreSQL/自定义后端 分布式执行 单进程 原生多worker分布式 可观测性 基础日志 OpenTelemetry集成 流式输出 不支持 节点级流式 并行执行与扇出/扇入模式 2026版本最显著的改进是原生支持并行节点执行。这对于需要同时调用多个工具或多个LLM的Agent工作流至关重要。 ...

2026-06-30 · 2 min · 288 words · 硅基 AGI 探索者
LlamaIndex 2026:从RAG框架到Agent平台的转型

LlamaIndex 2026:从RAG框架到Agent平台的转型

LlamaIndex 2026:RAG之王的Agent转型 LlamaIndex(原GPT Index)最初是一个专注于RAG(检索增强生成)的框架。2024年,它是构建知识增强LLM应用的事实标准。但市场在变——单纯的RAG已经不够了,用户需要Agent:能够自主检索、推理、行动的智能体。2026年,LlamaIndex完成了从"RAG框架"到"Agent平台"的战略转型。 转型背景:为什么RAG不够了 RAG的局限 RAG能力 局限性 单轮检索 无法处理需要多步推理的复杂问题 静态知识库 无法实时更新和动态检索 被动回答 不能主动行动(发邮件、调API) 单一数据源 难以跨多个异构数据源联合查询 无任务规划 无法分解复杂任务为子任务 Agent化解决方案 传统RAG:用户提问 → 检索 → 生成回答 Agent化:用户提问 → 理解意图 → 规划任务 → 多步检索/行动 → 综合回答 AgentWorkflow:LlamaIndex的Agent编排引擎 2026版本引入了AgentWorkflow作为核心Agent编排组件: from llama_index.core.agent.workflow import ( AgentWorkflow, FunctionAgent, ReActAgent, RouterAgent ) from llama_index.core.tools import QueryEngineTool, ToolMetadata # 创建RAG工具 stock_engine = create_stock_query_engine() # 股票数据引擎 news_engine = create_news_query_engine() # 新闻数据引擎 report_engine = create_report_query_engine() # 财报数据引擎 # 定义工具 tools = [ QueryEngineTool( query_engine=stock_engine, metadata=ToolMetadata( name="stock_data", description="查询股票实时行情和历史数据" ) ), QueryEngineTool( query_engine=news_engine, metadata=ToolMetadata( name="news_data", description="搜索财经新闻和公告" ) ), QueryEngineTool( query_engine=report_engine, metadata=ToolMetadata( name="report_data", description="查询上市公司财报数据" ) ) ] # 创建专业Agent analyst_agent = ReActAgent( name="分析Agent", description="负责数据分析和技术指标计算", tools=[stock_engine, report_engine], llm=OpenAI(model="gpt-4o"), system_prompt="你是一位专业的金融分析师..." ) research_agent = ReActAgent( name="研究Agent", description="负责新闻搜集和信息检索", tools=[news_engine], llm=OpenAI(model="gpt-4o"), system_prompt="你是一位财经研究员..." ) writer_agent = FunctionAgent( name="撰写Agent", description="负责综合分析报告撰写", llm=OpenAI(model="gpt-4o"), system_prompt="你是一位专业的金融报告撰写人..." ) # 创建工作流 workflow = AgentWorkflow( agents=[analyst_agent, research_agent, writer_agent], root_agent=analyst_agent, # 主入口Agent max_steps=20, # 最大执行步数 max_time=180, # 最大执行时间(秒) ) # 执行 response = await workflow.run( "分析贵州茅台2025年年报,结合近期新闻,给出投资建议" ) Agent类型对比 Agent类型 决策方式 适合场景 灵活性 ReActAgent 推理-行动循环 需要多步推理的任务 高 FunctionAgent 直接函数调用 简单确定性任务 低 RouterAgent 路由到子Agent 需要分领域处理 中 CustomAgent 自定义逻辑 特殊需求 完全可控 数据代理:RAG的Agent化升级 LlamaIndex 2026提出了"Data Agent"概念——专门处理数据的智能Agent: ...

2026-06-30 · 3 min · 545 words · 硅基 AGI 探索者
鲁ICP备2026018361号