Skip to content

AI 視圖增強

Doggy 提供 AI 驅動的視圖增強系統,透過意圖辨識主 Agent + 6 個情境子 Agent,將自然語言需求自動分類並路由到對應的子 Agent 產生視圖,支援非同步任務執行和即時進度推播。

概述

AI 視圖增強系統位於 src/Service/AI/Orchestrator/,基於 LlmRole/LlmProvider 體系建置:

用户需求 (自然语言)
  → IntentAgent (意图识别主 Agent)
    → FormViewSubAgent   表单视图
    → InfoViewSubAgent   信息展示视图
    → ReportViewSubAgent 报表视图
    → LandingViewSubAgent 落地页视图
    → EmailViewSubAgent  商务邮件视图
    → GeneralViewSubAgent 通用视图

架構

意圖辨識主 Agent

IntentAgent 透過 LLM 判斷使用者需求的意圖類型,並路由到對應的子 Agent:

php
// src/Service/AI/Orchestrator/IntentAgent.php
class IntentAgent
{
    public function classify(string $userMessage): string
    {
        // 返回意图类型: form / info / report / landing / email / general
    }
}

情境子 Agent

每個子 Agent 繼承 AbstractViewSubAgent,實作 ViewSubAgentInterface

子 Agent意圖情境
FormViewSubAgentform表單頁面
InfoViewSubAgentinfo資訊展示頁面
ReportViewSubAgentreport報表/統計頁面
LandingViewSubAgentlanding落地頁/行銷頁
EmailViewSubAgentemail商務郵件
GeneralViewSubAgentgeneral通用頁面

非同步任務

視圖增強透過 Symfony Messenger 非同步執行,避免阻塞請求:

php
// src/Message/EnhanceViewMessage.php
class EnhanceViewMessage
{
    public function __construct(
        public readonly string $viewId,
        public readonly string $prompt,
    ) {}
}

EnhanceViewMessageHandler 處理後:

  • 建立 AiViewEnhanceTask 記錄任務狀態
  • 呼叫子 Agent 產生視圖
  • 更新 AiOperationLog 記錄操作
  • 透過 Mercure 推播任務進度

即時進度

基於 Mercure SSE 推播 AI 任務進度,前端透過 EventSource 訂閱:

javascript
const url = new URL('/.well-known/mercure', window.location.origin);
url.searchParams.append('topic', `/user/${userId}/ai-task`);
const eventSource = new EventSource(url);
eventSource.onmessage = (event) => {
    const data = JSON.parse(event.data);
    // 更新任务进度
};

實體模型

實體說明
AiChatSessionAI 工作階段(跨請求保持上下文)
AiChatMessage工作階段訊息
AiOperationLogAI 操作日誌
AiViewEnhanceTask視圖增強任務狀態

呼叫流程

用户创建/编辑视图
  → 输入自然语言需求
  → POST /api/admin/platform/view-ai-task
  → IntentAgent 分类意图
  → 路由到子 Agent
  → 异步执行 (EnhanceViewMessage)
  → 生成视图文件
  → Mercure 推送进度

LLM 設定

支援 DeepSeek 模型的深度思考模式和推理強度調整:

bash
# .env
DEEPSEEK_MODEL_ID=deepseek-reasoner
DEEPSEEK_REASONING_EFFORT=medium  # low / medium / high

視圖編輯器整合

AI 增強元件已整合至視圖建立頁面(_ai_enhance_component.html.twig):

  • 視圖建立時的 AI 輔助編輯
  • 視圖詳情頁的增強操作(view_detail.html.twig
  • 視圖刪除確認對話方塊

相關檔案

檔案職責
IntentAgent.php意圖辨識主 Agent
ViewEnhanceAgentOrchestrator.php增強編排器
ViewSubAgentChatRouter.php子 Agent 對話路由
AbstractViewSubAgent.php子 Agent 抽象基底類別
EnhanceViewMessage.php非同步任務訊息
EnhanceViewMessageHandler.php非同步任務處理器
ViewAiTaskApiController.phpAI 任務 API
AiViewEnhanceTask.php任務狀態實體

基於 MIT 協議開源 | Copyright © 2026 Doggy