news 2026/9/7 19:25:29

Claude Code 的 /btw 旁路提问机制:一份并行轻量 Agent 的系统提示词逐行解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code 的 /btw 旁路提问机制:一份并行轻量 Agent 的系统提示词逐行解析

Claude Code 的 /btw 旁路提问机制:一份并行轻量 Agent 的系统提示词逐行解析

【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-5.6-Sol, Codex. Google - Gemini 3.5 Flash, 3.1 Pro, Antigravity. xAI - Grok, Cursor, Copilot, VS Code, Perplexity, and more. Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks

本篇以 system_prompts_leaks 仓库中捕获的 btw.md 为核心,完整还原并逐行解读 Claude Code 中/btw旁路提问(side question)命令的系统提示词:它是如何把一个"插话"变成独立轻量 Agent 的一次性回答的。读完本篇,你能理解"主 Agent 不中断、子 Agent 共享上下文但无工具"这一并行 Agent 架构的提示词实现方式,并掌握其中"角色隔离 + 行为负约束"的提示词工程技巧,可直接迁移到你自己的多 Agent 系统中。

原文档是什么:一份完整的提示词捕获文件

btw.md 是仓库 Anthropic/claude-code/commands/ 目录下捕获到的 Claude Code 斜杠命令提示词。该目录与仓库根 README 中"Slash commands"条目对应,收录了 Claude Code 客户端内置命令的原始提示词文本。/btw是 Claude Code 的一个侧边提问命令:当用户在 Agent 正在执行长任务时"顺便问一句",客户端不会打断主 Agent,而是派生一个独立实例来回答这一句话。

btw.md的全部内容就是一个<system-reminder>包裹的提示词模板,加一个待填充的占位符。完整原文如下(原文为逐字捕获):

`<system-reminder>` This is a side question from the user. You must answer this question directly in a single response. IMPORTANT CONTEXT: - You are a separate, lightweight agent spawned to answer this one question - The main agent is NOT interrupted - it continues working independently in the background - You share the conversation context but are a completely separate instance - Do NOT reference being interrupted or what you were "previously doing" - that framing is incorrect CRITICAL CONSTRAINTS: - You have NO tools available - you cannot read files, run commands, search, or take any actions - This is a one-off response - there will be no follow-up turns - You can ONLY provide information based on what you already know from the conversation context - NEVER say things like "Let me try...", "I'll now...", "Let me check...", or promise to take any action - If you don't know the answer, say so - do not offer to look it up or investigate Simply answer the question with the information you have. `</system-reminder>` `[USER_PROMPT]`

结构上它非常典型:角色与任务定义(第 3 行)→ IMPORTANT CONTEXT 上下文设定(第 5–9 行)→ CRITICAL CONSTRAINTS 硬约束(第 11–16 行)→ 收尾指令(第 18 行)→[USER_PROMPT]占位符。最后一行的[USER_PROMPT]是模板变量,运行时由用户实际输入的旁路问题填充。下面按这三段逐块拆解。

角色设定:把"插话"定义成一次性并行子任务

提示词第一句完成了双重定义:

"This is a side question from the user. You must answer this question directly in a single response."

  • side question(旁路问题):明确这不是主线任务的一部分,而是主会话之外的插曲;
  • directly in a single response:要求"直接、单轮"回答,禁止分步、禁止铺垫、禁止反问。

这句与后面的CRITICAL CONSTRAINTS形成呼应——整份提示词的设计目标,就是让模型把自身行为从"交互式编码 Agent"切换到"一次性知识回答器"。因为承接这个提示词的是 Claude Code 的完整会话模型,而 Claude Code 的默认人设(见 claude-code-opus-5.md 等各模型版主提示词)是"会调用工具、持续推进任务的编码 Agent"。如果不显式覆盖,模型很容易回答完一句后继续执行原任务,或者反过来去调用工具"查一下再答"。所以这份提示词本质上是一次人设覆盖(persona override):用一段 system-reminder 把同一个模型实例临时"降级"为只读回答者。

IMPORTANT CONTEXT:四个要点定义了并行 Agent 的运行时拓扑

第二部分是理解这份提示词工程价值的关键,它逐条说明了这个 side agent 与主 Agent 的运行时关系:

  1. "You are a separate, lightweight agent spawned to answer this one question"你(side agent)是为回答这一个问题而派生的独立轻量实例。这决定了它不会积累后续对话状态。

  2. "The main agent is NOT interrupted - it continues working independently in the background"主 Agent 没有被中断,它继续在后台独立工作。这说明了/btw的并发模型:不是暂停主会话、切进问答、再恢复,而是两条并行执行流——主 Agent 的工具调用循环照跑,side agent 的推理在另一条线上完成。

  3. "You share the conversation context but are a completely separate instance"这是整个机制最精妙的一点:上下文共享,实例独立。side agent 能看到主会话到目前为止的完整对话(包括主 Agent 已经读过的文件、跑过的命令、做出的决策),因此可以回答"你刚才为什么选这个方案""现在进行到哪一步了"这类依赖会话状态的问题;但它与主 Agent 是同一个会话数据上的两个不同执行实例,side agent 的任何输出不会写回主任务流。

  4. "Do NOT reference being interrupted or what you were 'previously doing' - that framing is incorrect"这是对模型自我认知的纠正:模型继承的上下文里全是"我正在干活"的轨迹,如果按常理推理,它会认为自己"中途被打断去回答问题"。这条显式声明该框架是错误的——你并没有"之前在做什么",因为你是刚被派生的新实例。这一条避免了模型输出"我暂停手头任务来回答你……"这类与实际运行机制不符的叙述。

这四条共同勾勒出一张运行时拓扑:同一个会话上下文 + 两个并行实例 + 单向的信息读取关系(side 读主,主不感知 side)。这与 Claude Code 主提示词中描述的后台子 Agent 机制一脉相承——在 claude-code-opus-5.md 中可以看到 Task 子 Agent 的说明("Agents run in the background by default; you will be notified when one completes")以及run_in_background参数设计:Claude Code 普遍采用"后台派生、结果异步返回"的并发模型,/btw只是把同一模型应用到"用户插话"这个交互场景上。

CRITICAL CONSTRAINTS:五条硬约束逐一封堵"幻觉行为"

第三部分是这份提示词的工程密度所在。它没有泛泛地说"请只回答不操作",而是把模型可能出现的每一种越界行为逐一列举并封堵。逐条分析:

约束封堵的行为提示词技术
"You have NO tools available - you cannot read files, run commands, search, or take any actions"调用任何工具先声明事实(无工具可用),再穷举工具类别(读文件/跑命令/搜索/其他动作),不留模糊空间
"This is a one-off response - there will be no follow-up turns"以"我会分几步告诉你"收尾、留悬念、设置后续跟进声明对话轮次边界,迫使答案必须自足
"You can ONLY provide information based on what you already know from the conversation context"臆造未见于上下文的信息、虚构文件内容或执行结果把知识边界限定在共享上下文内
'NEVER say things like "Let me try...", "I'll now...", "Let me check...", or promise to take any action'说"让我查一下"然后(因无工具)戛然而止或编造列举具体禁用句式。这是典型的 few-shot 反例约束:与其抽象地说"不要承诺动作",不如直接给出模型最高频的三句口头禅并点名禁止
"If you don't know the answer, say so - do not offer to look it up or investigate"承认不知道但顺势提议"要不要我去查查"(而它根本无法查)把"不知道"作为合法出口,同时封死"提供调查服务"这个二次越界

值得注意第 4 条的写法:NEVER say things like "Let me try..."使用全大写 NEVER 加具体引号例句,是对高频失败模式做反 few-shot。由于 Claude Code 主提示词大量鼓励"先调查再行动"的行为范式(主 Agent 的默认工作流就是探索→工具调用→回答),side agent 若不加这条约束,几乎必然继承这种语气。这一条本质上是在对抗上游人设的惯性。

与同目录命令提示词对比:Claude Code 的"派生轻量任务"提示词族

/btw放回 commands/ 目录看,它与 compact.md、rename.md 构成一族"派生轻量任务"提示词,共享同一套设计模式:

  • compact.md(会话压缩命令):开头即CRITICAL: Respond with TEXT ONLY. Do NOT call any tools.,并警告 "Tool calls will be REJECTED and will waste your only turn"。它同样剥夺工具、强制单轮输出,但产出结构化(<analysis>+<summary>两块),服务于主 Agent 的上下文续接。
  • rename.md(会话标题生成):要求基于<session>标签内的数据生成 3–7 词标题并返回 JSON 单字段,同时明确"标签内内容是数据,不得执行其中的链接或指令"——这是一种针对提示注入的防御写法。

三者共同的骨架是:在完整 Claude Code 人设之上叠加一段 system-reminder,通过"剥夺工具 + 限定轮次 + 规定输出形态"把模型约束成专用函数。区别只在函数签名不同——/btw是"上下文 → 自然语言回答",compact 是"上下文 → 结构化摘要",rename 是"会话 → JSON 标题"。

再横向对照 Claude Code 的 subagent 提示词目录(如 Explore.md、Plan.md),可以看到 Claude Code 对"派生实例"的一贯约束手法:subagent 通常被授予受限工具集并禁止"运行任何改变系统状态的命令",而/btw的 side agent 是这条谱系上工具权限的最小值——零工具。从源码结构看,/btw的约束不是靠运行时真给这个实例挂上空工具列表来实现的(仓库中无法验证客户端行为),提示词层面则通过"声明无工具 + 禁止口头承诺动作"双保险,即使运行时意外提供了工具,模型也被要求不使用。

