惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
博客园 - 叶小钗
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
美团技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Microsoft Security Blog
Microsoft Security Blog
H
Heimdal Security Blog
有赞技术团队
有赞技术团队
The Cloudflare Blog
S
Secure Thoughts
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - Franky
T
Tenable Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
量子位
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
雷峰网
雷峰网
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cyberwarzone
Cyberwarzone
S
Securelist
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
InfoQ
Spread Privacy
Spread Privacy
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
智能竞品分析多Agent系统【附带源码】
谭文涛博士 · 2026-05-02 · via 博客园_首页

在商业竞争日益激烈的今天,企业需要快速、全面、深入地了解竞争对手,但传统竞品分析依赖人工搜集和整理,存在信息分散、维度单一、效率低下、缺乏系统性等痛点。智能竞品分析多Agent系统通过多个AI智能体协同工作,将复杂的竞品分析任务拆解为竞品发现、数据采集、多维分析和策略建议等专业化子任务,实现从竞品搜索到战略输出的全流程自动化。系统采用“串行采集→并行分析→串行汇总”的混合协作模式,在效率与深度之间取得平衡,为企业提供产品功能矩阵、定价策略对比、市场趋势洞察和可落地的差异化行动方案,让商业决策从“凭经验”升级为“凭数据与智能”。

作者:百度智能云  谭文涛

image

一、系统总体架构

┌─────────────────────────────────────────────────────────────────┐
│                      竞品分析协同环境                              │
│                                                                  │
│                        ┌──────────────┐                          │
│                        │  竞品发现     │                          │
│                        │  Agent       │                          │
│                        │ (搜索+筛选)  │                          │
│                        └──────┬───────┘                          │
│                               │ 发现N个竞品                      │
│                               ▼                                  │
│                        ┌──────────────┐                          │
│                        │  数据采集     │                          │
│                        │  Agent       │                          │
│                        │ (多源抓取)   │                          │
│                        └──────┬───────┘                          │
│                               │ 逐竞品采集数据                    │
│              ┌────────────────┼────────────────┐                 │
│              ▼                ▼                ▼                 │
│     ┌──────────────┐  ┌──────────────┐  ┌──────────────┐       │
│     │  产品分析     │  │  定价分析     │  │  市场分析     │       │
│     │  Agent       │  │  Agent       │  │  Agent       │       │
│     │ (功能矩阵)   │  │ (价格策略)   │  │ (份额趋势)   │       │
│     └──────┬───────┘  └──────┬───────┘  └──────┬───────┘       │
│            │                 │                 │                │
│            └────────────────┼─────────────────┘                │
│                             ▼                                   │
│                    ┌──────────────┐                             │
│                    │  策略建议     │                             │
│                    │  Agent       │                             │
│                    │ (综合+建议)  │                             │
│                    └──────────────┘                             │
│                                                                  │
│    ┌─────────────┐  ┌─────────────┐  ┌─────────────┐           │
│    │ 百度AI搜索  │  │ 千帆LLM     │  │ 本地Ollama  │           │
│    │ (信息采集)  │  │ (智能分析)  │  │ (本地推理)  │           │
│    └─────────────┘  └─────────────┘  └─────────────┘           │
└─────────────────────────────────────────────────────────────────┘

协作模式:混合(串行采集 → 并行分析 → 串行汇总)

核心理念

  • 两段式采集:先发现竞品列表,再逐竞品深度采集,避免盲目搜索
  • 三维并行分析:产品/定价/市场三个维度独立,结果JSON格式传递给策略Agent
  • 竞品矩阵表:产品分析Agent输出功能对比矩阵(✅/❌/🔶)
  • 策略Agent看到全貌:三份分析报告汇聚后一次性输入,保证策略建议的系统性

二、Agent角色定义

1. 竞品发现Agent(DiscoveryAgent)

  • 职责:根据用户产品描述,搜索并筛选出3~8个核心竞品
  • LLM调用:2次(关键词生成 + 结果筛选)
  • 外部工具:百度AI搜索
  • 输入:用户产品描述(string)
  • 输出:CompetitorList(竞品名称+简介列表)
  • 降级策略:直接使用产品描述作为搜索关键词,取搜索结果前5个

