news 2026/9/18 13:46:27

Manus:基于多智能体的可执行AI Agent工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Manus:基于多智能体的可执行AI Agent工作流

简介:本资源是面向AI开发者、数据分析师与商业智能从业者的《2025 Manus学习手册》,系统讲解中国Monica团队研发的通用AI智能体平台Manus的核心理念、多智能体架构(MAS)原理及全流程自动化能力。手册深入解析Manus如何自主理解任务、调用浏览器/代码编辑器等虚拟工具完成市场调研、股票分析、旅行规划、教育内容生成等复杂场景,并附内测申请方式与多个真实案例演示。资源为单文件PDF,共1个19.3MB文档,内容结构清晰,涵盖产品定位、技术机制、八大典型应用场景及注册使用指引。已有875人学习下载,读者可直接获取GAIA基准测试对比数据、创始人‘少结构,多智能’设计哲学阐释、Manus与Deep Research等主流Agent的性能差异分析,以及从任务创建到结果交付的完整操作逻辑图谱。

1. Manus不是聊天框,是能自己开浏览器、写代码、生成PPT的“数字手”

你输入“帮我分析特斯拉股票并生成带图表的PDF报告”,传统大模型只会返回一段文字描述——而Manus会立刻在虚拟环境中打开浏览器搜索财报、调用Python爬取雅虎财经数据、用Plotly画出K线与情绪热力图、用Jinja2模板渲染HTML、再转成PDF发给你。它不解释怎么做,它直接做完。这不是LLM加个插件的缝合怪,而是基于多智能体系统(Multiple Agent System)构建的可执行任务闭环体:规划层拆解目标为待办清单(todo.md),研究层调用Browser Use深度检索网页(单次抓取23条结果并截图留痕),执行层在隔离虚拟机中运行终端命令、操作网页DOM、生成/保存/调试代码文件,最后由记忆层持续更新结构化任务状态。目前它已在GAIA基准测试中跑出40%+准确率,远超GPT-4-Turbo的7%,成为首个在真实复杂任务链上验证可行的通用AI Agent。适合需要把模糊需求快速落地为可交付成果的商业分析师、教育工作者、创业者——尤其当你凌晨三点提交“整理YC W25所有B2B公司名单并标注技术栈”,早上醒来邮箱里已有一份带超链接和筛选功能的Excel。

2. 多智能体协同机制:从todo.md规划到Browser Use执行的全链路拆解

2.1 规划层:用结构化Markdown替代长上下文记忆

Manus抛弃了主流Agent依赖的“滚动式Prompt记忆”方案,转而将任务规划固化为todo.md文件。该文件并非简单待办列表,而是具备状态标记、优先级嵌套、子任务依赖关系的轻量级项目管理结构。例如日本旅行规划任务生成的初始todo.md

# 7-Day Japan Itinerary with Proposal Ideas ## [ ] Research Kyoto historical sites (priority: high) - [ ] List UNESCO World Heritage sites in Kyoto - [ ] Identify hidden gems near Fushimi Inari - [ ] Check accessibility for proposal setup ## [ ] Compare accommodation options (priority: medium) - [ ] Filter ryokan with English support & private onsen - [ ] Cross-reference prices on Booking.com & Japanese platforms - [ ] Verify cancellation policy for last-minute changes ## [ ] Generate HTML travel handbook (priority: low) - [ ] Embed interactive map (Google Maps API) - [ ] Add essential Japanese phrases with audio links - [ ] Include packing checklist for spring weather

提示:Manus每次完成子任务后,会自动将对应行标记为[x]并追加执行摘要(如[x] Scraped 12 ryokan listings from Booking.com (2025-03-28T14:22:03Z))。这种设计规避了LLM上下文窗口衰减问题,让长期任务具备可审计性。

2.1.1 todo.md的生成逻辑与人工干预点

系统通过LLM对用户原始指令进行三阶段解析:

  1. 意图识别:区分核心目标(“生成旅行手册”)与约束条件(“4月15-23日”“预算2500-5000美元”“含求婚场景”);
  2. 任务分解:调用内置规则引擎匹配知识图谱(如“日本文化体验”→关联茶道/剑道/禅修场所数据库);
  3. 优先级排序:基于时间敏感性(签证办理需前置)、外部依赖(酒店价格需实时抓取)、失败风险(网页反爬可能中断)动态调整priority标签。

