2026 UI设计AIGC工作流知识库搭建全方案
1. 为什么UI设计团队需要AIGC知识库?

2026 年,AIGC 已经从“尝鲜”变成了 UI 设计日常的一部分:用 AI 生成界面初稿、扩展图标集、批量产出营销素材、通过文字描述直接生成高保真原型。但团队很快会面临一个核心问题:
- Prompt 散落在各个设计师的聊天记录里,好的生成配方无法复用。
- 生成的图片、设计稿、组件库版本混乱,找一张三个月前的 AI 生成图需要翻遍 Slack 和 Figma 历史。
- 没有统一的风格规范和审核流程,AIGC 产出风格跳跃,品牌一致性越来越差。
AIGC 知识库就是解决这些问题的钥匙。它不单是一个文件存储库,而是融合了提示词工程、设计资产、生成规范、审核流程的团队中枢。本文将手把手带你搭建一个面向 UI 设计团队的 AIGC 工作流知识库,涵盖架构、工具选型、到落地运营的全方案。
2. 知识库的核心能力定义
先明确我们要建的知识库到底需要支持哪些场景:
- 提示词资产沉淀:按设计任务(如“电商首页 Banner”“SaaS 数据面板”)分类存储已验证的 Prompt,包含参数、模型版本、生成示例与评分。
- 生成资产统一管理:AI 生成的图片、视频、矢量图、代码片段等,按项目/模块归档,支持标签、关联来源 Prompt。
- 设计规范与风格指南:品牌色、字体、间距、阴影等 Token 的 AI 可读描述;不同业务线的 AIGC 风格指南。
- 审核与协作工作流:AIGC 产出从生成到入设计系统的评审链路,支持多角色评论、版本对比。
- 模型知识库(RAG):当团队需要快速找到“生成一个类似 XXX 风格的弹窗”时,能通过自然语言检索历史案例、设计规范和最佳 Prompt。

