# 📋 FortiAI Agent — 产品总监方案

**角色:** 产品总监 · **日期:** 2026-04-27 · **前提:** FortiAI 运行在 FortiManager 内部，通过内置 MCP Server 获取数据

---

## 1. 用户旅程分析 — NOC 工程师的一天

### 角色定义

| 角色 | 技能水平 | 痛点 |
|------|---------|------|
| **初级 NOC 工程师** | 1-2 年 | 不熟悉 CLI 命令，需要频繁查文档，对策略逻辑理解不深 |
| **高级安全分析师** | 5+ 年 | FGT / FMG 精通，但任务量太大，重复性工作多 |
| **安全运维经理** | 8+ 年 | 关注全局安全态势，需要快速做决策，少有时间钻细节 |

### 8 个 AI 插入点

| # | 场景 | 频次 | 当前痛点 | AI 价值 |
|---|------|------|---------|---------|
| #1 | 晨间态势摘要 | 每日 1 次 | 多个页面手动翻查 | 一句话搞定 |
| #2 | 事件关联查询 | 每日 3-5 次 | 多个页面和 CLI 跳转 | 跨系统关联 |
| #3 | 事件报告生成 | 每日 1-2 次 | 手动写报告 | 自动生成 |
| #4 | 策略审计 | 每周 2-3 次 | 逐个查策略/对象 | 批量智能分析 |
| #5 | 策略变更 | 每日 1-3 次 | 手动创建配置 | 自然语言 → 配置 |
| #6 | 故障根因分析 | 每日 2-4 次 | 多跳转查问题 | 一句话根因 |
| #7 | 报表生成 | 每周 1-2 次 | 手动汇总 | 自动生成 |
| #8 | 移动快速查询 | 按需 | 手机操作不便 | 文本对话即可 |

---

## 2. 功能优先级矩阵

```
                    用户价值
                    高 ←──────────→ 低
                ┌───────────────────────┐
             高 │  Major Projects       │  Money Pits
                │  (Phase 2 优先)       │  (跳过/重评估)
   实现难度      │  ① 跨设备事件关联     │  ① 全自动合规评分
                │  ② 根因分析建议       │  ② 自动化策略优化(写操作)
                │  ③ 自然语言策略变更   │
                ├───────────────────────┤
             低 │  Quick Wins           │  Fill-ins
                │  (Phase 1 优先)       │  (见缝插针)
                │  ① 告警自然语言摘要   │  ① 设备文档问答
                │  ② 策略/对象查询       │  ② CLI 命令翻译
                │  ③ 配置状态检查       │  ③ 固件版本查询
                │  ④ 日志快速过滤       │
                │  ⑤ 设备信息问答       │
                └───────────────────────┘
```

### Quick Wins（Phase 1 优先）

| 功能 | 描述 | 数据源 |
|------|------|--------|
| Q1: 告警自然语言摘要 | "总结过去 24 小时所有高危告警" | FMG Event Log |
| Q2: 策略/对象查询 | "10.1.1.50 的允许策略有哪些" | FMG Policy/Obj DB |
| Q3: 配置状态检查 | "所有 FGT 同步状态如何" | FMG Device Status |
| Q4: 日志快速过滤 | "过去 1 小时 10.1.1.100 的所有拒绝流量" | FMG Traffic Log |
| Q5: 设备信息问答 | "分支 A 的 FGT 型号和固件版本" | FMG Device Inventory |

### Major Projects（Phase 2 攻坚）

| 功能 | 描述 | 难度点 |
|------|------|--------|
| M1: 跨设备事件关联 | "IP 10.1.1.50 在内部网络中做了什么" | 多数据源关联 |
| M2: 故障根因分析 | "为什么 10.1.1.100 访问不了 1.2.3.4" | 策略+路由+NAT+日志组合 |
| M3: 自然语言策略变更 | "添加策略允许..." | 写操作，需用户确认 + wizard |
| M4: 策略优化建议 (只读) | "找出冗余策略、零命中策略" | 聚合统计 + 逻辑分析 |

---

## 3. 分阶段路线图

### Phase 1 — "Starter"（MVP，3-4 个月）

**目标:** 证明 FortiAI 基本可用，让 NOC 工程师愿意每天使用。建立信任。

```
Phase 1: FortiAI Starter
────────────────────────
只读模式（Read-Only）— 安全感拉满

📋 信息查询
├─ "查策略 xxx" — 自然语言定位任何策略对象
├─ "查设备 xxx" — 设备信息、状态、版本一次完成
├─ "查对象 xxx" — Address / Service / Group
└─ "查 ADOM xxx" — ADOM 级别信息

📊 态势简报
├─ "总结过去 N 小时的告警" — 聚合摘要
├─ "所有 FGT 同步状态" — 健康检查
└─ "最新 N 条日志中 xxxIP 的情况" — 日志快速定位

🔗 基础关联
└─ "这个策略引用哪些对象" — 单步引用链

📝 输出格式化
├─ 结果展示在聊天界面（表格/列表）
└─ 支持"生成摘要报告"下载
```

**关键交付物:**
- MCP Server（内置 FMG）
- 侧边栏 Chat 界面
- 5 个核心 Skill：告警摘要、策略查询、设备状态、日志过滤、对象查询

**成功标准:**
- 用户主动使用率 > 30%
- 单次查询 < 5 秒
- 用户满意度 > 3.5/5

