~/blog/streamlit-embedding-feedback.md

用 Streamlit + Embedding 做了个反馈分析工具

vibe coding·2026-01-20·~2400 字·7 min read

用户反馈太多看不完?用 Embedding 聚类 + Streamlit 可视化,两天做了个内部工具。分享思路和关键代码。

问题:反馈太多看不完

我们产品每天收到几百条用户反馈,来自 App Store 评论、客服工单、社交媒体。PM 每天花 2 小时看反馈,还是觉得看不完。

人工看反馈的问题不是效率低,而是容易形成偏见——你总是被最「吵」的反馈吸引注意力。

方案:Embedding + 聚类

核心思路很简单:把每条反馈转成 Embedding 向量,然后用 K-Means 聚类,最后让 AI 给每个类起名字。

python
# 1. 获取 embeddingembeddings = get_embeddings(feedbacks) # 2. 聚类clusters = KMeans(n_clusters=8).fit(embeddings) # 3. AI 命名每个类labels = name_clusters(clusters, feedbacks)

关键是聚类数量的选择。太少会混在一起,太多会碎片化。我用 Silhouette Score 自动选最优 K 值。

效果与代码

用 Streamlit 做了个可视化看板:左边是聚类列表(按数量排序),右边是具体反馈。点击某个类可以下钻看详情。

1.
效率提升 5x —— 以前花 2 小时看反馈,现在 20 分钟就能把握全貌。
2.
发现了隐藏需求 —— 有些低频但集中的反馈之前被忽略了,聚类后浮出水面。
3.
总成本不到 $5/月 —— Embedding API 很便宜,Streamlit 部署在内网。