prompt-forge
AI 提示词工程工作台:生成、分析、系统性测试提示词,多模型对比评测
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 提示词工程工作台:生成、分析、系统性测试提示词,多模型对比评测
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这种感觉——写提示词就像抽奖,同样的需求换个人写效果天差地别。PromptForge 想要改变这个现状,它把提示词工程变成一套可量化、可测试、可迭代的系统工程。
在 PromptForge 出现之前,大多数人的提示词开发流程是这样的:写一段 prompt → 丢给 AI → 看结果 → 凭感觉改几个词 → 再试。这个循环效率极低,而且完全没有客观反馈——你无法知道这次改动的效果是真的提升了,还是仅仅碰运气。
PromptForge 的核心思路是引入工程思维:它不只是一个更好的提示词编辑器,而是一套完整的提示词工程工作台,涵盖「生成 → 分析 → 评测 → 管理」全生命周期。作者 insaanimanav 在 GitHub 上这样描述这个项目:「生成、分析、系统性测试提示词」的 AI 提示词工程工作台。
通过 PromptForge,开发者可以对同一条提示词进行多维度的系统性评估,包括鲁棒性(能否应对拼写错误、表达变体)、安全性(是否能抵御有害内容注入)、准确性(事实正确性)和创造性(能否处理需要发散思维的场景)。这种结构化评测让提示词优化从玄学变成科学。
图1:PromptForge Web UI 主界面
PromptForge 的技术选型非常务实:后端用 Go 语言编写,提供 HTTP API 服务;前端是纯静态 HTML/JS 单页应用(SPA),不需要构建工具链。
Go 后端:代码位于 api/ 目录下,使用 labstack/echo/v4 作为 HTTP 框架,配合 mattn/go-sqlite3 实现数据持久化(SQLite 数据库路径 /data/promptforge.db)。Go 的并发特性保证了 API 响应的高性能,而单文件编译的二进制部署极其简单。Dockerfile 中采用多阶段构建(multi-stage build):第一阶段从 golang:1.21-alpine 编译,第二阶段将二进制拷贝到 alpine:latest 镜像,最终镜像体积极小。
纯前端 SPA:前端代码在 frontend/ 目录下,包含 app.js、index.html、styles.css 和 tokenizer.js 等文件,所有资源通过 Go 服务静态托管,无需独立的前端服务器。
模块化内部结构:Go 后端的 api/internal/ 目录按照职责清晰分层:
handlers/:处理 HTTP 请求路由和参数校验services/:核心业务逻辑,包括 AI 服务抽象(ai_service.go)、提示词分析器(prompt_analyzer.go)和评测用例生成器(eval_generator.go)models/:数据结构定义,包含 API 请求/响应模型和数据库模型database/:SQLite 数据库操作封装config/:环境配置加载和 AI Provider 枚举管理PromptForge 最有价值的设计之一是统一 AI 服务抽象层。在 ai_service.go 中定义了 AIService 接口,通过 CallAI() 方法将请求路由到不同的 Provider:
Prompt 智能生成(Prompt Generator):用户描述任务需求,AI 自动生成结构化的提示词草案,并提供智能建议优化方向。这解决了「不知道如何组织 prompt 结构」的冷启动问题。
提示词分析(Prompt Analysis):这是 PromptForge 最核心的功能。prompt_analyzer.go 中实现了详细的批判性分析框架,评估维度包括任务定义、上下文关联性、结构分析、受众分析和语言分析。分析结果以 HTML 格式返回,前端负责渲染。
评测引擎(Evaluation Engine):这是 PromptForge 区别于普通 prompt 编辑器的杀手级功能。eval_generator.go 可以自动生成针对某条 prompt 的测试套件,覆盖鲁棒性测试、安全性测试、准确性测试和创造性测试四类场景。生成测试用例后,用户可以在 Web UI 中逐一执行,收集客观的评分结果,逐步迭代优化。
PromptForge 的部署体验打磨得很好。Docker 一行命令即可启动完整服务:
docker run -d -p 8080:8080 -e ANTHROPIC_API_KEY="你的Key" ghcr.io/insaanimanav/prompt-forge:main
docker-compose.yml 提供生产级配置,包含数据卷持久化、健康检查(每 30 秒检测 /api/health)、自动重启策略。本地开发支持 go run main.go,需要 Go 1.21+ 环境。
PromptForge 主要面向两类用户:AI 应用开发者需要系统性验证提示词质量,确保上线前经过充分测试;提示词工程师需要一个结构化工作台,而非简单的文本编辑器来管理版本和历史记录。
需要注意的局限:评测功能依赖 AI API 调用,会产生额外 token 费用;系统所有数据默认存在本地 SQLite,对团队协作场景支持有限;评测用例生成的质量受模型能力影响。
PromptForge 填补了 AI 开发工具链中的一个真实空白——在「写 prompt」和「用 prompt」之间,提供了一个系统性的验证环节。它的架构简洁高效(Go + SQLite + 静态前端),部署门槛低(Docker 一行命令),功能覆盖了提示词工程的核心环节。如果你正在开发基于 LLM 的应用,想要更科学地迭代你的提示词,PromptForge 值得一试。