3. 架构设计:三层结构承载完整工作流
我们采用轻量又足够灵活的 “接入层-逻辑层-存储层” 三层架构,兼顾现有设计工具链的集成与未来扩展。
-
接入层:提供多触点入口,让设计师在现有工具中无缝完成“搜‑生成‑审核”闭环。
- 聊天机器人(Slack / 飞书):通过斜杠命令(如
/search 弹窗设计)触发语义检索,返回历史 Prompt 和示例图;支持/gen直接调用 AIGC 模型生成初稿。 - Figma 插件:在画布内直接查询知识库,拖拽式引用历史组件或 Prompt,支持将 AI 生成结果一键同步至组件库。
- Web 控制台:面向设计负责人和运营,提供资产浏览、审核看板、Prompt 排行榜和数据分析面板。
所有入口统一通过 RESTful API 或 WebSocket 与逻辑层通信,自然语言查询经 NLP 预处理后下发。
- 聊天机器人(Slack / 飞书):通过斜杠命令(如
-
逻辑层:作为知识库的大脑,负责核心业务编排。
- 提示词引擎:按设计任务类型(Banner、图标、Landing 等)分类管理 Prompt,支持参数化替换(品牌色、文案占位符),记录历史版本和评分权重。
- 多策略检索:混合检索——BM25 全文匹配 + 向量语义相似度 + 元数据过滤(项目、标签、评分、时间范围)。检索结果经重排序(Rerank)后返回 Top‑N。
- 生成任务调度:将检索到的 Prompt 与用户输入组合后,通过异步队列调用 Midjourney / Stable Diffusion / Figma AI 等接口,支持并发控制、重试和结果回调。
- 审核状态机:驱动资产状态在“pending_review → approved / revision_needed / rejected”之间流转,记录审核日志并实时通知相关负责人。
- 反馈闭环:采集生成结果的 1‑5 星评分,自动调整 Prompt 在检索中的权重;定期清理低分或过时 Prompt。
-
存储层:采用多模态存储策略,兼顾性能与成本。
- 结构化数据库(PostgreSQL / MySQL / Airtable):存储提示词模板、项目、任务、审核记录等业务数据,支持复杂查询与事务。
- 向量数据库(Qdrant / Milvus / pgvector):存储 Prompt 文本、设计规范、案例描述的向量嵌入,支撑语义检索,支持混合标量过滤。
- 对象存储(MinIO / S3):存放生成的图片、视频、源文件等二进制资产,通过预签名 URL 或 CDN 提供访问。
- 缓存层(Redis 可选):缓存高频检索结果与热点 Prompt 向量,降低检索延迟。
为方便不同规模团队选型,下表横向对比了各层级在不同团队规模下的典型技术组合:
| 层级 | 小团队(1‑5 人) | 中团队(5‑20 人) | 大团队(20+ 人) |
|---|---|---|---|
| 接入层 | Slack / Discord 聊天命令 + Notion 手动录入 | n8n 工作流 + Dify 前端 + Slack Bot | 自建 API Gateway + Figma 插件 + 统一设计门户(Next.js) |
| 逻辑层 | Make / Zapier 串联 + 简单 Python 脚本 | Dify 工作流 + FastAPI 服务 + pgvector 内置检索 | 微服务架构(Spring Boot / Go)+ Kafka 消息队列 + 自研 Prompt 引擎 |
| 存储层 | Airtable + 本地文件夹 / Google Drive | PostgreSQL + pgvector + MinIO + Redis 缓存 | PostgreSQL 集群 + Qdrant 集群 + S3 对象存储 + Redis Cluster |
小团队可先用表格左侧的最小组合快速验证价值,随着团队规模和数据量增长,逐步向右侧的成熟方案迁移。
4. 工具选型推荐(2026 版)
| 模块 | 推荐工具(按团队规模) | 说明 |
|---|---|---|
| 知识库主体 | Notion / Lark Base(小团队);Dify + Weaviate(中大团队) | Notion 快速起步;Dify 支持可视化编排 AI 工作流和知识库 |
| 向量数据库 | Qdrant(云原生);pgvector(与业务库统一) | 优先选用 pgvector 以减少维护组件数量,Qdrant 适合高性能独立检索 |
| AIGC 接口 | Midjourney API(通过第三方);Stability AI;Figma AI 插件 | 2026 年 Figma AI 开放更多 API,可直接生成组件变体 |
| 自动化编排 | n8n / Dify 工作流 | 将检索、生成、审核串联为自动化流水线 |
| 设计体系对接 | Figma Tokens Studio + Style Dictionary | 将设计 Token 转化为 JSON,导入知识库供 AI 理解风格 |
| 前端展示 | Next.js + Tailwind(自建);Dify 前端 | 如需内部审核看板可以自建轻量应用 |
小团队零成本起步推荐:Notion + Make 自动化 + Midjourney(Discord)+ 本地 Shell 脚本 就能跑通最小可行知识库。
5. 分步搭建实战
5.1 设计数据模型
首先在 PostgreSQL(或 Notion 数据库)中建表。核心表设计如下:
-- Prompt 资产表
CREATE TABLE prompts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title VARCHAR(255) NOT NULL,
category VARCHAR(100), -- 如 ui-banner, icon-set, landing
prompt_text TEXT NOT NULL,
negative_prompt TEXT,
parameters JSONB, -- 模型参数,如 steps, cfg_scale, model_version
examples TEXT[], -- 生成示例图片 URL 列表
score FLOAT CHECK (score >= 0 AND score <= 5),
tags TEXT[],
created_by VARCHAR(100),
created_at TIMESTAMPTZ DEFAULT now()
);
-- 生成资产表
CREATE TABLE assets (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id VARCHAR(100),
prompt_id UUID REFERENCES prompts(id),
file_url TEXT NOT NULL,
metadata JSONB,
status VARCHAR(20) DEFAULT 'pending_review',
created_at TIMESTAMPTZ DEFAULT now()
);
5.2 搭建向量检索层
以 pgvector 为例,为 Prompt 和设计规范文档创建嵌入并支持语义搜索。
# 启用 pgvector 扩展
CREATE EXTENSION IF NOT EXISTS vector;
为 prompts 表增加向量字段:
ALTER TABLE prompts ADD COLUMN embedding vector(1536);
然后编写一个简单的 Python 服务,当新增或更新 Prompt 时,调用 OpenAI Embeddings 生成向量写入:
import openai, psycopg2
def embed_and_store(prompt_id, text):
response = openai.Embedding.create(model="text-embedding-3-small", input=text)
vector = response['data'][0]['embedding']
conn = psycopg2.connect("dbname=design user=admin")
cur = conn.cursor()
cur.execute(
"UPDATE prompts SET embedding = %s WHERE id = %s",
(vector, prompt_id)
)
conn.commit()
混合检索(关键词 + 语义)的 SQL 示例:
SELECT id, title, prompt_text,
1 - (embedding <=> query_vector) AS similarity
FROM prompts
WHERE to_tsvector('english', title || ' ' || prompt_text) @@ plainto_tsquery('english', 'landing page hero')
OR embedding IS NOT NULL
ORDER BY similarity DESC
LIMIT 5;
5.3 集成 Slack Bot 触发工作流
在 n8n 中搭建一个工作流:当设计师在 Slack 频道发送 /similar 弹窗设计 时,自动执行检索并返回最匹配的 3 个历史 Prompt 和对应的生成图。
5.4 构建审核管道
AIGC 的生成物不能直接进入设计系统,必须经过审核。我们在资产表中用状态字段驱动流程:
在知识库前端(如 Dify 内部工具)中,为每个资产提供“通过/驳回/备注”操作按钮,自动更新状态并通知相关人。
下面是实现该审核状态变更的完整 API 示例(使用 FastAPI + PostgreSQL):
from fastapi import FastAPI, HTTPException, Path, Body
from pydantic import BaseModel
from enum import Enum
import psycopg2
import os
from datetime import datetime
app = FastAPI()
# --- 状态枚举与有效转换规则 ---
class AssetStatus(str, Enum):
pending_review = "pending_review"
approved = "approved"
revision_needed = "revision_needed"
rejected = "rejected"
synced_to_design_system = "synced_to_design_system"
VALID_TRANSITIONS = {
AssetStatus.pending_review: {AssetStatus.approved, AssetStatus.revision_needed, AssetStatus.rejected},
AssetStatus.revision_needed: {AssetStatus.pending_review},
AssetStatus.approved: {AssetStatus.synced_to_design_system},
}
class StatusUpdateRequest(BaseModel):
new_status: AssetStatus
reviewer: str
comment: str | None = None
class StatusUpdateResponse(BaseModel):
id: str
previous_status: AssetStatus
new_status: AssetStatus
message: str
# 数据库连接
def get_db_conn():
return psycopg2.connect(os.getenv("DATABASE_URL", "dbname=design user=admin"))
@app.patch(
"/api/assets/{asset_id}/status",
response_model=StatusUpdateResponse,
summary="更新资产审核状态"
)
def update_asset_status(
asset_id: str = Path(..., description="资产 ID"),
body: StatusUpdateRequest = Body(...)
) -> StatusUpdateResponse:
conn = get_db_conn()
cur = conn.cursor()
try:
# 1. 获取当前状态并锁定行,防止并发冲突
cur.execute(
"SELECT status FROM assets WHERE id = %s FOR UPDATE",
(asset_id,)
)
row = cur.fetchone()
if not row:
raise HTTPException(status_code=404, detail="资产不存在")
current_status = AssetStatus(row[0])
new_status = body.new_status
# 2. 验证状态转换合法性
allowed = VALID_TRANSITIONS.get(current_status, set())
if new_status not in allowed:
raise HTTPException(
status_code=400,
detail=f"不允许从 {current_status.value} 直接变更为 {new_status.value}。"
f"允许的下一状态:{ [s.value for s in allowed] }"
)
# 3. 更新数据库,同时将审核记录追加到 metadata 的 review_history 中
review_entry = {
"reviewer": body.reviewer,
"comment": body.comment,
"from_status": current_status.value,
"to_status": new_status.value,
"timestamp": datetime.utcnow().isoformat()
}
cur.execute(
"""UPDATE assets
SET status = %s,
metadata = jsonb_set(
COALESCE(metadata, '{}'::jsonb),
'{review_history}',
(COALESCE(metadata->'review_history', '[]'::jsonb) || %s::jsonb)
)
WHERE id = %s""",
(new_status.value, review_entry, asset_id)
)
conn.commit()
return StatusUpdateResponse(
id=asset_id,
previous_status=current_status,
new_status=new_status,
message="状态更新成功"
)
except HTTPException:
conn.rollback()
raise
except Exception as e:
conn.rollback()
raise HTTPException(status_code=500, detail=str(e))
finally:
cur.close()
conn.close()
5.5 让知识库“活起来”:持续优化 Prompt
搭建只是第一步,关键是运营。引入一个简单的反馈闭环:
- 每个生成结果附带 1-5 星评分。
- 评分高的 Prompt 自动提升在检索结果中的权重。
- 定期(每月)由设计负责人清理低分或过时的 Prompt,保持库的“含金量”。
6. 实际工作流串联案例
假设团队接到需求:“为新上线的 SaaS 产品生成一套空状态插图,风格与现有插画体系一致。”
- 设计师在 Slack 输入:
/search 空状态插图 saas 风格 - 机器人返回知识库中相似的历史 Prompt 和插图案例。
- 设计师选择一个高分 Prompt,微调参数后通过 Make 流程调用 Stability AI 生成 4 张初稿。
- 初稿自动存入知识库,状态
pending_review,通知设计主管。 - 主管在评审看板中标注“B 方案稍调整色彩”,设计师二次生成后通过。
- 通过的插图进入 Figma 插件可用的资产库,同时该 Prompt 评分 +1,提升未来推荐权重。
7. 安全与合规建议
UI 设计领域的 AIGC 虽然不像文本生成那样敏感,但仍需注意:
- 版权声明:明确记录生成所用模型的许可条款,避免商用纠纷。
- 用户数据隔离:如果知识库连接业务数据库以生成个性化界面,必须脱敏,不得将真实用户数据发送给第三方 AI 模型。
- 审核责任:AI 生成界面中的文案、图标、人物形象需专人审核,防止出现文化冒犯或误导信息。
8. 常见问题与排查
在实际搭建和运营知识库的过程中,团队常会遇到一些典型问题。下面以问答形式列举最常见的几个,并给出排查思路与解决方案。
Q1:向量检索返回的结果总是“不相关”,明明库里有很多同类 Prompt?
排查思路:
- 检查 Embedding 模型是否与入库时一致。 假如入库用的是
text-embedding-3-large(3072 维),查询时却用了text-embedding-3-small(1536 维),维度不匹配会导致相似度计算完全失效。 - 确认查询文本的质量。 如果设计师直接输入
/search 好看的弹窗,这种描述信息量太低,向量模型很难匹配到有用的 Prompt。建议在检索前用 LLM 对查询做一次「改写」——例如将“好看的弹窗”扩展为“简洁现代风格的移动端弹窗组件,包含确认/取消按钮与半透明遮罩”。 - 检查元数据过滤条件是否过于苛刻。 如果前端或 API 默认加了
score > 4.5或category = 'dashboard'这样的强过滤,可能把大部分记录排除在外。
解决方案:
- 统一 Embedding 模型,并在系统中记录每条 Prompt 向量的模型版本与维度,避免混用。
- 在检索服务中增加 混合检索权重调节:当向量相似度普遍偏低(例如 Top‑10 的 similarity 均 < 0.7)时,自动增加 BM25 全文匹配的权重。
- 在 Slack Bot 或 Dify 工作流中引入 查询重写节点,将短查询扩展后再送入向量库。
Q2:审核流程卡住了——资产一直是 pending_review,没人处理怎么办?
排查思路:
- 查一下 Slack / 飞书通知渠道是否真正触达。 Webhook 配置过期、频道变更或通知被静音是常见原因。可以在审核管道中增加“通知发送成功/失败”的日志。
- 看设计负责人是否明确。 如果团队没有指定审核人,资产永远处于无人认领状态。可以在资产表中增加
reviewer_id字段,自动指派给对应项目或模块的默认负责人。 - 检查 API 调用是否正常。 如果前端操作按钮绑定的 PATCH 请求因 CORS、Token 过期等原因失败,前端可能没正确提示错误,设计师以为点过了但实际状态未更新。
解决方案:
- 在审核管道中加入 超时升级机制:如果某资产 24 小时内状态仍为
pending_review,自动将通知升级发送到设计主管或团队公共频道。 - 在 Web 控制台的审核看板中增加 “待我审核” 视图,按 reviewer 过滤,让负责人一眼看到积压项。
- 完善 API 的响应监控:当状态变更返回 4xx/5xx 时,前端应弹窗提示明确的失败原因,而不是静默忽略。
Q3:Prompt 越来越多,但搜索到的 Prompt 实际用起来效果并不好?
排查思路:
- 评分数据可能失真。 如果团队习惯性“随手打 5 星”,高分 Prompt 未必真的高质量。建议引入更细粒度的反馈维度(如「还原度」「风格一致性」「可直接用」),而非单一星级。
- Prompt 没有随模型版本迭代更新。 一个使用 Midjourney v6 编写的 Banner Prompt,在 v7 上可能表现完全不同。入库时务必记录
model_version字段,并定期测试旧 Prompt 在新模型上的效果。 - 缺少“使用次数”与“最近使用时间”权重。 一个曾经高分但半年无人使用的 Prompt 排在前面,压过了新验证的有效配方。
解决方案:
- 检索排序时引入 时效衰减因子:综合 score × 0.6 + (最近 30 天被使用次数) × 0.3 + (创建时间衰减权重) × 0.1,确保活跃验证过的 Prompt 优先出现。
- 设置 Prompt 定期巡检机制:每月自动跑一批高分 Prompt,用统一模型生成示例图,计分后将结果写回
metadata,异常者自动降权。 - 鼓励设计师在复用 Prompt 后留下简短评价(如“色彩偏冷,需手动调”)——这些文本反馈本身就是高质量的结构化元数据,可供后续检索与优化参考。
Q4:AIGC 生成的界面风格飘忽,与品牌设计规范总是不一致?
排查思路:
- Negative Prompt 是否包含了品牌色、字体、组件类型的约束描述。 负向 Prompt 如果只写“丑陋、变形”这类泛词,不约束具体元素,模型仍有很大自由空间。
- 设计 Token 是否已转化为 AI 可理解的自然语言。 一个 JSON 格式的
{ "primary": "#2563EB" }对 AI 没有直接意义,需要翻译为“主色为深蓝色(#2563EB),按钮圆角 8px,主要字体为 Inter”。这正是 Style Dictionary + GPT 预处理的价值所在。 - 不同模型对同一 Prompt 的理解差异很大。 Midjourney 强调视觉冲击力,Stable Diffusion 更偏写实,Figma AI 面向组件——同一个 Prompt 在不同模型上的产出风格可能完全不同。
解决方案:
- 在知识库中建立 「品牌 AI 风格卡」:将团队的核心设计规范(颜色、字体、圆角、间距、插画风格)写成一个固定的 System Prompt 片段,每次调用 AIGC 时自动拼接在用户 Prompt 之前。
- 对高频设计任务的 Prompt 做 模型特定版本:同一任务分别维护
midjourney、sd、figma-ai三个变体,每个变体针对该模型的特性单独调优。 - 在审核环节增加“风格一致性”这一检查项,持续将偏差案例反馈回 Prompt 优化循环中。
9. 总结与下一步
本文带你从零到一搭建了 UI 设计 AIGC 工作流知识库,核心是 “让分散的 AI 经验系统化”。通过结构化存储 Prompt、设计资产,配合向量检索与自动化工作流,团队可以在 2026 年的 AI 浪潮中保持高效、一致的产出。
下一步你可以:
- 先从 Notion 模板 开始手动积累一周的 Prompt,感受真实需求。
- 部署一套 Dify + Qdrant 的 PoC,用两周跑通检索与生成闭环。
- 持续运营知识库,将其发展成团队内部的“设计 AI 大脑”。
工具链路可以渐进式引入,关键是开始记录和分享 AI 使用经验——当第一个高质量 Prompt 入库时,这个知识库就已经开始发挥价值了。
附录:一键部署脚本
为了方便本地开发与验证,下面提供一套 Docker Compose 配置,一键启动包含 PostgreSQL(带 pgvector 扩展)、Qdrant 向量数据库和 MinIO 对象存储的基础设施。
将以下内容保存为 docker-compose.yml,并在同目录下创建 .env 文件配置环境变量。
version: "3.8"
services:
postgres:
image: pgvector/pgvector:pg16
container_name: design-kb-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB:-design_kb}
POSTGRES_USER: ${POSTGRES_USER:-design_admin}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-design_pass}
ports:
- "${POSTGRES_PORT:-5432}:5432"
volumes:
- pgdata:/var/lib/postgresql/data
qdrant:
image: qdrant/qdrant:v1.13
container_name: design-kb-qdrant
restart: unless-stopped
ports:
- "${QDRANT_REST_PORT:-6333}:6333"
- "${QDRANT_GRPC_PORT:-6334}:6334"
volumes:
- qdrant_storage:/qdrant/storage
minio:
image: minio/minio:RELEASE.2026-07-15T00-00-00Z
container_name: design-kb-minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin123}
ports:
- "${MINIO_API_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
volumes:
- minio_data:/data
volumes:
pgdata:
qdrant_storage:
minio_data:
配套的 .env 文件示例(可根据需要调整):
# PostgreSQL
POSTGRES_DB=design_kb
POSTGRES_USER=design_admin
POSTGRES_PASSWORD=design_pass
POSTGRES_PORT=5432
# Qdrant
QDRANT_REST_PORT=6333
QDRANT_GRPC_PORT=6334
# MinIO
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
MINIO_API_PORT=9000
MINIO_CONSOLE_PORT=9001
启动之后,即可直接使用 psycopg2 连接 postgres://design_admin:design_pass@localhost:5432/design_kb,通过 HTTP 接口 http://localhost:6333 操作 Qdrant,通过 http://localhost:9000 上传或读取 MinIO 中的设计资产,快速跑通全文所述的知识库全流程。
更多推荐




所有评论(0)