Skip to content

Agent 模式说明

Agent 模式不是把普通对话换个名字,而是让模型从"一次回答"变成"持续完成任务"。

如果你的目标不是只得到一句回复,而是希望它继续整理资料、推进任务、生成结果、在必要时回过头来向你确认信息,那么 Agent 模式会更合适。

适合什么任务

和普通对话相比,Agent 模式更适合下面这些工作:

  • 需要分几步完成的任务
  • 需要结合工作区文件继续处理的任务
  • 需要生成中间成果和最终交付物的任务
  • 需要在执行过程中补充信息或确认方向的任务
  • 需要保留进度、稍后继续处理的任务

它更像一个持续推进工作的助手,而不是一次性回答问题的聊天窗口。

核心能力

1. 持续推进

普通对话更适合快问快答。Agent 模式更适合那些需要连续处理的事情,比如先理解需求、再整理材料、再输出结果。

这样你交付给它的是一个目标,而不只是一个瞬时问题。

2. 过程可见

你不只会看到最后一句回答,也能看到任务推进过程中的关键变化。

这让你更容易判断当前方向是否正确,也更方便在中途纠偏,而不是等到最后才发现结果不符合预期。

3. 围绕工作区做事

每个 Agent 会话都有自己的工作区,可以围绕同一批资料和产物持续处理任务。

这让它更适合文档整理、页面原型、资料归纳、内容改写、结构化输出这类需要"边做边留痕"的工作。

4. 需要时和你配合

当信息不够完整时,Agent 可以继续向你追问;当任务需要更高能力时,也可以主动发起申请。

这种方式更接近真实协作,而不是一轮提问、一轮回答后就完全结束。

Agent 运行机制

Agent 模式采用经典的 ReAct(Reasoning + Acting)模式运行:

Agent Loop

循环(最多 50 轮):
  1. 构建消息 → 组装系统提示词 + 上下文消息
  2. 调用 LLM → 获取回复(可能包含工具调用)
  3. 如果有工具调用 → 顺序执行每个工具 → 将结果追加到消息
  4. 如果没有工具调用 → 任务完成,退出循环

每轮循环中,Agent 可以调用多个工具(顺序执行)。工具执行后结果会反馈给 LLM,由 LLM 决定下一步行动。

系统提示词组装

Agent 的系统提示词在运行时动态组装,由以下部分构成:

组成部分来源说明
基础指令内置Agent 行为准则(澄清、规划、执行、展示等)
AGENTS.md工作区文件用户自定义的 Agent 配置和偏好
Skills工作区 skills/ 目录 + 内置技能任务相关的流程指令
始终注入记忆记忆系统always_inject 策略的用户偏好
即将到来的事件记忆系统time_event 策略的定时提醒
按需召回记忆记忆系统on_recall 策略的相关记忆
工作区元数据宿主环境颜色方案、语言、时区、视口尺寸、品牌信息
待办计划当前会话Agent 维护的任务进度

上下文优化

为充分利用 LLM 上下文窗口,Agent 会自动优化发送给模型的消息:

  • 失败调用裁剪:历史上(前一个 turn)失败的工具调用会被自动移除,不占用上下文空间。当前 turn 的失败调用会保留,让 LLM 有机会自我修正
  • 空消息过滤:空内容的助手消息和纯 UI 展示消息不会发送给模型
  • Widget 提示:当用户输入匹配特定模式(如"解释"、"演示"、"流程")时,系统会自动提示 Agent 考虑使用 Widget 展示

工具能力体系

Agent 的能力由四个层面组成,各自有不同的定位和适用场景:

维度工具集(Toolsets)MCP 服务器插件(Plugins)技能(Skills)
定位内置的基础能力远程数据来源就地能力扩展文档指令与流程
形态浏览器端运行的工具函数通过协议调用的远程服务浏览器端运行的沙箱代码工作区中的 Markdown 文件
使用者配置选择启用/禁用添加服务器地址和认证安装 ZIP 包并启用工具在工作区 skills/ 目录中放置文件
典型例子文件读写、Python 运行时、文档提取天气 API、数据库查询、企业内部接口FFmpeg 音视频处理、Mermaid 图表渲染办公文档排版规范、代码审查清单、数据处理流程
核心区别Agent 的基础"手",通用且稳定给 Agent 接入外部数据和服务的"眼睛"给 Agent 装上新的"手",处理本地计算密集型任务给 Agent 一份"说明书",指导它按流程执行

工具集:基础能力

系统内置了 18 个工具,分为以下类别:

Workspace(工作区操作)

工具功能
unix_sim工作区文件读写、编辑、搜索、重命名、目录管理等文件操作(默认启用)
open_artifact在 UI 中打开 artifacts/ 目录下的产物文件

Network(网络访问)

工具功能
web_fetch获取网页内容并转换为文本或 Markdown
http_request发送自定义 HTTP 请求(支持 GET/POST/PUT/DELETE 等)

Python(代码执行)

工具功能
python_exec执行 Python 代码片段(浏览器端运行时,默认启用)
python_run_file运行工作区中的 Python 文件

Document Extraction(文档提取)

工具功能
extract_document从 PDF、DOCX、XLSX、PPTX、HTML 等文档中提取文本、表格和元数据(默认启用)

Media(媒体处理)

工具功能
generate_image使用 AI 模型生成图片(需手动启用)
transcribe_audio将音频文件转写为文字(需手动启用)
ocr图片文字识别(需手动启用)

Runtime Bridge(运行时桥接)

这些工具用于 Agent 与用户交互和结果展示:

