MiroThinker
面向复杂检索、证据整理与预测问题的可部署深度研究智能体。
- Star 数
- ★ 8.4k
- 最近更新
- 7 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 27/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 研究分析师需要在多个网页和资料中查找证据、执行小段代码并形成带来源回答时,可用 1.7 的单智能体配置。
- 不适合
- 没有多张 GPU 或模型服务器、只能依赖云端 API 的个人用户
- 希望开箱即用、不愿配置 Serper、Jina、E2B 等多个第三方密钥的团队
- 需要稳定 HTTP 服务接口而非命令行与 YAML 工作流的集成方
这个 Agent 能做什么,适合哪些场景?
MiroThinker 是一个开源深度研究智能体项目,核心运行入口位于 apps/miroflow-agent,并以工具调用驱动多步研究任务。其最新 1.7 系列提供 30B 和 235B 两种模型,均支持 256K 上下文;推荐配置将单智能体限制为 200 或 300 轮,并保留最近 5 条工具结果。默认最小工具组合覆盖 Google 搜索、网页抓取与摘要、以及 E2B 沙箱中的代码执行和文件操作。项目还提供 GAIA、BrowseComp、HLE、FutureX 等基准的多次运行脚本、进度检查脚本和轨迹采集脚本。采用它意味着需要自行部署或连接模型服务,并准备多项第三方 API 凭据。
用户在 apps/miroflow-agent 中运行 main.py,并通过 llm、agent 和 llm.base_url 指定模型与智能体配置。以 mirothinker_1.7_keep5_max200 为例,主智能体调用 search_and_scrape_webpage 的 google_search、jina_scrape_llm_summary 的 scrape_and_extract_info,以及 tool-python 的 create_sandbox、run_command、run_python_code、文件上传下载等能力;它据此搜索网页、提取内容、按需运行代码并输出带来源的回答。配置中的 keep_tool_result: 5 仅保留最近 5 个工具响应,同时保留完整的思考与动作序列。评测可通过 scripts/run_evaluate_multiple_runs_*.sh 执行,并由 benchmarks/check_progress/ 下的脚本检查日志进度。
- 研究分析师需要在多个网页和资料中查找证据、执行小段代码并形成带来源回答时,可用 1.7 的单智能体配置。
- 需要复现实验结果的研究团队可运行 GAIA、BrowseComp、HLE、XBench-DeepSearch 或 FutureX 的多次评测脚本。
- 拥有自托管 MiroThinker 模型服务的团队,可用 SGLang 启动服务后把本地端点传给 llm.base_url。
- 希望比较研究工作流表现的工程团队,可在同一框架中以 Claude 3.7 或 GPT-5 配置运行首个任务。
- 需要为 SFT 或 DPO 准备智能体交互数据的开发者,可在 apps/collect-trace 中运行对应的轨迹采集脚本。
如何安装或部署这个 Agent?
前置条件是 Python 3.10+、uv,以及最小配置所需的 SERPER_API_KEY、JINA_API_KEY、E2B_API_KEY 和 SUMMARY_LLM_BASE_URL、SUMMARY_LLM_MODEL_NAME、SUMMARY_LLM_API_KEY。执行:
git clone https://github.com/MiroMindAI/MiroThinker
cd MiroThinker/apps/miroflow-agent
uv sync
cp .env.example .env然后在 .env 中填写上述凭据。若要运行基准评测,还需 OPENAI_API_KEY;GAIA 多模态预处理与 LLM-as-a-Judge 使用该密钥。
如何使用这个 Agent?
先启动模型服务。例如服务 MiroThinker-1.7-mini:
NUM_GPUS=4
PORT=61002
AGENT_PATH=miromind-ai/MiroThinker-1.7-mini
python3 -m sglang.launch_server --model-path $AGENT_PATH --tp $NUM_GPUS --dp 1 --host 0.0.0.0 --port $PORT --trust-remote-code随后在 apps/miroflow-agent 运行:
uv run python main.py llm=qwen-3 agent=mirothinker_1.7_keep5_max200 llm.base_url=http://localhost:61002/v1默认问题位于 main.py 第 32 行的 task_description,可替换为自己的问题。BrowseComp 与 BrowseComp-ZH 评测应改用 mirothinker_1.7_keep5_max300;其他列出的 1.7 基准使用 max200 配置。
这个 Agent 有哪些优点和局限?
- 1.7 提供 256K 上下文与最多 300 次工具交互,适合需要长链检索和多步操作的任务。
- 最小配置明确组合了 Serper 搜索、Jina 抓取摘要和 E2B 代码/文件沙箱,研究流程所需的外部操作边界清晰。
- 提供覆盖多个研究基准的运行、进度检查和污染防护说明,便于做可重复的评测。
- 可通过配置在同一框架中运行自托管 MiroThinker、Claude 3.7 或 GPT-5。
- 最小可用部署依赖 Serper、Jina、E2B 和摘要模型端点,需管理多套密钥、配额与网络可用性。
- 运行 MiroThinker-1.7 需要自行提供模型服务;示例 SGLang 配置使用 4 张 GPU。
- 基准评测额外依赖 OpenAI API;GAIA 多模态任务会用 GPT-4o 将媒体预处理为文本。
- 公开的主流程以命令行和 YAML 配置驱动,未在材料中提供面向最终用户的稳定 HTTP 服务接口说明。
这个 Agent 与同类方案有什么区别?
项目提供了 Claude 3.7 与 GPT-5 作为同一 MiroFlow 工作流中的可选运行配置;MiroThinker 1.7 则以自托管模型服务配合其研究型工具配置运行。README 还将早期版本的基准结果与 OpenAI Deep Research、Gemini Deep Research、Kimi-Researcher 等公开结果并列,但未提供这些替代方案的可互换部署实现。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| MiroThinker 当前 | 27 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 8.4k | 7 个月前 | Python | OpenAI API · Claude API |
| 通义深度研究 | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 20k | 8 个月前 | Python | — |
| GPT Researcher | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 31k | 26 天前 | Python | Claude.ai · OpenAI API |
| Bright Data MCP | 64 · 存在缺口 | MCP 服务器免费版 + 付费版 | ★ 2.7k | 1 天前 | JavaScript | Claude Code · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均未得到支持,因此评分为0。
自洽性:README中性能数字存在不一致(如描述中88.2与表格中74.0),且版本信息混乱,评分为1。依赖可用性:依赖外部HuggingFace资源,但未提供版本锁定或镜像,评分为1。失败消息:未提供错误处理或失败消息的文档,评分为0。
受众与场景:明确面向研究任务,提供多种模型规模,评分为2。能力边界:提及最大上下文和工具调用次数,但未明确限制,评分为1。触发精度:未定义触发机制,评分为0。环境适配:提供部署选项,但未详细说明环境要求,评分为1。
信息架构:README结构清晰,包含目录和章节,评分为2。安装说明:提供快速开始链接,但未提供详细安装步骤,评分为1。命名稳定性:模型命名有版本号,但存在不一致,评分为2。示例与FAQ:提供FAQ链接,但未提供具体内容,评分为2。已知限制:未明确列出限制,评分为1。许可证:Apache-2.0,评分为2。版本与变更日志:有新闻更新,但无正式变更日志,评分为2。维护责任:未明确维护者,评分为1。
输出可用性:未提供输出格式或示例,评分为1。边际价值:提供多种模型规模和基准测试,但未与现有方案对比,评分为2。成本效益:未提供成本信息,评分为1。
声明可追溯性:性能声明有基准测试链接,但未提供复现细节,评分为1。跨来源佐证:仅依赖自身报告,未提供独立验证,评分为1。事实与推断分离:未区分事实与推断,评分为0。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 性能数字不一致,需核实。
- 未提供安全与隐私相关文档。
- 依赖外部资源,需注意可用性。