人工可干预的关键节点在于:

  • 在任务创建界面手动修改todo.md中的priority值(如将“求婚场所调研”从medium提至high);
  • 删除冗余子任务(如发现用户已提供酒店名单,可删去“Compare accommodation options”整节);
  • 添加跨任务依赖(在Generate HTML...节末尾插入depends-on: Research Kyoto historical sites)。

2.2 研究层:Browser Use协议实现可控网页交互

Manus的Browser Use模块并非简单调用Selenium,而是封装了三层抽象:

  • 语义层:将用户指令(如“找奈良鹿公园最佳求婚地点”)转化为结构化查询参数(location="Nara Park",purpose="proposal",filter=["scenic", "private", "photo-friendly"]);
  • 协议层:通过自研WebDriver代理发送原子化操作指令(scroll-to-element,click-selector,extract-text-css),每步操作均生成带时间戳的截图存档;
  • 容错层:当页面加载超时或元素未找到时,自动触发备选路径(如切换至Google Maps搜索替代官网查询)。
2.2.1 Browser Use的典型操作序列与参数说明

以股票分析任务中“获取特斯拉最新季度财报”为例,其执行流程如下:

# 步骤1:启动无头浏览器并导航至SEC官网 browser launch --headless --timeout 30s browser navigate https://www.sec.gov/edgar/search/ # 步骤2:填充搜索表单(使用CSS选择器精确定位) browser fill "input#company" "Tesla, Inc." browser select "select#date-range" "Last 3 months" browser click "button[type='submit']" # 步骤3:解析结果页并定位10-Q文件(XPath确保稳定性) browser wait-for "div#results div.document-row" browser extract xpath "//div[contains(text(),'10-Q')]/following-sibling::div/a/@href" > filing_url.txt # 步骤4:下载PDF并校验(MD5防传输损坏) browser download "$(cat filing_url.txt)" --output tesla-q1-2025.pdf md5sum tesla-q1-2025.pdf | grep -q "a1b2c3d4" && echo "✓ Valid SEC filing"

注意:browser fill命令中的input#company采用ID选择器而非模糊文本匹配,避免因页面文案微调导致定位失败;browser extract xpath使用相对路径而非绝对路径,适应SEC官网频繁的DOM结构调整。

2.3 执行层:虚拟机环境中的工具链调度与代码沙箱

Manus在云端虚拟机中预装了标准化工具链:Python 3.11(含pandas/numpy/plotly)、Node.js 20、Chrome 122、LibreOffice 7.6。所有代码执行均在Docker容器内完成,资源限制为2核CPU/4GB内存/30秒超时。关键设计在于工具调用决策树

  • 当任务涉及数据可视化 → 自动选择Python + Plotly(非Matplotlib,因后者需GUI环境);
  • 当需生成交互式HTML → 调用Node.js + EJS模板引擎(非Jinja2,因前端渲染更高效);
  • 当处理PDF导出 → 启动Headless LibreOffice转换(非wkhtmltopdf,因对中文排版支持更优)。
2.3.1 代码生成与执行的闭环验证机制

以“生成特斯拉股票仪表盘”为例,Manus会分四步验证代码可靠性:

  1. 静态检查:用pyflakes扫描语法错误,拒绝执行含os.system("rm -rf /")等危险模式的代码;
  2. 沙箱预演:在空数据集上运行代码,确认无无限循环且内存占用<512MB;
  3. 数据注入测试:将模拟财报数据(含NaN/inf值)注入,验证异常处理逻辑;
  4. 输出合规校验:检查生成的HTML是否包含<meta charset="UTF-8">及响应式viewport标签。

实际生成的仪表盘代码片段(经简化):

