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 | 意圖 | 情境 |
|---|---|---|
FormViewSubAgent | form | 表單頁面 |
InfoViewSubAgent | info | 資訊展示頁面 |
ReportViewSubAgent | report | 報表/統計頁面 |
LandingViewSubAgent | landing | 落地頁/行銷頁 |
EmailViewSubAgent | 商務郵件 | |
GeneralViewSubAgent | general | 通用頁面 |
非同步任務
視圖增強透過 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);
// 更新任务进度
};實體模型
| 實體 | 說明 |
|---|---|
AiChatSession | AI 工作階段(跨請求保持上下文) |
AiChatMessage | 工作階段訊息 |
AiOperationLog | AI 操作日誌 |
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.php | AI 任務 API |
AiViewEnhanceTask.php | 任務狀態實體 |