- 知识库
- 人工智能
- AI 安全治理
【免费下载链接】CL4R1T4S
LEAKED SYSTEM PROMPTS FOR CHATGPT, CLAUDE, GEMINI, GROK, PERPLEXITY, CURSOR, LOVABLE, REPLIT, AND MORE! - AI SYSTEMS TRANSPARENCY FOR ALL! 👐
本文基于开源仓库 CL4R1T4S 收录的 MULTION/MultiOn.md(MultiOn 浏览器智能体系统提示词提取件),逐段拆解该智能体的目标设定、命令语言规范、浏览器上下文表示、记忆补偿机制与会话状态机。读完本文,你可以完整理解 MultiOn 这类"语言模型 + 浏览器控制"智能体的提示词协议设计,并直接复用其命令集与状态协议来设计你自己的浏览器 Agent 系统。
文档背景与定位
CL4R1T4S 是一个以"AI 系统透明与可观测"为主题的提示词提取仓库,其 README.md 明确阐述了项目动机:"为了信任输出,必须先理解输入"——各大 AI 实验室通过大规模、不可见的提示词脚手架塑造模型行为,而这些隐藏指令会影响公众对 AI 输出的感知与判断。仓库收录了 OpenAI、Google、Anthropic、xAI、Perplexity、Cursor、Windsurf、Devin、Manus、Replit 以及 MultiOn 等几乎所有主流模型与 Agent 的完整提取提示词。
本篇文章解析的对象MULTION/MultiOn.md,即 MultiOn 公司为其浏览器智能体MULTI·ON设计的系统提示词(System Prompt / Custom Instructions)。与纯对话型模型提示词不同,这份文档是一份面向浏览器的操作协议规范:它定义了一个没有持久记忆的语言模型如何通过受限命令语言驱动真实浏览器完成任务,涵盖输入结构、命令语法、状态上报、上下文压缩、记忆补偿等完整设计,是研究"Agentic 浏览器自动化"提示词工程的一手资料。
需要说明的是,该文档本身带有明显的提取痕迹:例如浏览器上下文部分中元素标签(如链接、按钮、输入框的具体 HTML 标签)在提取时被剥离,仅保留箭头与文字描述;WAIT命令标注的等待时间为 5ms(原文如此,实际更可能是秒级延时)。本文在引用时以原文档表述为准。
一、目标设定:从"语言模型"到"浏览器控制器"
提示词开篇用一个游戏化的设定重新定义了模型的身份:
Let's play a game - You are an expert agent named MULTI·ON developed by "MultiOn" controlling a browser (you are not just a language model anymore).
关键信息有三点:
- 身份重置:模型不再是"语言模型",而是名为 MULTI·ON 的专家智能体,其职责是控制浏览器;
- 任务载体:所有行为都发生在浏览器内,输出介质是命令语言而非自然语言回复;
- 交互对象:用户与智能体的互动被包装为一个"游戏"(objective 驱动),弱化模型原本的聊天框架。
与 Objective 一同提供给智能体的输入是三元组:
| 输入项 | 说明 |
|---|---|
| Objective(目标) | 用户希望智能体达成的任务 |
| 当前网页 URL | 智能体此刻所处的页面地址 |
| 浏览器窗口的简化文本描述 | 页面可视内容的压缩表示(下文详述) |
这三项构成了智能体每一轮决策所需的全部外部信息,也决定了提示词后续设计的两个核心约束:模型看不到真实网页渲染(只能读取简化文本),模型没有记忆(需要专门的记忆技术补偿)。
二、动作选择模型:COMMANDS / ANSWER / ASK_USER_HELP
提示词要求智能体每一轮从三种动作中选择一种执行:
- COMMANDS:执行浏览器操作命令(以
COMMANDS:开头); - ANSWER:直接回答问题——当用户寻求信息,且智能体依据先验知识或当前页面内容已经知道答案时,不发出任何命令,直接回答;
- ASK_USER_HELP:向用户提问求助,通常配合
STATUS: NOT SURE使用。
这个三分法构成了智能体的基本决策分支:能直接回答就回答,能操作浏览器就操作,二者都走不通就向用户澄清,绝不凭空猜测。
三、命令语言规范详解
提示词定义了一套封闭且极小的命令集(仅 9 条),并明确要求:"Do not issue any commands besides those given above and only use the specified command language spec."(除上述命令外不得发出任何命令,且只能使用规定的命令语言规范)。
命令的通用输出格式为:
- 以
COMMANDS:开头; - 每条命令独占一行;
- 元素 ID 只输出整数部分,不带尖括号或其他字符(例如
<id=123>应写成123); - 命令之后必须以
EXPLANATION: I am ...开头附带目标摘要说明(不得提及 ID 等底层细节)。
全部命令汇总如下:
| 命令 | 参数语义 | 使用约束与设计意图 |
|---|---|---|
GOTO_URL X | 将 URL 设置为 X | 只能在命令列表开头使用,且其后不能再跟任何后续命令。语义上等价于"页面上下文重置" |
CLICK X | 点击元素 X | 只能点击链接、按钮和输入框,防止误操作非交互元素 |
HOVER X | 悬停于元素 X | 对填写表单和展开下拉框非常有效 |
TYPE X "TEXT" | 向 ID 为 X 的输入框输入指定文本 | 文本必须用双引号包裹 |
SUBMIT X | 按 ENTER 提交表单或搜索 | 当输入框是搜索框时高度优先使用,而非 CLICK 搜索按钮 |
CLEAR X | 清空 ID 为 X 的输入框中的文本 | 用于清除之前输入的内容 |
SCROLL_UP X | 向上滚动 X 页 | 滚动动作必须遵守"滚动上下文"规则(见第六节) |
SCROLL_DOWN X | 向下滚动 X 页 | 同上 |
WAIT | 在页面上等待(原文标注 5ms) | 常用于菜单加载;关键限制:WAIT 之后不能再发出任何命令,必须立即以STATUS: ...结尾 |
几个值得注意的严格约束:
- GOTO_URL 的位置限制:由于跳转后整个页面上下文都会变化,命令列表中的所有后续命令都失去意义,因此它只能出现在开头;
- WAIT 的终结性:等待之后的元素 ID 可能已经变化,继续发命令会造成竞态,所以 WAIT 必须是命令列表的最后一个动作;
- 一行一命令:每条命令独立成行,保证解析器可以逐行执行;
- ID 规范化:只取整数部分,消除括号等噪音字符,降低解析错误。
原文档给出的完整命令示例:
COMMANDS: GOTO_URL https://www.example.com EXPLANATION: I am... STATUS: CONTINUE COMMANDS: WAIT EXPLANATION: I am... STATUS: CONTINUE四、EXPLANATION 与 STATUS 双协议:可审计的输出契约
每一轮响应的结尾必须包含两部分内容:
1. EXPLANATION(动作解释)
在命令之后,用EXPLANATION: ...简要说明动作意图,且不得提及底层细节(如元素 ID)。这一设计的价值在于可审计性:外部观察者(以及会话记录中的 LAST ACTIONS 段)可以通过解释文本理解智能体的决策逻辑,而不是面对一串难以理解的命令。
2. STATUS(任务状态)
提示词定义了四种状态码,智能体每次输出都必须带上其中一种:
| 状态码 | 含义与触发场景 |
|---|---|
STATUS: DONE | 任务已完成 |
STATUS: CONTINUE | 任务未完成,附上下一步动作建议 |
STATUS: NOT SURE | 不确定或需要帮助;同时应向用户提问;当已向用户提问并等待回复时也使用此状态 |
STATUS: WRONG | 用户请求看起来不正确,需要澄清用户意图 |
此外,提示词强调:如果基于之前的动作、浏览器内容或聊天历史,目标已经达成,则任务即告完成——即智能体必须具备"自行判断终止条件"的能力,而不是机械地执行到最后。这与状态协议共同构成了一个可被外部编排器驱动的有限状态机(FSM):解析器读取状态码决定是结束会话、继续注入下一轮上下文,还是转交人工介入。
五、浏览器上下文表示格式:把真实 DOM 压缩成文本
模型无法直接"看到"浏览器窗口,提示词定义了一种高度简化的文本表示来传递页面信息:
The format of the browser content is highly simplified; all formatting elements are stripped.
具体规则包括:
- 所有格式元素被剥离(样式、布局信息全部丢弃);
- 链接、按钮、输入框等交互元素以
text -> ...的箭头形式表示,含义为"这是一个包含该文本的 [链接/按钮/输入框]"(原文档中具体 HTML 标签在提取时被剥离,仅保留箭头与文本语义,文档自身对此的描述是 "Interactive elements such as links, inputs, buttons are represented like this"); - 图片以其 alt 文本呈现(
Images are rendered as their alt text); - 当前获得焦点的元素以
-> 元素的形式标记,并带有其 ID(例如"with id 3 当前被聚焦")。
原文档开篇的 Google 首页上下文示例直观展示了这种压缩效果:
/> Gmail/> Images/> Sign in/> About/> Store/> Google Search/> I'm Feeling Lucky/> ...可以看到:真实页面中的导航、按钮、搜索框全部被拍平成一行行的文本令牌。这种表示方式有两大工程意义:
- Token 成本控制:完整 DOM 会消耗大量上下文窗口,文本化压缩让长页面可以在有限的上下文内呈现;
- 可解析性:统一的文本格式便于模型以稳定的模式识别元素、分配 ID,也让
CLICK 3、TYPE 5 "hello"这类 ID 寻址命令得以成立。
对智能体而言,这份"浏览器上下文"是每轮决策的直接依据,因此提示词反复强调"记住这种格式",并把它与记忆技术绑定(见下节)。
六、无记忆智能体的补偿机制:Memorization / Counting / Scroll Context
这份提示词最有设计巧思的部分,是它对模型无持久记忆这一事实的显式处理。提示词开宗明义:
Since you don't have a memory, for tasks requiring memorization or any information you need to recall later: ...
它提供了三种补偿技术:
1. Memorization Technique(记忆技术)
需要记住信息时,智能体必须在输出中以固定前缀声明记忆,并让这段信息显式出现在会话流中:
EXPLANATION: Memorizing the following information: <要记忆的内容> COMMANDS: SCROLL_DOWN 1 STATUS: CONTINUE典型触发场景包括:读到一个需要留存的页面信息、滚动过程中看到需要记住的内容、需要记住一个项目列表等。本质上是把"记忆"外化为输出文本——信息以明文写入对话历史,从而在后续轮次中可以被重新读取。
2. Counting Technique(计数技术)
需要计数时,逐项列出:
1. ... 2. ... 3. ..."写下每一个计数"可以使计数更准确、也更容易在后续轮次中回忆。这是对语言模型在长列表中容易漏项、错序问题的针对性缓解。
3. Scroll Context(滚动上下文)
滚动是信息获取的核心动作,因此提示词为 SCROLL_UP / SCROLL_DOWN 单独设立了强约束(原文标注 SUPER IMPORTANT):
- 滚动必须配合记忆技术,把滚动中看到的信息写下来;
- 如果滚动时还没找到目标信息,必须声明:
EXPLANATION: I'm going to keep scrolling to find the information I need so I can memorize it.; - 需要对滚动中记忆的信息计数时,同样必须使用计数技术。
例如:
COMMANDS: SCROLL_DOWN 1 EXPLANATION: I'm going to keep scrolling to find the information I need so I can memorize it. STATUS: CONTINUE这套机制的深层逻辑是:既然每一轮输入的会话消息都可能被截断或重置,那么所有需要跨轮次保留的信息都必须显式写入输出流。换言之,这份提示词把"记忆"从模型内部状态问题,转化为了"协议级文本持久化"问题——这与现代 Agent 框架中"将关键信息写入上下文/外部存储"的思路一脉相承。
七、信息收集与研究的工作流
当任务需要调研或收集信息时,提示词规定了标准流程:
- 定位信息:访问网站或在线搜索,找到信息来源;
- 滚动浏览:通过滚动动作翻找所需细节;
- 暂停并总结:找到相关信息后停止滚动,用记忆技术总结要点;如有需要可继续滚动获取更多信息;
- 利用总结完成任务:以记忆内容为依据推进后续动作;
- 页面无信息则换页:若当前页面没有目标信息,必须明确声明:
EXPLANATION: I checked the page but found no relevant information. I will search on another page.然后跳转到新页面重复上述步骤。
此外,提示词对搜索引擎访问给出了固定模式:Google 搜索应使用COMMANDS: GOTO_URL https://www.google.com/search?q=QUERY(QUERY 为搜索词)。这一工作流实际上定义了一个"搜索 → 阅读 → 记忆 → 决策"的循环,是浏览器智能体完成开放型任务的通用骨架。
八、用户上下文与凭据处理
1. USER CONTEXT(用户个性化数据)
提示词会在会话中注入一组用户上下文字段,包括:id、userId、userName、userPhone、userAddress、userEmail、userZoom、userNotes、userPreferences、earlyAccess、userPlan、countryCode(示例中大部分字段为 null/redacted,countryCode 为 +1)。
使用规则有两条:
- 用于任何用户个性化需求(如按用户偏好推荐、按地区处理);
- 若与当前任务无关则不得使用(Don't use the USER CONTEXT data if it is not relevant to the task)。
这既是对隐私边界的约束,也是防止模型把无关个人信息硬塞进任务逻辑的护栏。
2. Credentials Context(凭据上下文)
对于需要登录的页面,提示词规定:
- 首先进入目标页面;
- 先检查用户是否已登录——若已登录则直接继续任务;
- 只有在用户未登录的情况下,才向用户索要凭据;
- 绝不在检查登录态之前询问凭据。
这一规则有效避免了智能体在用户已登录的场景下做无意义的凭据询问,是典型的"先观察后询问"的交互纪律。
九、会话消息结构与运行状态机
提示词定义的会话输入被组织为多个结构化段落,每个段落承担不同职责:
| 段落 | 内容与作用 |
|---|---|
SESSION MESSAGES | 记录 MultiOn 已执行的所有命令与动作、用户目标与浏览器上下文,是智能体的"操作历史" |
CURRENT PLAN | 当前计划(初始为 "No plan yet"),用于承载阶段性规划 |
CURRENT BROWSER CONTENT | 当前页面的简化文本表示(第五节的格式),即每轮决策的"观测值" |
LAST ACTIONS | 上一轮由智能体发出的动作/命令(初始为 "No actions yet"),用于动作连续性检查 |
PAGE RULES | 页面级交互规则,须严格遵守;示例:Do not click 'use precise location'(不要点击"使用精确定位")、若定位弹窗出现则将其关闭 |
CURRENT USER OBJECTIVE/MESSAGE | 当前用户目标/消息,段尾标注 "(IMPORTANT: You must do this now)",提示智能体立即处理 |
从工程视角看,这六段构成了一个完整的感知-行动闭环:
- 观测:
CURRENT BROWSER CONTENT提供页面状态; - 历史:
SESSION MESSAGES+LAST ACTIONS提供上下文与去重依据; - 约束:
PAGE RULES提供站点级安全规则(独立于任务目标,防止智能体触发定位弹窗等干扰); - 任务:
CURRENT USER OBJECTIVE/MESSAGE驱动本轮动作; - 产出:
COMMANDS+EXPLANATION+STATUS写回会话,进入下一轮。
其中PAGE RULES段是值得借鉴的设计:把"与任务无关但必须遵守的页面行为约束"(如关闭弹窗、不点击精确定位)从目标指令中剥离出来单独维护,既降低了目标提示的噪音,也保证规则不会被长任务稀释。
十、核心交互原则与约束汇总
提示词在 "Important Notes" 一节集中给出了行为纪律,可以归纳为以下原则:
- 永不猜测:不了解用户信息时,一律向用户求助;绝不用占位符或猜测值(NEVER guess or use a placeholder);
- 避免重复:若已给出过响应,不要再次提供;重复执行之前的动作通常意味着卡住,此时应求助;
- 善用历史:利用之前动作的信息推进任务或收尾;
- URL 必须精确:访问网站使用
GOTO_URL并携带准确 URL; - WAIT 即终止:使用 WAIT 后该轮不再发任何命令;
- 聚焦可见元素:只与可见元素交互,只对聚焦文本框(以焦点标记表示)使用 TYPE;
- 组合框流程:填写组合框(combobox)应遵循"输入 → 等待 → 必要时重试 → 从下拉中选择"的流程;
- 克制输入:仅在需要时向搜索栏输入文本;
- ID 寻址:命令使用元素 ID,一个命令一行;
- 任务完成即停:目标已达成(依据先前动作、页面内容或聊天历史判断)即结束任务。
十一、实战推演:一个完整的智能体回合
下面基于协议规范构造一个完整推演示例(模拟"搜索并记忆信息"任务,仅用于演示协议,非原文档内容):
第 1 轮(目标:在 Google 搜索 "MultiOn",记住结果页要点):
COMMANDS: GOTO_URL https://www.google.com/search?q=MultiOn EXPLANATION: I am going to open Google search results for MultiOn. STATUS: CONTINUE第 2 轮(上下文已切换为结果页,阅读并滚动):
EXPLANATION: Memorizing the following information: Search results show multi.on as an AI browsing agent platform. 1. official site link 2. product description 3. API docs link. COMMANDS: SCROLL_DOWN 1 STATUS: CONTINUE第 3 轮(信息足够,结束任务):
EXPLANATION: I have found and memorized the required information about MultiOn, task complete. STATUS: DONE这个推演展示了协议的核心循环:GOTO_URL重置上下文 →SCROLL_DOWN+ 记忆技术留存信息 →STATUS: DONE宣告终止,每一轮都严格携带 EXPLANATION 与 STATUS。
十二、对构建浏览器智能体的启示
将这份提示词作为一份"协议规格"来读,可以提炼出若干可复用的工程经验:
- 封闭命令集优于自然语言指令:把浏览器操作收敛为 9 条结构化命令,显著降低了解析难度与幻觉空间,也便于对每类动作附加精确约束(如 CLICK 仅限交互元素);
- 上下文压缩是浏览器智能体的命脉:简化文本表示 + 图片 alt 化 + 焦点标记,是对"如何在有限上下文里表达复杂页面"的务实回答;
- 显式外化记忆:在无持久记忆的前提下,用固定前缀把"要记住的内容"写进输出流,让记忆可跨轮次恢复、可被外部系统审计;
- 状态码驱动编排:
DONE / CONTINUE / NOT SURE / WRONG四态让上层系统无需理解任务内容即可决定是否继续、是否转人工; - 规则与任务分离:
PAGE RULES独立于目标指令,避免站点级约束被长任务稀释; - 先观察后询问:凭据处理"先查登录态再询问"、信息缺失"先声明再换页",都是避免智能体空转和骚扰用户的有效纪律。
结语
MULTION/MultiOn.md作为一份被提取的浏览器智能体系统提示词,完整呈现了 MultiOn 如何把"无记忆的语言模型"塑造成"可编排的浏览器操作员":通过封闭命令语言、结构化上下文、显式记忆技术与四态状态协议,模型得以在真实网页上执行稳定、可审计、可中断的任务循环。对于正在设计浏览器 Agent、RPA 类产品,或研究提示词工程与智能体协议的同学而言,这份文档既是可操作的规格参考,也是一份理解"模型如何被提示词塑造成工具"的绝佳素材。仓库中的完整原文见 MULTION/MultiOn.md,其他模型与 Agent 的同类提取件可浏览 CL4R1T4S 仓库目录获取。
- 知识库
- 人工智能
- AI 安全治理
【免费下载链接】CL4R1T4S
LEAKED SYSTEM PROMPTS FOR CHATGPT, CLAUDE, GEMINI, GROK, PERPLEXITY, CURSOR, LOVABLE, REPLIT, AND MORE! - AI SYSTEMS TRANSPARENCY FOR ALL! 👐
相关推荐
SurfSense 多智能体记忆子代理系统提示词设计:基于 update_memory 的持久化记忆协议解析
SurfSense 多智能体记忆子代理系统提示词设计:基于 update_memory 的持久化记忆协议解析 在 SurfSense 多智能体聊天架构中, me
人工智能AI 应用后端AI Agent网页爬虫RAG深度研究MCP 服务前端Wand-Enhancer:3 步把 Wand(WeMod) 改造成手机可控的增强客户端
Wand Enhancer:3 步把 Wand WeMod 改造成手机可控的增强客户端 Wand Enhancer 是一个纯本地运行的 Wand WeMod 客
桌面应用前端QM 共享核心协议(shared-core.md)深度解析:多智能体会话隔离、文件、记忆、凭据与技能的系统提示骨架
QM 共享核心协议(shared core.md)深度解析:多智能体会话隔离、文件、记忆、凭据与技能的系统提示骨架 这是一篇针对 QM(Multiplayer
后端人工智能AI Agent前端AI 技能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考