Marco Patzelt logoMarco Patzelt

Software Engineer · AI Harness Layer

Marco Patzelt — AI Agent Engineer.

Tools, Schemas, Sandboxes, Feedback Loops — die Schicht, die das LLM umgibt.

Marco Patzelt
ModelClaude
ProtocolMCP

Harness Layer.
Context · Tools · Memory · Sandbox · Feedback.

Woran ich rund ums LLM arbeite: Tool-Schemas, strukturiertes Feedback, Validierung, Sicherheits-Limits. Wenn diese Schicht stimmt, trägt der Agent einen echten Workflow von Anfang bis Ende.

Context
Engineering

Token-Budget als Designparameter

Das Context-Window ist eine knappe Ressource. Perception-Schemas am Eingang, Trajectory-Compression beim Recall, deterministisch generierte Welt-Snapshots. Der Agent sieht, was du ihn sehen lässt — nichts mehr.

Strukturierte Wahrnehmung

JSON in, JSON out. Engine validiert. Keine Halluzination an der Schnittstelle — der Snapshot ist deterministisch gebaut, nicht vom Modell zusammenfantasiert.

import { NextResponse } from 'next/server';

import { createClient } from '@supabase/ssr';

export async function POST(req: Request) {

// Typsichere Validierung

const body = await req.json();

const { id } = Schema.parse(body);

const supabase = createClient();

const { data } = await supabase

.from('events')

.select('*');

return NextResponse.json(data);

}

Harness Runtime

Tool Buseu-central-1
24ms
Memory Storevector + episodic
12ms
FEEDBACK LOOP

Agent Memory

Working · Episodic · Semantic. Hybrid und persistent — der Agent baut sich Kontext aus eigener Erfahrung.

Das Prinzip: Memory wird gequeried, nicht in den Prompt gepushed. Slices on-demand statt Full Dump. Skills aus Erfahrung statt aus dem System Prompt — der Agent baut sich seinen eigenen Kontext.

Tools · Sandbox · Feedback

Strukturierte Tool-Calls, ephemere Sandboxes, Errors als Feedback-Signal.

Das Resultat: 30s pro Call, 20min pro Loop, ephemeral pro Sandbox. Verification + Retry mit Backoff. Wenn 20 Steps mit je 95% Success-Rate kaskadieren, landest du bei 36% — der Harness fängt das ab.

03
End-to-end Engineering

Vom Schema zum Production-Code.

Ich arbeite den ganzen Stack — Schemas, Harness-Logik, Deployment, Frontend. Keine Hand-offs zwischen Specialisten, kein Integration-Drift. Ein Engineer, alle Schichten.

Schema → UI

Agent-Output-Typen fließen direkt in React-Props. Same TypeScript end-to-end — vom Tool-Call-Schema bis zum gerenderten Element. Kein Drift zwischen Backend und UI.

Schema → UI
Type-safe end-to-end

Streaming State

Agent-Thinking, Tool-Calls, partielle Edits — live in der UI. SSE-Streams, Canvas-Rendering, structured Status-Events. Der Nutzer sieht was der Agent tut, während er es tut.

Streaming + Tool-Call State
Real-time agent rendering

Interface Layer

Das Frontend ist kein Anstrich — es ist die Schnittstelle zwischen Agent und Mensch. Wo Approvals passieren, wo Edits gemacht werden, wo Trust gewonnen oder verloren wird. Production-Surface, nicht Dekoration.

Frontend als Produktionsfläche
Agent-zu-Mensch-Schnittstelle

Tagesjob

Software & Integration Engineer.

Production-Middleware auf Microsoft Dynamics 365, Webflow CMS, HubSpot und angrenzenden Enterprise-Systemen — Real-time-Sync, Distributed Locking, EU-pinned Deployment. Plus ein internes Agentic-Fleet-System für SEO- und Paid-Channel-Automation über die Agentur-Client-Roster. Ein paar Open-Source-Nebenprojekte weiter unten, in denen ich die gleichen Patterns weiter treibe, als der Tagesjob es verlangt.

Full Ownership

Requirements → Architektur → Implementation → Deployment. Direkter technischer Touch mit dem Kunden, keine Hand-offs zwischen Specialisten.

