fix(agents): klarere Naming + korrektes LLM-Default-Modell
CI / detect-changes (push) Successful in 6s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / nodejs-build (push) Successful in 2m20s
CI / test-go (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Failing after 4s
CI / validate-canonical-controls (push) Successful in 11s
CI / loc-budget (push) Successful in 14s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 30s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / detect-changes (push) Successful in 6s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / nodejs-build (push) Successful in 2m20s
CI / test-go (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Failing after 4s
CI / validate-canonical-controls (push) Successful in 11s
CI / loc-budget (push) Successful in 14s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 30s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
User-Korrektur 2026-06-09:
(1) Begriff 'MC' steht im Projekt fuer Master-Control aus
canonical_controls (314k Eintraege, ~1.800 fuer dieses Tool). Mein
neuer Agent-Code hatte 'MC' als Abkuerzung fuer 'Machine-Check'
verwendet — Naming-Konflikt. Frontend-Methodik-Box jetzt:
- 'Pattern-Check' statt 'Machine-Check'
- Explizit: 'Diese Pattern-IDs (IMP-MC-001) sind interne Test-IDs,
NICHT die Master-Control-IDs aus der canonical_controls-DB'
- Roadmap-Hinweis: formale Verknuepfung Pattern→Master-Control folgt
Backend-Variablen mc_id bleiben technisch unveraendert (Refactor
waere gross), aber UI darf sie nicht als 'Master-Control' bezeichnen.
(2) LLM-Modell-Default war 'qwen2.5:7b' — Projekt nutzt aber das
groessere 'qwen3.5:35b-a3b' auf macmini (ENV SELF_HOSTED_LLM_MODEL).
_escalation.py default jetzt: SELF_HOSTED_LLM_MODEL als Fallback,
und Methodik-Erklaerung nennt das richtige Modell.
(3) Methodik-Erklaerung erweitert um Sprint-1.10 Semantic-Validator
und Sprint-1.11 Auto-Learning-Pattern-Library + Cross-Placement.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -258,26 +258,45 @@ function MethodikInfo() {
|
||||
</summary>
|
||||
<ol className="list-decimal ml-5 mt-2 space-y-1">
|
||||
<li>
|
||||
<strong>Machine-Checks (MCs)</strong> — deterministische
|
||||
Pattern-Tests gegen Gesetzestext (z.B. § 5 TMG). Schnell,
|
||||
reproduzierbar.
|
||||
<strong>Pattern-Checks</strong> — deterministische Regex-Tests
|
||||
gegen Pflichtangaben-Schema (z.B. § 5 TMG/DDG). Schnell,
|
||||
reproduzierbar. <em>Hinweis:</em> diese Pattern-IDs (z.B.
|
||||
<code>IMP-MC-001</code>) sind <strong>interne Test-IDs</strong>,
|
||||
nicht die Master-Control-IDs aus der canonical_controls-DB
|
||||
(~314.000 Master-Controls). Die formale Verknüpfung
|
||||
Pattern-Check → Master-Control folgt in einem späteren Schritt.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Knowledge-Base</strong> — kuratierte Patterns aus
|
||||
anonymisierten Mandanten-FAQs.
|
||||
</li>
|
||||
<li>
|
||||
<strong>LLM-Eskalation</strong> — nur bei unklaren MCs:
|
||||
erst lokales qwen2.5:7b, bei Bedarf größeres OVH-Modell.
|
||||
Claude (Cloud) erst nach Anonymisierung.
|
||||
<strong>Auto-Learning-Pattern-Library</strong> — Labels die
|
||||
der LLM-Validator gefunden hat (z.B. „Telefonnr." statt
|
||||
„Telefon") werden persistiert. Beim nächsten Run sind sie
|
||||
deterministisch erkennbar — der LLM wird seltener gerufen.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Cross-Doc-Vergleich</strong> — Konsistenz zwischen
|
||||
DSE, Cookie-Policy, Impressum (späterer Agent).
|
||||
<strong>Semantic-Validator (LLM)</strong> — nur bei
|
||||
missing-Pflichtangabe: ein Aufruf des Self-Hosted-LLM
|
||||
(<code>qwen3.5:35b-a3b</code> auf macmini) prüft ob die
|
||||
Angabe doch da ist, nur unter abweichendem Label. Bei
|
||||
Treffer wird HIGH→LOW demoted und „Umbenennen zu Standard"
|
||||
empfohlen.
|
||||
</li>
|
||||
<li>
|
||||
<strong>LLM-Eskalation (Fallback)</strong> — wenn der
|
||||
Validator unsicher bleibt: OVH 120b, dann anonymisierter
|
||||
Claude-Cloud-Call. Aktuell deaktiviert (OVH-Key leer).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Cross-Placement-Agent</strong> — erkennt deplatzierten
|
||||
Content (Copyright, Disclaimer, WEEE im Impressum) +
|
||||
empfiehlt Footer-Reiter „Legal".
|
||||
</li>
|
||||
</ol>
|
||||
<p className="mt-2 italic text-gray-500">
|
||||
Disclaimer: keine Aussagen wie "rechtssicher" oder "konform" —
|
||||
Disclaimer: keine Aussagen wie „rechtssicher" oder „konform" —
|
||||
nur Findings + Empfehlungen + Herleitung. Verbotene Begriffe
|
||||
werden vom Linter aus Agent-Outputs entfernt.
|
||||
</p>
|
||||
|
||||
@@ -29,8 +29,12 @@ logger = logging.getLogger(__name__)
|
||||
OLLAMA_URL = os.environ.get(
|
||||
"OLLAMA_URL", "http://host.docker.internal:11434",
|
||||
)
|
||||
# Default ist das Self-Hosted-LLM des Stacks (qwen3.5:35b-a3b auf
|
||||
# macmini, gesetzt via SELF_HOSTED_LLM_MODEL). Kann pro Agent via
|
||||
# AGENT_MODEL_LOCAL überschrieben werden.
|
||||
OLLAMA_MODEL_LOCAL = os.environ.get(
|
||||
"AGENT_MODEL_LOCAL", "qwen2.5:7b",
|
||||
"AGENT_MODEL_LOCAL",
|
||||
os.environ.get("SELF_HOSTED_LLM_MODEL", "qwen3.5:35b-a3b"),
|
||||
)
|
||||
OVH_URL = os.environ.get("OVH_LLM_URL", "")
|
||||
OVH_MODEL = os.environ.get("OVH_LLM_MODEL", "Meta-Llama-3.1-70B-Instruct")
|
||||
|
||||
Reference in New Issue
Block a user