写完这份行业研报,我只用了8分钟。
不是因为我写得快,而是因为背后的Agent团队在疯狂运转。上周,我在搭建一套基于LangGraph新版的工作流,目标是解决传统研报生成中最大的痛点:Prompt太复杂,且一旦出错很难调试。
传统的做法是写一个巨大的System Prompt,让大模型同时扮演研究员、分析师和校对员。结果呢?模型经常“串台”,或者在长文本中丢失关键数据。更糟糕的是,当调研Agent抓取的信息有误时,整个链条都会崩塌。
现在的思路变了。正如《让客服 Agent 自己改 Prompt,先把评估流程搭好》里提到的,2026年的趋势是放弃手动维护庞杂的Prompt,转而构建可观测、可回滚的Agent工作流。多智能体编排(Multi-Agent Orchestration)不再是概念,而是实打实的生产力工具。
为什么“串联”比“堆砌”更有效?
在之前的《Agent账单失控前,企业要先装上“水表”》一文中,我们讨论过Agent的隐性成本。如果让一个全能型Agent去处理所有步骤,不仅Token消耗巨大,而且逻辑混乱。
我将研报生成拆解为三个独立的Agent,并通过LangGraph的状态机(State Machine)进行严格编排:
- 调研Agent(Researcher):只负责“看”。它连接外部API(如Bloomberg或内部数据库),抓取最新数据。输出物是结构化的JSON片段,包含时间戳、来源URL和原始数据。
- 分析Agent(Analyst):只负责“想”。它接收调研Agent的输出,结合预设的行业逻辑框架,生成初步的观点和图表建议。这里不再需要复杂的Prompt工程,只需要提供清晰的思维链(CoT)模板。
- 校对Agent(Editor):只负责“查”。它的任务是核对数据一致性、检查逻辑漏洞,并最终润色语言。如果发现问题,它会触发工作流回退到调研或分析阶段。
这种分工明确的结构,使得每个Agent都可以独立优化。比如,调研Agent可以选用擅长联网搜索的小模型(如100亿参数级的端侧模型,参考《百亿参数模型进手机,先改变这几种日常交互》中的趋势),而分析Agent则需要更强的推理能力,可以调用云端的大参数模型。
实操:用LangGraph构建状态流转
LangGraph的核心优势在于它对“循环”和“条件分支”的原生支持。在2026年,许多低代码AI平台(如CrewAI的高级版或自研的编排中间件)都借鉴了这一理念。
以下是简化后的代码逻辑示意:
from langgraph.graph import StateGraph, END
def research_node(state):
# 调用外部数据源
data = fetch_latest_data(state['topic'])
return {"research_results": data, "status": "analyzing"}
def analyze_node(state):
# 基于研究结果生成观点
analysis = generate_analysis(state['research_results'], state['framework'])
return {"analysis_draft": analysis, "status": "editing"}
def edit_node(state):
# 校对并格式化
final_report = polish_report(state['analysis_draft'])
return {"final_output": final_report, "status": "completed"}
# 构建图
workflow = StateGraph(ReportState)
workflow.add_node("research", research_node)
workflow.add_node("analyze