---

### Phase 2 — "Intelligence"（3-4 个月）

**目标:** 从"问答工具"进化为"排查助手"

```
Phase 2: FortiAI Intelligence
─────────────────────────────

🧠 高级分析（只读）
├─ "为什么 10.1.1.100 连不上 1.2.3.4:443"
│  流程: 查策略 → NAT → 路由 → 日志 → 根因
├─ "这个告警的详细信息" — 关联日志+策略+对象
└─ "帮我找出冗余/零命中策略"

✍️ 受控写操作（需显式授权）
├─ "创建 address 对象 web-server 10.1.1.50/32"
│  流程: AI 生成配置 → 用户预览确认 → 执行
├─ "添加策略允许..." → 影响分析预览 → 确认
└─ 所有写操作进入 audit trail

🔄 主动推送
├─ 定期态势报告 ("每周一 08:00 生成上周安全报告")
└─ 重要告警主动通知

📱 移动端适配
└─ FMG 移动版中的 AI 查询
```

**成功标准:**
- MTTR 降低 40%+
- 写操作接受率 > 60%
- DAU 对比 Phase 1 提升 50%+

---

### Phase 3 — "Proactive"（6 个月，方向性规划）

- 异常行为模式主动分析
- 安全态势预测
- 与 SOAR / 工单系统集成
- 多语言支持（日韩等 APAC 地区语言）
- 语音交互

---

## 4. UX 设计原则

### 核心方案：侧边栏滑出式 Chat + 上下文感知

不破坏现有 FMG 工作流 — NOC 工程师已经熟悉 FMG UI 布局

### 5 种触发方式

| 方式 | 场景 |
|------|------|
| ① 浮动按钮 | 右下角 AI 图标，默认入口 |
| ② 右键菜单 | 策略/日志/对象上右键 → "问 FortiAI" |
| ③ 搜索栏集成 | FMG 全局搜索栏中增加 AI 查询 |
| ④ 快捷键 | Ctrl + Shift + F |
| ⑤ 命令面板 | Ctrl + K |

### 上下文感知（最重要设计原则）

**FortiAI 应该知道用户当前在做什么。**

用户在策略页面时，Chat 自动知道当前 ADOM 和选中的策略。输入"这条策略引用了哪些对象" → AI 理解"这条" = 当前选中的策略。

### ADK Skill Design Patterns 应用

```
FortiAI Skill Architecture
├── Tool Wrapper — 封装 FMG JSON API 为自然语言可调用的 Skill
├── Generator — 告警摘要、报告等固定结构输出
├── Reviewer — 策略审计：冗余、宽松、合规检查
├── Pipeline — 多步排查："为什么连不上" → 策略→NAT→路由→日志→结论
└── Progressive Disclosure
    ├── L1: Skill 列表（用户看到的功能卡片）
    ├── L2: 完整 Skill 指令（用户点击才加载）
    └── L3: 参考文件（具体 API 路径、字段说明）
```

### 结果展示原则

| 数据类型 | 展示方式 | 示例 |
|----------|---------|------|
| 单一对象 | 信息卡片 | "地址对象 web-server: 10.1.1.50/32" |
| 列表/表格 | 内联表格（可排序、可筛选） | "匹配的 5 条策略如下..." |
| 日志摘要 | 自然语言摘要 + 关键条目列表 | "过去 1 小时有 342 条拒绝，主要来自 3 个 IP..." |
| 分析报告 | 结构化 Markdown + 下载按钮 | 生成的事件排查报告 |
| 错误 | 清晰解释 + 建议 | "没有找到匹配的策略，建议检查..." |

---

## 5. 成功指标体系

### 北极星指标

### 北极星指标

**NOC 工程师平均事件排查时间 (MTTR) 降低**

### 效率指标

| 指标 | Phase 1 目标 | Phase 2 目标 |
|------|-------------|-------------|
| MTTR | 降低 20% | 降低 40% |
| 操作步数 | 5 步 → 1 步 | 1 步保持 |
| 报告生成时间 | 降低 50% | 降低 70% |

### 采用指标

| 指标 | Phase 1 目标 |
|------|-------------|
| DAU / MAU 比率 | > 20% |
| 周活跃占比 | > 50% |
| 人均日查询 | > 3 次 |
| 查询成功率 | > 80% |
| 7 天留存 | > 40% |

### 运营指标

| 指标 | 目标 |
|------|------|
| 查询响应 P95 | < 5 秒 |
| 系统可用性 | > 99.5% |
| MCP Server 错误率 | < 1% |
| AI 误报率 | < 5% |

### 反指标（需要警惕）

- ❌ 查询量高但都是简单查询 → 没用到高级功能
- ❌ 写操作确认率低 → 用户不信任 AI
- ❌ NPS 高分但 DAU 低 → 功能好但没融入日常流程

---

## 附录: 竞品对比

| 产品 | 类似能力 | 差异点 |
|------|---------|--------|
| Cisco AI Defense | 安全策略智能推荐 | 集成在 Cisco Security Cloud，生态封闭 |
| Palo Alto XSIAM + AI | 事件关联分析 | 云端产品，更侧重 SOC 全线覆盖 |
| FortiAI 独立版 | 通用安全 AI 助手 | 无 FMG 深度集成，需单独部署 |
| **本方案: FortiAI on FMG** | **FMG 原生深度集成** | **零部署，开箱即用，成本最低** |
