Skip to content

02 五大引擎关键组件设计

学习理念:这一篇深入每个引擎的内部设计。每个引擎都是一个独立的 LangGraph 工作流,有相同的"搜索→总结→反思→再搜索→格式化"循环模式。理解了这个循环模式,你就掌握了本项目所有引擎的通用骨架。


📖 阅读优先级

等级章节说明
🔴 必须理解通用工作流模式每个引擎都用的搜索→总结→反思循环
🟡 理解即可各引擎差异Insight/Media/Query 的搜索策略不同
🟢 了解即可Forum/Report讨论和报告生成,了解流程即可

一、通用工作流模式

🔴【必须理解】 每个研究引擎(Insight/Media/Query)都使用相同的 7 阶段工作流:

generate_structure → initial_search → initial_summary
    → reflection_search → reflection_summary → format_report → save_report
阶段做什么是否调 LLM
generate_structure规划报告段落结构(输出 JSON)
initial_search根据段落目标生成搜索 query
initial_summary根据搜索结果为段落写初稿
reflection_search发现初稿不足,补充搜索
reflection_summary根据补充结果更新段落
format_report整理成最终 Markdown 报告
save_report保存文件

核心思路:先规划结构 → 再逐段搜索 → 初稿 → 反思不足 → 再搜索 → 更新 → 格式化。这个模式比"直接让 LLM 写"质量更高,因为有"反思"环节。


二、InsightEngine——舆情情感分析

维度说明
数据来源本地舆情数据库(爬虫采集)
核心能力情感分析、主题聚类、关键词提取
输出公众态度报告、情绪分布、争议点分析

典型节点 prompt 示例(generate_structure):

python
SYSTEM_PROMPT_REPORT_STRUCTURE = """
你是一位深度研究助手。给定一个查询,你需要规划一个报告的结构和其中包含的段落。
最多5个段落。确保段落的排序合理有序。
一旦大纲创建完成,你将获得工具来分别为每个部分搜索网络并进行反思。
确保输出是一个符合上述输出JSON模式定义的JSON对象。
只返回JSON对象,不要有解释或额外文本。
"""

输出示例:

json
[
  {"title": "公众情绪总览", "content": "分析整体情绪倾向、情绪强度和时间变化"},
  {"title": "热点话题聚类", "content": "识别讨论最集中的话题和子话题"},
  {"title": "争议焦点", "content": "分析不同群体之间的观点分歧和争议点"}
]

三、MediaEngine——媒体传播分析

维度说明
数据来源网络搜索工具(公开网页、新闻媒体)
核心能力媒体来源识别、传播路径分析、报道角度比对
输出媒体分析报告、传播链路、报道差异分析

MediaEngine 需要回答的问题:

问题说明
哪些媒体在报道识别官方媒体、市场化媒体、自媒体的不同来源
媒体怎么报道分析不同媒体的报道角度和叙事框架
信息如何扩散梳理首发来源、扩散节点、关键传播者
报道是否存在分歧对比不同媒体之间的共识和争议
后续风险是什么判断话题未来发酵方向

四、QueryEngine——事实核验查询

维度说明
数据来源权威站点、官方信息源
核心能力搜索引擎优化、信息交叉验证、来源可信度评级
输出事实核验报告、官方信息汇总

搜索优化:QueryEngine 使用了搜索优化策略,通过生成精确的搜索 query 来获取高质量结果,而不是简单搜索。


五、SearchService——多引擎并行编排

🟡【理解即可】 SearchService 负责同时启动三个引擎,收集结果。

用户请求 → SearchService

    ├── 启动 InsightEngine(异步)
    ├── 启动 MediaEngine(异步)
    ├── 启动 QueryEngine(异步)

    └── 等待所有引擎完成 → 收集三份报告

每个引擎独立运行,互不阻塞。全部完成后触发 ForumEngine。


六、ForumEngine——专家论坛讨论

🟡【理解即可】 ForumEngine 模拟一群专家围坐讨论舆情事件。

工作流程

三引擎报告完成 → ForumEngine 读取各引擎摘要

    ├── 主持人角色:"各位专家,请对以下舆情事件发表看法"
    ├── 专家1(Insight视角):"从公众情绪来看..."
    ├── 专家2(Media视角):"从媒体报道来看..."
    ├── 专家3(Query视角):"从事实核验来看..."

    └── 多轮讨论 → 主持人总结 → 输出论坛纪要

七、ReportEngine——报告生成

🟢【了解即可】 ReportEngine 汇总所有信息,生成最终报告。

流程

三引擎报告 + 论坛纪要 → ReportEngine

    ├── 提取关键发现
    ├── 结构化组织(背景→分析→结论→建议)
    ├── 渲染 HTML/Markdown 模板
    └── 输出最终报告文件

八、三个引擎的分工对比

维度InsightEngineMediaEngineQueryEngine
关注对象公众讨论和评论观点媒体报道和传播路径权威事实和官方信息
数据来源本地舆情数据库网络搜索工具权威站点、新闻搜索
输出重点公众态度、情绪、争议点媒体叙事、传播链路事实核验、来源可信度
搜索策略数据库查询通用网络搜索精准搜索优化

九、本阶段文件索引

优先级文件路径
🔥 P002_关键组件设计讲解.md1.笔记/课件/
🔥 P005_MediaEngine与QueryEngine及ForumEngine构建.md1.笔记/课件/
🟡 P103_项目编码实战.md1.笔记/课件/
🟡 P104_项目脚手架与单引擎工作流构建.md1.笔记/课件/

OPC 超级个体实战指南