KI-Agent: Änderungen erscheinen in Live-Vorschau und PDF
- Dateien des Agenten werden sofort committet (die Vorschau liest in anderer Sitzung; vorher KeyError/unverändert) - Beispielprotokoll der PDF-Vorschau gehört zum Arbeitsstand: neues Tool set_sample, run_prompt_test setzt das LLM-Ergebnis als Beispiel; im Vorschlag und bei der Freigabe übernommen - Vorschau wechselt bei PDF-relevanten Änderungen automatisch auf die PDF-Ansicht - Regressionstests inkl. echter SSE-/Freigabe-Strecke Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,9 @@ TOOLS = [
|
||||
"schema": {"type": "object", "properties": {}}},
|
||||
{"name": "show_final_prompt", "description": "Zeigt den finalen System-Prompt, wie der Core ihn an das LLM schickt (nach Platzhalter-Ersetzung und Hooks). Namenslisten werden gekürzt.",
|
||||
"schema": {"type": "object", "properties": {}}},
|
||||
{"name": "set_sample", "description": "Setzt das Beispielprotokoll, das die PDF-Vorschau rendert (Format wie vom LLM: ===TERMINART=== … ===/TERMINART===, dann Überschriften und Text). "
|
||||
"Sinnvoll, um Layout-Änderungen mit passendem Inhalt zu prüfen.",
|
||||
"schema": {"type": "object", "properties": {"text": {"type": "string"}}, "required": ["text"]}},
|
||||
{"name": "run_prompt_test", "description": "Führt das Protokoll-LLM mit dem Workspace-Prompt auf einem Beispieltranskript aus (kostet Geld – höchstens 1× pro Antwort). Liefert den Protokolltext.",
|
||||
"schema": {"type": "object", "properties": {"transcript": {"type": "string", "description": "Optional; sonst das Standard-Beispieltranskript."}}}},
|
||||
]
|
||||
@@ -41,6 +44,7 @@ class ToolRunner:
|
||||
self.llm_calls = 0
|
||||
|
||||
def _preview(self, kind, **kw):
|
||||
kw.setdefault("sample", self.ws.sample) # Beispielprotokoll des Workspace (None → Standard des Tenants)
|
||||
return preview.run_content(self.db, self.tenant, self.ws.cfg, self.ws.files, kind, **kw)
|
||||
|
||||
def run(self, name: str, a: dict) -> tuple[str, str]:
|
||||
@@ -107,4 +111,11 @@ class ToolRunner:
|
||||
self.llm_calls += 1
|
||||
from app.agent.testrun import prompt_test
|
||||
res = prompt_test(self.db, self.tenant, self.ws.cfg, self.ws.files, a.get("transcript"))
|
||||
return "Beispieltranskript", f"[{res['model']}, {res['input_tokens']}→{res['output_tokens']} Tokens]\n{res['text'][:6000]}"
|
||||
if res["text"].strip():
|
||||
self.ws.sample = res["text"] # das erzeugte Protokoll wird zum Beispiel der PDF-Vorschau → Prompt-Änderungen sind im PDF sichtbar
|
||||
return "Beispieltranskript", (f"[{res['model']}, {res['input_tokens']}→{res['output_tokens']} Tokens] Das Ergebnis ist jetzt das Beispielprotokoll "
|
||||
f"der PDF-Vorschau.\n{res['text'][:6000]}")
|
||||
|
||||
def t_set_sample(self, a):
|
||||
self.ws.sample = a["text"]
|
||||
return "Beispielprotokoll", f"gesetzt ({len(a['text'])} Zeichen) – die PDF-Vorschau rendert jetzt dieses Protokoll"
|
||||
|
||||
Reference in New Issue
Block a user