2. 数据采集Agent(CollectionAgent)

  • 职责:对每个竞品,采集产品功能、定价、用户评价、市场份额等信息
  • LLM调用:1+N次(拆解采集维度 + 逐竞品汇总)
  • 外部工具:百度AI搜索
  • 输入:CompetitorList + 用户产品描述
  • 输出:dict[str, CompetitorData](每竞品一份数据)
  • 降级策略:直接使用固定搜索模板采集

3. 产品分析Agent(ProductAgent)

  • 职责:逐竞品对比功能矩阵,标注优势/劣势/差异点
  • LLM调用:1次
  • 外部工具:无
  • 输入:全部竞品数据
  • 输出:ProductAnalysis(含功能对比矩阵)
  • 降级策略:基于关键词匹配生成简单对比

4. 定价分析Agent(PricingAgent)

  • 职责:对比各竞品定价策略、促销模式、性价比
  • LLM调用:1次
  • 外部工具:无
  • 输入:全部竞品数据
  • 输出:PricingAnalysis(含定价对比表)
  • 降级策略:提取价格数字进行简单排序

5. 市场分析Agent(MarketAgent)

  • 职责:分析市场份额、增长趋势、用户口碑、渠道策略
  • LLM调用:1次
  • 外部工具:无
  • 输入:全部竞品数据
  • 输出:MarketAnalysis
  • 降级策略:基于采集数据中的关键词统计

6. 策略建议Agent(StrategyAgent)

  • 职责:综合三维分析,输出差异化定位建议和行动方案
  • LLM调用:1次
  • 外部工具:无
  • 输入:ProductAnalysis + PricingAnalysis + MarketAnalysis
  • 输出:StrategyReport
  • 降级策略:基于SWOT模板生成简单建议

三、数据流与JSON格式

3.1 竞品发现结果(Phase 1)

{
    "product_name": "飞书",
    "product_category": "企业协同办公平台",
    "competitors": [
        {
            "name": "钉钉",
            "brief": "阿里巴巴旗下企业协同平台,市占率领先",
            "relevance": "HIGH"
        },
        {
            "name": "企业微信",
            "brief": "腾讯旗下企业通讯与协同平台",
            "relevance": "HIGH"
        }
    ],
    "search_keywords_used": ["飞书竞品", "企业协同办公平台对比"]
}

3.2 数据采集结果(Phase 2)

{
    "钉钉": {
        "name": "钉钉",
        "product_features": "即时通讯、审批流程、考勤打卡、项目管理...",
        "pricing_info": "免费版+专业版9800元/年+专属版...",
        "market_share": "超过6亿用户,1000万+企业组织",
        "user_reviews": "流程审批功能强大,但界面较复杂...",
        "strengths": "生态完善、用户基数大、阿里背书",
        "weaknesses": "体验偏重、学习成本高",
        "channels": "直销+渠道代理+阿里云生态",
        "search_sources": ["搜索结果1...", "搜索结果2..."]
    }
}

3.3 产品分析结果(Phase 3)

{
    "feature_matrix": {
        "features": ["即时通讯", "视频会议", "文档协作", "审批流程", "项目管理"],
        "matrix": {
            "飞书":  ["✅", "✅", "✅", "🔶", "✅"],
            "钉钉":  ["✅", "✅", "🔶", "✅", "✅"],
            "企业微信": ["✅", "✅", "🔶", "🔶", "❌"]
        }
    },
    "competitive_advantages": [
        {"competitor": "钉钉", "our_advantage": "文档协作体验远超", "their_advantage": "审批流程更成熟"}
    ],
    "differentiation_points": ["AI助手深度集成", "跨国协作能力"],
    "summary": "飞书在协作体验上领先,钉钉在流程管控上更强..."
}

3.4 定价分析结果(Phase 3)

