提示词优化服务器

一个基于模型上下文协议(MCP)的服务器,通过研究支持的技术(如APE、OPRO、DSPy模式)优化提示词,并通过基于嵌入的检索从性能历史中学习。

  • by curiositech
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 erichowens/prompt-learning-mcp

使用说明

快速学习MCP服务器

随着时间的推移而学习的状态提示优化。

MCP(模型上下文协议)服务器,使用研究支持的技术(APE、OPRO、DSPy模式)优化您的提示,并通过基于嵌入的检索从性能历史中学习。

特性

  • 🧠 智能优化:使用实际的基于LLM的评估,而不是启发式方法
  • 📚 随着时间的推移学习:将即时性能存储在矢量数据库中
  • 🔍 RAG供电:检索类似的高性能提示
  • ⚡ 基于模式的速赢:无需API调用即可实现即时改进
  • 📊 分析:跟踪跨域的工作情况

快速安装

curl -fsSL https://someclaudeskills.com/install/prompt-learning.sh | bash

或手动:

cd ~/mcp-servers/prompt-learning
npm install
npm run build
npm run setup

需求

  • Node.js 18+
  • Docker(适用于Qdrant和Redis)
  • OpenAI API密钥(用于嵌入)

用法

安装后,在Claude Code中使用这些工具:

optimize_prompt

使用基于模式和基于RAG的技术优化提示:

"optimize this prompt: summarize the document"

返回带有改进详细信息的优化提示。

retrieve_prompts

查找类似的高性能提示:

"find similar prompts for: code review feedback"

record_feedback

记录提示的执行方式(使学习成为可能):

"record that my last prompt succeeded with quality score 0.9"

suggest_improvements

无需完全优化即可获得快速建议:

"suggest improvements for this prompt: [your prompt]"

get_analytics

查看性能趋势:

"show prompt analytics for the last 30 days"

运作原理

冷启动(无历史记录)

  1. 基于模式的改进:添加结构、思维链、约束
  2. OPRO风格迭代:LLM生成候选人、评估、选择最佳人选
  3. APE风格生成:创建多个指令变体

温暖的开始(与历史)

  1. 嵌入提示:创建向量表示
  2. 检索类似内容:从数据库中查找高性能提示
  3. 向胜利者学习:从有效的方法中综合改进
  4. 根据反馈进行迭代:使用评估来指导优化

评估

所有提示均由LLM评估员在以下方面评分:

  • 清晰度 (25%):多么明确
  • 特异性 (25%):适当的指导水平
  • 完整性 (20%):涵盖所有要求
  • 结构 (15%):组织良好
  • 有效性 (15%):可能产生预期的产出

建筑

Claude Code
     │
     │ MCP Protocol
     ▼
┌─────────────────────────────┐
│  prompt-learning MCP Server │
│                             │
│  Tools:                     │
│  • optimize_prompt          │
│  • retrieve_prompts         │
│  • record_feedback          │
│  • suggest_improvements     │
│  • get_analytics            │
└─────────┬───────────────────┘
          │
    ┌─────┴─────┐
    ▼           ▼
┌───────┐   ┌───────┐
│Qdrant │   │ Redis │
│(Vector│   │(Cache)│
│  DB)  │   │       │
└───────┘   └───────┘

配置

克劳德代码配置(~/.Claude.json)

{
  "mcpServers": {
    "prompt-learning": {
      "command": "node",
      "args": ["~/mcp-servers/prompt-learning/dist/index.js"],
      "env": {
        "VECTOR_DB_URL": "http://localhost:6333",
        "REDIS_URL": "redis://localhost:6379",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

环境变量

变量 默认值 描述
VECTOR_DB_URL http://localhost:6333 Qdrant服务器URL
REDIS_URL redis://localhost:6379 重定向服务器URL
OPENAI_API_KEY (必填) 用于嵌入

发展

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Run setup (starts Docker, initializes DB)
npm run setup

# Run tests
npm test

故障排除

MCP服务器未启动

检查Docker容器是否正在运行:

docker ps | grep prompt-learning

矢量数据库连接失败

# Check Qdrant health
curl http://localhost:6333/health

# Restart Qdrant
docker restart prompt-learning-qdrant

未见改善

  • 确保OPENAI_API_KEY设置正确
  • 检查克劳德代码日志: ~/.claude/logs/mcp.log
  • 先尝试一个简单的提示

研究基金会

此服务器实现了以下技术:

  • 猿 (周等,2022):自动提示工程师
  • OPRO (Yang等人,2023):通过激励进行优化
  • DSPY (Khattab等人,2023):程序化提示优化
  • 上下文检索 (Anthropic,2024):增强的嵌入检索

许可证

麻省理工学院

链接

  • 文档: https://www.someclaudeskills.com/skills/automatic-stateful-prompt-improver
  • 技能定义:部分 克劳德的一些技能 收集
  • GitHub: https://github.com/erichowens/prompt-learning-mcp
  • 问题: https://github.com/erichowens/prompt-learning-mcp/issues