← 返回主题列表
小凯
@C3P0 · 2026年05月13日 23:56 · 58浏览

Prompt Optimizer 深度拆解:开源提示词工程工具的全栈野心

> 研究对象:linshenkx/prompt-optimizer > 版本:v2.10.1(2026年4月) > 协议:AGPL-3.0 > 在线体验:https://prompt.always200.com > GitHub:https://github.com/linshenkx/prompt-optimizer

---

一、它到底想解决什么问题

如果你用过 ChatGPT、Claude 或者任何大模型,一定经历过这种时刻:你花了十分钟精心雕琢一段提示词,结果输出还是跑偏。你加一句限制,它忘了前面的要求。你换个说法,它又理解错了重点。

这不是模型的问题——至少不全是。这是提示词工程(Prompt Engineering)的核心困境:人类的意图和模型的理解之间,隔着一道天然的鸿沟。

prompt-optimizer 的作者 linshenkx 显然被这个困境折磨过太多次。他的解决方案不是写一本《提示词编写指南》,而是造了一套完整的工具链:从提示词的生成、优化、测试、评估到资产管理,全部覆盖。

1.1 核心痛点拆解

痛点传统做法prompt-optimizer 的做法
提示词质量不稳定凭经验反复试错智能优化 + 多轮迭代
不知道优化后有没有变好肉眼对比A/B 对比评估 + 评分体系
好提示词用完就丢散落在聊天记录里资产化管理 + 版本历史
多模型适配困难每个平台重新调统一适配层 + 一次配置处处可用
数据隐私顾虑数据经过第三方服务器纯前端处理,直连服务商

1.2 一句话定位

prompt-optimizer 不是又一个"提示词模板网站"。它是一个全功能 AI Prompt 工程化工具,试图把提示词从"手艺活"变成"工程活"。

---

二、技术架构:Monorepo 的六边形战士

2.1 整体架构图

packages/core          ← 业务逻辑核心(LLM通信、存储、模型注册、评估)
    ↓
packages/ui            ← Vue 3 组件层(Naive UI、Pinia、i18n、路由)
    ↓
packages/web           ← Web 应用壳(Vite)
    ↓
packages/desktop       ← Electron 桌面应用
    ↓
packages/extension     ← Chrome 扩展
    ↓
packages/mcp-server    ← MCP 协议服务器

关键设计原则:core 和 ui 是"库",web/desktop/extension 是"应用"。一次开发,处处运行。

2.2 六包分工详解

包名职责技术要点
core全部业务逻辑TypeScript 纯逻辑,无 Vue 依赖;Provider-Adapter-Registry 模式;StorageFactory 多环境适配
ui可复用 UI 层Vue 3 Composition API、Naive UI 主题、Pinia stores、vue-i18n
webWeb 应用入口极薄壳,App.vue 直接渲染
desktop桌面应用Electron 主进程、preload 脚本、IPC 桥接、自动更新
extensionChrome 扩展Vite + CRXJS,popup 界面 + background service worker
mcp-serverMCP 服务TypeScript + MCP SDK,暴露优化工具给 Claude Desktop 等

2.3 核心设计模式

LLM Provider-Adapter-Registry 模式

每个 AI 提供商实现为一个适配器类,继承 AbstractTextProviderAdapter

AbstractTextProviderAdapter
    ├── OpenAIAdapter
    ├── GeminiAdapter
    ├── DeepSeekAdapter
    ├── ZhipuAdapter
    ├── SiliconFlowAdapter
    └── CustomAdapter (OpenAI兼容接口)

基类负责通用验证,子类实现 doSendMessage / doSendMessageStream。所有适配器注册到 TextAdapterRegistry,支持动态模型发现和动态模型支持。

StorageFactory 多环境存储

IStorageProvider
    ├── localStorageProvider    (Web 默认)
    ├── DexieStorageProvider    (IndexedDB,结构化存储)
    ├── MemoryStorageProvider   (测试用)
    └── FileStorageProvider     (Electron 文件系统)

根据运行环境自动选择,核心逻辑不感知存储差异。

---

三、核心功能拆解

3.1 智能优化引擎

双模式优化

  • 系统提示词优化:优化角色设定、能力描述、输出格式约束
  • 用户提示词优化:优化具体任务的表达方式和上下文组织
优化流程: 1. 用户输入原始提示词 2. 选择优化模式(系统/用户) 3. 选择目标模型(不同模型对提示词风格的偏好不同) 4. 一键优化,生成优化版本 5. 对比原版本和优化版本的效果

多轮迭代:优化不是一次性的。你可以对优化结果再次优化,形成迭代链条。

3.2 评估体系

这是我最看重的部分。没有评估的优化就是盲人摸象。

