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:
// 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-Agent | Intention | Szenario |
|---|---|---|
FormViewSubAgent | form | Formularseiten |
InfoViewSubAgent | info | Informationsanzeige-Seiten |
ReportViewSubAgent | report | Berichts-/Statistikseiten |
LandingViewSubAgent | landing | Landing-/Marketingseiten |
EmailViewSubAgent | Geschäftliche E-Mails | |
GeneralViewSubAgent | general | Allgemeine Seiten |
Asynchrone Aufgaben
View-Verbesserungen werden über Symfony Messenger asynchron ausgeführt, um Anfragen nicht zu blockieren:
// 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
AiOperationLogzur Aufzeichnung der Operation aktualisieren- Aufgabenfortschritt über Mercure pushen
Echtzeit-Fortschritt
Der KI-Aufgabenfortschritt wird über Mercure-SSE gepusht, das Frontend abonniert über EventSource:
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ät | Beschreibung |
|---|---|
AiChatSession | KI-Sitzung (hält den Kontext über Anfragen hinweg) |
AiChatMessage | Sitzungsnachrichten |
AiOperationLog | KI-Operationsprotokoll |
AiViewEnhanceTask | Status 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:
# .env
DEEPSEEK_MODEL_ID=deepseek-reasoner
DEEPSEEK_REASONING_EFFORT=medium # low / medium / highIntegration 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
| Datei | Verantwortung |
|---|---|
IntentAgent.php | Intent-Erkennungs-Main-Agent |
ViewEnhanceAgentOrchestrator.php | Verbesserungs-Orchestrator |
ViewSubAgentChatRouter.php | Chat-Routing der Sub-Agents |
AbstractViewSubAgent.php | Abstrakte Basisklasse der Sub-Agents |
EnhanceViewMessage.php | Asynchrone Aufgabenmeldung |
EnhanceViewMessageHandler.php | Handler für asynchrone Aufgaben |
ViewAiTaskApiController.php | KI-Aufgaben-API |
AiViewEnhanceTask.php | Aufgabenstatus-Entität |