Skip to content

KI-View-Verbesserung

Doggy bietet ein KI-gesteuertes View-Verbesserungssystem, das über einen Intent-Erkennungs-Main-Agent + 6 Szenario-Sub-Agents natürliche Sprachbedürfnisse automatisch klassifiziert und an den passenden Sub-Agent zur View-Generierung weiterleitet, mit Unterstützung für asynchrone Aufgabenausführung und Echtzeit-Fortschritts-Push.

Übersicht

Das KI-View-Verbesserungssystem befindet sich unter src/Service/AI/Orchestrator/ und basiert auf der LlmRole/LlmProvider-Architektur:

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

Architektur

Intent-Erkennungs-Main-Agent

IntentAgent bestimmt über die LLM den Intentionstyp der Benutzeranforderung und leitet an den entsprechenden Sub-Agent weiter:

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

Szenario-Sub-Agents

Jeder Sub-Agent erbt von AbstractViewSubAgent und implementiert ViewSubAgentInterface:

Sub-AgentIntentionSzenario
FormViewSubAgentformFormularseiten
InfoViewSubAgentinfoInformationsanzeige-Seiten
ReportViewSubAgentreportBerichts-/Statistikseiten
LandingViewSubAgentlandingLanding-/Marketingseiten
EmailViewSubAgentemailGeschäftliche E-Mails
GeneralViewSubAgentgeneralAllgemeine Seiten

Asynchrone Aufgaben

View-Verbesserungen werden über Symfony Messenger asynchron ausgeführt, um Anfragen nicht zu blockieren:

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

Nach der Verarbeitung durch EnhanceViewMessageHandler:

  • AiViewEnhanceTask-Datensatz mit Aufgabenstatus erstellen
  • Sub-Agent zur View-Generierung aufrufen
  • AiOperationLog zur Aufzeichnung der Operation aktualisieren
  • Aufgabenfortschritt über Mercure pushen

Echtzeit-Fortschritt

Der KI-Aufgabenfortschritt wird über Mercure-SSE gepusht, das Frontend abonniert über 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);
    // 更新任务进度
};

Entitätsmodell

EntitätBeschreibung
AiChatSessionKI-Sitzung (hält den Kontext über Anfragen hinweg)
AiChatMessageSitzungsnachrichten
AiOperationLogKI-Operationsprotokoll
AiViewEnhanceTaskStatus der View-Verbesserungsaufgabe

Aufrufablauf

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

LLM-Konfiguration

Unterstützt den Tiefen-Think-Modus und die Anpassung der Reasoning-Stärke bei DeepSeek-Modellen:

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

Integration in den View-Editor

Die KI-Verbesserungskomponente ist in die View-Erstellungsseite integriert (_ai_enhance_component.html.twig):

  • KI-gestützte Bearbeitung beim Erstellen von Views
  • Verbesserungsaktionen auf der View-Detailseite (view_detail.html.twig)
  • Bestätigungsdialog beim Löschen von Views

Zugehörige Dateien

DateiVerantwortung
IntentAgent.phpIntent-Erkennungs-Main-Agent
ViewEnhanceAgentOrchestrator.phpVerbesserungs-Orchestrator
ViewSubAgentChatRouter.phpChat-Routing der Sub-Agents
AbstractViewSubAgent.phpAbstrakte Basisklasse der Sub-Agents
EnhanceViewMessage.phpAsynchrone Aufgabenmeldung
EnhanceViewMessageHandler.phpHandler für asynchrone Aufgaben
ViewAiTaskApiController.phpKI-Aufgaben-API
AiViewEnhanceTask.phpAufgabenstatus-Entität

Open Source unter MIT | Copyright © 2026 Doggy