
前几天和一个做消费品牌的朋友聊天,他随口问了一句:“你说用户在豆包里问我们品牌相关问题的时候,AI会怎么回答?”这个问题看似简单,却让在场的人都沉默了。
我们突然意识到一个被忽视的事实:过去我们花大量精力监测搜索引擎、社交媒体、电商评论区,但现在越来越多的用户直接向AI助手提问。“这个牌子靠谱吗?”“XX和XX哪个更适合敏感肌?”“最近XX有什么负面新闻吗?”——这些问题的答案,正在豆包、Kimi、文心一言等AI产品中实时生成。
更关键的是,AI给出的回答,可能成为用户最终的购买决策依据。而品牌方对此几乎一无所知。
这就是本文要解决的问题:如何系统性地监测品牌在豆包AI中的提及情况,建立一个可持续运转的监测体系。
2024年以来,AI助手的使用频率呈爆发式增长。豆包作为字节跳动旗下的主力产品,凭借抖音生态的深度整合,用户量已突破千万级。越来越多的用户习惯直接问AI,而不是打开搜索引擎翻网页。
这意味着什么?意味着品牌信息的分发逻辑变了:
AI如何评价一个品牌,取决于它抓取到的训练数据、实时检索内容、以及模型的推理逻辑。这里存在几个风险点:
一个真实案例:某美妆品牌在小红书被恶意刷了一波差评后,三个月内Kimi对该品牌的评价出现了明显的负面转向,直接影响了AI推荐环节的品牌提及率。
建立豆包AI品牌提及监测体系,核心价值有三:
监测体系的核心逻辑并不复杂:模拟用户向豆包AI提问 → 获取回答内容 → 结构化分析 → 趋势追踪与告警。
但落地时会面临几个技术挑战:
以下是推荐的技术架构:
[问题库管理] → [自动化提问引擎] → [内容解析引擎] → [分析洞察平台] → [告警与报表]
↑ ↓
└──────────── [反馈优化闭环] ───────────────────────────┘这是整个体系的起点。问题设计的好坏,直接决定了监测的有效性。建议构建三层问题体系:
第一层:品牌基础认知类
第二层:决策对比类
第三层:信任与风险类
每一类问题建议准备10-20个变体,覆盖不同问法和场景。问题库需要定期更新,反映用户真实的提问趋势。
这是技术实现的核心。由于豆包目前没有对外的官方API,我们需要采用浏览器自动化方案来实现稳定可靠的提问和回答采集。
推荐使用 Puppeteer 或 Playwright 进行浏览器自动化。以下是基于Playwright的核心实现思路:
from playwright.sync_api import sync_playwright
import time
import json
class DoubaoMonitor:
def __init__(self):
self.playwright = sync_playwright().start()
self.browser = self.playwright.chromium.launch(headless=False)
self.context = self.browser.new_context(
storage_state="doubao_auth.json" # 登录态持久化
)
self.page = self.context.new_page()
def login_doubao(self):
"""首次登录,保存登录态"""
self.page.goto("https://www.doubao.com/chat/")
input("请手动扫码登录后按回车继续...")
self.context.storage_state(path="doubao_auth.json")
def ask_question(self, question: str) -> dict:
"""向豆包提问并获取回答"""
try:
# 访问豆包对话页面
self.page.goto("https://www.doubao.com/chat/")
time.sleep(2)
# 定位输入框并输入问题
input_selector = "textarea[placeholder*='输入']"
self.page.wait_for_selector(input_selector, timeout=10000)
self.page.fill(input_selector, question)
# 点击发送按钮
send_selector = "button:has(svg)" # 发送按钮通常有图标
self.page.click(send_selector)
# 等待AI回复生成完成
time.sleep(10) # 基础等待
self.page.wait_for_selector(".answer-content", timeout=30000)
# 提取回答内容
answer_text = self.page.inner_text(".answer-content")
# 提取引用来源(如有)
sources = self.extract_sources()
return {
"question": question,
"answer": answer_text,
"sources": sources,
"timestamp": time.time()
}
except Exception as e:
return {
"question": question,
"answer": None,
"error": str(e),
"timestamp": time.time()
}
def extract_sources(self) -> list:
"""提取回答中引用的来源链接"""
# 根据实际DOM结构调整选择器
try:
source_elements = self.page.query_selector_all(".source-link")
return [el.inner_text() for el in source_elements]
except:
return []
def batch_monitor(self, questions: list, interval: int = 30):
"""批量监测,注意频率控制"""
results = []
for i, q in enumerate(questions):
print(f"正在提问 [{i+1}/{len(questions)}]: {q[:50]}...")
result = self.ask_question(q)
results.append(result)
time.sleep(interval) # 控制频率,避免触发反爬
return results
def close(self):
self.browser.close()
self.playwright.stop()
# 使用示例
if __name__ == "__main__":
monitor = DoubaoMonitor()
questions = [
"XX品牌的面霜怎么样?",
"XX品牌和YY品牌哪个好?",
"XX品牌最近有负面新闻吗?"
]
results = monitor.batch_monitor(questions, interval=30)
# 保存结果
with open("monitor_results.json", "w", encoding="utf-8") as f:
json.dump(results, f, ensure_ascii=False, indent=2)
monitor.close()生产环境部署建议:
拿到AI回答文本后,需要将其结构化并进行多维分析。推荐使用大语言模型来完成这个任务,比传统NLP更灵活准确。
import openai # 或其他LLM SDK
class AnswerAnalyzer:
def __init__(self, api_key: str):
self.client = openai.OpenAI(api_key=api_key)
def analyze_sentiment(self, answer: str, brand_name: str) -> dict:
"""情感分析与关键信息提取"""
prompt = f"""
请分析以下AI助手的回答中,关于品牌"{brand_name}"的信息:
回答内容:{answer}
请按JSON格式返回:
{{
"sentiment": "positive/negative/neutral/mixed",
"brand_mentioned": true/false,
"competitors_mentioned": ["竞品1", "竞品2"],
"key_points": ["要点1", "要点2"],
"risk_signals": ["风险信号1"],
"factual_errors": ["事实错误1"],
"recommendation_tendency": "推荐/不推荐/中立/未提及",
"summary": "一句话总结"
}}
"""
response = self.client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
def compare_answers(self, results: list) -> dict:
"""跨时间对比分析"""
# 将多轮监测结果进行对比,发现变化趋势
# 可以关注:情感变化、提及率变化、竞品对比变化
pass监测数据需要系统化存储,便于趋势分析。推荐的技术选型:
-- 核心监测数据表设计
CREATE TABLE brand_monitor_records (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
brand_name VARCHAR(100) NOT NULL COMMENT '品牌名称',
question_category VARCHAR(50) COMMENT '问题类别',
question_text TEXT COMMENT '提问内容',
answer_text MEDIUMTEXT COMMENT 'AI回答原文',
sentiment VARCHAR(20) COMMENT '情感倾向',
recommendation_tendency VARCHAR(20) COMMENT '推荐倾向',
competitors_mentioned JSON COMMENT '提及的竞品',
risk_signals JSON COMMENT '风险信号',
sources JSON COMMENT '引用来源',
is_error TINYINT DEFAULT 0 COMMENT '是否有事实错误',
monitor_time DATETIME COMMENT '监测时间',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_brand_time (brand_name, monitor_time),
INDEX idx_sentiment (sentiment)
) COMMENT '品牌监测记录表';不是所有变化都需要告警,重点设置这几类阈值:
告警类型 | 触发条件 | 响应级别 |
|---|---|---|
情感突变 | 近3天负面率超过30% | P0 立即处理 |
事实错误 | 出现产品参数、价格等实质性错误 | P1 24小时内处理 |
竞品异动 | 竞品在对比类问题中提及率上升20% | P2 周度复盘 |
品牌消失 | 品牌提及率突然下降50%以上 | P1 24小时内处理 |
告警通知建议走企业微信、飞书等IM渠道,确保及时触达。
监测的最终目的是优化。当发现AI对品牌存在错误或不利的描述时,可以采取以下策略:
短期策略:
长期策略:
对于中等规模品牌,建立完整监测体系的资源估算:
如果希望低成本快速启动,也可以先用人工+Excel的方式小规模试跑,验证价值后再工程化。
品牌监测这件事本身并不新鲜,但当媒介从网页变成AI生成的回答时,许多过去的经验和工具都失效了。我们需要重新建立一套适用于AI时代的品牌声量监测体系。
这套体系的建设不是一蹴而就的,它需要持续迭代——问题库要跟着用户习惯走,分析模型要跟着AI能力走,优化策略要跟着效果走。但这个方向值得投入,因为在AI重塑信息获取方式的当下,品牌在AI口中的样子,某种程度上就是品牌在未来的样子。
如果你正在考虑启动这件事,我的建议是:先跑通最小闭环。选5个核心问题,手工测试一周,观察结果变化,感受一下这个新渠道的信息动态。有了体感之后,再逐步工程化、系统化。
毕竟,很多事情的启动,不需要完美的方案,需要的是开始的勇气。
欢迎在评论区分享你的品牌在AI搜索中的表现,或交流监测体系建设的技术细节。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。