天池 Research Agent 挑战赛 复赛第13名方案
生产级多智能体共识系统,实现深度研究与事实核验,支持自动化多源证据收集。
小白第一次接触Agent赛道,由于时间问题,并没有用代码流,后续可改成代码流以获取更高自由度
- 赛事:阿里云天池 - Search Agent 挑战赛
- 成绩:复赛 第13名
- 核心方案:基于多智能体共识的深度搜索框架
| 特性 | 说明 |
|---|---|
| 🧠 多模型共识架构 | 三重并行推理,具备冲突检测与解决能力 |
| 🔍 多引擎搜索集成 | 阿里云 IQS、Google、PubMed、arXiv、Bocha 统一调度 |
| 📚 学术源验证 | 自动检测并检索科学论文 |
| 🌐 知识图谱集成 | 百度百科实体抽取与验证 |
| 🔄 迭代深度研究 | 自纠错循环,最多支持 8 轮验证迭代 |
| ⚖️ 证据权重系统 | 基于来源可靠性的分级(官方 > 学术 > 新闻 > 社交) |
| 🎯 格式感知输出 | 尊重用户指定格式(仅数字、英文名等) |
┌─────────────────────────────────────────────────────────────────┐
│ 输入层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ 问题 │ │ 对话历史 │ │ 搜索历史 │ │
│ └──────┬──────┘ └─────────────┘ └─────────────────────────┘ │
└─────────┼────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 并行推理层(3路) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 推理器 #1 │ │ 推理器 #2 │ │ 推理器 #3 │ │
│ │ (深度思考) │ │ (深度思考) │ │ (深度思考) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ └────────────────┼────────────────┘ │
└──────────────────────────┼──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 共识与冲突检测层 │
│ ┌─────────────────────────────┐ │
│ │ 跨模型共识仲裁 │ │
│ │ 评判节点 │ │
│ └─────────────┬───────────────┘ │
│ │ │
│ ┌─────────────┴───────────────┐ │
│ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────────┐ │
│ │ 达成共识 │ │ 发现冲突 │ │
│ │ → 直接输出答案 │ │ → 进入搜索循环 │ │
│ │ │ │ │ │
│ └─────────────────┘ └──────────┬──────────┘ │
└───────────────────────────────────────────┼────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 🔁 迭代研究循环(最多8轮) │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 步骤 1:搜索策略生成 │ │
│ │ • 交叉验证查询(A vs B对比) │ │
│ │ • 溯源查询(官方文档、论文) │ │
│ │ • 时效对齐(最新版本) │ │
│ └────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────▼────────────────────────────────┐ │
│ │ 步骤 2:多引擎并行搜索 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌─────────┐ ┌──────────────┐ │ │
│ │ │阿里云 IQS│ │ Google │ │ PubMed │ │ arXiv │ │ │
│ │ │ (网页) │ │(SerpAPI) │ │ (医学) │ │ (论文) │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬────┘ └──────┬───────┘ │ │
│ │ └─────────────┴────────────┴─────────────┘ │ │
│ └────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────▼────────────────────────────────┐ │
│ │ 步骤 3:证据提取与核验 │ │
│ │ • 网页内容抓取(Jina AI) │ │
│ │ • 百度百科实体验证 │ │
│ │ • 信息提纯(基于LLM) │ │
│ │ • 原子化事实提取(JSON) │ │
│ └────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────▼────────────────────────────────┐ │
│ │ 步骤 4:冲突解决与决策 │ │
│ │ • 按来源可靠性加权 │ │
│ │ • 缺口分析 │ │
│ │ • 继续搜索 或 结束并输出答案 │ │
│ └────────────────────────┬────────────────────────────────┘ │
│ │ │
│ └──────────┐ │
│ │ │
│ ┌───────▼────────┐ │
│ │ 循环条件 │ │
│ │ • 最多8轮迭代 │ │
│ │ • finish 指令 │ │
│ └───────┬────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ ▼ │ ▼ │
│ ┌──────────────┐ │ ┌──────────────┐ │
│ │ 继续循环 │◄─────────┘ │ 结束循环 │ │
│ │ │ │ 输出答案 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 最终答案合成层 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ • 格式合规检查(仅数字、英文等) │ │
│ │ • 零废话输出(无"答案是...") │ │
│ │ • 语言与原问题保持一致 │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
| 节点名称 | 类型 | 描述 |
|---|---|---|
start |
输入 | 接收问题、对话历史、搜索历史 |
builtin_llm_7elZ/3DOK/QjFV |
LLM | 并行推理引擎(启用思考模式) |
builtin_llm_cngJ |
LLM | 共识仲裁者 - 检测推理器之间的冲突 |
python_qCQ7 |
解析器 | 提取 JSON 决策数据 |
condition_Wrtw |
条件分支 | 路由至搜索循环或直接输出 |
loop_R4iy |
循环 | 迭代研究循环(最多 8 轮) |
builtin_llm_WT1d |
LLM | 搜索策略生成器(三维验证) |
python_OQEC |
工具 | Bocha 网页搜索 |
python_hoyi |
工具 | 通过 Jina AI 抓取网页内容 |
python_EjsE |
工具 | 百度百科实体爬取 |
python_789c/GrFW |
工具 | 学术论文搜索(PubMed + arXiv) |
builtin_llm_bp3Y |
LLM | 决策者(继续搜索 / 结束任务) |
builtin_llm_3xoL |
LLM | 最终答案合成(格式合规检查) |
python_5ciE |
工具 | 输出清洗(移除括号/多余标点) |
end |
输出 | 最终答案交付 |
问题:单一模型推理容易产生幻觉或过度自信,难以判断自身输出的可靠性。
方案:三模型并行推理 + 仲裁节点
- 三个独立推理器同时分析问题
- 仲裁节点检测模型间分歧
- 共识 → 直接输出;分歧 → 触发证据收集
优势:
- 自然置信度估计(一致性越高,置信度越高)
- 减少事实验证中的假阳性
- 不确定性自动触发搜索,无需人工干预
当模型出现分歧时,系统生成针对性搜索查询:
| 维度 | 查询模式 | 目的 |
|---|---|---|
| 交叉验证 | A vs B、X和Y的区别 |
强制搜索引擎找对比页面 |
| 溯源验证 | 官方文档、白皮书 |
找原始来源,而非摘要 |
| 时效对齐 | 2025、最新版本 |
区分版本相关的事实 |
官方文档 > 学术论文 > 权威新闻 > 普通网页 > 社交媒体
决策 LLM 按来源类型加权,而非单纯按出现频率。
# 线索累积(跨迭代)
existing_clues + new_extracted_clues → merged_clues
# 搜索历史(防重复)
existing_history + current_queries → merged_history
# 去重保持顺序(确定性输出)# 必需
export DASHSCOPE_API_KEY="your-dashscope-api-key"
export ALIYUN_IQS_KEY="your-aliyun-iqs-key"
# 可选(增强搜索能力)
export SERPAPI_KEY="your-serpapi-key"
export BOCHA_API_KEY="your-bocha-key"编辑 flow.dag.yaml 自定义配置:
# 最大研究迭代次数(默认:8)
max_iterations: 8
# 使用的 LLM 模型
reasoning_model: qwen3.5-plus # 深度思考
search_model: qwen-plus # 搜索与提取
synthesis_model: qwen3.5-plus # 最终答案合成
# 搜索限制
web_search_limit: 3 # 每个关键词的结果数
academic_search_limit: 5 # 每轮查询的论文数Q: "第一代 iPhone 什么时候发布的?"
A: 2007
处理流程:
• 3 个推理器独立得出 2007 年的结论
• 达成共识,无需搜索
• 直接输出:2007
Q: "Arthur Miller 的妻子工作的俱乐部的英文名是什么?"
处理流程:
• 推理器识别出:Arthur Miller 的妻子 → Inge Morath
• 关于她的工作地点存在分歧
• 激活搜索循环:
- 搜索:"Inge Morath 工作地点 俱乐部"
- 发现:Bimbo's 365 Club
- 通过多个来源验证
• 最终答案:Bimbo's 365 Club
Q: "DeepSeek-V3 的 MoE 架构中激活参数量是多少?"
处理流程:
• 推理器意见分歧(236B vs 671B)
• 触发学术搜索:
- PubMed:无结果(非医学主题)
- arXiv:发现 DeepSeek-V3 技术报告
- 提取:每 token 37B 激活参数,总计 671B
• 最终答案:37B 激活参数
官方文档 > 学术论文 > 权威新闻 > 普通网页 > 社交媒体
- ❌ "答案是..."
- ❌ "根据我的研究..."
- ❌ "据资料显示..."
- ✅ 直接的事实陈述
- 遵循显式格式要求("仅数字"、"英文名")
- 默认使用问题原始语言
- 处理特殊格式("X and Y"、姓名格式等)
当模型出现分歧时:
1. 确定分歧的具体点
2. 生成针对性搜索查询
3. 按来源可靠性加权证据
4. 获得新证据后重新评估
5. 迭代直至达成共识或达到最大轮次
.
├── flow.dag.yaml # 主工作流定义(阿里云百炼)
├── config/
│ └── application.yaml # 应用配置
├── python_*.py # 工具节点
│ ├── python_qCQ7.py # JSON 共识提取器
│ ├── python_EjsE.py # 百度百科爬虫
│ ├── python_hoyi.py # Jina AI 网页抓取
│ ├── python_789c.py # PubMed 学术搜索
│ ├── python_GrFW.py # arXiv 学术搜索
│ ├── python_OQEC.py # Bocha 网页搜索
│ ├── python_iz5n.py # 线索合并(列表版)
│ ├── python_VzdU.py # 线索合并(字符串版)
│ ├── python_MSdF.py # 搜索历史管理
│ └── python_5ciE.py # 输出清洗
├── README.md # 英文文档
├── README_CN.md # 中文文档(本文件)
└── requirements.txt # 依赖
- DashScope - LLM API 提供商
- 阿里云 IQS - 网页搜索集成
- SerpAPI - Google 搜索 API
- Jina AI - 网页内容提取
- PubMed - 医学文献数据库
- arXiv - 科学论文仓库
- Bocha - 中文网页搜索 API
MIT License - 详见 LICENSE 文件
🔍 DeepResearch Agent - 证据驱动真理
天池 Research Agent 挑战赛 2024 - 复赛第13名