Real-time Sync Middleware

Webhook-driven Sync zwischen Microsoft Dynamics 365 und Webflow CMS. Async-Processing über Vercel waitUntil(), Redis-basierte Distributed Locks gegen Race Conditions auf Concurrent Webhook Deliveries.

Dynamics 365WebflowWebflowVercelVercelUpstashUpstash

Lead-Capture & Qualification API

Stateless Serverless API für Multi-Step Quiz-Funnels. Auto-Qualification, CRM-Upsert, Google-Ads-Attribution-Bridge — schließt die Attribution-Lücke aus non-native Form-Submissions.

VercelVercelGoogle AdsGoogle AdsWhatConverts

Smart Translation Caching

DeepL-Calls fingerprinted und gecacht auf Vercel KV (Redis) — Calls nur wenn Text sich tatsächlich ändert. Responses bauen sich aus fresh CRM-Daten plus cached Translations zusammen, near-zero API cost. Exponential-Backoff auf Outbound-Clients gegen Rate-Limits.

DeepLDeepLVercelVercelUpstashUpstash

Multi-System Integration

Dynamics 365 (OAuth2 + custom actions), Webflow CMS v2, HubSpot (EU1), WhatConverts, DeepL, Upstash. JWT-authenticated Webhooks, end-to-end Attribution-Pipelines.

Dynamics 365WebflowWebflowHubSpotHubSpotWhatConvertsDeepLDeepLUpstashUpstash

EU Production Infrastructure

Vercel mit region-pinned Deployments für EU-Latency. Sandbox/Prod-Trennung, Distributed Caching + Locking. Custom Booking Engines, Seasonal Logic, Multi-Locale (inkl. Umlaut-Slug-Normalisierung).

VercelVercel

Agentic · Internes Tool

SEO- & Paid-Channel-Fleet

Multi-Tenant Agent-System für die Agentur-Client-Roster. Persistentes Task-Board, das der Agent selbst über Runs hinweg pflegt. 13 In-Process-Tools — GSC-Queries, Paid-Channel-Audits, Content-Briefs, Artikel-Generierung. End-to-End Webflow-Publishing auf wöchentlicher Cadence. Dieselben Harness-Patterns aus der Open-Source-Arbeit, intern angewandt.

Next.jsNext.jsSupabaseSupabaseOpenRouterOpenRouterWebflowWebflow

Featured System · Production live

Marketing-Plattform
↔ Dynamics 365.

Die Aufgabe

Production-Middleware zwischen einer modernen Marketing-Plattform und Microsoft Dynamics 365 CRM. Distributed Locking, Echtzeit-Sync, EU-pinned Deployment auf Vercel. Läuft täglich in Produktion.

Die Umsetzung

Vercel
Middleware Engineering
Node.js auf Vercel — Frontend von CRM-Logik entkoppeln.
Daten-Synchronisation
Dynamics 365 Entitäts-Abgleich in Echtzeit.
Upstash
High-Performance Caching
Upstash (Redis) für Latenz-Minimierung.
DeepL
Automated Pipeline
Automatisierte Content-Verarbeitung.
FrontendEnterprise Core
Webflow
Vercel
Middleware
Vercel Serverless
POST /api/ingest
Upstash
Redis Lock

"key": "sys_123_lock",

"ttl": 60,

"status": "acquired"

DeepL
Processing API

"text": "Complex Entity",

"source": "RAW",

"target": "NORM"

Core Sync
Dynamics 365
await crm.create(data)

Open Source

Nebenprojekte, öffentlich.

Vier Repos, in denen ich die Harness-Patterns weiter treibe, als der Tagesjob es verlangt. Öffentlich, damit ich darauf zurückgreifen kann.

123 · Multi-Agenten-Simulation im mittelalterlichen Sandkasten

Brunnfeld

Eine mittelalterliche Dorf-Simulation mit 19 LLM-Agenten, die über strukturierte Tool-Calls in einer deterministischen Game-Engine laufen. Minimale Anweisungen, reicher umgebungsbasierter Feedback. Dieselben Patterns wende ich kommerziell an — nur ein etwas lustigerer Sandkasten, sie weiter zu treiben.

2026 · TypeScript · Game EngineOpen repository

