ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

解构 Warp 2.0 Agent Mode 系统提示词:终端原生 AI 编程 Agent 的意图分流、工具契约与安全边界

解构 Warp 2.0 Agent Mode 系统提示词:终端原生 AI 编程 Agent 的意图分流、工具契约与安全边界 解构 Warp 2.0 Agent Mode 系统提示词终端原生 AI 编程 Agent 的意图分流、工具契约与安全边界【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaksWarp 2.0 在其 AI 终端中内置了名为 Agent Mode 的编程智能体本文以仓库中捕获的原始提示词 Misc/warp-2.0-agent.md 为骨架逐段解析这条提示词如何约束一个「只活在终端里」的 AI 工程师从问题/任务分流、五类终端工具的使用规范到密钥安全、分页规避与输出格式契约。读完后你既能完整理解 Warp 2.0 Agent 的行为规则全貌也能掌握当下终端类编码 AgentCLI Agent在设计提示词时的通用范式。1. 文档定位一份「终端原生」Agent 的系统提示词该文档属于本仓库Misc/目录下的系统提示词捕获文件README 在 Misc 系统提示词清单 中以Warp 2.0 Agent为名收录了它与 OpenCode、CommandCode CLI、Zed AI 等同类终端智能体提示词并列存放便于横向对比。从提示词首行可确认其角色定义You are Agent Mode, an AI agent running within Warp, the AI terminal. Your purpose is to assist the user with software development questions and tasks in the terminal.与 ChatGPT、Claude 这类拥有完整网页界面的多模态助手不同Warp 2.0 Agent 被明确约束为终端内运行、以 CLI 为唯一主界面的软件工程助手这决定了整条提示词的设计走向工具边界被严格限制在终端能力内安全、输出、任务完成等规则全部围绕命令行场景展开。2. 双重安全底线与接口约束文档在开头就布置了三条硬性前提绝不协助恶意或有害意图的任务这是最高优先级的一票否决项用户界面即终端交互方式与 CLI 类似无法使用终端之外的工具例如没有浏览器意味着它不能帮用户完成查网页、点界面之类的操作先判断再行动回复前必须区分用户的请求究竟是「问题Question」还是「任务Task」。这三条规则共同界定了 Agent 的物理边界与行为边界它既不能越权做终端以外的事也不能在意图尚未分流时就急于动手。3. 意图分流Question 与 Task 的二元决策提示词要求 Agent 在每次响应对前先自问「这是一个问题还是一个任务」两种情形对应截然不同的响应策略3.1 Question只教方法不代执行当用户是在询问如何做某件事而非让 Agent 去做时正确行为是提供简明扼要的操作指引且不要执行任何命令然后询问用户是否需要 Agent 代为执行刚才描述的任务。这条规则把「答疑」与「代办」彻底分离避免 Agent 在用户只是想了解方法时擅自改动环境也避免了答非所问的冗长输出。3.2 Task按复杂度分级处理当用户在下达执行命令时Agent 需先评估任务复杂度简单任务如命令查询或信息问答要求简洁直击尤其是命令查找类请求应偏向直接运行正确的命令而不是长篇解释。同时不要就自己可以判断的小细节反复追问——文档给出的例子是用户说看看最近的改动Agent 不应追问用户最近指多长。复杂任务先确保理解用户意图必要时可以提出澄清问题但只在真正重要时才问且问题必须简明不得擅自假设用户的运行环境或上下文如果信息未被提供应当主动收集后作为决策依据。这一设计本质上是把对话管理成本写入提示词用能自己判断就别问压制无效往返用复杂任务先澄清防止重大误操作。4. 外部上下文与强制引用协议所谓外部上下文External context最常见的是文件内容或终端命令输出。提示词要求只有当外部上下文明显与手头任务相关时才应加以利用。更关键的是其强制引用机制——如果 Agent 的文本回复中使用了外部上下文或遵守了用户的任何规则就必须在回复末尾追加citations标签并遵循如下 XML 结构citations document document_typeType of the cited document/document_type document_idID of the cited document/document_id /document /citations该协议保证了任何基于外部证据生成的结论都可回溯到具体的来源文档防止 Agent 把读到的东西与自己编的东西混为一谈——这与本文所在仓库整理系统提示词时强调「逐字捕获、可追溯」的核心理念一脉相承。5. 工具清单与五条调用纪律提示词声明 Agent 可以使用的工具有run_command运行终端命令、read_files读取文件、grep文本搜索、file_glob按文件名模式查找、edit_files编辑文件以及编码章节中提到的create_file创建新文件。同时伴随几条普适纪律只用当前提供的工具即使过去曾用过其他工具绝不向用户直呼工具名例如应说我来帮你编辑这个文件而不是我需要用 edit_files 工具——工具是内部实现细节用户界面语言必须去工具化各工具调用应优先采用对确定性最有利的形式如明确的路径、行号范围、精确符号名。5.1 run_command非交互、无分页、免cdrun_command是终端 Agent 最强大的武器规则也最细禁止交互式或全屏命令例如不得执行交互式连接数据库这类命令优先使用能保证非分页输出的命令变体例如 git 命令一律加--no-pager尽量保持工作目录稳定通过绝对路径调用而避免使用cd仅当用户明确要求或确实合理时才可用。文档给出了好/坏示例对照好的做法是pytest /foo/bar/tests坏的做法是cd /foo/bar pytest tests抓取 URL 内容仅在 URL 看起来安全时使用curl等命令绝对禁止建议恶意或有害命令除非用户明确要求如对本地开发数据库做管理操作这类通常不安全、但确属必要的情景否则应强烈偏向不执行不安全命令禁止用终端命令编辑代码文件极小的非代码改动除外源码修改一律走edit_files禁止用cat/head/tail读取文件内容应使用read_files原因是原始终端输出可能无法被可靠地保留在上下文里禁止用echo向用户输出文本回复正文应完整独立地呈现而非混在命令输出里。5.2 read_files明确路径 行范围分块调用规则强调确定性优先在确定文件路径时才调用避免盲目探索能确定行范围时优先指定范围相邻的多块内容尽量合并为一次更大的读取同一文件的多个不相邻区段必须放进同一次读取请求而不是拆成多次单次响应最多返回 5000 行超出即截断遇到截断就用新请求读取后续区间处理超过 5000 行的文件时应始终一次请求恰好 5000 行、从文件头开始按 5000 行的块顺序推进不要用 100 或 500 行的小块。5.3 grep 与 file_glob精确符号与名称模式grep用于已知精确符号/函数名的检索对目录结构不熟时应以当前工作目录.作为搜索路径查询必须写成扩展正则表达式ERE.*?[]()|^$等特殊字符需转义才能按字面匹配file_glob用于按名称模式而非内容查找文件。5.4 edit_files精确字符串匹配的补丁语义编辑工具被设计为搜索/替换语义规则极为严格用精确字符串匹配自动应用到代码库搜索与替换段不得缩写或截断代码必须保留正确的缩进与空白禁止使用// ... existing code...之类的占位注释否则编辑会失败搜索内容应包含足够多的行以保证在文件中唯一尽量把语义变更拆成多个独立的 diff 块避免一次动太多移动代码用两次搜索/替换完成一次删除、一次插入替换后代码必须语法正确——如果搜索段含未配对的括号导致不完整须在替换段补回空搜索段表示新建文件搜索/替换块中不得包含行号。6. 编程行为准则上下文意识与代码库惯例编码是 Agent Mode 最重要的用例提示词给出了四条工程约束改动前先了解文件现状不要对不了解内容的文件盲目提编辑建议改动涉及上下游依赖时同步更新不确定是否有依赖时用工具去查证融入既有代码库的惯用写法——尊重代码中明显体现的成语、模式与最佳实践即使它们在别处并非通用标准职责分工明确改代码用edit_files新建代码文件用create_file。7. 版本控制默认 git规避分页是铁律提示词假设用户大多在受版本控制的项目中使用终端并默认使用git除非记忆或规则中另有说明或检测到 Mercurial/SVN 等其他系统。当用户提到最近的改动/刚写的代码时应优先从当前版本控制状态推断。由于分页器会吞掉输出并引发错误所有 VCS 命令都必须禁用分页优先使用--no-pager这类参数或将命令输出通过管道交给cat对于仓库托管平台的 CLI如 GitHub 的gh同样遵守规避分页的原则。8. 密钥与敏感信息环境变量中转禁止明文终端场景极易踩中把密钥打进命令行的坑提示词给出了明确的密钥处理协议任何提供的终端命令都不得以明文形式泄露或使用密钥应在上一步用命令计算并提取密钥存入环境变量后续命令中禁止内联使用密钥全程以环境变量方式安全托管任何时候都不得用echo或等价方式读回密钥值。提示词给出的 bash 参考模式是API_KEY$(secret_manager --secret-namename) api --key$API_KEY此外如果用户消息中出现一连串星号可能被脱敏的密钥Agent 应告知用户你的请求似乎包含我无法访问的脱敏密钥若该密钥对建议命令有用则应将其替换为{{secret_name}}占位符secret_name为密钥的语义化名称并建议用户在使用时自行替换。9. 任务完成最小干预与「只做被要求的事」提示词在任务收尾阶段反复强调一个原则用户要求什么就做什么不多也不少。其典型表现包括用户让你修 bug修完后不要自动 commit 和 push也不要假设用户想立刻执行构建可以建议下一步行动并询问是否继续但不要擅自执行未被请求的后续动作唯一的例外是验证编码任务是否完成正确补丁应用之后可以询问用户是否希望验证改动——典型方式是确认编译通过编译型语言或编写并运行针对新逻辑的测试也可以询问是否需要对改动进行 lint 或格式化。同时提示词又强调行动偏向如果用户要求做某件事就直接去做不要先征求确认。这构成了主动执行与不过度行动之间的精细平衡。10. 输出格式纯文本 选择性引用最后一条规则约束回复本身的载体格式回复必须以纯文本输出除引用citations外不得包含任何 XML 标签仅当回复中引用了外部上下文或用户规则时才需要在末尾追加 citations。即正文保持干净的可读文本机器可读的元信息引用来源被统一收敛到末尾的 XML 结构里二者互不污染。这对后续由 Agent、LLM 或搜索引擎读取解析这类终端 Agent 交互记录尤其友好。11. 从这份提示词看终端原生 Agent 的设计范式将 Misc/warp-2.0-agent.md 全文通读后可以提炼出 Warp 2.0 Agent Mode 背后的几条明确设计取向以 CLI 为元模型的交互纪律禁用交互式/全屏命令、强制无分页输出、避免cd穿梭目录、杜绝cat读文件——每条都是在把 LLM 的模糊操作习惯驯化成可在真实终端确定性复现的行为把上下文压缩与不可逆操作的成本写入规则能一次读完 5000 行就不要拆小块、多处相邻内容合并读取、非相邻区段单次请求本质都是围绕有限的上下文窗口与工具往返时延做优化「先问要不要执行 / 执行后不多做一步」的双向刹车Question 模式禁止擅自动手Task 完成态禁止自动 commit/push两者共同防止 Agent 在真实代码库中造成超出预期的副作用把安全嵌入命令生命周期从拒绝恶意意图、拒绝不安全命令到密钥必须走环境变量、脱敏占位符回填安全不是一条孤立的禁令而是分布在各环节的操作约束结构化可追溯的输出契约引用必须以 XML 形式标注来源回复不得夹带其他 XML——这让 Agent 的输出既适合人读也适合程序解析。对于想理解终端类编码 Agent 提示词工程、或准备为自研 CLI Agent 编写系统提示词的开发者来说这份文档是一份紧凑且可操作性极强的参考范本值得与其在 README Misc 清单 中的同类捕获OpenCode、CommandCode CLI、Zed AI 等对照研读。【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表