品牌匹配度档案:从 Creator Overview 到 Deep Analysis 的三层 AI 达人尽调
你想要、但不想自己写的那份 KOL 尽调档案:1 credit 带评分的概览、5 credits 的深度分析、带网页引用的背调——三层、一套缓存,每个 prose 字段都按 Markdown 渲染。
整体结构
/kols/[username] 打开任意 KOL 详情页 → 三张堆叠的卡片:Creator Overview(命中缓存免费 / 刷新 1 credit) → Background Research(联网,1 credit) → Deep Analysis(主动点按钮,5 credits)。三层都尊重你当前 workspace 的品牌画像 和你的 UI 语言。为什么分三层,而不是一份大报告
品牌经理不会为了判断「这个 KOL 值不值得再看一眼」去读 5 段 LLM prose。 他们看一行 headline、扫四颗星,然后要么花 30 秒读深,要么直接跳过。 所以三层正好对应真实的筛选漏斗:
- Overview(1 credit,缓存 30 天) —— 回答「这个人在做什么,我要不要继续看」,给出带评分的判断。 读 50 条最新视频 + 作者画像 + 受众数据(如果已有)。
- Background Research(1 credit,缓存 30 天) —— 回答「这个人在 TikTok 之外是谁」。 联网 LLM(
openai/gpt-4o-mini-search-preview) 翻公开来源,返回带[1]引用胶囊的 Markdown。 适合在真正掏外联预算之前做正当性 / 身份核验。 - Deep Analysis(5 credits,缓存 7 天) —— 针对已经进入候选名单的 KOL。读最多 200 条视频 + 完整受众快照 + 跨平台联系方式, 额外输出五段可以直接粘进 brief 的内容: 内容质量、合作历史、外联策略、谈判要点、竞争背景。
星级评分——有 ground truth 才出
四项评分(推荐度 / 内容契合度 / 受众契合度 / 风险) 只有在 workspace 品牌画像至少填了一个结构化字段时才会渲染。 没有这个锚点,我们就没法对「契合」打分——LLM 会凭空发明一个比较对象。
在 /workspaces/{slug}/settings 里填上product_category、target_audience_text、target_geographies 或 exclusions_text中任意一项,每份 dossier 上的评分块就会亮起来。 LLM 被告知要评什么、被要求把分数夹在 1-5, 并要求在 300 字以内的 score_rationale 中说明依据。
每一份 prose 结果都落到 Postgres
三层各有自己的缓存表——主键是(workspace_id, username, platform), locale 存在 JSON payload 里——所以换语言重渲染就是一次干净的 miss, 不会读到陈旧版本。
实战上:一个忙碌的 workspace 一周内对同一份 KOL dossier 打开 20 次, 每层只会真正调用 LLM 一次。剩下 19 次都是免费的。 每张卡片上的「Refresh」按钮是唯一会触发新调用的路径—— 这是一个明确的操作员动作,绝不是误触。
用 Markdown 渲染,不是 whiteSpace: pre-line
操作员的反馈非常直接:「如果是 markdown,就用 markdown 格式来优化展示」。 每一个 prose 字段现在都通过一个迷你的内联 Markdown 组件渲染—— 标题、加粗、斜体、有序 + 无序列表, 以及 Background Research 的 [1] / [2] 引用胶囊。
我们没有引入完整 Markdown 库;这个 renderer 单文件、~110 行, 只处理 LLM 实际会输出的那个子集。表面积小,无 MDX 插件抖动。
多语言:从前到后打通
- 语言切换器写入
NEXT_LOCALEcookie - BFF 读 cookie,转成
?locale=转发 - Railway 服务把 locale 注入 LLM system prompt (「Respond entirely in Simplified Chinese (zh-CN)…」)
- 缓存 key 带 locale,en 缓存正文绝不会发给中文用户
目前已上线三种语言:en / zh-CN / ja。再加一门语言只需要在api/services/kol_overview.py 的_LOCALE_NAME 里加 3 行,再加一份 messages 文件即可。
来试一下这份档案
在 /kols/[username] 打开任意 KOL。如果你的 workspace 品牌画像已经设过,首屏就能看到星级评分。点 Deep Analysis 看额外的五段—— 从 workspace credit 池扣费,按钮上有明确的确认文案。
常见问题
- Creator Overview 和 Deep Analysis 有什么区别?
- Overview 读 50 条视频 + 作者基本信息,扣 1 credit。Deep Analysis 读 200 条视频 + 受众快照 + 跨平台联系方式 + 品牌画像,从 workspace credit 池扣 5 credits。schema 是严格超集——深度版多出 content_quality、partnership_history、negotiation_notes、competitive_context,以及一份量身定制的 outreach_strategy。
- 为什么必须填了品牌画像才出星级评分?
- 没有品牌画像,我们就没有「匹配度」的锚点——LLM 会凭空发明一个比较基准。打分路径必须以至少一个结构化字段(product_category / target_audience_text / target_geographies / exclusions_text)为前提。workspace 品牌画像为空时,卡片不会显示假星,而是给出指向 /workspaces/{slug}/settings 的 CTA。
- 每一层用什么模型?
- Overview:gpt-4o-mini(settings.ai_insight_classifier_model)。Deep Analysis:gpt-4o(settings.ai_deep_analysis_model)。Background Research:gpt-4o-mini-search-preview(settings.ai_background_research_model)。全部支持环境变量覆盖——切换到不同网关只需要一次部署,不需要改代码。
- 每一层缓存能保留多久?
- Overview:30 天。Deep Analysis:7 天(谈判 / 合作历史类洞察过期更快)。Background Research:30 天。三层都接受 ?refresh=true 强制重新调用(并按 credit 重新扣费)。
- prose 字段真的是 Markdown 渲染吗?
- 是的。LLM prompt 明确要求 overall_summary、content_quality、partnership_history、negotiation_notes、competitive_context、audience_signal 用 Markdown 输出。Dossier UI 用一个迷你的内联 MdRender 组件渲染,支持标题、**加粗**、*斜体*、有序 + 无序列表,以及 [1] [2] 引用胶囊。
- 切语言会让输出跟着变吗?
- 会。NEXT_LOCALE cookie → BFF query 参数 → LLM system prompt + 缓存 key。缓存行按 locale 隔离,zh-CN 调用者绝不会拿到 en 缓存的正文,反之亦然。目前已上线 en / zh-CN / ja 三种。
继续阅读
Audience Snapshot 正式上线:用抽样数据看清 TikTok 达人粉丝画像
KOLens 的 Audience Snapshot 今天上线:达人粉丝住在哪、说什么语言、有多活跃、关心哪些品类。统计抽样附 95% 置信区间 / 误差棒——出海卖家 TikTok 投放前的真实受众尽调。
用 Claude Code + KOLens MCP 自动化 TikTok 网红寻找——手机壳出海品牌实战
一家 4 人手机壳出海品牌怎么把 Claude Code、KOLens、Notion、Slack 用 MCP 串起来,把原本 6 小时的 KOL 发现 + 邮件 outreach 流程压缩到 6 分钟。完整 prompt、截图、真实数字。