# dashboard_generator.py import pandas as pd import plotly.express as px from plotly.subplots import make_subplots # 1. 数据加载(自动适配SEC CSV格式) df = pd.read_csv("tesla-filing-data.csv", parse_dates=['date'], na_values=['N/A', '—']) # 兼容SEC报表特殊空值标记 # 2. 关键指标计算(显式处理缺失值) revenue_growth = df['revenue'].pct_change().fillna(0).round(3) profit_margin = (df['net_income'] / df['revenue']).fillna(0).round(3) # 3. 双Y轴图表(强制设置y-axis范围防缩放失真) fig = make_subplots(specs=[[{"secondary_y": True}]]) fig.add_trace(px.line(df, x='date', y='revenue').data[0], secondary_y=False) fig.add_trace(px.line(df, x='date', y='net_income').data[0], secondary_y=True) fig.update_yaxes(range=[0, df['revenue'].max()*1.2], title_text="Revenue ($M)", secondary_y=False) fig.update_yaxes(range=[0, df['net_income'].max()*1.2], title_text="Net Income ($M)", secondary_y=True) # 4. 导出为嵌入式HTML(禁用外部CDN,确保离线可用) fig.write_html("tesla-dashboard.html", include_plotlyjs='cdn', full_html=False)

逻辑说明:parse_dates=['date']确保时间序列正确排序;na_values=['N/A', '—']覆盖SEC报表中两种常见空值标记;fill(0)将增长率缺失值设为0而非NaN,避免图表断裂;include_plotlyjs='cdn'虽增加首次加载延迟,但大幅减小HTML体积(实测从8MB降至120KB)。

3. 实战:从零构建股票分析工作流——参数配置、进度监控与结果导出

3.1 创建任务时的关键参数配置表

Manus任务创建界面提供6个可配置参数,直接影响执行路径与资源分配。下表列出高频场景下的推荐值:

参数名可选项默认值推荐配置(股票分析场景)配置逻辑说明
任务类型Research / Coding / Document / Multi-stepMulti-stepResearch强制启用Browser Use模块,跳过纯代码生成路径
数据源可信度Strict / Balanced / PermissiveBalancedStrict仅抓取SEC.gov、Yahoo Finance等白名单域名,过滤论坛/博客内容
代码语言偏好Python / JavaScript / NoneNonePython股票分析依赖pandas生态,JavaScript无法处理大型CSV
输出格式PDF / HTML / Excel / AutoAutoPDF投资报告需固定版式,HTML易被邮件客户端截断
执行超时5min / 15min / 30min / 1h15min30min财报PDF下载+图表渲染+PDF转换耗时约18-22分钟
隐私模式On / OffOffOn禁用所有第三方分析脚本(如Google Analytics),符合金融数据合规要求

提示:当选择Strict数据源时,Manus会自动在todo.md中插入验证步骤:“[ ] Verify all data points sourced from SEC.gov or Yahoo Finance official API”。

3.2 进度监控:从虚拟机日志到用户端状态映射

Manus将执行过程分为7个可观测阶段,每个阶段在用户界面显示对应状态图标与耗时:

阶段用户端显示虚拟机日志特征典型耗时异常信号
Planning🧩 拆解任务中...INFO planner: generated todo.md with 12 subtasks8-15s日志中出现ERROR planner: ambiguous constraint "budget"
Researching🔍 检索数据中...INFO browser: loaded https://finance.yahoo.com/quote/TSLA/financials45-90sWARN browser: timeout after 3 retries for element #main-content
Coding💻 生成代码中...INFO coder: wrote dashboard_generator.py (213 lines)12-28sERROR coder: syntax error in line 87: missing colon
Executing⚙️ 运行代码中...INFO executor: container exited with code 030-110sCRITICAL executor: OOM killed process (mem=4.2GB)
Validating✅ 校验结果中...INFO validator: HTML contains <meta charset="UTF-8">3-8sERROR validator: PDF size > 10MB, recompressing...
Exporting📤 导出成果中...INFO exporter: converted dashboard.html to report.pdf5-12sWARN exporter: font substitution for Japanese glyphs
Delivering📬 发送完成!INFO delivery: emailed to user@domain.com<1sERROR delivery: SMTP auth failed
3.2.1 基于日志的故障定位实战

假设用户反馈“股票分析任务卡在🔍检索数据中...超过2分钟”,按以下步骤排查:

  1. 进入任务详情页,点击「查看完整日志」展开实时日志流;
  2. 搜索关键词browser,定位最后一条成功日志:
    INFO browser: navigated to https://finance.yahoo.com/quote/TSLA/financials
  3. 查看后续日志,发现重复出现:
    WARN browser: element #main-content not found, retrying (attempt 3/3)
  4. 判断原因:Yahoo Finance改版导致CSS选择器失效。此时应:
    • 点击「重试当前步骤」按钮,触发备用路径(改用SEC.gov财报);
    • 或在todo.md中手动修改该子任务为:
      [x] Scraped financials from SEC.gov (fallback)
      [ ] Parse 10-Q PDF using PyPDF2

