「AI Agent 全栈开发 50 讲」——从本地模型部署到多智能体系统,一年省 87 万 第 40 课 | 实战:4 Agent 协作完成「市场进入决策分析」
·
第 40 课 | 实战:4 Agent 协作完成「市场进入决策分析」
端到端实战——整合第 31-39 课所有技术,4 个 Agent 协作完成一份完整的商业决策报告。从「我们会做」到「我们做完了一件事」。
一、业务目标
输入:一个商业问题——「我们是否应该进入智能手表市场?」
系统自动完成:
- 市场研究 Agent:分析市场规模、增长率、用户画像、趋势
- 竞品分析 Agent:分析竞品矩阵、市场份额、差异化机会
- 风险评估 Agent:识别风险因素、评估概率、设计缓解策略
- 报告整合 Agent:汇总所有分析,生成结构化决策建议报告
输出:一份完整的决策建议报告,包含:
- 执行摘要(Executive Summary)
- 市场分析(市场规模、增长趋势、用户画像)
- 竞品格局(主要玩家、市场份额、优劣势)
- 风险评估(风险矩阵、概率、缓解策略)
- 战略建议(进入策略、资源需求、时间线)
二、系统架构
三、Agent 角色定义
3.1 市场研究 Agent
MARKET_RESEARCHER_PROMPT = """你是一个资深市场研究分析师,拥有 15 年行业经验。
你的任务:
1. 搜索和分析目标市场的规模数据
2. 识别市场增长趋势和驱动因素
3. 分析目标用户画像和需求
4. 评估市场成熟度和进入时机
输出格式:
## 市场分析
- 市场规模:当前规模和预测增长率
- 增长趋势:关键驱动因素和趋势
- 用户画像:目标用户特征和需求
- 进入时机:市场成熟度评估
关键原则:
- 每个结论必须有数据支撑
- 区分「事实」和「推测」
- 引用来源时注明出处
"""
3.2 竞品分析 Agent
COMPETITOR_ANALYST_PROMPT = """你是一个竞品分析专家,擅长分析竞争格局。
你的任务:
1. 识别主要竞争对手及其市场份额
2. 分析每个竞品的优势和劣势
3. 发现差异化机会和空白市场
4. 评估竞争壁垒
输出格式:
## 竞品分析
- 竞品矩阵:列出主要玩家及其定位
- SWOT 对比:每个竞品的优劣势
- 差异化机会:未被满足的需求
- 竞争壁垒:进入难度评估
关键原则:
- 客观分析,不贬低竞品
- 关注用户真实需求,而非表面功能
- 识别竞品的「软肋」而非全面否定
"""
3.3 风险评估 Agent
RISK_ASSESSOR_PROMPT = """你是一个风险管理专家,擅长识别和评估商业风险。
你的任务:
1. 识别所有可能的风险因素
2. 评估每个风险的概率和影响
3. 构建风险矩阵
4. 设计缓解策略
输出格式:
## 风险评估
- 风险列表:每个风险的描述
- 概率/影响:用高/中/低标注
- 风险矩阵:按优先级排列
- 缓解策略:针对高风险的具体措施
风险类别:
- 市场风险:需求不足、竞争加剧
- 技术风险:技术壁垒、供应链
- 法规风险:合规要求、专利
- 执行风险:团队能力、资源不足
"""
3.4 报告整合 Agent
REPORT_WRITER_PROMPT = """你是一个战略咨询顾问,擅长将分析整合为决策建议。
你的任务:
1. 汇总三个 Agent 的分析结果
2. 交叉验证信息的一致性
3. 生成结构化的决策报告
4. 给出明确的战略建议
输出格式:
## 执行摘要
(200 字以内,最核心的发现和建议)
## 市场分析
(整合市场研究 Agent 的结果)
## 竞品格局
(整合竞品分析 Agent 的结果)
## 风险评估
(整合风险评估 Agent 的结果)
## 战略建议
- 推荐方案:进入/不进入/观望
- 如果进入:建议的进入策略
- 资源需求:人才、资金、时间
- 关键里程碑:6 个月、1 年、3 年目标
"""
四、Supervisor 编排
class MarketEntrySupervisor:
"""市场进入决策 Supervisor"""
def __init__(self):
self.market_agent = Agent("市场研究员", MARKET_RESEARCHER_PROMPT)
self.competitor_agent = Agent("竞品分析师", COMPETITOR_ANALYST_PROMPT)
self.risk_agent = Agent("风险评估师", RISK_ASSESSOR_PROMPT)
self.report_agent = Agent("报告撰写师", REPORT_WRITER_PROMPT)
def analyze(self, question: str) -> dict:
"""执行完整的决策分析"""
results = {}
print("=" * 60)
print(f" 任务:{question}")
print("=" * 60)
# Phase 1: 并行执行三个分析 Agent
print("\n[Phase 1] 并行执行市场研究、竞品分析、风险评估...")
results["market"] = self.market_agent.run(question)
print(" ✓ 市场研究完成")
results["competitor"] = self.competitor_agent.run(question)
print(" ✓ 竞品分析完成")
results["risk"] = self.risk_agent.run(question)
print(" ✓ 风险评估完成")
# Phase 2: 质量检查
print("\n[Phase 2] 质量检查...")
for name, result in results.items():
if not self._validate_output(result):
print(f" ⚠ {name} 输出不完整,重新生成...")
results[name] = getattr(self, f"{name}_agent").run(question)
# Phase 3: 报告整合
print("\n[Phase 3] 报告整合...")
context = self._merge_results(results)
final_report = self.report_agent.run(
f"请整合以下分析结果,生成决策报告:\n\n{context}"
)
print(" ✓ 报告生成完成")
print("\n" + "=" * 60)
print(" 分析完成!")
print("=" * 60)
return {
"question": question,
"market_analysis": results["market"],
"competitor_analysis": results["competitor"],
"risk_assessment": results["risk"],
"final_report": final_report,
}
def _validate_output(self, output: str) -> bool:
"""验证输出完整性"""
required_sections = ["## ", "分析", "建议"]
return all(section in output for section in required_sections[:2])
def _merge_results(self, results: dict) -> str:
"""合并三个 Agent 的结果"""
return "\n\n---\n\n".join([
f"### 市场研究结果\n{results['market']}",
f"### 竞品分析结果\n{results['competitor']}",
f"### 风险评估结果\n{results['risk']}",
])
五、关键设计决策
| 设计点 | 决策 | 原因 |
|---|---|---|
| 分析阶段并行 | 三个 Agent 同时执行 | 无依赖关系,可并行加速 |
| 质量检查 | 每阶段完成后检查 | 防止错误传递到下游 |
| 报告整合串行 | 等待所有分析完成后 | 需要完整上下文 |
| 结构化输出 | 统一 Markdown 格式 | 便于解析和展示 |
| 可追溯 | 每个 Agent 输出独立保存 | 便于审计和调试 |
六、运行
cd code/lesson-40-market-entry
uv sync
uv run market_entry.py
输出包含:市场研究分析、竞品分析报告、风险评估矩阵、完整决策建议报告。
七、本课小结
- 第一个端到端多 Agent 实战——4 Agent 协作,从问题到报告全自动
- 关键设计:并行分析 → 质量检查 → 报告整合
- 每个 Agent 有专业化 Prompt,输出结构化结果
- 质量检查防止错误传递,是生产级系统的关键
配套代码:code/lesson-40-market-entry/market_entry.py
更多推荐

所有评论(0)