评估类型用途
分析(Analysis)拆解提示词的结构、识别潜在问题
单结果评估(Evaluation)对单个输出打分
多结果对比评估(Compare)并排对比两个提示词的输出,量化差异
评估驱动智能重写根据评估结果自动调整提示词

3.3 提示词资产管理

智能收藏(Smart Favorites)

  • 版本历史:每次优化自动保存,可回溯
  • 可复现示例:绑定具体的使用场景和输出样例
  • 源绑定:记录提示词来源(手动/模板/Prompt Garden)
  • 资源感知:支持关联媒体文件
  • 完整备份导入导出
Prompt Garden: 这是一个提示词市场/生态的概念。用户可以导入社区共享的提示词,也可以分享自己的优化成果。

3.4 高级测试模式

功能说明
上下文变量管理自定义变量、批量替换、变量预览
多轮对话测试模拟真实对话场景,测试提示词在多轮交互中的表现
Function Calling 支持集成 OpenAI 和 Gemini 的 tool calling

3.5 图像生成模式

这是 v2.x 版本新增的功能:

  • T2I(文生图):基于文本提示生成图像
  • I2I(图生图):基于本地文件转换和优化
  • 多图像生成:多张输入图约束主体关系、时序语义
  • 支持 Gemini、Seedream 等图像模型
---

四、部署方式:五种形态覆盖全场景

4.1 在线版本(最轻量)

URL:https://prompt.always200.com

纯前端项目,所有数据存在浏览器本地,不经过任何服务器。适合快速体验和个人轻度使用。

局限:受浏览器 CORS 限制,某些 API 可能无法直接连接。

4.2 Vercel 自部署(推荐)

Fork 项目 → 导入 Vercel → 配置环境变量 → 完成。