3.3 结果导出:多格式交付与二次加工接口

Manus支持四种导出方式,每种对应不同下游使用场景:

导出格式文件示例适用场景二次加工建议
PDFtesla-analysis-20250328.pdf投资汇报、客户交付用Adobe Acrobat添加数字签名;用pdfcpu批量添加水印
HTMLtesla-dashboard.html内部协作、快速预览用Puppeteer注入自定义CSS;用Cheerio批量替换图表数据源
Exceltesla-financials.xlsx财务建模、数据复用用openpyxl添加条件格式;用pandas读取后接入BI工具
Shareable Linkhttps://manus.im/share/brWKUSp51ItvVMBpcXNCZ1跨团队评审、临时分享设置7天有效期;开启“禁止下载”权限

提示:导出HTML时,Manus自动内联所有CSS/JS资源(包括Plotly库),生成的单HTML文件可直接双击打开,无需本地服务器。若需嵌入企业内网,只需将该HTML文件上传至WebDAV目录,员工访问https://intranet.company.com/tesla-dashboard.html即可。

4. 进阶技巧:用自定义工具链扩展Manus能力边界

4.1 注册私有API工具:将内部数据库接入Agent工作流

Manus允许用户注册自定义HTTP工具,使其能调用企业内网API。以接入MySQL销售数据库为例:

  1. 在「设置→开发者工具」中点击「添加新工具」;
  2. 填写工具元数据:
    • 名称:sales-db-query
    • 描述:Query internal sales database for revenue metrics
    • 认证方式:API Key(输入内网API网关密钥)
  3. 定义请求Schema(OpenAPI 3.0格式):
post: summary: Execute SQL query on sales DB requestBody: required: true content: application/json: schema: type: object properties: query: type: string description: "Valid SQL SELECT statement (no INSERT/UPDATE)" example: "SELECT SUM(revenue) FROM orders WHERE date >= '2025-01-01'" format: type: string enum: [json, csv] default: json responses: '200': description: Query result content: application/json: schema: type: array items: type: object
  1. todo.md中调用该工具:
    ## [ ] Analyze Q1 sales performance - [ ] Query sales DB for regional revenue breakdown - [ ] Generate bar chart comparing APAC vs EMEA

注意:Manus会自动校验query字段是否为安全SELECT语句(正则过滤INSERT\|UPDATE\|DELETE\|DROP),且强制添加LIMIT 1000防止全表扫描。

4.2 用Python脚本定制结果后处理流程

当标准导出格式不满足需求时,可编写后处理脚本。例如将PDF报告自动拆分为“摘要页+图表页+附录页”三部分:

# split_report.py from pypdf import PdfReader, PdfWriter import sys def split_pdf(input_path, output_prefix): reader = PdfReader(input_path) # 第1页为摘要 writer_summary = PdfWriter() writer_summary.add_page(reader.pages[0]) with open(f"{output_prefix}_summary.pdf", "wb") as f: writer_summary.write(f) # 第2-5页为图表 writer_charts = PdfWriter() for i in range(1, 5): if i < len(reader.pages): writer_charts.add_page(reader.pages[i]) with open(f"{output_prefix}_charts.pdf", "wb") as f: writer_charts.write(f) if __name__ == "__main__": split_pdf(sys.argv[1], sys.argv[2]) # 在Manus中调用(需提前注册为工具) # tools/split-report --input tesla-analysis.pdf --output tesla-split
4.2.1 工具注册后的调用链验证

注册后处理工具需通过三重验证:

  1. 语法验证:Manus解析脚本首行#!/usr/bin/env python3确认运行环境;
  2. 参数验证:检查sys.argv数量与文档中--input/--output声明一致;
  3. 沙箱验证:在隔离容器中执行python split_report.py /tmp/test.pdf /tmp/out,确认生成两个PDF且无权限错误。