Resonanz

Brunnfeld wurde auf r/Anthropic und r/BlackboxAI_ ein bisschen diskutiert. Der Großteil drehte sich um das strukturierte Tool-Call-Setup, weniger um die mittelalterliche Oberfläche.

FAQ

Die offensichtlichen Fragen.

Häufig gestellte Fragen zu Agent-Harnesses, Production-Reliability und der Lücke zwischen Demo und Prod.

MCP gewinnt bei Standardisierung: ein Wire-Format, neue Agenten lassen sich in existierende Tool-Surfaces einklinken, Modelle ohne Integrations-Rewrite tauschen. Direkte API-Integration gewinnt bei Reliability — wenn der MCP-Server Felder oder Endpoints nicht abbildet, wenn du custom Retry/Error-Semantik brauchst, wenn Tool-Call-Latency im kritischen Pfad sitzt, oder wenn vendor-spezifische Edge-Cases (Pagination-Quirks, idempotency keys, partial responses) vom MCP-Wrapper verschluckt werden. Faustregel: MCP für Breite, direkte Integration für die 2-3 kritischen Tools die nicht flaky sein dürfen. Die meisten Production-Setups landen gemixt.

Das Harness ist alles um das LLM herum, was es echte Arbeit machen lässt — Tool-Schemas, Validierung, strukturiertes Feedback, Retry-Logik, Sicherheits-Limits. Das Modell wählt Züge; das Harness definiert welche Züge überhaupt möglich sind und was passiert wenn einer fehlschlägt. Zwei Systeme auf demselben Modell performen komplett unterschiedlich abhängig von der Harness-Qualität. Da liegt die eigentliche Engineering-Hebelwirkung.

RAG holt Kontext für einen einzelnen LLM-Call. Ein Agent loopt: handelt, beobachtet, entscheidet, handelt wieder — meist mit mehreren Tool-Calls und externem State-Change. Wenn das Problem ist „Fragen über unsere Docs beantworten“ → RAG. Wenn es „einen mehrstufigen Workflow mit unseren Systemen ausführen“ ist → Agent. Die meisten Production-Setups nutzen beides — RAG als Tool innerhalb der Agent-Surface.

Kaskadierende Fehler. 95% Erfolgsrate pro Schritt fällt nach 20 Schritten auf 36%. Demo-Pfade laufen 3-5 Schritte unter kontrollierten Bedingungen; Production-Loops laufen 20+ Schritte über messy reale Daten. Der Fix liegt im Harness: Verification pro Schritt, strukturierte Retries mit Backoff, harte Stops bei unsicheren Branches, Eskalation an Menschen an Risiko-Stellen. Modelle werden nicht zuverlässig — Harnesses machen sie zuverlässig.

MCP ist ein Standard wie Agenten sich mit Tools und Datenquellen verbinden. USB-C für Agenten — ein Wire-Format, viele Backends. Anthropic, OpenAI und alle großen Frameworks unterstützen es inzwischen. Wenn ihr Agenten baut die mehrere interne Systeme erreichen müssen — ja, auf MCP standardisieren. Wenn ihr einen eng gescopten Agent gegen eine API baut, ist native Integration weiter ok. Kein Migrieren von funktionierendem Code ohne Grund.

Drei Schichten. (1) Trajectory-Tests — komplette Agent-Runs gegen kanonische Inputs replayen, Assertions auf Zwischenzustände, nicht nur Final-Outputs. (2) Tool-Call-Evals — pro Tool: Happy-Path, strukturierter Error-Path, adversarial Inputs. (3) Production-Telemetrie — jeder Tool-Call, Retry, Eskalation und Per-Loop-Cost geloggt. Production-ready heißt: Trajectory-Tests >95%, keine unhandled Tool-Errors im 7-Tage-Prod-Fenster, Cost-per-Task innerhalb Budget-Envelope. Vibes sind keine Definition of Done.

Engineering Logs

Notizen vom Shippen.

Alle Beiträge

Kontakt

Lass uns vernetzen.

Wenn du an etwas Ernstem im Bereich agentischer Infrastruktur arbeitest — Tool-Design, Harness-Engineering, Orchestrierungs-Loops — schreib mir.