工具功能
ask_user向用户提问,获取确认或补充信息
show_widget展示结构化内容(指标卡片、数据表格、流程步骤等)
show_visual展示自定义 HTML 交互内容
show_actions展示推荐操作按钮
update_todo更新待办事项列表

Management(管理工具)

工具功能
manage_memory管理长期记忆(保存、召回、删除)
manage_mcp管理 MCP 服务器(添加、删除、启用、禁用)
manage_plugin管理插件(安装、卸载、启用、禁用)

MCP 服务器:外部数据来源

MCP(Model Context Protocol)让你可以连接远程服务器,把外部系统的工具接入 Agent。

MCP 的定位更偏向数据来源——通过标准协议对接外部 API 和服务,让 Agent 获取它自身不具备的数据和信息。比如连接一个天气服务获取实时数据、连接数据库查询业务记录、连接企业内部 API 获取项目状态。

在 MCP 服务器管理面板中,你可以添加、配置和验证远程服务器连接。支持无认证、OAuth Bearer Token 和自定义 Headers 三种认证方式。连接成功后,Agent 就可以像调用本地工具一样调用这些远程能力。

MCP 工具按 mcp_{服务器标识}_{工具名} 的格式命名,连接到服务器后自动注册到可用工具列表中。

插件:就地能力扩展

插件的定位是提供浏览器端就地执行的能力扩展。与 MCP 调用远程服务不同,插件代码直接在浏览器中运行,适合计算密集型或需要操作本地文件的场景。

比如 FFmpeg 插件利用 WASM 在浏览器中直接处理音视频,无需上传到服务器;Mermaid 插件在本地渲染流程图。插件可以执行网络请求、文件操作、Python 脚本、WASM 等任务。

关于插件的详细说明,请参考 插件系统

技能:文档指令与标准流程

技能(Skills)是 Markdown 文件,用来为 Agent 提供特定任务的详细指令、步骤说明和标准流程。

内置技能:系统预装了以下技能,Agent 会根据任务自动匹配:

技能说明
weather天气查询流程
deepsearch深度搜索流程
web-search网络搜索流程

自定义技能:你也可以在工作区 skills/ 目录中创建自己的技能。每个技能是一个子文件夹,包含一个 SKILL.md 文件:

skills/
  office/
    SKILL.md      # 办公文档排版规范
  code-review/
    SKILL.md      # 代码审查清单

SKILL.md 文件使用 YAML frontmatter 声明名称和描述:

markdown
---
name: 办公文档排版
description: 按照公司规范排版 Word 文档的标准流程
---

# 办公文档排版规范

## 步骤一:确认文档类型
...

当 Agent 的任务匹配到某个技能时,它会先读取完整的 SKILL.md 内容,然后按照其中定义的流程来执行。这让你可以为 Agent 定义标准化的工作方式,而不需要每次都在对话中重复描述流程。

技能与其他三种工具的区别在于:工具集、MCP、插件都是可调用的函数,而技能是可阅读的指令——它不提供新的执行能力,而是指导 Agent 更好地使用已有能力。

记忆系统

Agent 内置记忆系统,可以自动保存和召回与你相关的重要信息,让 Agent 在多次对话中保持连续性。

记忆的类型

记忆按内容类型分为多个类别:

  • 通用:一般性信息
  • 偏好:你的个人偏好和习惯
  • 事实:已知的事实性信息
  • 技能:你掌握的技能或 Agent 学到的执行方式
  • 人物:与特定人物相关的信息
  • 项目:与特定项目相关的信息

注入策略

每条记忆可以设置不同的注入策略,控制何时被 Agent 使用:

  • 始终注入(always_inject:每次对话都注入到系统提示词中,适合非常重要的基础信息(如沟通风格偏好、默认语言)
  • 按需召回(on_recall:仅在相关查询时自动召回,适合大多数记忆(如个人背景、项目知识)
  • 定时事件(time_event:在指定时间前注入,适合提醒类记忆。事件日期过后自动转为历史事实

管理记忆

在记忆管理面板中,你可以查看、搜索、添加、编辑和删除记忆。Agent 也会在对话过程中自动在合适的时机保存新记忆(如用户分享偏好、提到重要信息时)。

待办事项

Agent 在执行复杂任务时,会通过 update_todo 工具自动维护一个待办清单,把大目标拆分成可执行的步骤。

每个待办项有以下状态:

  • pending — 待处理
  • in_progress — 进行中(同一时间只会有一个)
  • done — 已完成
  • cancelled — 已取消

你可以在侧边栏的待办事项面板中查看当前任务的进度,了解 Agent 已经完成了哪些步骤,接下来计划做什么。这让长任务的执行过程更加透明。

产物文件

Agent 生成的结果会保存在产物文件面板中,支持以下格式:

类型支持格式
网页HTML
图片PNG、JPG、GIF、WebP
视频MP4、WebM
音频MP3、WAV
矢量图SVG
文档Markdown
数据JSON
文本代码、配置文件等

产物支持全屏预览,方便你仔细查看和比较结果。

常见使用场景

  • 基于已有资料整理成一份更清晰的摘要
  • 让 Agent 生成一个页面原型并持续修改
  • 结合工作区文件输出结构化内容
  • 整理文档、提炼要点、改写说明文字
  • 把较复杂的目标拆开推进,并在过程中逐步确认
  • 为一次任务持续沉淀文件、结果和可交付内容
  • 建立长期记忆,让 Agent 更了解你的工作习惯和偏好

一句话理解

Agent 模式适合那些"不只是想问一句",而是"想把一件事继续做下去"的场景。