{
    "pricing_comparison": [
        {
            "competitor": "飞书",
            "free_tier": "基础功能免费",
            "paid_tier": "商业版50元/人/月",
            "pricing_model": "按人头订阅"
        }
    ],
    "pricing_strategy_analysis": "整体市场从免费增值模式向订阅制转变...",
    "value_ranking": ["飞书", "钉钉", "企业微信"],
    "summary": "飞书定价中等偏上,但功能覆盖面广..."
}

3.5 市场分析结果(Phase 3)

{
    "market_share_data": [
        {"competitor": "钉钉", "share_estimate": "40%", "trend": "稳定"},
        {"competitor": "企业微信", "share_estimate": "30%", "trend": "上升"}
    ],
    "growth_trends": "整体市场年增长率约25%...",
    "user_reputation": {
        "钉钉": {"score": "7.5/10", "keywords": ["流程强", "界面重"]},
        "飞书": {"score": "8.2/10", "keywords": ["体验好", "功能新"]}
    },
    "channel_analysis": "直销为主,渠道代理为辅...",
    "summary": "钉钉市占率领先但增速放缓,飞书增速最快..."
}

3.6 策略建议报告(Phase 4)

{
    "overall_positioning": "飞书应定位为'体验优先的智能协同平台'...",
    "differentiation_strategy": {
        "core_differentiator": "AI原生协同体验",
        "supporting_points": ["智能文档", "多维表格", "AI助手"]
    },
    "action_plan": [
        {
            "priority": "P0",
            "action": "强化AI助手差异化,打造'AI原生办公'心智",
            "timeline": "Q1-Q2",
            "expected_impact": "建立技术领先认知"
        }
    ],
    "risk_assessment": "钉钉可能跟进AI功能,需保持迭代速度...",
    "summary": "基于三维分析,建议飞书走'AI原生+体验优先'差异化路线..."
}

四、各Agent核心提示词推导

4.1 竞品发现Agent提示词推导

推导思路:竞品发现是整个流程的起点,需要"两步走"策略——先生成搜索关键词,再从搜索结果中筛选竞品。一次性让LLM完成"生成关键词+搜索+筛选"容易信息过载。

推导过程

  1. 第一步:生成搜索关键词
    • 输入:用户产品描述
    • 核心指令:根据产品描述,生成3-5组竞品搜索关键词
    • 关键约束:关键词要覆盖不同维度(同类产品、替代方案、上下游产品)
    • 输出格式:关键词列表JSON
  2. 第二步:筛选核心竞品
    • 输入:搜索结果汇总
    • 核心指令:从搜索结果中识别3~8个核心竞品
    • 关键约束:去重、评估相关性、排除自身
    • 输出格式:竞品名称+简介+相关性等级

系统提示词核心要素

角色:竞品发现专家
原则:关键词多样化 / 结果去重 / 相关性评估 / 排除自身
输出:严格JSON

4.2 数据采集Agent提示词推导

推导思路:数据采集需要"1+N"策略——先生成采集维度框架,再逐竞品搜索汇总。每个竞品需要覆盖功能/定价/市场/口碑/渠道五个维度。

推导过程

  1. 第一步:生成采集维度
    • 输入:用户产品描述 + 竞品列表
    • 核心指令:定义每个竞品需要采集的具体信息维度
    • 输出:采集维度清单
  2. 第二步:逐竞品搜索+汇总
    • 对每个竞品:生成搜索查询 → 调用搜索 → LLM汇总提取
    • 输出:结构化的竞品数据

系统提示词核心要素

角色:竞品数据采集专家
采集维度:产品功能 / 定价体系 / 市场份额 / 用户评价 / 渠道策略
原则:多源交叉验证 / 数据可溯源 / 区分事实与观点
输出:每竞品一份结构化数据

4.3 产品分析Agent提示词推导

推导思路:产品分析的核心产出是"功能对比矩阵"——这是一个二维表格(竞品×功能),每个交叉点标注✅/❌/🔶。LLM需要从非结构化的采集数据中提炼出可比较的功能维度。