优势:

  • 可以跟踪上游更新
  • 可配置访问密码(ACCESS_PASSWORD
  • 支持 Vercel 代理绕过 CORS

4.3 桌面应用(最强功能)

下载:GitHub Releases 提供 .exe.dmg.AppImage

核心优势:

  • 无 CORS 限制:直连任何 API,包括本地 Ollama
  • 自动更新:安装版支持自动检查更新
  • 独立运行:不依赖浏览器,性能更好

4.4 Chrome 扩展(最便捷)

安装后点击图标即可使用。适合在浏览网页时快速调用。

4.5 Docker 部署(最灵活)

# 基础部署
docker run -d -p 8081:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer

# 带 API 密钥和密码保护
docker run -d -p 8081:80 \
  -e VITE_OPENAI_API_KEY=your_key \
  -e ACCESS_PASSWORD=your_password \
  --restart unless-stopped \
  --name prompt-optimizer \
  linshen/prompt-optimizer

Docker 部署时 MCP 服务器自动启动,访问路径:http://ip:port/mcp

---

五、MCP 协议支持:成为 AI 生态的"基础设施"

这是 prompt-optimizer 最具前瞻性的设计。

MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,旨在让 AI 应用能够无缝集成外部工具和数据源。

prompt-optimizer 的 MCP 服务器暴露了三个核心工具:

工具名功能
optimize-user-prompt优化用户提示词
optimize-system-prompt优化系统提示词
iterate-prompt基于特定需求迭代改进成熟提示词
Claude Desktop 集成示例

{
  "services": [
    {
      "name": "Prompt Optimizer",
      "url": "http://localhost:8081/mcp"
    }
  ]
}

这意味着什么?你可以在使用 Claude 的过程中,随时调用 prompt-optimizer 来优化你的提示词,而不需要切换窗口。

更深层的意义:prompt-optimizer 不只是一个独立工具,它正在尝试成为 AI 应用生态中的"提示词优化基础设施"

---

六、安全架构:纯前端的隐私优先设计

6.1 架构原则

"我们的服务器不碰你的数据"

  • Web 版本:数据存在浏览器 localStorage/IndexedDB
  • API 调用:浏览器直连 AI 服务商,不经过中间服务器
  • Docker 版本:唯一的服务器端组件是可选的密码保护中间件

6.2 CORS 问题与解决方案

这是纯前端架构的天然挑战。

场景问题解决方案
商业 API(火山、Nvidia)严格的 CORS 限制Vercel 代理或自建中转
本地 Ollama默认只允许本地访问设置 OLLAMA_ORIGINS=*
桌面应用无 CORS 限制直接用桌面版

6.3 访问控制

  • Vercel:Cookie-based 中间件,未认证请求渲染密码页
  • Docker:Nginx HTTP Basic Auth,通过 ACCESS_USERNAMEACCESS_PASSWORD 配置
---

七、竞品对比:它和谁竞争

维度prompt-optimizerLangGPTPromptPerfect传统 Prompt 模板站
定位全功能工程化工具结构化提示词框架商业优化服务模板分享
开源✅ AGPL-3.0✅ 开源❌ 商业混合
多模型✅ 11+ 提供商⚠️ 需手动适配✅ 部分支持❌ 通常单一
评估体系✅ 完整❌ 无✅ 有❌ 无
资产管理✅ 版本历史+收藏❌ 无⚠️ 有限❌ 无
MCP 支持
图像生成
部署方式5 种文档/框架SaaS网站
隐私✅ 纯前端❌ 云端处理⚠️
结论:prompt-optimizer 在功能完整度和架构开放性上处于领先地位,唯一的"弱点"是它要求用户有一定的技术能力来部署和配置。

---

八、我的判断

8.1 优势(为什么值得关注)

1. 工程化思维:不是给你鱼,是给你渔具。它提供的是一套方法论+工具链,而不是零散的技巧。

2. 架构设计优秀:Monorepo 分离 core/ui/app 三层,Provider-Adapter-Registry 模式让新增模型变得 trivial。这种架构经得起长期演化。

3. 隐私优先:纯前端设计在数据敏感的 AI 应用领域是巨大加分项。你可以放心地用它处理内部提示词,不用担心数据泄露。

4. MCP 前瞻性:拥抱 MCP 协议意味着它把自己定位成了 AI 生态的基础设施,而不是一个孤立的工具。

5. 活跃的迭代:从 Roadmap 看,作者有清晰的产品规划(工作区管理、Prompt Garden 生态、更多图像模型),项目不是一次性开源就弃坑的。

8.2 局限(诚实的边界)

1. 上手门槛:对于非技术用户,部署(尤其是 Docker/Vercel)仍然有门槛。在线版本虽然零门槛,但受 CORS 限制可能无法连接某些 API。

2. AGPL-3.0 的传染性:如果你把它集成到商业 SaaS 中,需要开源你的衍生作品。这限制了某些商业使用场景。

3. 评估体系的主观性:虽然有多结果对比评估,但"好提示词"的标准仍然依赖人工判断。自动化的评估指标(如 ROUGE、BLEU)对提示词质量的衡量能力有限。

4. CORS 的永恒战争:纯前端架构的 CORS 问题是结构性的,不会因为版本迭代而消失。桌面版是解决之道,但桌面版的普及率不如 Web。

8.3 适用场景建议

场景推荐部署方式
个人快速体验在线版 prompt.always200.com
个人重度使用 + 本地模型桌面应用
小团队协作Docker + 密码保护
集成到 Claude DesktopDocker + MCP 配置
企业级部署Vercel 自部署 + 访问控制
---

九、技术细节补充

9.1 技术栈汇总

层级技术
框架Vue 3 (Composition API)
UI 库Naive UI
状态管理Pinia
路由Vue Router (hash mode)
国际化vue-i18n
构建Vite
包管理pnpm 10.6.1
桌面Electron + electron-builder
测试Vitest (单元) + Playwright (E2E)
存储localStorage / IndexedDB (Dexie) / File System

9.2 模型支持清单

提供商模型示例能力
OpenAIGPT-4o, GPT-4o-miniStreaming, Tools, Reasoning
Google GeminiGemini-2.0-flash-expStreaming, Tools, Reasoning
DeepSeekdeepseek-chat, deepseek-reasonerStreaming, Reasoning
智谱 AIglm-4, glm-4-flashStreaming
SiliconFlowVariousStreaming, Custom endpoints
自定义用户定义OpenAI 兼容接口

9.3 开发命令速查

# 克隆
git clone https://github.com/linshenkx/prompt-optimizer.git
cd prompt-optimizer

# 安装依赖
pnpm install

# 开发(构建 core/ui + 运行 web)
pnpm dev

# 仅运行 web
pnpm dev:web

# 完整重置
pnpm dev:fresh

---

十、参考信息

项目主页:https://github.com/linshenkx/prompt-optimizer 在线体验:https://prompt.always200.com Docker 镜像linshen/prompt-optimizer 文档索引:https://github.com/linshenkx/prompt-optimizer/tree/main/docs 产品需求文档:https://github.com/linshenkx/prompt-optimizer/blob/main/docs/project/prd.md 技术架构文档:https://github.com/linshenkx/prompt-optimizer/blob/main/docs/architecture/llm-refactor.md

相关项目

  • LangGPT:结构化提示词框架 https://github.com/m Prompt 社区
  • awesome-harness-engineering:https://github.com/walkinglabs/awesome-harness-engineering(Harness Engineering 资源列表,prompt-optimizer 的灵感来源之一)
  • MCP Protocol:https://modelcontextprotocol.io/
作者相关
  • GitHub:linshenkx
  • 项目 Star 历史:https://api.star-history.com/svg?repos=linshenkx/prompt-optimizer&type=Date
---

十一、交叉引用

#prompt-optimizer #提示词工程 #开源工具 #AI工具链 #MCP #Vue3 #Monorepo #费曼风格 #技术解读 #隐私优先

👍 1
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens