← Alle Artikel

LogAnalyzer — 1 Entwickler + Claude + Pipeline = der Output eines Teams

LogAnalyzer — 1 Developer + Claude + Pipeline = the Output of a Team

LogAnalyzer — aus Rauschen wird Signal: von Multi-GB-Trace zu belegter Root-Cause-Analyse

Ich war wochenlang kaum erreichbar. Kein Urlaub. Ich habe ein Produktivsystem gebaut, das Fahrzeug-Logs versteht: von der ersten Codezeile bis in den Cluster, allein, mit Claude als Team an der Seite. Hier steht, was das Ding wirklich kann, wo überall KI drinsteckt, und was es an Blut, Schweiß, Tränen und Tokens gekostet hat. Kein Buzzword-Bingo. Lieferung.

$ 1 Entwickler + Claude + clevere Pipeline = massiver Output

Das Problem: ein Fehler im Auto hinterlässt Spuren — in Gigabytes

Wenn im Fahrzeug etwas zickt, schreibt jedes Steuergerät mit. Das Ergebnis sind riesige, proprietäre Trace-Logs über mehrere ECUs hinweg, oft mehrere Gigabyte pro Ticket, in Binärformaten, die kaum jemand von Hand liest.

Die Ursache dort herauszulesen ist Spezialwissen, Geduld und Stunden. Genau diese Arbeit macht der LogAnalyzer. Keine Blackbox, die eine Antwort ausspuckt, sondern ein Analyst, der jeden Schritt begründet und jede Aussage belegt.

Eine Pipeline, kein Prompt

Das Herz ist keine einzelne KI-Anfrage, sondern eine Kette. Rohdaten werden erst lesbar und geroutet, dann untersucht ein agentischer Investigator den Fall mit echten Werkzeugen, danach prüfen deterministische Wächter das Ergebnis.

  1. Rohlogs — Multi-GB, mehrere ECUs, plus Video & Fotos
  2. Konvertierung — Binär-Trace → Wallclock-Zeitachse
  3. Routing — wählt das entscheidende Log
  4. Zeitanker — Vorfall-Zeit, Zeitzonen-Abgleich
  5. Windowing — zitierbarer Slice aus dem GB-Log
  6. Investigator · KI — Senior-LLM mit Werkzeugen
  7. Selbstkorrektur · KI — Refuter, Spec, Beleg-Gate
  8. Belegte RCA — jedes Zitat verifiziert

Nur die mit · KI markierten Stufen sind KI. Der Rest ist deterministische Ingenieursarbeit, damit die KI auf sauberem Boden steht.

Zwei Ebenen KI: eine ist das Produkt, eine hat es gebaut

Der Teil, der die meisten überrascht: KI steckt nicht an einer Stelle, sondern auf zwei Ebenen gleichzeitig.

Ebene 1 — KI im Produkt

Rolle Aufgabe Modell
Senior Führt die Untersuchung end-to-end, schreibt eigene Python-Skripte in einer Sandbox, entscheidet den nächsten Schritt selbst Claude · agentisch mit Werkzeugen
Junior Macht die günstige Grunt-Arbeit: Zeilen extrahieren, Logs filtern, damit der Senior fokussiert bleibt kleineres, billigeres Modell
Vision Liest angehängte Videos und Fotos, extrahiert Frames, rekonstruiert Bedien-Sequenzen multimodales Modell
Wissen Findet ähnliche Fälle und Spec-Wissen über Embeddings in der Vektor-DB Embedding-Modell · RAG · Qdrant

Ebene 2 — KI im Bauen

  • Code — Pipeline-Logik, Konnektoren, Frontend, Tests, im Paar mit einem Coding-Agenten (Claude Code)
  • Infra — Kubernetes-Manifeste, Helm, Netzwerk-Policies, GitOps, gemeinsam gebaut und debuggt
  • Deploys — Image-Bau, Tag-Bump, Rollout-Rezept, dreifach erprobt bis es glatt lief
  • Reviews — adversariale Selbst-Reviews vor jedem Merge, harte Gates statt Bauchgefühl

Ich habe dirigiert: entschieden, priorisiert, verworfen, die Richtung gehalten. Der Agent hat ausgeführt, in einer Breite, die als Einzelner sonst nicht drin ist.