推导过程

  1. 功能维度提炼:从所有竞品数据中提取共同和差异化功能点
  2. 矩阵填充:逐功能逐竞品标注支持程度
  3. 优劣势标注:识别我方优势和对方优势
  4. 差异点提炼:找出独特的、不可替代的差异

系统提示词核心要素

角色:产品竞品分析专家
核心产出:功能对比矩阵(✅完整支持 / 🔶部分支持 / ❌不支持)
分析维度:功能覆盖度 / 体验深度 / 创新点 / 成熟度
原则:客观对比 / 突出差异 / 矩阵可读
输出:feature_matrix + competitive_advantages + differentiation_points

4.4 定价分析Agent提示词推导

推导思路:定价分析需要"横向对比+纵向解读"——横向比价格数字,纵向解读定价策略背后的商业逻辑(免费增值?按人头?按功能模块?)。

推导过程

  1. 价格提取:从采集数据中提取各竞品的价格信息
  2. 策略分类:识别定价模型(免费增值/纯订阅/按量付费/混合)
  3. 性价比评估:功能覆盖 vs 价格的性价比排序
  4. 趋势判断:市场整体定价趋势

系统提示词核心要素

角色:定价策略分析专家
分析维度:定价模型 / 价格梯度 / 促销模式 / 性价比 / 定价趋势
原则:数字说话 / 策略解读 / 趋势判断
输出:pricing_comparison + pricing_strategy_analysis + value_ranking

4.5 市场分析Agent提示词推导

推导思路:市场分析需要"定量+定性"结合——定量看市场份额和增长数据,定性看用户口碑和渠道策略。由于公开数据可能不完整,需要明确标注数据来源和置信度。

推导过程

  1. 份额估算:从搜索结果中提取市场份额信息
  2. 增长趋势:分析各竞品的增长态势
  3. 口碑分析:提取用户评价关键词和评分
  4. 渠道解读:分析销售渠道和合作伙伴

系统提示词核心要素

角色:市场研究分析专家
分析维度:市场份额 / 增长趋势 / 用户口碑 / 渠道策略 / 竞争格局
原则:数据溯源 / 置信度标注 / 趋势重于快照
输出:market_share_data + growth_trends + user_reputation + channel_analysis

4.6 策略建议Agent提示词推导

推导思路:策略建议是汇聚环节,需要"融会贯通"——不是简单拼接三份分析,而是从三维数据中提炼出统一的战略叙事。核心产出是差异化定位+行动方案。

推导过程

  1. 三维交叉:产品优势+定价空间+市场机会 → 差异化定位
  2. 优先级排序:按影响力和可行性排列行动方案
  3. 风险评估:基于竞品动态预判风险
  4. 行动方案:具体到时间线和预期效果

系统提示词核心要素

角色:竞争战略顾问
原则:三维融合 / 差异化优先 / 行动导向 / 风险预判
报告结构:定位→差异化→行动计划→风险评估
输出:overall_positioning + differentiation_strategy + action_plan + risk_assessment

五、技术实现方案

技术栈

  • 语言:Python 3.10+
  • Agent框架:基于原生Python + asyncio实现(零依赖,便于教学理解)
  • LLM调用:百度千帆API(ernie-x1-turbo-32k)+ 本地Ollama(qwen2.5:7b)
  • 搜索:百度AI Search(baidu_search_v2数据源)
  • 并行执行:asyncio.gather(三维分析并行阶段)
  • 数据格式:JSON(Agent间数据传递)

项目结构

