第 17 课 | 智能分析:让 LLM 生成竞品洞察
数据有了,清洗过了,但那一堆新闻和产品信息仍然是"数据"而不是"洞察"。这节课,我们让 LLM 从数据中提炼出业务价值——自动识别产品差异、判断市场趋势、发现潜在威胁。
一、业务价值:从数据到洞察
1.1 数据的"最后一公里"
前 16 课我们搭建了完整的数据管道:
爬取 → 清洗 → 增强 → 存储但数据本身不产生价值,洞察才产生价值。来看一个典型场景:
原始数据(第 15 课输出):
[手机] 苹果发布iOS 19,AI功能大幅升级 [芯片] 华为Mate 80搭载麒麟9100芯片,3nm工艺 [AI] OpenAI发布GPT-5,推理能力提升10倍 [汽车] 小米SU7 Ultra发布,0-100加速1.98秒人工分析(传统做法,需要 2-3 小时):
“本周值得关注:苹果和华为同时在高端市场发力,苹果聚焦AI生态整合,华为聚焦芯片突破。OpenAI的GPT-5可能对国内大模型厂商形成压力。小米汽车定价策略激进,可能冲击特斯拉Model S市场…”
LLM 自动分析(5 秒):
同样的输出,甚至更结构化、更全面。
这就是"最后一公里"的价值——把数据变成决策依据。
1.2 效率对比
| 环节 | 人工 | LLM 自动化 | 提升 |
|---|---|---|---|
| 阅读 50 条新闻 | 30 分钟 | 0 秒 | - |
| 识别关键信息 | 20 分钟 | 5 秒 | 240x |
| 归纳趋势 | 30 分钟 | 5 秒 | 360x |
| 撰写分析报告 | 40 分钟 | 10 秒 | 240x |
| 合计 | 2 小时 | 20 秒 | 360x |
二、System Prompt 设计:洞察质量的灵魂
2.1 为什么 System Prompt 决定一切
普通 Prompt 和 System Prompt 的差距,就像"随便问问"和"专业咨询"的差距:
# ❌ 普通 Prompt(输出质量不稳定)"分析以下新闻,找出重要信息。"# ✅ System Prompt(结构化、专业化输出)"""你是一位资深的市场竞争分析师,拥有 15 年科技行业经验。 你的分析框架: 1. 产品动态:识别新产品发布、功能更新、定价策略 2. 技术趋势:判断技术方向、研发投入、专利布局 3. 市场竞争:分析竞争格局、市场份额变化、渠道策略 4. 风险预警:发现潜在威胁、政策风险、供应链变化 输出要求: - 每个维度 2-3 条洞察 - 每条洞察包含:事实依据 + 影响分析 + 建议行动 - 用中文,专业但不晦涩"""2.2 System Prompt 设计五原则
原则 1:角色设定
# ❌ 模糊"你是一个助手"# ✅ 具体"你是一位在科技行业有 15 年经验的市场竞争分析师,曾为多家 Fortune 500 企业提供战略咨询"角色越具体,LLM 的输出越专业。15 年经验、Fortune 500 这些细节不是在"骗"模型,而是在锚定它的输出风格。
原则 2:分析框架
给出思考维度,引导 LLM 系统化思考,而不是"想到哪说到哪":
分析框架:1.产品动态——新产品、功能更新、定价变化2.技术趋势——技术方向、研发投入、专利布局3.竞争格局——市场份额变化、渠道策略、生态建设4.风险预警——潜在威胁、政策变化、供应链风险原则 3:输出格式
用 Pydantic 定义输出结构(第 16 课的技巧):
classInsight(BaseModel):dimension:str# 所属维度:产品动态/技术趋势/竞争格局/风险预警fact:str# 事实依据(引用的具体新闻)analysis:str# 影响分析(这对行业意味着什么)action:str# 建议行动(我们该做什么)importance:str# 重要程度:高/中/低原则 4:质量要求
每条洞察必须包含三个要素:
事实依据(What)→ 影响分析(So What)→ 建议行动(Now What)原则 5:约束条件
约束条件:-总共输出5-8条洞察,不要贪多-每条分析不超过80字-只分析最近7天的新闻-排除纯广告、软文、重复内容三、实战:竞品洞察生成器
3.1 系统架构
3.2 核心代码
fromlangchain_core.promptsimportChatPromptTemplatefromlangchain_core.output_parsersimportJsonOutputParserfrompydanticimportBaseModel,FieldclassCompetitorInsight(BaseModel):dimension:str=Field(description="产品动态/技术趋势/竞争格局/风险预警")title:str=Field(description="洞察标题,不超过20字")fact:str=Field(description="事实依据,引用具体新闻")analysis:str=Field(description="影响分析,不超过80字")action:str=Field(description="建议行动,不超过50字")importance:str=Field(description="高/中/低")classInsightReport(BaseModel):summary:str=Field(description="总体概述,100字以内")insights:list[CompetitorInsight]=Field(description="洞察列表,5-8条")SYSTEM_PROMPT="""你是一位资深的市场竞争分析师,拥有 15 年科技行业经验。 请基于提供的新闻数据,生成结构化的竞品洞察报告。 分析框架: 1. 产品动态——新产品发布、功能更新、定价策略调整 2. 技术趋势——技术方向变化、研发投入、专利突破 3. 竞争格局——市场份额变化、渠道策略、生态建设 4. 风险预警——潜在威胁、政策变化、供应链风险 质量要求: - 每条洞察包含:事实依据 + 影响分析 + 建议行动 - 事实必须引用具体新闻,不可编造 - 分析要具体,避免泛泛而谈 - 建议要可操作,能落地执行"""parser=JsonOutputParser(pydantic_object=InsightReport)chain=ChatPromptTemplate.from_messages([("system",SYSTEM_PROMPT),("human","新闻数据:\n{news_data}\n\n{format_instructions}"),])|llm|parser3.3 运行
cdcode/lesson-17-competitor-insight uv run insight_generator.py输出示例:
📊 竞品洞察周报(2026-08-09 ~ 2026-08-15) 📋 总体概述: 本周科技行业焦点集中在 AI 能力升级和高端手机市场竞争。苹果和华为 同时发力,OpenAI 和腾讯在基础模型领域展开军备竞赛。 🔴 高重要度 (3 条) 1. [产品动态] 苹果 iOS 19 全面 AI 化 事实:苹果发布 iOS 19 开发者预览版,深度整合 AI 功能 分析:苹果正在从硬件公司转型为 AI 平台公司,这可能改变 手机行业的竞争维度 建议:关注 iOS 19 的 AI API 开放程度,评估对第三方应用的影响 🟡 中重要度 (4 条) 4. [技术趋势] 3nm 芯片成为新战场 事实:华为麒麟 9100 采用 3nm 工艺,性能提升 40% 分析:3nm 工艺竞赛进入白热化,芯片自研能力成为核心竞争力 建议:关注供应链动态,评估芯片供应风险四、System Prompt 调试技巧
4.1 输出不稳定的处理
LLM 的输出有时不稳定,对策:
| 问题 | 原因 | 解决 |
|---|---|---|
| 输出格式错误 | 模型理解偏差 | 在 Prompt 中加format_instructions |
| 分析太泛泛 | 缺乏具体约束 | 要求"每条必须引用一条具体新闻" |
| 洞察数量不对 | 没设上下限 | 明确"输出 5-8 条,不要多也不要少" |
| 编造事实 | 模型幻觉 | 强调"只基于提供的新闻,不要编造" |
| 语言风格不一致 | 缺乏角色锚定 | 强化角色设定,给出示例 |
4.2 降温策略
# 分析类任务用低温度,保证输出稳定和一致llm=ChatOpenAI(model="qwen2:7b",temperature=0.3,# 低温度 = 更确定性、更一致)# 创意类任务用高温度# temperature=0.8 # 高温度 = 更多样性五、总结
这节课完成了从"数据"到"洞察"的最后一公里:
| 能力 | 技术 | 效果 |
|---|---|---|
| 角色设定 | System Prompt 锚定专业身份 | 输出质量提升 50%+ |
| 结构化分析 | 四维分析框架 | 覆盖全面,不遗漏 |
| 格式化输出 | Pydantic + JsonOutputParser | 稳定、可解析 |
| 质量控制 | 事实+分析+建议三段式 | 每条洞察可落地 |
至此,场景一「竞品监控」的核心分析能力已就位。下一课,我们将让洞察自动生成 Word 周报——配上图表、排版、格式,直接发给老板。
本课代码:code/lesson-17-competitor-insight/insight_generator.py