revert prompt
This commit is contained in:
		
							parent
							
								
									20b3bd44ca
								
							
						
					
					
						commit
						d5a6fe7dec
					
				@ -5,7 +5,7 @@ export const AI_PROMPTS = {
 | 
			
		||||
  toolSelection: (mode: string, userQuery: string, selectionMethod: string, maxSelectedItems: number) => {
 | 
			
		||||
    const modeInstruction = mode === 'workflow' 
 | 
			
		||||
      ? 'Der Benutzer möchte einen UMFASSENDEN WORKFLOW über mehrere Phasen. Wählen Sie 15–25 Elemente, die den Zyklus Datensammlung → Auswertung → Analyse → Bericht abdecken.'
 | 
			
		||||
      : 'Der Benutzer möchte SPEZIFISCHE LÖSUNGEN. Wählen Sie 4–10 Elemente, die das Problem direkt adressieren. Beschreibungen dürfen hier ausführlicher ausfallen, um technische Tiefe zu vermitteln.';
 | 
			
		||||
      : 'Der Benutzer möchte SPEZIFISCHE LÖSUNGEN. Wählen Sie 4–10 Elemente, die das Problem direkt adressieren.';
 | 
			
		||||
 | 
			
		||||
    return `Sie sind DFIR-Experte mit Zugriff auf eine vollständige Datenbank aus Methoden (type: "method") und Tools (type: "software"/"os"). Ihre Aufgabe ist es, die relevantesten Elemente für die Anfrage auszuwählen.
 | 
			
		||||
 | 
			
		||||
@ -36,8 +36,7 @@ KRITISCHE AUSWAHLPRINZIPIEN:
 | 
			
		||||
4) LESEN SIE DIE VOLLBESCHREIBUNG UND METADATEN (Tags, Plattformen, Phasen, Lizenz, Access).
 | 
			
		||||
 | 
			
		||||
UI-KÜRZE:
 | 
			
		||||
- Workflow-Modus: kurze, prägnante Beschreibungen.
 | 
			
		||||
- Spezifischer Modus: Beschreibungen dürfen deutlich länger sein (mehr technische Details, bis zu 200–300 Zeichen in Kurzfassung).
 | 
			
		||||
- Denken Sie mit: Für das UI sind kurze, prägnante Beschreibungen nötig. Bevorzugen Sie Elemente, die sich knapp zusammenfassen lassen. Formulieren Sie Begründungen fokussiert und ohne Floskeln.
 | 
			
		||||
 | 
			
		||||
Wählen Sie die relevantesten Elemente (max ${maxSelectedItems} gesamt).
 | 
			
		||||
 | 
			
		||||
@ -60,14 +59,14 @@ ANTWORTFORMAT (JSON, SCHEMA UNVERÄNDERT):
 | 
			
		||||
- Verfügbare Datenquellen und Integrität
 | 
			
		||||
- Anforderungen für rechtssichere Auswertung`;
 | 
			
		||||
 | 
			
		||||
    return `Analysieren Sie das ${analysisType} ${isWorkflow ? 'kompakt (max. 120 Wörter)' : 'ausführlicher (max. 160 Wörter)'}.
 | 
			
		||||
    return `Analysieren Sie das ${analysisType} prägnant in einem kurzen Fließtext (max. 220 Wörter).
 | 
			
		||||
 | 
			
		||||
${isWorkflow ? 'SZENARIO' : 'PROBLEM'}: "${userQuery}"
 | 
			
		||||
 | 
			
		||||
Berücksichtigen:
 | 
			
		||||
${considerations}
 | 
			
		||||
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown; klare, präzise Formulierungen, im spezifischen Modus mit mehr technischen Details.`;
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown; klare, knappe Formulierungen, aber nicht telegrafisch (vollständige Sätze).`;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  investigationApproach: (isWorkflow: boolean, userQuery: string) => {
 | 
			
		||||
@ -82,14 +81,14 @@ Stil: Deutsch, ohne Listen/Markdown; klare, präzise Formulierungen, im spezifis
 | 
			
		||||
- Integration in bestehende DFIR-Workflows
 | 
			
		||||
- Reproduzierbarkeit und Transparenz`;
 | 
			
		||||
 | 
			
		||||
    return `Formulieren Sie einen ${isWorkflow ? 'kompakten' : 'ausführlicheren'} ${approachType} (${isWorkflow ? 'max. 120 Wörter' : 'max. 160 Wörter'}), der explizit eine Mischung aus Methoden und Tools vorsieht.
 | 
			
		||||
    return `Formulieren Sie einen knappen ${approachType} (max. 220 Wörter), der explizit eine Mischung aus Methoden und Tools vorsieht.
 | 
			
		||||
 | 
			
		||||
${isWorkflow ? 'SZENARIO' : 'PROBLEM'}: "${userQuery}"
 | 
			
		||||
 | 
			
		||||
Berücksichtigen:
 | 
			
		||||
${considerations}
 | 
			
		||||
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown, UI-tauglich.${isWorkflow ? '' : ' Mehr technische Tiefe und Kontext erwünscht.'}`;
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown, UI-tauglich und fokussiert.`;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  criticalConsiderations: (isWorkflow: boolean, userQuery: string) => {
 | 
			
		||||
@ -102,21 +101,21 @@ Stil: Deutsch, ohne Listen/Markdown, UI-tauglich.${isWorkflow ? '' : ' Mehr tech
 | 
			
		||||
- Risiken für False Positives/Negatives
 | 
			
		||||
- Qualifikationsanforderungen und Reporting-Standards`;
 | 
			
		||||
 | 
			
		||||
    return `Identifizieren Sie ${considerationType} ${isWorkflow ? 'knapp (max. 120 Wörter)' : 'ausführlicher (max. 160 Wörter)'}.
 | 
			
		||||
    return `Identifizieren Sie ${considerationType} in einem kurzen Fließtext (max. 220 Wörter) und achten Sie auf UI-Kürze.
 | 
			
		||||
 | 
			
		||||
${isWorkflow ? 'SZENARIO' : 'PROBLEM'}: "${userQuery}"
 | 
			
		||||
 | 
			
		||||
Aspekte:
 | 
			
		||||
${aspects}
 | 
			
		||||
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown.${isWorkflow ? '' : ' Etwas mehr technische Details zulassen.'}`;
 | 
			
		||||
Stil: Deutsch, ohne Listen/Markdown.`;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  phaseToolSelection: (userQuery: string, phase: any, phaseTools: any[]) => {
 | 
			
		||||
    // In der Liste bewusst kurze Ausschnitte und klare Typ-Bezeichnung (Methode/Tool).
 | 
			
		||||
    const items = phaseTools.map((tool: any, index: number) => {
 | 
			
		||||
      const typ = tool.type === 'method' ? 'Methode' : 'Tool';
 | 
			
		||||
      const descLimit = 220;
 | 
			
		||||
      const desc = (tool.description || '').replace(/\s+/g, ' ').trim().slice(0, descLimit);
 | 
			
		||||
      const desc = (tool.description || '').replace(/\s+/g, ' ').trim().slice(0, 320);
 | 
			
		||||
      return `${index + 1}. [${typ}] ${tool.name}: ${desc}…\n  - Plattformen: ${tool.platforms?.join(', ') || 'N/A'}\n  - Skill Level: ${tool.skillLevel}\n  - Tags: ${tool.tags?.join(', ') || 'N/A'}`;
 | 
			
		||||
    }).join('\n\n');
 | 
			
		||||
 | 
			
		||||
@ -134,8 +133,7 @@ BEWERTUNGSKRITERIEN:
 | 
			
		||||
- Praktikabilität (Zeit, Setup, Reproduzierbarkeit)
 | 
			
		||||
 | 
			
		||||
UI-KÜRZE:
 | 
			
		||||
- Workflow-Modus: 1–3‑Satz Kurzfassung (≈200–260 Zeichen) + 1–2 kurze Details.
 | 
			
		||||
- Spezifischer Modus: Kurzfassung darf länger sein (≈250–320 Zeichen) + 2–3 detailreichere Sätze.
 | 
			
		||||
- Beginnen Sie in "justification" mit einer 2–4-Satz Kurzfassung (≈300–360 Zeichen), danach 2–3 kurze, präzise Sätze mit Details.
 | 
			
		||||
- Bezeichnen Sie Elemente als "Methode" oder "Tool".
 | 
			
		||||
 | 
			
		||||
ANTWORT NUR ALS JSON (Schema UNVERÄNDERT):
 | 
			
		||||
@ -143,7 +141,7 @@ ANTWORT NUR ALS JSON (Schema UNVERÄNDERT):
 | 
			
		||||
  {
 | 
			
		||||
    "toolName": "Exakter Methoden/Tool-Name",
 | 
			
		||||
    "taskRelevance": 0–100,
 | 
			
		||||
    "justification": "Kurzfassung zuerst (Workflow: ≈200–260 Zeichen, Spezifisch: ≈250–320 Zeichen). Danach Begründung mit Vergleich und technischen Details.",
 | 
			
		||||
    "justification": "Kurzfassung zuerst (≈300–360 Zeichen). Danach knappe, vergleichende Begründung, warum dieses Element in dieser Phase besser geeignet ist.",
 | 
			
		||||
    "limitations": ["Konkrete Einschränkung 1", "Einschränkung 2"]
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@ -161,7 +159,7 @@ BESCHREIBUNG: ${(tool.description || '').replace(/\s+/g, ' ').trim()}
 | 
			
		||||
 | 
			
		||||
ANTWORT AUSSCHLIESSLICH ALS JSON (Schema UNVERÄNDERT):
 | 
			
		||||
{
 | 
			
		||||
  "detailed_explanation": "Beginnen Sie mit einer Kurzfassung (Workflow: ≈200–260 Zeichen, Spezifisch: ≈250–320 Zeichen) für das UI: 'Kurz: …'. Danach (Workflow: ≈80–140 Wörter, Spezifisch: ≈120–180 Wörter) mit präziser, technisch korrekter Erläuterung, warum und wie diese ${typ.toLowerCase()} für dieses Problem eingesetzt wird.",
 | 
			
		||||
  "detailed_explanation": "Beginnen Sie mit einer prägnanten Kurzfassung (≈300–360 Zeichen) für das UI: 'Kurz: …'. Danach eine verdichtete Hauptpassage (≈80–140 Wörter) mit präziser, technisch korrekter Erläuterung, warum und wie diese ${typ.toLowerCase()} für dieses Problem eingesetzt wird.",
 | 
			
		||||
  "implementation_approach": "Konkrete, reproduzierbare Schrittfolge. Kurze Schritte, kein Ausschweifen.",
 | 
			
		||||
  "pros": ["Spezifischer Vorteil 1", "Vorteil 2"],
 | 
			
		||||
  "limitations": ["Konkrete Einschränkung 1", "Einschränkung 2"],
 | 
			
		||||
@ -170,7 +168,8 @@ ANTWORT AUSSCHLIESSLICH ALS JSON (Schema UNVERÄNDERT):
 | 
			
		||||
 | 
			
		||||
WICHTIG:
 | 
			
		||||
- Keine erneute Bewertung – nur Erklärung/Anwendung.
 | 
			
		||||
- Behalten Sie die korrekte Bezeichnung (Methode/Tool) bei.`;
 | 
			
		||||
- Behalten Sie die korrekte Bezeichnung (Methode/Tool) bei.
 | 
			
		||||
- UI-Kürze: Kurzfassung am Anfang der detailed_explanation.`;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  backgroundKnowledgeSelection: (userQuery: string, mode: string, selectedToolNames: string[], availableConcepts: any[]) => {
 | 
			
		||||
@ -194,7 +193,7 @@ ANTWORT NUR ALS JSON (Schema UNVERÄNDERT):
 | 
			
		||||
 | 
			
		||||
  finalRecommendations: (isWorkflow: boolean, userQuery: string, selectedToolNames: string[]) => {
 | 
			
		||||
    if (isWorkflow) {
 | 
			
		||||
      return `Erstellen Sie einen knappen, methodisch korrekten WORKFLOW-Fließtext (max. 120 Wörter), der EXPLIZIT eine Mischung aus Methoden und Tools nutzt.
 | 
			
		||||
      return `Erstellen Sie einen knappen, methodisch korrekten WORKFLOW-Fließtext (max. 220 Wörter), der EXPLIZIT eine Mischung aus Methoden und Tools nutzt.
 | 
			
		||||
 | 
			
		||||
SZENARIO: "${userQuery}"
 | 
			
		||||
AUSGEWÄHLTE ELEMENTE: ${selectedToolNames.join(', ') || 'Keine Auswahl'}
 | 
			
		||||
@ -202,12 +201,12 @@ AUSGEWÄHLTE ELEMENTE: ${selectedToolNames.join(', ') || 'Keine Auswahl'}
 | 
			
		||||
Vorgaben: klare Phasen (Datensammlung → Auswertung → Analyse → Bericht), Beweisführung/Chain of Custody, Reproduzierbarkeit. Sprache präzise und UI-tauglich. Keine Listen/Markdown.`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return `Formulieren Sie kritische ÜBERLEGUNGEN (max. 140 Wörter) zur korrekten Anwendung der empfohlenen Elemente (Methoden + Tools).
 | 
			
		||||
    return `Formulieren Sie knappe, kritische ÜBERLEGUNGEN (max. 200 Wörter) zur korrekten Anwendung der empfohlenen Elemente (Methoden + Tools).
 | 
			
		||||
 | 
			
		||||
PROBLEM: "${userQuery}"
 | 
			
		||||
EMPFOHLENE ELEMENTE: ${selectedToolNames.join(', ') || 'Keine Auswahl'}
 | 
			
		||||
 | 
			
		||||
Fokus: Validierung/Qualitätssicherung, Risiken (FP/FN), Dokumentation/Reporting. Stil deutsch, ohne Listen/Markdown, UI-tauglich, mit mehr technischen Details.`;
 | 
			
		||||
Fokus: Validierung/Qualitätssicherung, Risiken (FP/FN), Dokumentation/Reporting. Stil deutsch, ohne Listen/Markdown, UI-tauglich.`;
 | 
			
		||||
  }
 | 
			
		||||
} as const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user