1. 项目概述一个专精于提示词优化的AI技能如果你经常和Claude、GPT这类大模型打交道那你一定有过这样的体验脑子里有个模糊的想法但写出来的提示词Prompt要么太笼统AI答非所问要么太啰嗦把AI都绕晕了。最后要么反复修改要么干脆放弃效率大打折扣。这正是“Samuel-Shek/prompt-optimizer-skill”这个项目要解决的痛点。它不是一个万能工具箱而是一个高度聚焦的“单技能”专家它的唯一使命就是把你那些粗糙、口语化甚至混乱的初始想法打磨成结构清晰、指令明确、可以直接喂给任何主流AI模型的“终版提示词”。简单来说它扮演的是“提示词炼金术师”的角色。你扔给它任何原始材料——可能是一句“帮我写个周报”一段混杂了背景、要求和格式说明的段落甚至是一个冗长但逻辑不清的System Prompt——它都会运用一套成熟的工程化思维对其进行重构、优化和标准化。输出的结果是一个包含了明确角色定义、具体任务步骤、输出格式要求、以及关键约束条件如长度、风格、禁忌的完整提示词。你几乎可以把它看作是一个专为提示词而生的“代码格式化工具”或“文案校对助手”只不过它校对和格式化的是你与AI沟通的“元指令”。这个技能特别适合几类人一是AI应用的初学者他们需要将模糊需求转化为AI能理解的专业指令二是经常需要设计复杂工作流的进阶用户比如为智能体Agent编写高质量的System Prompt三是需要在不同模型如Claude、GPT、Gemini、DeepSeek间切换的开发者它能帮你快速适配不同模型的提示词格式偏好。接下来我将为你深入拆解这个项目的设计精髓、三种核心用法背后的技术考量并分享我在实际部署和使用中积累的一手经验和避坑指南。2. 核心设计思路为什么“只优化不执行”是最高效的策略2.1 单一职责原则在AI技能设计中的体现这个项目最核心、也最聪明的设计就是它严格遵循了软件工程中的“单一职责原则”Single Responsibility Principle。它只做一件事优化提示词。它绝不越界去执行优化后的提示词所描述的任务。这个设计决策背后有深刻的实用性考量。首先这保证了输出的纯粹性和高质量。如果一个工具既优化提示词又执行任务那么它的优化逻辑很可能会向“如何让当前这个AI模型更好地完成任务”倾斜从而引入模型特异性偏差。而一个纯粹的优化器其目标是生成一个“模型无关”的、高质量的通用指令。这确保了优化后的提示词你不仅可以用于当前的Claude也可以无缝粘贴到ChatGPT、Gemini甚至本地部署的开源模型里通用性极强。其次这降低了使用和调试的复杂度。用户的心理预期非常明确我输入原料得到优化后的提示词。流程清晰结果可预测。如果它夹杂了任务执行用户就需要区分是优化逻辑出了问题还是任务执行本身出了问题这会让问题排查变得复杂。在我自己的使用中这种“输入-输出”的确定性极大地提升了工作效率和信任感。2.2 优化逻辑拆解从“粗糙需求”到“专业指令”的转换过程那么这个优化器内部是如何工作的呢虽然项目本身可能是一个封装好的技能但其优化逻辑遵循了一套可被总结和复用的方法论。根据其示例和输出风格我推断其核心处理流程至少包含以下几个步骤意图识别与角色分配首先它会解析你的原始输入识别核心任务意图例如分析、创作、总结、编程。然后基于意图为AI分配合适的“角色”比如“你是一位资深的市场分析师”、“你是一个严谨的代码审查助手”。这一步至关重要它为后续所有指令设定了上下文和专业知识边界。任务结构化拆解将模糊的指令如“做竞品分析”分解为具体、可执行的步骤。例如它会将竞品分析拆解为确定分析维度功能、定价、用户评价、市场份额、搜集信息渠道、进行对比分析、总结优劣势、提出建议。每一步都力求明确消除歧义。输出格式标准化明确规定AI应该以何种形式呈现结果。是Markdown报告是JSON数据还是分点列表它会添加具体的格式指令比如“请以表格形式对比以下维度”、“在报告开头提供一份执行摘要”。这能确保你拿到的结果直接可用无需二次整理。约束条件与边界明确化这是区分业余和专业提示词的关键。优化器会主动补充你可能忽略的约束例如“分析报告不超过1500字”、“避免使用营销套话”、“如果信息不足请明确指出并说明需要补充哪些数据”、“不要虚构任何不存在的信息”。这些约束能有效引导AI在安全的轨道内运行提升结果的可靠度。占位符与变量注入对于通用性任务优化器会在输出中插入明确的占位符如[在此处插入公司名称]、[目标产品是...]。这提醒你这是一个模板在使用前需要填入具体信息使得优化后的提示词具备可复用性。注意理解这个转换过程的价值在于即使你不使用这个工具你也可以借鉴这套方法论来手动优化你的提示词。核心思想就是角色化、步骤化、格式化、约束化。3. 三种使用模式详解与实战配置指南项目提供了三种使用模式分别对应不同的使用场景和技术栈。选择哪一种不光是方便与否的问题更涉及到与你现有工作流的深度集成。3.1 手动模式最稳定、最可控的经典用法手动模式是基础也是理解其他模式的基石。它的核心是“显式调用”你需要通过特定的命令或入口主动告诉AI“现在请切换到提示词优化专家角色”。在Claude Code桌面端/CLI中的实操安装后你会在输入框旁发现一个按钮点击后选择“Slash commands”就能找到/prompt-optimizer。更快捷的方式是直接在输入框键入/prompt-optimizer然后粘贴或输入你的原始提示词。按下回车Claude的会话上下文就完全切换到了优化器技能。这里有一个关键细节Claude Code的Slash command机制本质上是将一段预设的、包含完整技能定义的System Prompt注入到当前会话。这意味着一旦调用当前对话的“记忆”就被重置了AI会严格按照优化器的指令行事。在Codex中的特殊处理Codex的设计理念不同它没有原生的Slash command界面。安装技能后你需要重启Codex应用或至少开启一个全新的会话窗口。这是因为Codex在会话初始化时才会扫描并加载可用的技能。之后你有两种调用方式直接命令式输入$prompt-optimizer然后跟上你的原始内容。这是最可靠的方式。自然语言触发直接输入“优化提示词帮我写个产品介绍”Codex的宿主Host会尝试根据技能描述进行模糊匹配如果匹配成功就会路由到该技能。这种方式更灵活但稳定性稍差取决于宿主的匹配算法。实操心得对于Codex我强烈建议在安装或更新技能后养成“开新会话”测试的习惯。很多“技能不生效”的问题都是因为旧会话没有重新加载技能列表导致的。另外$前缀的命令方式响应最确定适合在需要确保执行的关键任务中使用。3.2 自动模式无缝融入对话流的“黑科技”自动模式是OpenClaw平台用户的专属福利它实现了“无感优化”。你不需要切换会话或输入特殊命令就像在普通聊天中一样输入特定的触发短语当前对话就会被自动拦截交由后台的优化器处理处理完成后结果又自动插回对话流整个过程对用户透明。技术实现浅析这背后通常是一个“路由器”Router插件在起作用。该插件会监听所有发给宿主AI的消息一旦检测到预设的触发词如“优化提示词”、“帮我优化”它就会暂停当前普通Agent的处理流程。将消息内容提取出来发送给一个专有的、配置了提示词优化技能的“专家Agent”。等待专家Agent返回优化后的提示词。将这个结果作为AI的回复呈现给用户。下一轮对话路由器解除拦截恢复普通Agent的对话。安装与配置要点执行bash scripts/install-local.sh openclaw --mode host-router命令脚本通常会做两件事一是安装优化器技能本身二是配置或启用那个负责拦截的路由器插件。你需要确保你的OpenClaw Gateway在本地正常运行。四种触发写法的设计考量项目推荐的四种写法“优化提示词...”、“帮我优化...”、“...——优化提示词”、“...——帮我优化”兼顾了前置触发和后置触发适应了不同的输入习惯。例如当你已经写了一段话突然觉得需要优化直接在后面加上“——优化提示词”比重新组织语句更自然。注意事项自动模式虽然方便但因为它使用了xhigh思考强度意味着AI会进行更深度的思考消耗更多时间和计算资源所以响应速度会比手动模式慢。你会看到“思考中...”之类的进度提示这是正常的。此外默认配置下它通常只挂钩到名为main的默认Agent如果你创建了其他自定义Agent可能需要手动修改路由器配置才能生效。3.3 复制粘贴模式终极的跨平台兼容方案这是最“笨”但也是最强大、最通用的方法。它不依赖于任何特定的AI平台或客户端。你运行bash scripts/print-prompt.sh这个脚本它会在终端里打印出优化器技能本身的、完整的System Prompt。这个System Prompt是什么它就是这个“提示词优化专家”的全部人格、知识和操作规程。是一段可能长达数千字的、精心编写的文本。你将其完整复制然后打开ChatGPT的Web界面在“自定义指令”或“系统提示词”框里粘贴进去或者打开Gemini、DeepSeek、Poe在开启新对话时设定的系统角色中粘贴进去。至此你就把这个“专家”克隆到了任意平台。为什么这是终极方案因为它打破了平台壁垒。无论这个技能项目未来是否更新无论Claude Code或OpenClaw是否改变政策你手里都握有这个技能的“灵魂副本”。你可以基于这个副本来修改、定制形成你自己的提示词优化专家。例如你可以在这个System Prompt里加入你个人偏好的写作风格或者你所在领域的特定术语库。独家技巧不要只把print-prompt.sh的输出当作一次性的粘贴材料。我建议你将输出保存为一个文本文件如my_prompt_optimizer.txt。然后你可以用文本编辑器研究它理解它是如何构建角色、设定规则的。这是学习高级提示词工程最直接的“范本”。你甚至可以创建多个变体针对“创意写作优化”、“代码审查提示优化”等细分场景进行微调。4. 项目架构与文件系统深度解析要真正玩转一个开源项目不能只停留在使用层面理解它的目录结构和核心文件能帮助你在遇到问题时快速定位甚至进行自定义改造。4.1 核心文件唯一的真相之源这个项目在文件管理上做了一个非常好的实践单一真相源Single Source of Truth。SKILL.md这是整个技能的“心脏”是所有内容的唯一编辑入口。里面定义了技能的名称、描述、作者、版本以及最重要的——那个完整的、告诉AI如何扮演“提示词优化专家”的System Prompt。所有功能的迭代、描述的更新都应该只修改这个文件。AGENTS.md和CLAUDE.md这两个文件通常不是手动维护的。它们极有可能是通过项目中的某种脚本或工具例如scripts/sync-aliases.sh如果存在的话从SKILL.md自动生成的别名或符号链接。这样做是为了兼容不同平台的要求比如某些平台可能要求技能文件必须命名为AGENTS.md。关键要点是永远不要直接修改这两个文件你的所有改动都必须体现在SKILL.md中。4.2 脚本目录自动化一切的瑞士军刀scripts/目录是项目的“操作面板”里面存放的Shell脚本和Node.js脚本极大地简化了用户的交互。install-local.sh这是一键安装脚本的灵魂。它通过接收不同的参数claude,codex,openclaw,all来执行针对不同平台的安装流程。例如对于Claude它可能会将技能文件复制到Claude Code的技能目录下对于OpenClaw它可能会调用其API或修改配置文件。使用--mode参数来区分安装纯技能还是带路由器的自动模式体现了良好的配置设计。print-prompt.sh这个脚本可能非常简单就是cat SKILL.md或者用grep/sed提取出SKILL.md中System Prompt部分并打印。它的存在将“获取核心内容”这个操作封装成了一个命令避免了用户手动打开文件查找的麻烦。test-*.mjs以test-开头的Node.js模块是项目的测试套件。test-trigger-detection.mjs专门测试自动模式下的触发词识别是否准确防止误触发或漏触发。test-host-router-e2e.mjs则进行端到端集成测试模拟用户输入触发词验证整个拦截-处理-返回的流程是否畅通。对于开发者或高级用户来说在修改了触发词逻辑或路由器代码后运行这些测试是保证质量的关键步骤。4.3 文档与集成生态扩展的基石docs/和integrations/目录展示了项目的成熟度和生态野心。docs/包含了从3分钟快速上手指南到飞书、Telegram私聊机器人部署的详细教程。landscape.zh-CN.md同类项目对比和platforms.zh-CN.md各平台接入说明特别有价值它们能帮你了解这个工具在生态中的位置以及如何将其能力扩展到更多场景。integrations/prompt-optimizer-router/这是自动模式的“大脑”。里面应该包含了实现消息拦截、路由、调用的具体插件代码。如果你想深入研究自动模式的工作原理或者想为其他平台比如Discord Bot开发类似的自动路由功能这个目录就是最好的学习资料和起点。references/model-adaptation.md这是一份高级参考文档。它可能记录了针对Claude-3.5-Sonnet、GPT-4o、Gemini 1.5 Pro、DeepSeek-R1等不同模型在编写优化后提示词时需要注意的细微差别。比如Claude对XML标签格式的提示响应更好而GPT系列可能对更自然的段落描述接受度更高。这份文档能帮助你理解优化器在内部是如何为不同模型做微调的。5. 实战经验从安装到高阶使用的避坑指南5.1 安装阶段的常见问题与解决问题一安装脚本执行失败提示权限不足或命令未找到。原因通常是因为脚本没有执行权限或者脚本中调用的命令如cp,mkdir在目标平台路径不同。解决首先使用chmod x scripts/install-local.sh给脚本添加执行权限。打开脚本文件查看其内部逻辑。它可能依赖特定的目录路径如~/.config/Claude/claude_desktop_config.json。确保这些路径在你的系统上存在。对于macOS和Linux路径通常一致对于Windows通过WSL或Git Bash可能需要调整路径指向Windows下的AppData目录。如果是Codex安装失败确认你是否已经正确安装并启动了Codex应用。有时安装脚本需要Codex的API处于可访问状态。问题二技能安装成功但在Claude Code中找不到/prompt-optimizer命令。原因Claude Code可能没有正确加载技能目录或者需要重启。解决完全退出并重启Claude Code桌面应用。这是最有效的方法。检查Claude Code的设置中技能Skills或自定义指令Custom Instructions的目录是否指向了脚本安装的位置。手动检查技能文件是否被复制到了正确目录。你可以尝试在Claude Code中直接输入/看是否有其他自定义命令出现以验证技能系统是否正常工作。问题三自动模式OpenClaw下触发词没有反应。原因路由器插件未正确启用或Gateway服务未运行。解决首先运行node scripts/test-trigger-detection.mjs测试触发词识别逻辑本身是否有问题。确保OpenClaw Gateway正在运行。你可以通过curl http://localhost:你的网关端口/health具体端口和端点查看OpenClaw文档来检查。查看OpenClaw的日志输出当你在聊天窗口发送触发词时是否有相关的路由日志产生。这能帮你确定消息是否被插件接收到。确认你发送消息的会话窗口关联的Agent是否是main或者路由器插件是否配置为监听所有Agent。5.2 使用技巧与最佳实践1. 如何提供“原材料”才能获得最佳优化效果不要只说“优化它”。尽量提供上下文。例如差“优化写个邮件”优“优化我需要给一个延迟交货的供应商写一封正式但保持合作关系的催促邮件。我是采购经理对方是长期合作伙伴。邮件需要包含提及合同条款、表达理解、明确新的交货期要求、询问困难。” 后者提供了角色采购经理、对象长期合作伙伴、语气正式但合作、以及具体要点。优化器能据此生成一个结构更精准、语气更得体的提示词。2. 处理复杂、多步骤任务的技巧对于非常复杂的任务可以尝试“分步优化”。先让优化器帮你规划任务大纲再针对大纲中的每一步分别优化具体的执行提示词。第一步输入“优化提示词帮我规划一个‘开发一个简易待办事项Web应用’的项目执行计划分阶段列出主要任务。”拿到优化后的“规划提示词”交给AI生成详细计划。然后针对计划中的“设计数据库Schema”阶段再次输入“优化提示词根据以下需求编写创建待办事项表todos的SQL语句...” 这样层层递进比一次性扔出一个巨无霸需求更容易获得高质量结果。3. 利用优化结果进行反向学习每次拿到优化后的提示词不要只是复制粘贴。花一分钟对比一下你的原输入和它的输出。思考它补充了哪些我没想到的约束它是如何将我的口语化描述如“高大上一点”转化为具体指令如“采用专业、简洁的商务写作风格避免口语化词汇”的它设定的输出格式如Markdown表格、JSON是否适合我的需求 这个过程是提升你自己提示词编写能力的绝佳途径。4. 自定义你的优化器如前所述复制粘贴模式给了你最大的自由度。将打印出来的System Prompt保存你可以在开头加入你自己的偏好例如【定制指令】在优化所有提示词时请额外注意1. 默认输出语言为中文。2. 如果涉及代码优先使用Python语言示例。3. 在所有建议的约束中加入“请确保内容安全符合中国大陆法律法规”。然后将这个定制版保存为新的系统提示用于你的私人AI助手。这样你就拥有了一个带有你个人印记的提示词优化专家。5.3 性能与资源考量自动模式的延迟由于使用了xhigh思考强度自动模式响应可能需要10-30秒对于即时聊天场景可能感觉略慢。这是用时间换取质量的权衡。如果对速度要求高在OpenClaw中可以考虑修改路由器插件的配置尝试使用high甚至medium强度但需接受可能的质量轻微下降。Token消耗优化器本身是一个长System Prompt每次调用都会消耗一定的基础Token。优化一个非常长的、复杂的原始提示词整个过程原始输入 优化器指令 优化输出可能会消耗数千Token。对于有使用限额的API需要稍加留意。不过相比于用一个糟糕的提示词反复尝试浪费的Token一次性的优化投入通常是值得的。通过深入理解其设计哲学、熟练掌握三种模式、并灵活运用这些实战技巧这个提示词优化器技能就能从一个好用的工具转变为提升你与所有AI模型协作效率和效果的核心加速器。它的价值不在于替代你的思考而在于将你的思考更清晰、更高效地翻译给AI。