Back to projects

Built Product

Built

Prompt Optimization Platform

一个轻量级 Prompt 优化工具,把用户的原始提示词转成更清晰、更结构化、更适合模型理解的版本。

FastAPI
JavaScript
Supabase
DeepSeek API
Gemini API

Architecture Overview

Layer 01

Browser UI 收集原始提示词、目标场景和用户偏好。

Layer 02

API 服务生成规范化优化请求,并路由到不同模型供应商。

Layer 03

Supabase 管理用户身份、历史记录和基础权限控制。

Layer 04

模型适配层统一响应结构,避免前端感知供应商差异。

API Example

POST
/api/prompts/optimize

提交原始提示词和目标模型,后端返回结构化优化结果和调用元数据。

POST /api/prompts/optimize requestjson
{
  "rawPrompt": "帮我写一个学习计划",
  "targetModel": "deepseek",
  "scenario": "backend-learning"
}
response.jsonjson
{
  "optimizedPrompt": "You are a backend learning coach...",
  "sections": ["role", "task", "constraints", "output_format"],
  "model": "deepseek",
  "latencyMs": 1840
}

Data Model

PromptHistory

  • id
  • userId
  • rawPrompt
  • optimizedPrompt
  • model
  • createdAt

Relations

belongs to user

ModelCall

  • id
  • historyId
  • provider
  • status
  • latencyMs
  • error

Relations

belongs to prompt history

PromptTemplate

  • id
  • name
  • scenario
  • structure
  • enabled

Relations

can seed optimization requests

Deployment Notes

  • Keep provider API keys on the server side.
  • Normalize provider responses before returning data to the browser.
  • Add per-user rate limits before exposing model calls to wider traffic.
  • Log failed provider calls so slow or unstable prompts can be diagnosed.

Engineering Decisions

Start with a thin product surface

The first version keeps UI and API scope small so effort goes into model behavior, history, and response reliability.

Normalize model responses

The frontend receives one stable response shape even when DeepSeek and Gemini return different raw payloads.

Persist prompts for iteration

Prompt history turns a one-time tool into a product users can revisit, compare, and improve over time.

项目背景

很多用户知道自己想让 AI 完成什么,但提示词缺少角色、上下文、限制条件和输出格式。这个项目把提示词优化拆成输入理解、结构重写、模型调用和结果展示。

解决的问题

  • 原始提示词经常缺少明确任务、上下文和输出约束。
  • DeepSeek 与 Gemini 等模型返回结构不同,前端需要稳定展示。
  • 工具型产品需要兼顾可用体验、认证和模型调用安全。

核心功能

  • 用户输入原始提示词并选择优化方向。
  • 通过 DeepSeek / Gemini API 生成结构化优化结果。
  • 前端展示优化后的 Prompt、关键改动和可复制结果。
  • 使用 Supabase 处理基础认证和数据存储。

技术架构

  • FastAPI 提供提示词优化接口和模型适配层。
  • JavaScript 前端负责输入、结果展示和基础交互。
  • Supabase 负责用户认证、数据记录和权限策略。
  • 模型 API 通过统一服务层封装,便于继续扩展供应商。

技术难点

  • 不同模型返回格式不稳定,前端展示需要容错。
  • 提示词优化结果需要兼顾通用性和可执行性。
  • 认证、存储和模型调用链路需要保持足够简单。

我的解决方案

  • 统一封装模型响应结构,失败时返回可解释错误。
  • 把优化 Prompt 拆成目标、上下文、约束和输出格式四个部分。
  • 先使用 Supabase 降低外围能力成本,把重点放在 AI 调用体验。

Evidence to Add

API documentation
Supabase schema notes
Model adapter error cases
Demo screenshots
Prompt history examples

下一步计划

  • 增加 Prompt 模板库。
  • 补充调用成本统计。
  • 将核心接口迁移到 Java 后端版本。