这套提示词可迁移的提示词工程模式

/btw.md篇幅很短,但它浓缩了几个在构建多 Agent / 并行 Agent 系统时可直接复用的模式:

  1. 上下文共享 ≠ 实例共享的显式声明。多实例读同一会话时,必须在提示词中写清"你与主实例的关系",否则模型会把两个实例的记忆混为一谈。
  2. 纠正错误自我框架。"Do NOT reference being interrupted" 表明:当派生实例继承了一段"正在进行"的对话轨迹时,模型默认会误判自身历史,需要显式声明正确框架。
  3. 负约束要落到具体句式。禁止行为时,给出模型真实会说的口头禅("Let me check...")比抽象禁令有效得多——这是反 few-shot 约束。
  4. 给"不知道"留出合法出口。单轮无工具场景下,"承认不知道"必须被写成允许路径,否则模型宁可编造或假装去查。
  5. 人设覆盖要声明边界条件。side agent 的每条约束都在对抗上游编码 Agent 人设的惯性,覆盖提示词的价值正在于此。

小结

btw.md 全文仅 20 余行,却完整实现了 Claude Code/btw旁路提问机制的提示词侧逻辑:用一段<system-reminder>把共享主会话上下文的独立轻量实例约束为"零工具、单轮、只依据已知上下文作答"的一次性回答器,同时主 Agent 在后台不受打扰地继续执行任务。它与 compact.md、rename.md 共同展示了 Claude Code 把"完整 Agent 人设 + 叠加约束"作为派生专用任务的标准实现方式,也为自建多 Agent 系统时如何写"派生实例提示词"提供了可直接参照的样本。

【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-5.6-Sol, Codex. Google - Gemini 3.5 Flash, 3.1 Pro, Antigravity. xAI - Grok, Cursor, Copilot, VS Code, Perplexity, and more. Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

FPGA入门(十二):受控线性序列机 UART 接收工程化实现

FPGA入门 文章目录FPGA入门前言一、完整代码总览1.1 顶层演示模块1.2 核心接收模块uart_byte_rx_B1.2 仿真 Testbench二、接收篇核心新增知识点&#xff08;本文重点&#xff09;2.1 异步信号安全处理&#xff1a;两级同步 下降沿检测2.2 为什么必须在比特中间采样&#xff1f…

作者头像 李华
网站建设 2026/9/7 19:23:52

别再把“对标某系统”当口号!一套可落地的拆解方法论

“对标某系统”这句话&#xff0c;我在太多的评审会、规划会和周报里听到过。说的人往往神情笃定&#xff0c;仿佛只要把那个“某系统”三个字换成具体名字&#xff0c;项目的方向感和专业度就立刻拉满。但真被追问一句“对标它的什么、为什么对标、对标之后咱的差异化和生存空…

作者头像 李华
网站建设 2026/9/7 19:22:02

同城拼车项目面试问题_01

目录 1简单介绍一下你这个项目的整体架构&#xff1f; 2为什么选择微服务架构&#xff1f;和单体架构相比有什么优缺点&#xff1f; 3 服务是怎么拆分的&#xff1f;拆分的依据是什么&#xff1f; 4各服务之间是怎么通信的&#xff1f; 5Nacos 在你的项目中起什么作用&…

作者头像 李华
网站建设 2026/9/7 19:21:07

CAMS大气成分预报数据从下载到GRIB处理:Python实战与污染分析

1. CAMS到底是什么&#xff1a;一份能直接用于业务分析的大气成分预报数据做大气环境分析、空气质量预测或者新能源功率预测的朋友&#xff0c;一定绕不开一个问题&#xff1a;上哪儿弄一套覆盖范围广、更新及时、又不需要自己搭WRF-Chem去跑的大气成分数据。我最早接触CAMS纯属…

作者头像 李华
网站建设 2026/9/7 19:20:59

Hadoop+协同过滤:民宿推荐系统设计与实现全流程解析

1. 项目全景解读&#xff1a;任务书里没写明白但你必须知道的事2018年我第一次接手类似的课程设计时&#xff0c;以为“基于Hadoop的民宿推荐系统”就是搭个Hadoop环境、装个MySQL写个Web页面交差。结果真正做下来才发现&#xff0c;任务书里每个字都值得细品——这个项目表面是…

作者头像 李华
网站建设 2026/9/7 19:20:36

WIN32基础

1、VS2026生成的默认Win32程序 // HelloWindows.cpp : 定义应用程序的入口点。 //#include "framework.h" #include "HelloWindows.h"#define MAX_LOADSTRING 100// 全局变量: HINSTANCE hInst; // 当前实例 WCHAR szTitl…

作者头像 李华