拆解Manus:真正有用的深度报告的生成

真正的深度研究报告不是让 AI "写"出来的,而是"研究"出来的。这两个字差别大了。

最近几个月,几个产品让我眼前一亮:Gemini Deep Research、Manus Wide Research,还有 OpenAI 的 Deep Research。它们都在做同一件事——让 AI 具备真正的"研究能力"。

这事儿得从"上下文窗口陷阱"说起。

一、上下文窗口陷阱

这个方案的巧妙之处在于规避了上下文窗口问题

传统方式是一个 Agent 处理所有任务,越往后上下文越拥挤,质量必然下降。而 Manus 的方式是每个 Agent 都从零开始,大家都是"满血"状态,不存在谁挤占谁的问题。

官方有个案例——研究 250 位 AI 研究员。

第 1 位到第 250 位,每位的详细程度都一样:完整的背景、研究方向、代表作、核心论文。这换成传统 AI 根本做不到——早就因为上下文爆炸而开始胡编乱造了。

技术实现细节

剥开产品外壳,Manus 的架构其实挺讲究的。核心思想来自一篇叫《CodeAct》的论文:让 AI 像程序员一样工作——写代码、运行代码、看结果、改代码、再运行。

ReAct 模式

每个 Agent 的执行逻辑是一个循环:观察(Observation)→ 思考(Thought)→ 行动(Action)→ 观察...不断迭代,直到任务完成。

这不是简单的"调用工具",而是边思考边行动。搜索结果不相关?换关键词。代码执行报错?检查原因、修改命令、重试。

1
2
3
┌─────────────────────────────────────────────┐
│ 观察 → 思考 → 行动 → 观察 → 思考 → 行动... │
└─────────────────────────────────────────────┘

沙箱隔离

每个 Agent 跑在独立的虚拟机环境里。这不是多线程,而是真正的隔离——独立的文件系统、独立的网络、独立的进程空间。

Manus 用了沙箱技术,这样就算某个 Agent 被诱导执行了危险命令,也影响不到其他 Agent 和宿主系统。

任务分解:DAG 结构

主 Agent 把复杂任务拆成有向无环图(DAG)。清楚知道哪些步骤可以并行,哪些必须等前置条件。

比如"研究 50 家风电公司"的执行图:

1
2
3
4
5
6
7
8
9
10
                [主 Agent:任务分解]

┌─────────┬─────────┼─────────┬─────────┐
↓ ↓ ↓ ↓ ↓
[Agent 1] [Agent 2] [Agent 3] ... [Agent 50]
研究公司1 研究公司2 研究公司3 研究公司50
↓ ↓ ↓ ↓ ↓
└─────────┴─────────┴─────────┴─────────┘

[主 Agent:结果汇总]

工具集

Manus 提供了 29 种工具,分成几类:

类别 工具示例 用途
命令执行 Shell、Python 执行任意代码和系统命令
文件操作 读写 txt/md/pdf/xlsx 处理各种格式的文档
网络能力 搜索、浏览器、端口部署 获取信息、部署服务
系统能力 进程管理、软件安装 配置运行环境

这些工具让 Agent 能真正"动手做事",而不是只会生成文本。比如研究一家公司,它可以:搜索公司官网、爬取财报数据、用 Python 分析财务指标、把结果写入表格。

动态质量检测

Manus 不是按预设流程走到黑。每次执行完一个步骤,都会判断:结果可信吗?需要调整方向吗?

1
2
3
4
def quality_check(result):
if result.confidence < 0.7:
trigger_self_correction()
return generate_validation_report()

代码执行报错?调整命令重试。搜索结果太少?换搜索引擎或关键词。这种自我纠错能力,让它在遇到问题时不会死磕,而是会寻找替代方案。

状态管理

每个任务维护一个 todo.md 文件,实时更新进度:

1
2
3
4
5
6
7
8
9
# TODO

{% asset_img cover.png %}

- [x] 收集公司列表
- [x] 研究前 10 家公司
- [ ] 研究中 30 家公司
- [ ] 研究后 10 家公司
- [ ] 汇总分析报告

这样做的好处是:任务中断后可以恢复;用户随时能看到进展;中间结果有地方存储,不会丢失。

当然这些分析都是我们基于Manus的产品、宣传资料和外部人员的分析做的推测,我们实际并不知道Manus内部的方案。仅供分析和学习。

四、真正的"研究"是什么?

看这些产品,我发现一个有趣的共通点:它们都在模仿人类研究员的工作方式。

人类研究员怎么做深度报告?

  • 首先规划:这个问题要从哪些角度分析?需要哪些数据?
  • 然后执行:找数据、读文献、做访谈、整理信息。
  • 最后综合:把零散的信息组织成有逻辑的故事。

关键在于,这不是一次性能完成的。需要反复迭代——查了资料发现方向不对,得换方向;分析到一半发现缺数据,得补数据。

传统的 LLM chat 模式,本质上是一次性生成。给你个 prompt,你吐出结果。这是"写作",不是"研究"。

真正的深度研究 agent,应该具备:

① 规划能力:能理解任务,制定研究策略,知道先查什么后查什么。

② 工具能力:会用搜索引擎、读数据库、解析文档,不只是从训练数据里抠信息。

③ 迭代能力:能根据中间结果调整方向,不是按预定流程走到黑。

④ 验证能力:能交叉验证信息来源,不是捡到什么信什么。

⑤ 综合能力:能把碎片信息拼成完整故事,不是简单的信息罗列。

Gemini Deep Research 和 Manus Wide Research,本质上都是在往这个方向努力。只是侧重点不同——前者重"深",后者重"广"。

五、一些思考

高质量的资料源

就像研究员一样,要想生成高质量的报告,必须要有高质量的数据源作为基础。

如上面提到过的,这方面搜索引擎具有优势,他们拥有全面性,时效性高的搜索资料。

一些专业的网站也有行业方面的专业资料,比如金融领域相关的,IT技术相关的、白酒方面相关的
电商方面相关的,旅游行业相关的、出行方面相关的、法律行业相关的,科普方面相关的,他们能够提供垂类专业的资料,如果要生成这方面的报告,找这些行业相关的网站信息是最好的。当然如果这些资料是公开的,可以通过搜索因为+专业的搜索词进行搜索获取,所以搜索引擎的重要性在AI的深度调研报告生成中占很重要的地位。

但是搜索引擎并不轻易把它的能力无偿的暴露出来,比如谷歌,它提供付费的搜索API,价格不低。Bing已经把它的搜索API下掉了。还有一些第三方的服务,或许是通过爬虫的方式进行搜索,比如Travily、Brave、SerpAPI等,也提供收费的服务。总的来说,好东西都是有价格的。这些搜索引擎增加了反爬虫的机制,我几个月前还能绕过这些限制,现在也不行了,他们都很聪明,不会轻易让你免费使用的。

从 Manus网站的输出来看,我怀疑它们买了某个或者某几个服务器服务商的服务,可以针对用户的请求,得到搜索引擎的列表 (SERP), 这是猜测,前端并看不出来,因为它们并不可能去做个搜索引擎。专业的人做专业的事。它们拿到搜索结果列表后,通过它们的AI浏览器,也就是虚拟机的浏览器去浏览网络,获取网页的内容。它们叫cloud browser,应该是基于browserbase开发的。沙盒技术和Browser我放在下一个拆解文章中在再专门介绍,这一篇还是专门关注调研报告的实现。

识别用户的意图

专业的用户会提供详细的、简洁的、对 AI 友好的提示词,但是大部分用户并不能很好的表达自己的意图,比如:

请帮我分析Apple的市场行情

这里的Apple指的是苹果电脑公司还是水果苹果🍎呢?非常有歧义。还有的提示词含糊不清。在Insight的实现在,我们首先实现的就是对用户的提示词进行澄清。理论上对于非常模糊的提示词,比如Apple这里例子,我们需要进一步询问用户,反问用户的意图,但是Insight还没进一步的实现这个功能,而是自动进行澄清,它是怎么实现的呢?

生成报告大纲

接下来专门有个agent(StructurePlannerNode)负责生成报告的节点,主要确定报告的主要大纲和方向。

区分报告的种类进行规划搜索任务

接下来针对报告的大纲, Planner Agent针对金融投资领域、技术开发领域、商业分析领域、政策相关领域、通用领域等各种领域制定搜索计划,为每个章节搜索足够的信息备用。

执行搜索

Search Agent 会根据搜索计划,逐步实现相关内容的搜索。

它会根据项目提供的工具,进行搜索。目前提供了travily、github、谷歌学术、知乎、微信公众号等网站的搜索,我其实还是期望能直接搜索google的搜索结果和一些顶级的专业网站的搜索内容。

搜索的结果内容如果太长,还会对它们进行summary,以便压缩上下文。

此节点还会针对每个章节进行内容的总结。

现在万事俱备了,所有的大纲和材料都准备好了,可以进行报告的编写了。有请 ContentWriter Agent。

内容的编写

ContentWriter 负责报告的编写,它根据大纲和材料进行内容的创作。

说起创作来,针对内容创作的场景,我们为了提高创作产品的质量,经常采用Reflection模式,针对生成的内容进行打分,要不要进行优化。

所以这个Agent生成后,会调用Reflector Agent进行打分,以便决定要不要调用Revisor节点进行订正。你看报告生成的日志也能观察到这一点。

除非生成的报告片段达到了“优”的级别,否则就会尝试补充和订正,直到达到了 5 轮的反复订正才算通过。

所以你会看到Insight生成的报告的质量还是很高的,不像一个玩具或者示例deep research产品的报告那么简略或者偏离主题。

Reportor Agent

最后这个Agent把各个章节合在一起,生成一个完整的markdown的报告。

会生成合理的章节,并进行编号。

另外还有的Podcast Agent,可以生成播客的脚本。如果用户请求中要求生成播客,那么此Agent就会自动生成。

工作流程

完整的工作流 (graph)如下:

工程开发

报告中缺乏图表,可以加强数据的采集和图表的展示。

报告中缺乏图片的润色,网上搜索的图片经常文不对题,不过我已经有方案了。


参考资料: