从Manus重回独立看AI Agent技术演进与工程落地

从Manus重回独立看AI Agent技术演进与工程落地
如果你关注大模型应用去年大概率被一个叫 Manus 的产品刷过屏。它的理念和传统 chatbot 不太一样不是“你问我答”而是“你把任务交给我我做完后把结果给你”。与此同时Manus 重新宣布独立运营的消息再次出现在技术社区讨论中。很多人关心的是同一个问题这只蝴蝶还能不能再掀起一场风暴这篇文章不讨论资本运作细节也不对任何内部决策下结论只从技术产品视角做一次复盘AI Agent 到底是什么Manus 当初是靠什么火起来的“重回独立”对于一个技术产品团队意味着什么以及这类产品如果想再次出圈需要在哪些技术维度上补齐短板。内容适合关注大模型应用、智能体产品、AI 工程落地的开发者和产品经理阅读。1. 背景从“聊天机器人”到“替你干活的智能体”1.1 为什么 Manus 让人眼前一亮过去两年大多数普通用户对大模型的认知停留在“聊天”上问它一个问题它给你一段文字回复。这种方式解决了不少信息检索和文本生成需求但有一个明显的边界它只负责“说”不负责“做”。Manus 的定位恰好跨过了这条边界。在公开演示中它可以接收一份简历压缩包自动解压、逐份阅读、按岗位要求筛选候选人最后整理出一份带评价的表格它也可以根据一个选题方向自己上网搜索资料、整理信息、生成一份结构化的分析报告。用户不需要一步步告诉它“先做什么再做什么”只需要给出目标剩下的由它自主拆解和执行。这种交互方式第一次让很多人真切感受到大模型不只是“更聪明的搜索引擎”而是可以承担一部分具体工作的“数字员工”。1.2 Manus 是谁一个通用型自主智能体Manus 是一个通用型自主智能体产品名字来自拉丁语“Manus”直译是“手”。这个名字想表达的意思很直接它不只是动嘴而是动手把任务做完。从产品形态上看Manus 做的事情可以分为四个环节理解任务把用户一段比较模糊的自然语言描述转换成可执行的任务清单。拆解计划判断完成这个任务需要哪些步骤、需要调用哪些工具。执行动作调用搜索引擎、代码解释器、文件处理工具等完成具体操作。交付结果把中间过程整理成用户能直接使用的表格、文档或报告。这个流程听起来不复杂但工程实现上比传统对话系统复杂得多。因为 Agent 要在真实环境中运行代码、读取文件、调用网页接口任何一环出错整个任务都可能失败。1.3 与传统 Chatbot 的核心差异为了更直观地理解可以把传统 Chatbot 和 Agent 放在一起对比维度传统 ChatbotAgent如 Manus 这类产品交互模式对话式一问一答任务式一个目标一次交付执行动作只输出文本可以调用代码、工具、接口运行方式实时流式返回可以云端异步执行结果形态文字回复表格、文档、可运行代码失败处理重新回答即可需要定位中间步骤错误并重试这个差异决定了 Agent 的技术难度高很多。它不再是“语言模型 对话窗口”而是一个“语言模型 规划器 工具集 执行沙箱 任务管理”的完整系统。2. 复盘Manus 当初为什么能“一码难求”2.1 产品层面任务式交互的胜负手Manus 走红时市面上并不缺大模型产品。OpenAI 有 ChatGPTAnthropic 有 Claude国内也有多款成熟的大模型产品。但从“聊一段话”变成“做一件事”Manus 抓住了大家最直观的感知点。我自己在技术社区里看到的大量讨论集中在几个相似场景整理几十份简历、批量处理 Excel、按主题做资料调研、生成数据分析报告。这些场景的共同特点是用户能描述清楚目标但不希望手动控制每一个细节。Agent 的价值恰恰在这里。从产品设计角度来说Manus 做对了一件事把“完成度”作为核心体验指标而不是把“回答质量”作为唯一指标。用户打开页面输入任务关闭页面过一段时间再回来看结果这个体验和传统对话完全不同。2.2 技术层面云端异步执行与工具调用Manus 在技术侧最值得关注的是它选择了“云端异步执行”的产品形态。Chatbot 大多采用流式输出用户要盯着生成过程。Manus 则允许任务在云端后台运行用户可以中途离开任务完成后查看结果。这个设计看起来很轻但它对工程架构的要求很高需要有任务队列来管理大量并发任务。需要有沙箱环境让 Agent 安全地执行代码。需要把整个执行过程记录下来方便用户查看和回溯。需要处理长时间运行任务的资源调度问题。此外Manus 在当时展示的 GAIA 基准测试成绩也引发了大量讨论。GAIA 是一个面向真实场景的通用助手评测集题目不只看模型知识量更看重工具使用、信息整合和多步推理能力。Manus 能在这类评测中表现亮眼说明它确实在“任务执行链路”上做了不少工程投入。2.3 传播层面邀请码与标杆场景有一点不能否认Manus 的走红营销传播功不可没。邀请码机制制造了稀缺感演示视频选择的是普通人容易理解的简历筛选、表格整理场景降低了理解门槛。技术圈讨论 Agent 热潮非技术圈则把它当成“AI 替我做表格”的新鲜工具。但热度是一把双刃剑。第一批用户进来后如果任务经常失败或结果达不到预期口碑会迅速反噬。这也为后面产品进入调整期埋下了伏笔。3. 重回独立一个技术产品团队的再聚焦3.1 独立意味着什么“重回独立”这件事我没有办法给你一个确切的内部原因解读因为很多信息仍在变化中最终请以官方公告为准。但从技术产品的常识来看独立运营对一个 AI 产品团队通常意味着三件事产品决策权更集中可以自己决定路线图而不需要服从某个大平台的优先级。品牌心智需要重建用户会重新审视“你是谁、你和其他产品有什么不同”。技术闭环必须自洽不能指望母公司提供基础设施和流量从模型接入到任务执行、再到用户增长都要自己扛起来。换句话说独立是一把双刃剑。它给了团队更大的自由也拿走了背后的资源庇护。3.2 技术产品维度的三项重启如果只看技术产品方向这次“重新独立”可能带来几个调整信号第一产品定位需要重新回答“通用还是垂直”。完全通用的 Agent 体验好但技术门槛和成本也极高。如果能回到一个高频刚需场景比如招聘筛选、数据分析、内容创作把单个场景做到极致反而更容易积累口碑。第二模型依赖需要重新做权衡。Agent 的效率非常依赖底座模型的推理能力。独立之后是继续接第三方大模型还是训练自己的垂直模型或者做一套模型路由层把简单任务和复杂任务分流到不同模型这些都是需要重新决策的技术路径。第三用户留存需要新的抓手。邀请码热度过去之后留下来的用户会关注“你这产品每周能帮我省多少时间”。Agent 产品需要沉淀出一套用户可感知的“任务完成记录”让用户看到价值才可能形成复购和口碑传播。3.3 公开信息有限技术判断优先因为公开信息不完整我不会对任何商业决策做猜测。我更想强调的是无论 Manus 接下来如何走AI Agent 技术方向本身已经进入了一个关键窗口期。模型能力在提升工具生态在完善开发者对 Agent 的认知也比一年前成熟得多。这个背景下产品的竞争焦点正在从“会不会做 Agent”变成“能不能把 Agent 做到稳定、便宜、可依赖”。4. AI Agent 的技术底盘再掀风暴要过的六道关如果 Manus 想在下一个阶段重新赢得市场它需要面对的对手已经不只是“另一个 Agent 产品”而是整个行业对 Agent 技术成熟度的共同检验。下面这六道关是任何通用型 Agent 产品都绕不开的。4.1 任务规划从 Prompt 到 PlanAgent 第一步要做的是把用户的模糊请求拆解成一个可执行的计划。例如用户说“帮我把这份简历整理成表格”看起来简单但模型需要判断简历是什么格式PDF、Word 还是图片需要提取哪些字段姓名、学历、工作经历、项目经验输出表格用什么结构是否要打分如果任务特别复杂比如“调研一下某个行业过去三年的融资趋势”模型还需要把任务拆成多个子任务搜索、阅读、数据清洗、生成报告。这个能力叫任务规划Planning它决定了 Agent 的上限。目前的规划方式有两种主流路线一次性规划Plan-then-Execute先把完整步骤列出来再逐步执行。适合流程明确的场景但灵活性差。动态规划ReAct模型边做边想每执行一个动作就观察结果再决定下一步。适合开放场景但步骤多时容易累积错误。Manus 这类通用型 Agent 通常采用第二种思路。它会写一个循环思考 → 行动 → 观察 → 再思考。听起来不复杂但真正实现时模型经常会在中途偏离目标或者陷入死循环。因此工程上需要对步骤数量做限制同时允许用户中途干预。4.2 工具调用与真实世界握手Agent 和 Chatbot 最大的区别是它需要调用外部工具。常见的工具有几类代码执行器运行 Python做数据处理、文件格式转换。网页搜索检索最新信息。文件读写读取 PDF、Word、Excel。API 调用对接业务系统或者操作第三方软件。工具调用的实现方式本质上是通过大模型的 Function Calling 能力。模型不直接执行代码而是“声明”它想调用哪个函数并把参数以 JSON 格式传给运行环境由运行环境真正执行再把结果返回给模型。这个机制很优雅但坑也很多。一个非常常见的现象是模型生成工具参数时格式错误导致调用失败。另一个问题是工具返回的数据太长超过了上下文窗口限制。生产级 Agent 需要在外层做好参数校验、结果截断和错误重试不能把这些问题直接暴露给用户。4.3 长上下文与状态管理Agent 执行一个复杂任务可能需要几十轮“行动-观察”的循环。每一轮的工具返回结果、模型思考过程都会占用上下文空间。如果不做管理很快会遇到两个问题上下文过长模型推理变慢成本上升。早期信息被后续内容冲淡模型遗忘初始目标。所以工程上需要引入状态管理机制摘要压缩定期把历史对话记录做摘要只保留关键信息。记忆分层重要信息写入长期记忆临时信息用完即丢。任务进度追踪记录每一步执行结果方便异常恢复和用户查看。对用户来说这些底层机制看不见但它们直接决定了一个 Agent 的“可靠感”。4.4 异步任务与交付体验前面提到Manus 的标志性体验是“异步执行”。这个产品形态对后端架构提出了明确要求需要一个可靠的任务队列避免任务丢失。需要沙箱隔离防止 Agent 执行的代码影响宿主系统。需要结果存储让用户随时可以回来查看历史任务。需要通知机制任务完成时告诉用户“可以来看结果了”。从用户体验上看这类产品很容易做成“黑盒”用户提交任务后完全不知道 Agent 在干什么。如果中间卡住用户只能干等。优秀的 Agent 产品会把执行过程可视化展示出“正在搜索资料”“正在分析数据”“正在生成报告”等状态让用户心里有数。4.5 评测、稳定性与可观测性传统模型评测靠的是判断“回答对不对”。Agent 评测要复杂得多任务是否完成、中间步骤是否合理、工具调用是否高效、结果格式是否符合要求都需要覆盖。更麻烦的是Agent 具有随机性。同一个任务执行两次可能得到不同结果。这时候需要建立一套评测集沉淀多个真实场景每次版本更新都跑一遍回归测试。只有这样做团队才有信心把产品推向更大规模用户。可观测性同样重要。线上 Agent 执行任务时系统需要记录每一步的耗时、工具调用次数、失败原因。没有这些日志出了问题只能靠用户截图反馈排查效率会很低。4.6 成本控制与商业闭环Agent 的成本是 Chatbot 的很多倍。一次任务有可能调用模型几十次再加上云端计算资源、工具接口费用单次成本远高于一次普通对话。如果产品按订阅制收费低价策略可能无法覆盖成本如果定价过高用户又会觉得不值。所以 Agent 产品必须在技术层面做成本优化规划时要控制步骤数避免无效循环。合理的任务分流简单任务用便宜的小模型复杂任务才调用强模型。工具返回结果要截断减少模型输入成本。结果缓存相同或相似任务直接复用历史结果。商业模型与技术成本是强绑定的一个 Agent 产品如果不能在成本上形成优势就很难形成可持续的业务。5. 最小工程示例一个 Agent 任务是怎么跑通的这一节用一个简化示例展示 Agent 产品的核心工作流。示例不依赖任何特定模型厂商 SDK主要是为了让读者理解工程链路。实际项目中需要替换成你自己选用的模型 API、工具实现和任务队列组件。5.1 示例场景与流程假设我们要做一个“读取简历文件并整理成表格”的 Agent。流程可以拆为四个步骤用户提交一个文件路径和任务描述。Agent 主循环调用模型让它决定“下一步读文件还是写结果”。系统根据模型返回的工具调用执行真实动作。循环直到模型认为任务完成输出最终结果。5.2 ReAct 循环核心代码先看主循环骨架它展示了“思考 → 行动 → 观察”的闭环。# agent_loop.py # 一个最小化的 Agent 主循环用于展示任务执行流程 from typing import Any def call_llm(messages: list[dict[str, str]]) - str: 调用大模型返回模型输出文本。 实际项目中需要替换成具体模型 API。 raise NotImplementedError def parse_action(response: str) - dict[str, Any]: 把模型输出解析成结构化动作。 例如{type: read_file, file_path: resume.pdf} raise NotImplementedError def execute_action(action: dict[str, Any]) - str: 执行具体动作返回观察结果。 实际项目中可能是文件读取、搜索、代码运行等。 raise NotImplementedError def agent_run(task: str, max_steps: int 5) - str: messages [ { role: system, content: 你是一个任务规划助手请一步步完成用户任务。, }, {role: user, content: task}, ] for step in range(max_steps): # 第 1 步让模型决定下一步动作 response call_llm(messages) action parse_action(response) # 第 2 步如果模型认为任务完成直接返回结果 if action[type] finish: return action[result] # 第 3 步执行动作得到观察结果 observation execute_action(action) # 第 4 步把结果放回上下文继续循环 messages.append({role: assistant, content: response}) messages.append({role: user, content: f观察结果{observation}}) return 达到最大步骤数任务未完成 if __name__ __main__: print(agent_run(读取本地 resume.pdf整理成候选人表格))这个代码只是为了展示主流程不要投入生产使用。生产环境至少要解决这些问题parse_action 需要处理模型输出不是合法 JSON 的情况。execute_action 需要在沙箱环境运行。max_steps 不应该是一个固定值而应该根据任务类型动态调整。每一步都需要记录日志否则无法排查。5.3 工具调用消息示例使用大模型的 Function Calling 功能时请求体中通常会包含工具定义。下面是一个简化示例{ messages: [ { role: user, content: 帮我把 resume.pdf 整理成结构化表格 } ], tools: [ { type: function, function: { name: read_file, description: 读取本地文件内容, parameters: { type: object, properties: { file_path: { type: string, description: 文件路径 } }, required: [file_path] } } }, { type: function, function: { name: write_table, description: 把结构化数据写入表格文件, parameters: { type: object, properties: { data: { type: array, items: { type: object } } } } } } ] }这里的关键点在于模型本身不执行工具它只生成“调用哪个函数、传入什么参数”的结构化数据。真正执行工具的是运行环境比如你自己的后端服务或者第三方 Agent 运行时。参数校验和错误处理必须放在运行环境这一层不能假设模型每次都会输出正确参数。5.4 异步任务队列简化实现Manus 的异步体验本质上是通过任务队列实现的。下面是一个极简的状态管理示例# task_queue.py # 生产环境建议使用 Celery、Redis Queue 或消息队列这里只做思路演示 import asyncio from dataclasses import dataclass from typing import Optional dataclass class Task: task_id: str status: str pending result: Optional[str] None class AsyncTaskManager: def __init__(self): self.tasks: dict[str, Task] {} async def submit(self, user_prompt: str) - str: task_id ftask_{len(self.tasks) 1} self.tasks[task_id] Task(task_idtask_id) asyncio.create_task(self._run(task_id, user_prompt)) return task_id async def get_result(self, task_id: str) - Task: return self.tasks[task_id] async def _run(self, task_id: str, user_prompt: str): self.tasks[task_id].status running try: # 这里替换成真实的 Agent 调用逻辑 result await run_agent(user_prompt) self.tasks[task_id].result result self.tasks[task_id].status success except Exception as exc: self.tasks[task_id].result str(exc) self.tasks[task_id].status failed async def run_agent(user_prompt: str) - str: # 模拟 Agent 执行耗时 await asyncio.sleep(3) return f任务完成{user_prompt}从工程角度看这个实现还有很多问题没有持久化、没有重试机制、没有分布式部署能力。但它足以说明一个核心思想异步任务的本质是把“长时间执行”和“用户等待”解耦用任务状态机来管理生命周期。5.5 如果要上生产还差什么从示例到生产级 Agent还需要补齐很多能力沙箱隔离Agent 执行的代码必须运行在隔离环境中避免危害宿主系统。权限控制工具调用要遵循最小权限原则不能允许 Agent 随意删除文件或访问敏感数据。超时与熔断单步工具调用超过设定阈值时要主动中断并给出提示。用户确认机制涉及发送消息、提交订单、删除数据等高风险动作时必须经过用户确认。评测回归每次模型或工具升级后都要跑一遍场景评测确认效果没有回退。6. 从“重回独立”到“再掀风暴”三个关键变量6.1 底座模型推理能力决定上限Agent 的能力高度依赖底座模型的推理能力。如果模型推理能力不够强任务规划容易出现逻辑断裂工具调用参数容易出错中间步骤出错后也难以自我纠错。所以一个值得关注的方向是Manus 重新独立后会不会构建一套自己的模型路由层。比如用一个小模型做意图识别和路由判断用强模型做复杂推理用便宜模型做文本整理。这套路由策略能在成本、速度和效果之间取得平衡也会成为 Agent 产品的核心壁垒之一。另一个变量是模型上下文长度。长上下文能力越来越强的模型对 Agent 来说不一定是纯优势。上下文窗口再大检索和压缩策略不到位信息还是会淹没在大量无关内容里。如何让 Agent 在长流程中保持目标一致性比单纯堆参数更重要。6.2 开放生态从封闭工具到 Agent 网络Agent 的价值取决于它能连接多少工具和数据源。如果 Manus 只支持自己的内置工具它的上限很快就会碰到。真正想把 Agent 做大的产品应该构建一个开放生态提供 API让开发者可以上传自定义工具。提供模板市场让用户可以直接套用别人验证过的任务流程。支持企业数据源接入比如数据库、文档库、协作软件。谁先建立起工具生态谁就能在 Agent 赛道形成网络效应。用户越多贡献的工具越多工具越多用户体验越好这是一个正向循环。但开放也会带来治理难题第三方工具的安全审查怎么做恶意工具如何识别工具结果可信度如何判断。这些问题没有标准答案却是所有 Agent 平台都必须面临的挑战。6.3 场景聚焦通用还是垂直“通用 Agent”听起来性感但做起来极难。因为不同场景对工具、数据、结果格式的要求差异巨大。做简历筛选需要理解人才评估逻辑做数据分析需要懂数据可视化做代码生成需要对接代码仓库和运行环境。通用 Agent 的另一种路线是在底层提供通用能力在上层让用户自定义工作流。这有点像“Agent 版 RPA”用户把一套固定流程配置好Agent 负责按流程执行。这个路线对用户的要求更高但对产品团队来说更容易沉淀可复用的能力。我更倾向于认为真正能跑通商业闭环的 Agent在下一阶段会出现明显的场景分化。一家公司不可能在所有场景都做到最好但可以在两三个高频场景做到远超通用模型的体验。7. 给开发者的工程建议与学习路线7.1 不要把 Agent 当作万能钥匙很多团队接触 Agent 后第一反应是“能不能用它重构所有业务流程”。这个思路风险很大。Agent 适合的是“目标明确、步骤多变、结果可验证”的任务不适合需要极高确定性、强流程约束、或者涉及高风险操作的任务比如直接操作生产数据库、自动发送合同、执行未经验证的代码等。判断一个场景适不适合引入 Agent可以问三个问题用户能否用一两句话描述清楚目标完成目标是否需要多步操作并调用外部工具如果某一步失败用户或系统能否及时发现并处理三个问题都是肯定答案才值得改造。7.2 Agent 工程落地最佳实践结合前面的技术拆解这里整理一份工程建议清单关注点建议任务规划对步骤数设置上限允许用户中断和干预工具调用严格校验工具参数所有工具调用都记录审计日志上下文管理定期压缩历史摘要防止长任务信息丢失安全边界代码执行放入沙箱涉及敏感操作必须二次确认评测体系建立固定场景回归集每次升级后跑一轮完整评测成本控制设计模型路由按任务复杂度动态选择模型可观测性记录每一步耗时、工具调用次数和失败原因这些建议不针对 Manus 一家而是 Agent 类产品通用的工程底线。很多 Agent 项目前期跑得很快后期不断返工往往就是因为没有把评测、日志、权限控制这些“看不见的工程”做扎实。7.3 学习路径参考如果你读完这篇文章想自己上手做一个 Agent 项目可以参考下面的路线先理解基础概念学习 Function Calling、提示词工程、ReAct 模式。跑通一个最小 Demo用 Python 或 TypeScript 写一个“搜索→整理→输出”的小工具。引入任务队列把同步调用改成异步任务体验任务状态管理。接入真实工具读文件、操作 Excel、调用数据库。建立评测集整理 20 个你的业务中典型场景每次改动都回归测试。逐步加固加权限控制、沙箱、日志、监控、成本控制。不要一开始就追求“通用 Agent”。先把一个场景做到可靠再考虑横向扩展是更稳妥的路径。8. 常见问题与思考8.1 为什么 Agent 看起来很强却总在关键任务上翻车Agent 的翻车通常不是单点问题而是链路累积误差。举例来说模型理解用户需求时理解偏了后续所有步骤都会跟着错工具返回结果不完整模型基于错误信息继续推理上下文过长导致模型忘记最初目标。所以要排查 Agent 问题不能只看最后的结果要看整个执行链路。8.2 独立产品如何留住“尝鲜用户”第一波用户往往是被新鲜感吸引来的。新鲜感退去后留存靠的是稳定的价值输出。对于 Manus 这类 Agent 产品用户愿意留下来的理由只有一个它能稳定地帮我省时间。要做到这一点产品需要有足够多的成功案例、足够低的任务失败率以及一个让用户看到历史任务价值的“工作台”。8.3 技术人如何跟进这类热点技术热点最容易引发两种极端情绪要么觉得“新范式来了赶紧转型”要么觉得“又是一阵风别被忽悠”。我更建议把注意力放在不变的东西上任务规划、工具调用、上下文管理、权限控制、评测体系这些工程问题不会因为产品名字变化而过时。无论 Manus 这次独立后走向如何Agent 工程化的底层能力对每一位做 AI 应用的开发者来说都是值得长期投入的方向。回到开头那只蝴蝶。一只蝴蝶扇动翅膀能不能引发一场风暴取决于气象条件、地形结构、时间窗口少一个条件都成不了。Agent 产品也是一样爆火只是扇动了一下翅膀真正决定能否再次掀起风暴的是产品体验、技术壁垒、成本结构和场景穿透力这几个条件能否同时具备。对技术人来说我们未必能预测风暴什么时候来但可以先把系统的风洞建好等风来的时候至少我们手里有能飞的东西。

最新新闻

日新闻

周新闻

月新闻