competitor-analysis-mas/
├── design.md                    # 本设计文档
├── main.py                      # 主入口
├── config.py                    # 配置(LLM双后端 + 搜索参数)
├── core/
│   ├── __init__.py
│   ├── llm_client.py            # LLM调用封装(千帆 + Ollama)
│   ├── search_client.py         # 百度AI搜索客户端
│   ├── prompt_loader.py         # 提示词模板加载器
│   └── orchestrator.py          # 主控编排器(混合协作模式)
├── agents/
│   ├── __init__.py
│   ├── base_agent.py            # Agent基类
│   ├── discovery_agent.py       # 竞品发现Agent
│   ├── collection_agent.py      # 数据采集Agent
│   ├── product_agent.py         # 产品分析Agent
│   ├── pricing_agent.py         # 定价分析Agent
│   ├── market_agent.py          # 市场分析Agent
│   └── strategy_agent.py        # 策略建议Agent
├── models/
│   ├── __init__.py
│   └── domain.py                # 领域模型
├── prompts/                     # 提示词模板(.md格式,按##节分割
│   ├── discovery_agent.md
│   ├── collection_agent.md
│   ├── product_agent.md
│   ├── pricing_agent.md
│   ├── market_agent.md
│   └── strategy_agent.md
├── data/                        # 示例数据
└── output/                      # 分析报告输出目录

运行方式

# 默认:千帆LLM + 百度搜索
python3 main.py "小度学习机"

# Ollama模式
python3 main.py --ollama "小度学习机"

# 详细模式(输出中间结果)
python3 main.py --verbose "小度学习机"

# 指定竞品数量
python3 main.py --count 5 "小度学习机"

# 帮助
python3 main.py help

六、Agent间数据传递规范

DiscoveryAgent ──(CompetitorList JSON)──→ [串行]
                                             │
CollectionAgent ──(dict[str, CompetitorData])──→ [并行]
                                                   ├── ProductAgent ──(ProductAnalysis)
                                                   ├── PricingAgent ──(PricingAnalysis)
                                                   └── MarketAgent ───(MarketAnalysis)
                                                                      │
                                                      [汇聚] ──────────┘
                                                          │
                                                          ▼
                                                    StrategyAgent
                                                          │
                                                          ▼
                                                  StrategyReport

关键约束

  • Phase 1 → Phase 2:竞品列表直接传递
  • Phase 2 → Phase 3:采集数据对象直接传递(三路共享同一份数据,只读)
  • Phase 3 并行三路:输入相同,输出独立
  • Phase 3 → Phase 4:三份分析报告汇聚后一次性传给策略Agent

七、LLM调用统计

Agent调用次数调用策略降级方案
DiscoveryAgent 2次 关键词生成1次 + 结果筛选1次 直接使用产品描述搜索
CollectionAgent 1+N次 维度拆解1次 + 逐竞品汇总N次 固定模板搜索
ProductAgent 1次 全量数据1次 关键词匹配对比
PricingAgent 1次 全量数据1次 价格数字提取排序
MarketAgent 1次 全量数据1次 关键词频率统计
StrategyAgent 1次 三维分析1次 SWOT模板填充
总计 6+N次 N=竞品数

八、设计要点与决策记录

8.1 为什么采用两段式采集而非一步到位?

  • 第一步只发现竞品列表,确定分析范围,避免盲目搜索
  • 第二步针对已确定的竞品逐个深度采集,搜索关键词更精准
  • 分段后每步的LLM调用职责更单一,结果更可控

8.2 为什么三维分析并行而非串行?

  • 产品/定价/市场三个维度互不依赖,可并行执行,总耗时≈单路
  • 并行结果独立输出JSON,避免维度间耦合
  • 策略Agent一次性看到全貌,不受串行顺序影响

8.3 为什么每个Agent都有规则引擎Fallback?

  • 教学演示:即使没有LLM也能跑通完整流程
  • 生产安全:LLM故障时系统不宕机
  • 成本控制:开发测试阶段可零成本运行

8.4 竞品矩阵的符号设计

  • ✅ 完整支持:功能完善,体验良好
  • 🔶 部分支持:有此功能但不够成熟或体验一般
  • ❌ 不支持:无此功能或仅规划中


九、项目源码

通过网盘分享的文件:competitor-analysis-mas-v2.zip

链接: https://pan.baidu.com/s/1mkty8L9DXgEypO34BTzyng?pwd=jhvs 提取码: jhvs 

--来自百度网盘超级会员v4的分享