Was das Ding tatsächlich kann

  • Trace-Konvertierung — proprietäre Binär-Traces werden zu einer sauberen Wallclock-Zeitachse, bevor überhaupt analysiert wird.
  • Agentischer Investigator — ein Senior-LLM treibt die Analyse selbst voran, schreibt und führt eigene Skripte aus, delegiert Routine an ein günstigeres Junior-Modell.
  • Multimodal — sieht die angehängten Videos und Fotos, extrahiert Frames und rekonstruiert, was der Tester auf dem Display wirklich beobachtet hat.
  • Deterministisches Beleg-Gate — jeder Zeitstempel, jedes Zitat muss wortwörtlich im Log stehen. Was grep nicht findet, gilt nicht und kappt die Confidence. Null LLM-Kosten.
  • Selbstkorrektur — ein adversarialer Refuter versucht die Analyse zu widerlegen, ein Spec-Grounding prüft Behauptungen gegen die Connectivity-Specs, ein Fail-vs-Healthy-Diff vergleicht den kaputten mit einem gesunden Zyklus.
  • Incident-Windowing — aus einem 2-GB-Log wird ein schmaler, zitierbarer Slice um den Vorfall. Streaming statt Full-Read, damit die Pipeline nicht erstickt.
  • Steuergeräte-Routing — bei Connectivity- und HMI-Symptomen zielt die Pipeline auf das Head-Unit-Log, dort wo der Stack läuft, statt auf ein Nebenlog.
  • Zeitanker & Zeitzonen — findet den Vorfall-Zeitpunkt im Freitext, auch in krummen Formaten, und gleicht Zeitzonen-Drift gegen die Log-Abdeckung ab.
  • Twin-Detection & RAG — findet historisch ähnliche Tickets und einschlägiges Wissen aus Confluence, Jira und Specs über eine Vektor-Datenbank.
  • Ehrlichkeit & Kosten-Transparenz — sagt „unklar“ statt zu halluzinieren. Zeigt pro Lauf die echten Modell-Kosten und lässt das Modell frei wählen: Azure, Anthropic oder OpenRouter.

Von selbstbewusst falsch zu belegt korrekt

Der ehrlichste Teil ist ein Fehler des Systems selbst. An einem realen Fall lieferte die Pipeline zuerst eine Diagnose, die überzeugend klang und falsch war. Genau daran haben wir sie besser gemacht, in drei Ausbaustufen.

Stufe Zustand Beleg-Gate
Vorher Selbstbewusst falsch: „Kein Defekt, Systemverhalten.“ Hohe Sicherheit, sauber formuliert, aber erfunden — die teuerste aller Antworten, denn sie weist einen echten Bug ab. confidence: high · Beleg: keiner
Zwischen Richtig, aber unsicher: der Mechanismus stimmte, nur waren die entscheidenden Logs zu groß, um geprüft zu werden. Also galten echte Belege als „unbestätigt“. geflaggt · Zeugen übersprungen
Jetzt · live Belegt und korrekt: Vorfall-Fenster materialisiert, jede Aussage verifiziert, die entscheidende Trace-Zeile wörtlich zitiert. bestanden · 11/11 verifiziert

Derselbe Fall, dasselbe Modell, dieselben Logs. Nur drei Ausbaustufen. Der Weg von Stufe 1 nach Stufe 3 ist die eigentliche Arbeit: Beleg-Disziplin, richtiges Routing und die Ehrlichkeit, „unklar“ zu sagen.

Blut, Schweiß, Tränen, Tokens

Damit kein falscher Eindruck entsteht: Der glatte Endstand steht auf Monaten an Kämpfen. Ein Auszug aus dem Kampflog.

kremer@void-main ~/loganalyzer $ cat kampflog.txt

> gateway: /v1/chat/completions → 404. Azure spricht nur Responses-API.
           Eigenen Transport gebaut. 200.
> egress:  Cluster ist deny-by-default. Jeder LLM-Call gedroppt.
           Network-Policy nachgezogen, Host freigeschaltet.
> deploy:  ImagePullBackOff. Outage. 3× rollback.
           Cache-Kohärenz zwischen API- und Worker-Pod gefixt.
> box:     Norton-MITM blockt pip, npm, playwright.
           Binaries vendored, Builds reproduzierbar.
> logs:    3-GB-Single-File. py7zr kotzt, Full-Read killt die Pipeline.
           Streaming-Slicer gebaut.
> cluster: CFS-Throttling → Liveness-Probe killt den Pod mitten im Lauf.
           Limits gehoben, RCA von der Event-Loop entkoppelt.
> pipeline: halluzinierte RCA. „Kein Defekt“, selbstbewusst, falsch.
           Selbstkorrektur-Cluster nachgezogen.
> anchor:  Zeit-Extraktor zu eng. Korpus-Scan über alle Tickets,
           zwei blinde Fälle gefixt. live nachgewiesen.
> gates:   kognitive Komplexität, Duplikat-Erkennung, statische Analyse.
           Jeder Merge musste durch.
> repeat × dutzende Increments, über Monate, Token um Token. Endstand: live.

Kein Heldenepos. Nur der ehrliche Preis von „läuft in Produktion“.

Fünf Rollen, ein Mensch, ein Agent