验证通过后,该工具将出现在「工具面板」中,用户可在任务步骤中直接选择“Split PDF Report”,输入源文件名与前缀,Manus自动完成调用与结果归档。

4.3 构建领域专用Agent:用提示词工程固化专业流程

针对高频场景(如保险政策对比),可创建领域专用Agent模板:

  1. 在「设置→Agent模板」中新建模板,命名为insurance-comparison-v2
  2. 编写系统提示词(System Prompt):
You are an insurance analyst specializing in US health plans. When comparing policies: 1. Extract deductibles, out-of-pocket max, and covered services from PDFs 2. Normalize drug formulary tiers (Tier 1→Generic, Tier 2→Preferred Brand) 3. Flag policies with <30-day prior authorization for MRI scans 4. Output comparison table in Markdown with color-coded risk indicators
  1. 预置示例对话(Few-shot Learning):

    User: Compare Aetna HDHP vs UnitedHealthcare Choice Plus Assistant: [Generates 5-column table with ✅/⚠️/❌ icons]
  2. 将该模板绑定至特定任务类型(如“Insurance Policy Analysis”),后续创建同类任务时自动加载此提示词。

提示:模板中Normalize drug formulary tiers等指令,会引导Manus在todo.md中生成对应子任务:“[ ] Map formulary tiers using CMS Drug Tier Standardization Guide v2025”。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 13:43:19

LangChain:构建稳定AI应用的技术架构与实践

1. LangChain在AI浪潮中的定位思考第一次接触LangChain是在2022年底&#xff0c;当时我正在为一个跨国电商客户构建多语言客服系统。传统方案需要为每种语言维护独立的意图识别和对话管理模块&#xff0c;开发团队疲于应对各种边缘case。当看到LangChain通过组合LLM与其他工具实…

作者头像 李华
网站建设 2026/9/18 13:39:54

MOSFET驱动电路设计:关键参数与调试经验

MOSFET驱动电路设计这件事&#xff0c;说简单也简单&#xff0c;说折腾也折腾。前一阵子有同事拿着新到的MOSFET让我帮着看驱动方案&#xff0c;他盯着规格书一脸愁&#xff1a;Ciss、Crss、Qg、Vgs(th)、Rg&#xff0c;符号一大堆&#xff0c;到底哪些参数和驱动电路设计直接相…

作者头像 李华
网站建设 2026/9/18 13:39:10

A* Pathfinding Project Pro实战指南:从NavMesh到动态寻路架构

前阵子在做一个带高度差的开放关卡&#xff0c;角色需要绕过一面很长的墙去追目标点。用Unity自带的NavMesh跑了一下午&#xff0c;烘焙出来的网格在陡坡和平台交界处总是不够贴合&#xff0c;运行时想更新某块区域的可行走状态&#xff0c;又只能整张重新烘焙。后来换上A* Pat…

作者头像 李华
网站建设 2026/9/18 13:36:58

开源代码智能代理OpenCode实战指南

我最初是从Codex那边摸过来的。当时在GitHub上看到一个名叫OpenCode的项目&#xff0c;标着“开源代码智能代理平台”&#xff0c;心想这不就是一个开源版的Claude Code或者Codex么&#xff1f;真正动手用了一个月之后&#xff0c;我发现自己已经离不开这个终端里的工具了——不…

作者头像 李华
网站建设 2026/9/18 13:34:38

Python日志管理利器:a1-loggermanager详解

1. 为什么我们需要a1-loggermanagerPython标准库中的logging模块功能强大但配置繁琐&#xff0c;就像给你一堆乐高积木却要自己拼装成城堡。我在实际项目中发现&#xff0c;团队成员经常因为logging的复杂配置而头疼&#xff0c;特别是需要同时管理多个日志文件时。a1-loggerma…

作者头像 李华
网站建设 2026/9/18 13:32:34

HBuilderX远程开发:Windows下SSH连接Linux服务器配置实战

做前端这么多年&#xff0c;我大部分时间都是在Windows上写代码&#xff0c;但总有一些项目&#xff0c;环境必须放在Linux服务器上。以前是本地改完代码&#xff0c;再用Xftp或者WinSCP传上去&#xff0c;然后SSH连上去跑构建命令&#xff0c;来回切换窗口&#xff0c;版本经常…

作者头像 李华