名称: 提示词改进器 描述: 将模糊的提示词转换为丰富、结构化的提示词,并带有自动回退机制
目的
将模糊、模糊的提示词转换为丰富、结构化的提示词。使用Anthropic的提示词改进能力(当可用时),并优雅地回退到当前LLM。
工作原理:
- 用户提供一个模糊的提示词(例如,“critique this doc”)
- 技能使用最佳可用方法改进提示词
- 执行改进后的提示词并返回结果
- 用户看到答案,不会看到改进后的提示词(除非设置了标志)
参数
$PROMPT - 要改进的提示词(必需) $FEEDBACK - 可选的改进反馈(例如,“Make it more detailed”, “Add examples”, “Focus on clarity”) $TARGET_MODEL - 改进后提示词的目标模型(可选,默认为当前模型) $SYSTEM - 可选的系统提示词,与用户提示词一起改进
修饰符
检查 $PROMPT 是否以标志开头:
| 标志 | 行为 |
|---|---|
-p |
仅显示提示 - 显示改进后的提示词,不执行 |
-v |
详细模式 - 显示改进后的提示词,然后执行 |
| (无) | 快速模式 - 立即执行,不显示完整提示词 |
在处理之前去除 $PROMPT 中的标志。
过程
步骤 1: 解析标志并提取提示词
检查 $PROMPT 是否以标志开头(-p, -v)并提取:
- 模式:
prompt-only,verbose, 或quick(默认) - 原始提示词: 实际的提示词文本(标志已移除)
- 反馈: 来自 $FEEDBACK 的可选改进指导
步骤 2: 确定改进方法
按此顺序检查:
-
脚本可用? 检查
.scripts/improve-prompt.cjs是否存在- 如果是 → 使用脚本(直接调用Anthropic API)
- 如果不是 → 检查API密钥
-
API密钥可用? 检查环境变量中是否设置了
ANTHROPIC_API_KEY- 如果是 → 使用Anthropic Messages API内联调用
- 如果不是 → 回退到当前LLM
回退级联:
脚本 (.scripts/improve-prompt.cjs)
↓ (如果不可用)
Anthropic Messages API(直接调用)
↓ (如果没有API密钥)
当前LLM (Opus 4.5, Sonnet等)
步骤 3: 改进提示词
方法 A: 脚本(首选)
node .scripts/improve-prompt.cjs "$PROMPT" "$FEEDBACK" "$TARGET_MODEL" "$SYSTEM"
方法 B: Anthropic Messages API(直接) 使用以下参数进行API调用:
- 模型:
claude-sonnet-4-5-20250929(针对提示工程优化) - 系统提示词: 提示工程专家角色(见下文)
- 用户消息: 原始的模糊提示词
- 温度: 0.3
方法 C: 当前LLM回退 使用当前会话的LLM内联改进提示词:
- 通知用户:
"💡 使用内联改进(未配置API密钥)。要获得最佳效果,请将 ANTHROPIC_API_KEY 添加到 .env 文件中" - 应用相同的提示工程系统提示词
- 继续使用改进后的结果
步骤 4: 根据模式处理
模式: prompt-only(标志: -p):
- 显示:
> **Original:** [original_prompt] - 在代码块中显示 enhanced_prompt
- 停止。不执行。
模式: verbose(标志: -v):
- 显示:
> **Original:** [original_prompt] - 在可折叠块中显示 enhanced_prompt:
<details> <summary>📝 Improved Prompt (click to expand)</summary> [enhanced_prompt] </details> - 添加
---分隔符 - 执行 enhanced_prompt 并返回结果
模式: quick(无标志 - 默认):
- 静默执行 enhanced_prompt
- 直接向用户返回结果
- 不显示改进后的提示词 - 用户只看到答案
提示工程系统提示词
用于API和回退方法:
你是一个接受过Anthropic最佳实践训练的专家提示工程师。你的工作是将模糊、模糊的提示词转换为清晰、结构化、有效的提示词。
分析用户的提示词,并使用以下技术改进它:
1. **结构**: 使用XML标签或Markdown标题添加清晰的部分
2. **清晰度**: 明确指定格式、长度和成功标准
3. **上下文**: 包含必要的背景信息并定义模糊术语
4. **示例**: 在有帮助时添加少量示例
5. **思维链**: 对于复杂任务,请求逐步推理
6. **约束**: 使隐式约束显式
只返回改进后的提示词。不要解释你的更改或添加元评论。
{if $FEEDBACK exists: "Focus on: {$FEEDBACK}"}
示例
/prompt-improver -p critique this strategy doc
→ 仅显示改进后的提示词,不执行
/prompt-improver -v critique this strategy doc
→ 显示改进后的提示词,然后执行
/prompt-improver critique this strategy doc
→ 只执行改进后的提示词
/prompt-improver -v "review this code" "Focus on security issues"
→ 显示专注于安全的改进后提示词,然后执行
改进模板参考
改进后的提示词通常遵循以下结构:
# 任务
[清晰说明要做什么]
# 上下文
[需要的背景信息]
# 指令
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
# 约束
- [约束 1]
- [约束 2]
# 输出格式
[预期的格式和结构]
# 示例(如果有帮助)
[输入/输出示例]
错误处理
| 情况 | 行为 |
|---|---|
| 脚本未找到 | 回退到API |
| 无API密钥 | 回退到当前LLM并通知 |
| API速率限制 | 使用指数退避重试,然后回退 |
| API错误 | 回退到当前LLM |
| 网络问题 | 回退到当前LLM |
关键原则: 该技能应永远不会完全失败。它始终有当前LLM作为最终回退。
设置(可选)
要获得最佳效果,请添加您的Anthropic API密钥:
- 在vault根目录创建
.env文件(如果不存在) - 添加:
ANTHROPIC_API_KEY=your-key-here
没有API密钥,该技能仍可使用当前LLM会话工作。
哲学
元提示: 这个技能使用Claude来改进Claude的提示词。它就像提示工程即服务。
默认不可见: 最好的工具会消失。用户自然地提问,获得专家结果,永远不会看到复杂性。
渐进式披露: 标志(-v, -p)让高级用户检查和从改进中学习。
优雅降级: 在任何地方工作 - 有完整API访问、部分访问或没有外部访问。
跟踪使用(静默)
更新 System/usage_log.md 以标记提示改进已被使用。
分析(静默):
使用 event_name prompt_improved 调用 track_event,属性:
- (无属性)
这仅在用户选择分析时才触发。如果返回"analytics_disabled",则无需操作。