Das Ungewöhnliche ist nicht ein einzelner Teil, sondern die vollständige Fläche, die sonst auf ein Team verteilt ist.

  • Produkt & Analyse-Logik — die agentische RCA-Pipeline mit Selbstkorrektur: Konvertierung, Routing, Zeitanker, Windowing, Beleg-Gate, Fail-vs-Healthy. Der Kern.
  • Build & Qualität — Test-Suites plus harte CI-Gates: statische Analyse, kognitive Komplexität, Duplikat-Erkennung, reproduzierbare Container-Builds.
  • Cloud-Infrastruktur auf Azure — Kubernetes von Grund auf: Netzwerk-Policies, Ressourcen-Tuning, Storage, Secrets, ein dedizierter Worker für die Analyse-Last.
  • Deployment & Ops — GitOps mit self-heal: Merge, Image, Tag-Bump, der Cluster gleicht sich selbst ab. War nicht immer glatt. Am Ende dreifach erprobt.
  • Nutzer & Rollout — abteilungsübergreifender Testbetrieb mit Fachleuten aus mehreren Bereichen. Echtes Feedback aus echten Tickets, direkt zurück in die nächste Iteration.

Der neue Modus: Mensch dirigiert, KI skaliert

1 Entwickler + ein KI-Agent + eine clevere Pipeline ergibt den Output eines kleinen Teams. Nicht durch mehr Rechenleistung, sondern durch jemanden, der die Richtung hält und darauf besteht, dass „belegt“ schlägt „plausibel“.

Die eigentliche Erkenntnis dieser Wochen ist nicht, dass KI Code schreiben kann. Das war klar. Spannend ist, dass Verantwortung, Urteil und Anspruch beim Menschen bleiben, und genau das den Unterschied macht: beim Tool, das lieber „unklar“ sagt als selbstbewusst danebenzuliegen, und in der Arbeitsweise, die aus einer Person ein Team macht.

Wenn dich interessiert, wie aus Rohlogs belegte Diagnosen werden, oder wie sich „Einzelperson plus Agent“ in der Praxis anfühlt: Ich freue mich über den Austausch.

LogAnalyzer — turning noise into signal: from multi-GB trace to an evidenced root-cause analysis

For weeks I was barely reachable. No vacation. I built a production system that understands vehicle logs: from the first line of code all the way into the cluster, alone, with Claude as a team alongside. Here's what the thing actually does, where AI sits inside it, and what it cost in blood, sweat, tears and tokens. No buzzword bingo. Delivery.

$ 1 developer + Claude + a clever pipeline = massive output

The problem: a fault in the car leaves traces — in gigabytes

When something acts up in the vehicle, every control unit writes it down. The result is huge, proprietary trace logs across multiple ECUs, often several gigabytes per ticket, in binary formats almost nobody reads by hand.

Reading the root cause out of that is specialist knowledge, patience, and hours. That's exactly the work the LogAnalyzer does. Not a black box that spits out an answer, but an analyst that justifies every step and backs up every claim.

A pipeline, not a prompt

The heart isn't a single AI request, it's a chain. Raw data is first made readable and routed, then an agentic investigator works the case with real tools, and finally deterministic guards check the result.

  1. Raw logs — multi-GB, multiple ECUs, plus video & photos
  2. Conversion — binary trace → wall-clock timeline
  3. Routing — picks the decisive log
  4. Time anchor — incident time, timezone reconciliation
  5. Windowing — a citable slice out of the GB-log
  6. Investigator · AI — a senior LLM with tools
  7. Self-correction · AI — refuter, spec, evidence gate
  8. Evidenced RCA — every citation verified

Only the steps marked · AI are AI. The rest is deterministic engineering so the AI stands on clean ground.

Two layers of AI: one is the product, one built it

The part that surprises most people: AI isn't in one place, it's on two layers at once.

Layer 1 — AI in the product

Role Job Model
Senior Runs the investigation end-to-end, writes its own Python scripts in a sandbox, decides the next step itself Claude · agentic with tools
Junior Does the cheap grunt work: extracting lines, filtering logs, so the senior stays focused smaller, cheaper model
Vision Reads attached videos and photos, extracts frames, reconstructs operating sequences multimodal model
Knowledge Finds similar cases and spec knowledge via embeddings in the vector DB embedding model · RAG · Qdrant

Layer 2 — AI in the building

  • Code — pipeline logic, connectors, frontend, tests, paired with a coding agent (Claude Code)
  • Infra — Kubernetes manifests, Helm, network policies, GitOps, built and debugged together
  • Deploys — image build, tag bump, rollout recipe, rehearsed three times until it ran smooth
  • Reviews — adversarial self-reviews before every merge, hard gates instead of gut feeling

I conducted: decided, prioritized, discarded, held the direction. The agent executed, at a breadth that isn't on the table for one person otherwise.

