Claude Code 提示词工程分析
1. 引言
Claude Code 是 Anthropic 的官方 CLI 工具,其内部使用了大量结构化的提示词(prompt)来指导模型行为。本文基于对源代码中所有提示词片段的系统分析,总结出这些提示词的10 个作用域分类和12 个语法特点,并附上典型示例与出现频次统计,旨在为提示词工程实践提供参考。
2. Claude Code 提示词提取
2.1. 项目提示词文件提取
根据对整个项目的分析,以下是目录下所有包含提示词(prompt)的文件列表:
2.1.1. 主要系统提示词文件
| 文件路径 | 说明 |
|---|---|
| src/constants/prompts.ts | 主要的系统提示词文件,包含多个系统提示词部分(Doing tasks、Actions、Using tools等) |
2.1.2. 服务层提示词
| 文件路径 | 说明 |
|---|---|
| src/services/compact/prompt.ts | 压缩提示词(用于对话压缩) |
| src/services/SessionMemory/prompts.ts | 会话记忆提示词 |
| src/services/MagicDocs/prompts.ts | Magic Docs提示词 |
| src/services/PromptSuggestion/promptSuggestion.ts | 提示词建议提示词 |
| src/services/extractMemories/prompts.ts | 提取记忆提示词 |
2.1.3. 工具提示词(Tools)
| 文件路径 | 说明 |
|---|---|
| src/tools/BashTool/prompt.ts | Bash工具提示词 |
| src/tools/FileReadTool/prompt.ts | 文件读取工具提示词 |
| src/tools/FileEditTool/prompt.ts | 文件编辑工具提示词 |
| src/tools/FileWriteTool/prompt.ts | 文件写入工具提示词 |
| src/tools/GrepTool/prompt.ts | Grep工具提示词 |
| src/tools/GlobTool/prompt.ts | Glob工具提示词 |
| src/tools/AgentTool/prompt.ts | Agent工具提示词 |
| src/tools/WebSearchTool/prompt.ts | Web搜索工具提示词 |
| src/tools/ToolSearchTool/prompt.ts | 工具搜索提示词 |
| src/tools/ExitPlanModeTool/prompt.ts | 退出计划模式工具提示词 |
| src/tools/BriefTool/prompt.ts | Brief工具提示词 |
| src/tools/AskUserQuestionTool/prompt.ts | 询问用户问题工具提示词 |
| src/tools/SleepTool/prompt.ts | Sleep工具提示词 |
| src/tools/TaskCreateTool/prompt.ts | 任务创建工具提示词 |
| src/tools/TaskUpdateTool/prompt.ts | 任务更新工具提示词 |
| src/tools/TaskGetTool/prompt.ts | 任务获取工具提示词 |
| src/tools/TaskListTool/prompt.ts | 任务列表工具提示词 |
| src/tools/TaskStopTool/prompt.ts | 任务停止工具提示词 |
| src/tools/TodoWriteTool/prompt.ts | Todo写入工具提示词 |
| src/tools/LSPTool/prompt.ts | LSP工具提示词 |
| src/tools/NotebookEditTool/prompt.ts | Notebook编辑工具提示词 |
| src/tools/SendMessageTool/prompt.ts | 发送消息工具提示词 |
| src/tools/ScheduleCronTool/prompt.ts | 定时任务工具提示词 |
| src/tools/PowerShellTool/prompt.ts | PowerShell工具提示词 |
| src/tools/TeamCreateTool/prompt.ts | 团队创建工具提示词 |
| src/tools/TeamDeleteTool/prompt.ts | 团队删除工具提示词 |
| src/tools/RemoteTriggerTool/prompt.ts | 远程触发工具提示词 |
| src/tools/ReadMcpResourceTool/prompt.ts | 读取MCP资源工具提示词 |
| src/tools/ListMcpResourcesTool/prompt.ts | 列出MCP资源工具提示词 |
| src/tools/MCPTool/prompt.ts | MCP工具提示词(空) |
| src/tools/SkillTool/prompt.ts | Skill工具提示词 |
| src/tools/ConfigTool/prompt.ts | 配置工具提示词 |
| src/tools/EnterPlanModeTool/prompt.ts | 进入计划模式工具提示词 |
| src/tools/ExitWorktreeTool/prompt.ts | 退出工作树工具提示词 |
| src/tools/EnterWorktreeTool/prompt.ts | 进入工作树工具提示词 |
| src/tools/WebFetchTool/prompt.ts | Web获取工具提示词 |
| src/tools/AgentTool/built-in/exploreAgent.ts | 探索Agent提示词 |
2.1.4. 其他提示词
| 文件路径 | 说明 |
|---|---|
| src/utils/claudeInChrome/prompt.ts | Chrome浏览器自动化提示词 |
| src/buddy/prompt.ts | Buddy提示词 |
| src/skills/bundled/stuck.ts | Stuck技能提示词 |
2.2. 从文件中提取提示词
依据前面的提示词文件列表,然后使用下面的提示词构建 skill 逐一提取具体的提示词。
1. 仔细读取${file_name}文件,找出文件中的提示词相关的部分,用markdown表格格式输出:
- 文件名:相对项目根目录,包含路径的文件;
- 提示词变量:提示词赋予的变量名;
- 代码行:提示词变量定义的开始行-结束行,就是提示词变量赋值开始的反引号到匹配的结束反引号之间的行号。文件内容开始行行号计数从1开始,而不是0,使用grep工具用正则表达式:'`.*`$' 精确计算之间的行号;
- 提示词:提示词的具体内容。内容中的换行符需要用'
'替换;
- 提示词中文:提示词的中文翻译,内容中的换行符需要用'
'替换;
2. 输出前需要完成以下校验:
- 确保每个输出的内容都是真实的读取了文件内容,而不是通过推断。
- 确保将提示词内容中的换行符正确替换为'
';
- 使用工具重新核对提示词的内容行号的开始行和结束行行号,以及提示词内容中的回车数量,需要满足:开始行+回车数量(开始行中的回车不参与计数)=结束行,如果不满足,重新计算行号。
2.2.1. 提示词信息汇总
| 文件目录 | 文件数 | 提示词数量 |
|---|---|---|
| buddy | 1 | 1 |
| contstants | 1 | 4 |
| services | 5 | 14 |
| skills | 1 | 1 |
| tools | 36 | 41 |
| utils | 1 | 4 |
| 总计 | 45 | 65 |
3. 提示词按作用域分类
根据功能领域,提示词可分为以下 10 大类:
3.1. 浏览器自动化(Claude in Chrome)
BASE_CHROME_PROMPT– 基本规范:GIF 录制、控制台调试、避免模态对话框、避免死循环、标签页上下文管理。CHROME_TOOL_SEARCH_INSTRUCTIONS– 使用 Chrome 工具前必须先通过 ToolSearch 加载。CLAUDE_IN_CHROME_SKILL_HINT– 调用技能后才能使用工具。CLAUDE_IN_CHROME_SKILL_HINT_WITH_WEBBROWSER– 区分开发用 WebBrowser 和真实用户 Chrome。
3.2. 网络与搜索工具
WebSearchTool– 网络搜索,强制要求返回结果时附带Sources:来源列表。WebFetchTool– 获取 URL 内容并处理,优先使用 MCP 提供的 fetch 工具。GrepTool– 基于 ripgrep 的搜索,禁止直接调用grep/rg命令。GlobTool– 快速文件模式匹配。ToolSearchTool– 加载延迟工具的完整 schema。
3.3. 文件系统操作
FileReadTool– 读取文件(支持图片、Jupyter notebook),要求绝对路径。FileWriteTool– 写入文件,必须先读后写。FileEditTool– 精确字符串替换,需先读取文件,注意缩进和唯一性。NotebookEditTool– 替换 Jupyter notebook 单元格内容。BashTool– 执行 bash 命令,但优先使用专用工具。PowerShellTool– 执行 PowerShell 命令,强调版本兼容性(5.1)和只读操作。
3.4. 任务与待办管理
TodoWriteTool– 创建结构化任务列表,规定状态为 pending/in_progress/completed,要求同时提供content和activeForm。TaskCreateTool/TaskUpdateTool/TaskListTool/TaskGetTool/TaskStopTool– 团队任务列表的增删改查、状态更新、依赖关系(blocks/blockedBy)、停止后台任务。
3.5. 团队协作与代理
TeamCreateTool– 创建团队及任务列表,选择代理类型(只读/全功能)。TeamDeleteTool– 删除团队和任务目录,要求先终止所有活跃成员。SendMessageTool– 向其他代理发送消息,支持按名称或广播。AgentTool– 启动专门子代理(如 explore agent),可 fork 当前会话上下文。ExploreAgent(内置) – 只读探索代理,禁止任何文件修改。
3.6. 计划模式与工作树
EnterPlanModeTool– 在复杂任务前主动进入计划模式,获取用户批准。ExitPlanModeTool– 退出计划模式,从计划文件读取内容供用户审批。EnterWorktreeTool– 创建 git worktree 并切换到其中,仅当用户明确提到“worktree”时使用。ExitWorktreeTool– 退出 worktree 会话,可选择保留或删除。
3.7. 会话记忆与文档
SessionMemory– 更新会话笔记文件,保持固定结构(标题 + 斜体描述行),只更新内容区域。MagicDocs– 更新 Magic Doc 文件,强调简洁、只记录概览/架构/入口点,就地更新而非追加历史。extractMemories– 作为子代理从最近消息中提取持久记忆。
3.8. 对话压缩与摘要
BASE_COMPACT_PROMPT/PARTIAL_COMPACT_PROMPT/PARTIAL_COMPACT_UP_TO_PROMPT– 生成对话摘要,必须包含<analysis>和<summary>块,禁止调用任何工具。NO_TOOLS_PREAMBLE/NO_TOOLS_TRAILER– 强调只输出纯文本,不能使用任何工具。
3.9. 系统配置与辅助工具
ConfigTool– 获取或设置 Claude Code 配置。BriefTool– 向用户发送消息,区分normal和proactive状态。SleepTool– 等待指定时间,优于Bash(sleep)。SkillTool– 调用技能(slash command)。ScheduleCronTool– 定时任务(cron),避免使用 :00 和 :30 分钟。AskUserQuestionTool– 向用户提问以澄清需求。LSPTool– 语言服务器操作。RemoteTriggerTool– 调用claude.ai远程触发器 API。ReadMcpResourceTool/ListMcpResourcesTool– 读取/列出 MCP 资源。
3.10. 诊断与辅助功能
stuck技能 – 诊断冻结/缓慢的 Claude Code 会话,提供调查步骤和报告格式。PromptSuggestion– 预测用户下一步可能输入的内容,输出 2-12 个词。
4. 提示词分析举例
下面是文件:src/utils/claudeInChrome/prompt.ts 中 BASE_CHROME_PROMPT 的提示词。
# Chrome浏览器自动化中的Claude
你可以使用浏览器自动化工具(mcp__claude-in-chrome__)与Chrome中的网页进行交互。请遵循以下指南以实现有效的浏览器自动化。
## GIF录制
当执行用户可能想要查看或分享的多步骤浏览器交互时,使用mcp__claude-in-chrome__gif_creator进行录制。
你必须始终:
在执行操作前后捕获额外的帧以确保流畅的播放
* 为文件命名有意义,以帮助用户日后识别(例如,"login_process.gif")
## 控制台日志调试
你可以使用mcp__claude-in-chrome__read_console_messages读取控制台输出。控制台输出可能很冗长。如果你正在寻找特定的日志条目,请使用带有正则表达式兼容模式的'pattern'参数。这可以有效地过滤结果并避免输出过多。例如,使用pattern: "[MyApp]"来过滤应用程序特定的日志,而不是读取所有控制台输出。
## 警报和对话框
重要:不要通过你的操作触发JavaScript警报、确认、提示或浏览器模态对话框。这些浏览器对话框会阻止所有进一步的浏览器事件,并会阻止扩展接收任何后续命令。相反,在可能的情况下,使用console.log进行调试,然后使用mcp__claude-in-chrome__read_console_messages工具读取这些日志消息。如果页面有触发对话框的元素:
1. 避免点击可能触发警报的按钮或链接(例如,带有确认对话框的"删除"按钮)
2. 如果你必须与这些元素交互,请先警告用户这可能会中断会话
3. 使用mcp__claude-in-chrome__javascript_tool在继续之前检查并关闭任何现有对话框
如果你不小心触发了对话框并失去响应,请告知用户他们需要在浏览器中手动关闭它。
## 避免陷入困境和循环
使用浏览器自动化工具时,保持专注于特定任务。如果你遇到以下任何情况,请停止并向用户寻求指导:
- 意外的复杂性或无关的浏览器探索
- 浏览器工具调用失败或在2-3次尝试后返回错误
- 没有收到浏览器扩展的响应
- 页面元素对点击或输入没有反应
- 页面未加载或超时
- 尽管尝试多种方法仍无法完成浏览器任务
解释你尝试了什么,出了什么问题,并询问用户希望如何继续。不要不断重试相同的失败浏览器操作或在未先检查的情况下探索无关页面。
## 标签页上下文和会话启动
重要:在每个浏览器自动化会话开始时,首先调用mcp__claude-in-chrome__tabs_context_mcp以获取有关用户当前浏览器标签页的信息。使用此上下文来了解用户可能想要使用什么,然后再创建新标签页。
永远不要重用来自先前/其他会话的标签页ID。请遵循以下指南:
1. 仅当用户明确要求使用现有标签页时才重用它
2. 否则,使用mcp__claude-in-chrome__tabs_create_mcp创建新标签页
3. 如果工具返回错误指示标签页不存在或无效,请调用tabs_context_mcp以获取新的标签页ID
4. 当用户关闭标签页或发生导航错误时,调用tabs_context_mcp以查看可用的标签页
以下是对该提示词的分析:
4.1. 整体定位与目的
这是一份面向AI助手(Claude)的操作指南,用于指导AI如何正确使用名为 mcp__claude-in-chrome__ 的浏览器自动化工具集。其核心目标是:
- 规范AI与浏览器交互的行为,避免常见错误(如触发阻塞性对话框、陷入循环、标签页混乱等)。
- 提升自动化任务的可靠性和用户体验(如通过GIF录制、控制台日志过滤)。
- 明确“何时该继续”与“何时该求助”的边界,防止AI无限重试或偏离任务。
4.2. 内容结构分析
提示词采用分节 + 要点的形式,每节聚焦一个具体场景或风险点:
| 节标题 | 核心指令 | 设计意图 |
|---|---|---|
| GIF录制 | 多步骤交互时使用 gif_creator,前后捕获额外帧,命名有意义 |
鼓励可分享的、过程可视化的自动化,便于用户回看或演示 |
| 控制台日志调试 | 使用 read_console_messages 配合 pattern 参数过滤日志 |
避免输出过载,提高调试效率 |
| 警报和对话框 | 避免触发 JS 对话框;若必须触发需先警告;用 JavaScript 工具检查并关闭对话框 | 解决浏览器对话框阻塞扩展的关键问题(设计警告充分) |
| 避免陷入困境和循环 | 遇到失败、无响应、元素无反应等情形时停止并向用户寻求指导 | 防止AI在无意义的重试中浪费资源或导致状态恶化 |
| 标签页上下文和会话启动 | 开始时调用 tabs_context_mcp 获取当前标签页;不重用旧 ID;优先创建新标签页;错误时重新获取上下文 |
管理标签页生命周期,避免使用失效 ID 导致的错误 |
整体结构从输出产物(GIF)→调试手段(日志)→高风险操作(对话框)→失败处理策略→会话基础(标签页),逻辑递进。
4.3. 关键设计亮点
- 明确禁止行为:直接警告“不要通过你的操作触发 JavaScript 警报/确认/提示”,并解释后果(阻塞扩展)。这种“禁止+原因”的写法比单纯列出允许操作更有效。
- 提供降级方案:若必须与危险元素交互,要求先“警告用户”,将决策权交还人类,避免AI自作主张。
- 循环检测机制:给出具体停止条件(2-3次失败、无响应、超时等),防止AI陷入死循环。这是提示词工程中处理不确定环境的常用技巧。
- 上下文强制刷新:明确“永远不要重用来自先前/其他会话的标签页ID”,并规定了获取新ID的标准流程(
tabs_context_mcp→ 创建新标签页 → 错误时重新获取)。这对状态化工具(如浏览器标签页)的正确使用至关重要。 - 模式化参数使用:鼓励使用
pattern过滤日志,展示了对工具高级用法的引导。
4.4. 适用场景与角色
- 主要用户:基于Claude或类似大语言模型的自动化代理(Agent),被集成到IDE、聊天工具或CI流水线中执行浏览器任务。
- 典型任务:网页登录、表单填写、数据抓取、UI测试、GIF录制演示等。
- 环境要求:需要已安装
claude-in-chrome扩展及对应的MCP服务器。
4.5. 潜在局限与改进建议
- 工具名称硬编码:
mcp__claude-in-chrome__是具体实现名称,若工具版本变更或换用其他浏览器自动化工具,提示词需同步修改。可考虑抽象为{browser_automation_tool}并在系统层面注入实际名称。 - 缺少示例:对于复杂场景(如“如何用
javascript_tool关闭对话框”),仅有指令但无代码示例,可能增加AI的理解成本。可附一简短伪代码或自然语言步骤。 - 未涉及等待策略:页面加载、元素出现等异步操作需要等待策略,提示词仅提到“超时”但未说明推荐等待方式(如轮询、内置等待函数)。补充“使用
waitForSelector或类似机制”会更完善。 - 未区分错误类型:所有失败统一“寻求用户指导”,但某些错误(如网络临时断开)也许值得重试一次。不过对于当前版本,保守策略可能更安全。
- 多标签页协作未提及:若任务需要在多个标签页间切换数据,提示词没有给出指南(例如如何获取当前激活标签页、如何在标签页间传递上下文)。
4.6. 总结
该提示词是一份高质量的操作约束文档,体现了提示词工程中“防御性设计”的思路:不仅告诉AI能做什么,更系统地告诉它不能做什么、遇到问题怎么办。其强化的“上下文获取-操作-错误恢复”流程可有效减少自动化失败和失控风险。虽然还有少量可扩展之处(如等待策略、示例),但作为内嵌于系统提示的指南,已经达到了实用水平。
5. 提示词语法特点
通过对所有 65 段提示词文本的语义与模式分析,归纳出 12 个显著的语言风格特点。出现次数估算是基于关键词扫描,精确度约 ±10%。
5.1. 特点 1:强烈的指令性语气
示例:
IMPORTANT: Do not trigger JavaScript alerts, confirms, prompts, or browser modal dialogs through your actions.
NEVER use Read, Bash, Grep, Glob, Edit, Write, or ANY other tool.
出现次数: 约 160 次
(关键词:IMPORTANT、CRITICAL、MUST、NEVER、ALWAYS、DO NOT、MUST NOT)
工程收益:
- 降低模型歧义:明确禁止和强制行为,减少模型在边界情况下的“自由发挥”。
- 提高任务成功率:例如
NEVER配合专用工具提示,避免了模型误用 bash 命令导致权限或安全问题。 - 便于自动化测试:指令的确定性使得可以编写断言验证模型是否遵循约束。
5.2. 特点 2:清晰的结构化组织
示例:
## When to Use This Tool 1. Complex multi-step tasks... 2. Non-trivial and complex tasks...{"to": "researcher", "summary": "assign task 1", "message": "start on task #1"}
出现次数: 约 350 次
(标题行 ~80,代码块 ~50,表格 ~20,列表项 ~200)
工程收益:
- 加速模型解析:Markdown 层级让模型更快定位关键信息(如使用条件、参数格式)。
- 减少遗漏:列表化的场景枚举降低了模型忽略重要约束的概率。
- 便于维护:工程师可以快速修改或扩展某个独立章节,无需重构全文。
5.3. 特点 3:条件逻辑与场景区分
示例:
When to Use This Tool: … When NOT to Use This Tool: …
If you accidentally trigger a dialog and lose responsiveness, inform the user.
出现次数: 约 135 次
(关键词:When to Use、When NOT to Use、If、otherwise)
工程收益:
- 减少误用工具:明确正反条件,模型在不符合条件时会主动避免调用。
- 实现分支行为:例如计划模式下,根据用户是否批准执行不同路径。
- 可解释性强:用户或审计者可以清楚理解模型为何选择某个动作。
5.4. 特点 4:大量示例与反例
示例:
<example> User: I want to add a dark mode toggle... Assistant: *Creates todo list...* <reasoning> ... </reasoning> </example>
### BAD - Don't use EnterPlanMode: User: "Fix the typo in the README"
出现次数: 约 76 次
(关键词:<example>、<reasoning>、Example:、BAD、GOOD)
工程收益:
- 提升少样本学习效果:模型通过对比正反例更快掌握边界。
- 减少幻觉:具体示例限制了模型编造不存在的流程或输出格式。
- 便于调试:当模型行为异常时,可检查示例是否覆盖了该边缘情况。
5.5. 特点 5:占位符与变量插值
示例:
The current month is ${currentMonthYear}. You MUST use this year when searching.
Use the Edit tool with file_path: {{notesPath}}
出现次数: 约 50 次
(模式:${...} 和 {{...}})
工程收益:
- 动态适配环境:无需硬编码时间、路径、用户名,提示词可复用。
- 降低 token 消耗:变量替换比完整描述更短。
- 集中管理:所有动态值由上层逻辑注入,修改一处即可全局生效。
5.6. 特点 6:元指令与系统提醒
示例:
IMPORTANT: This message and these instructions are NOT part of the actual user conversation. Do NOT include any references to "note-taking" in the notes content.
<system-reminder> tags contain useful information and reminders.
出现次数: 约 5 次
(此类元指令较为稀少,通常出现在记忆提取和文档更新提示中)
工程收益:
- 防止提示词污染:避免模型将系统指令写入最终输出(如笔记、文档)。
- 区分上下文来源:让模型清楚哪些信息来自用户、哪些来自系统。
- 支持复杂工作流:例如在记忆提取子代理中,元指令限制其只能使用最近消息,防止过度搜索。
5.7. 特点 7:强制输出格式
示例:
After answering the user's question, you MUST include a "Sources:" section at the end of your response.
Your entire response must be plain text: an <analysis> block followed by a <summary> block.
出现次数: 约 20 次
(关键词:MUST include、wrap your analysis in、Sources:、<analysis>)
工程收益:
- 可解析性:下游自动化流程(如日志分析、结果提取)可以稳定地正则匹配。
- 用户体验统一:用户总是看到一致的来源引用或摘要结构。
- 强制反思:要求先输出
<analysis>再输出<summary>,促使模型进行内部推理。
5.8. 特点 8:安全与限制声明
示例:
This is a READ-ONLY exploration task. You are STRICTLY PROHIBITED from creating new files, modifying existing files...
If this is an existing file, you MUST use the Read tool first. This tool will fail if you did not read the file first.
出现次数: 约 60 次
(关键词:prohibited、read-only、cannot、must not、never use)
工程收益:
- 防止破坏性操作:在探索类任务中杜绝意外修改代码。
- 实现最小权限原则:不同代理类型拥有不同写权限,降低风险。
- 减少回滚成本:强制先读后写避免了覆盖未读文件导致的错误。
5.9. 特点 9:并行与效率建议
示例:
turn 1 — issue all Read calls in parallel for every file you might update; turn 2 — issue all Write calls in parallel.
Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files.
出现次数: 约 19 次
(关键词:parallel、concurrently、in parallel、single message)
工程收益:
- 减少延迟:模型在一次响应中发出多个工具调用,显著缩短任务完成时间。
- 降低 API 轮次:更少的往返意味着更低的成本和更快的反馈。
- 提升吞吐量:对于批量文件操作,并行调用可最大化利用系统资源。
5.10. 特点 10:用户心理模型引导
示例:
THE TEST: Would they think "I was just about to type that"?
Complete the task fully—don't gold-plate, but don't leave it half-done.
出现次数: 约 5 次
(主要出现在 PromptSuggestion 和默认代理提示中)
工程收益:
- 提升用户满意度:模型输出更符合用户预期,减少“过度工程”或“敷衍了事”。
- 增强自然交互:预测用户下一步输入使对话更流畅,减少等待。
- 对齐目标:明确“不要镀金”避免了模型在不必要的地方浪费时间。
5.11. 特点 11:引用与延续上下文
示例:
To reply to an incoming message, copy its 'from' attribute as your 'to'.
Make sure to read a task's latest state using TaskGet before updating it.
出现次数: 约 10 次
(关键词:copy its 'from' attribute、use TaskGet、read the latest state)
工程收益:
- 避免状态冲突:多代理环境下,先读取最新状态再更新防止覆盖。
- 支持链式通信:通过复制
from属性实现消息追踪和回复。 - 提高可靠性:任务依赖关系明确后,模型不会在依赖未满足时执行。
5.12. 特点 12:错误处理与回退策略
示例:
If you encounter any of the following, stop and ask the user for guidance: … Browser tool calls failing or returning errors after 2-3 attempts.
If you get blocked by a hook, determine if you can adjust your actions… If not, ask the user to check their hooks configuration.
出现次数: 约 59 次
(关键词:if you encounter、stop and ask、2-3 attempts、blocked、hook、error)
工程收益:
- 防止无限循环:设定重试上限,模型在失败后主动求助而非死磕。
- 提升鲁棒性:对钩子阻塞、页面无响应等异常有明确处理路径。
- 可观测性:模型会向用户报告具体错误和已尝试的方法,便于人工介入。
6. 总结
Claude Code 的提示词体系呈现出 高度工程化 的特征:通过明确的角色分工(10 个作用域)、强约束的指令风格(12 个语法特点)以及丰富的示例与反例,有效地引导大语言模型在复杂软件工程任务中表现出稳定、安全、高效的行为。这些特点的设计思路(如并行效率建议、强制输出格式、安全限制声明)对于构建生产级的 AI Agent 提示词具有直接的借鉴意义。
核心工程收益归纳:
| 特点类别 | 主要收益 |
|---|---|
| 指令性语气 | 降低歧义,提高任务成功率 |
| 结构化组织 | 加速解析,便于维护 |
| 条件逻辑 | 减少误用,支持分支行为 |
| 示例与反例 | 提升少样本效果,减少幻觉 |
| 变量插值 | 动态适配,降低 token 消耗 |
| 元指令 | 防止提示词污染,支持复杂工作流 |
| 强制输出格式 | 可解析性,用户体验统一 |
| 安全限制 | 防止破坏操作,实现最小权限 |
| 并行建议 | 减少延迟,降低 API 轮次 |
| 心理模型引导 | 提升满意度,对齐目标 |
| 上下文引用 | 避免状态冲突,提高可靠性 |
| 错误处理 | 防止无限循环,提升鲁棒性 |
- 点赞
- 收藏
- 关注作者
评论(0)