What the thing actually does

  • Trace conversion — proprietary binary traces become a clean wall-clock timeline before anything is analyzed.
  • Agentic investigator — a senior LLM drives the analysis itself, writes and runs its own scripts, delegates routine to a cheaper junior model.
  • Multimodal — sees the attached videos and photos, extracts frames, and reconstructs what the tester actually observed on the display.
  • Deterministic evidence gate — every timestamp, every citation must appear verbatim in the log. What grep can't find doesn't count and caps the confidence. Zero LLM cost.
  • Self-correction — an adversarial refuter tries to disprove the analysis, a spec grounding checks claims against the connectivity specs, a fail-vs-healthy diff compares the broken cycle to a healthy one.
  • Incident windowing — a 2-GB log becomes a narrow, citable slice around the incident. Streaming instead of a full read, so the pipeline doesn't choke.
  • ECU routing — for connectivity and HMI symptoms the pipeline targets the head-unit log, where the stack runs, instead of a side log.
  • Time anchor & timezones — finds the incident time in free text, even in crooked formats, and reconciles timezone drift against the log's coverage.
  • Twin detection & RAG — finds historically similar tickets and relevant knowledge from Confluence, Jira and specs via a vector database.
  • Honesty & cost transparency — says "unclear" instead of hallucinating. Shows the real model cost per run and lets you pick the model freely: Azure, Anthropic or OpenRouter.

From confidently wrong to evidenced correct

The most honest part is a failure of the system itself. On a real case the pipeline first delivered a diagnosis that sounded convincing and was wrong. That's exactly what we improved it on, across three stages.

Stage State Evidence gate
Before Confidently wrong: "No defect, system behavior." High confidence, cleanly phrased, but invented — the most expensive answer of all, because it dismisses a real bug. confidence: high · evidence: none
Between Correct but uncertain: the mechanism was right, only the decisive logs were too large to check. So the real evidence counted as "unconfirmed." flagged · witnesses skipped
Now · live Evidenced and correct: incident window materialized, every claim verified, the decisive trace line quoted verbatim. passed · 11/11 verified

Same case, same model, same logs. Just three stages. The path from stage 1 to stage 3 is the real work: evidence discipline, correct routing, and the honesty to say "unclear."

Blood, sweat, tears, tokens

So there's no false impression: the smooth end state stands on months of fights. An excerpt from the battle log.

kremer@void-main ~/loganalyzer $ cat battlelog.txt

> gateway: /v1/chat/completions → 404. Azure only speaks the Responses API.
           Built my own transport. 200.
> egress:  cluster is deny-by-default. Every LLM call dropped.
           Added the network policy, whitelisted the host.
> deploy:  ImagePullBackOff. Outage. 3× rollback.
           Fixed cache coherence between API and worker pod.
> box:     Norton MITM blocks pip, npm, playwright.
           Vendored the binaries, reproducible builds.
> logs:    3-GB single file. py7zr chokes, full-read kills the pipeline.
           Built a streaming slicer.
> cluster: CFS throttling → liveness probe kills the pod mid-run.
           Raised limits, decoupled RCA from the event loop.
> pipeline: hallucinated RCA. "No defect," confident, wrong.
           Added the self-correction cluster.
> anchor:  time extractor too narrow. Corpus scan across all tickets,
           fixed two blind cases. proven live.
> gates:   cognitive complexity, duplicate detection, static analysis.
           Every merge had to pass.
> repeat × dozens of increments, over months, token by token. end state: live.

No hero's epic. Just the honest price of "running in production."

Five roles, one human, one agent

The unusual thing isn't a single part, it's the complete surface that's normally spread across a team.

  • Product & analysis logic — the agentic RCA pipeline with self-correction: conversion, routing, time anchor, windowing, evidence gate, fail-vs-healthy. The core.
  • Build & quality — test suites plus hard CI gates: static analysis, cognitive complexity, duplicate detection, reproducible container builds.
  • Cloud infrastructure on Azure — Kubernetes from scratch: network policies, resource tuning, storage, secrets, a dedicated worker for the analysis load.
  • Deployment & ops — GitOps with self-heal: merge, image, tag bump, the cluster reconciles itself. Wasn't always smooth. Rehearsed three times in the end.
  • Users & rollout — cross-department test operation with specialists from several areas. Real feedback from real tickets, straight back into the next iteration.

The new mode: humans conduct, AI scales

1 developer + one AI agent + a clever pipeline yields the output of a small team. Not through more compute, but through someone who holds the direction and insists that "evidenced" beats "plausible."

The real insight of these weeks isn't that AI can write code. That was clear. What's interesting is that responsibility, judgment and standards stay with the human, and that's exactly what makes the difference: in a tool that would rather say "unclear" than be confidently wrong, and in a way of working that turns one person into a team.

If you're interested in how raw logs become evidenced diagnoses, or how "one person plus an agent" feels in practice: I'd be glad to talk.