Programmieren nach Bauchgefühl — von der ersten Idee zur Live-App, in einer Session.
Wir erkennen die Werte rechts an — wir schwingen nur lieber links.
Du beschreibst in normaler Sprache. Der Agent baut. Du schaust, gibst Feedback, wiederholst.
Programmieren nach Bauchgefühl
— Andrej Karpathy, der den Begriff prägte
„There's a new kind of coding — you fully give in to the vibes and forget that the code even exists."
Nicht: Coden abschaffen. Sondern: die Ebene wechseln — vom Tippen jeder Zeile zum Beschreiben der Absicht.
„Bau mir ein Stimmungsbarometer." Ziel, nicht Umsetzung.
Liest, schreibt Dateien, installiert, startet den Server.
Preview-URL öffnen. Sehen, was wirklich passiert.
„Buttons größer, dark mode." Zurück zu 01.
Je enger der Loop, desto besser das Gefühl. Der Preview-Link ist dein „Anschauen" — dazu später mehr.
Alle reden über das Modell. Aber ob's funktioniert, entscheidet das Harness drumherum: Tools, Edit-Format, Prompts.
Gleiches Modell, besseres Harness → drastisch bessere Ergebnisse. Das ist der Grund, warum unser günstiges GLM-5.2 hier so gut läuft.
Gleiches Modell · gleicher Prompt · anderes Harness
| Modell | Effekt |
| Grok Code Fast 1 | 6,7% → 68,3% |
| Gemini 3 Flash | +5 pp |
| Grok 4 Fast | −61% Tokens |
| MiniMax | 2,1× Pass-Rate |
Quelle: omp.sh · „the harness problem"
Zehnfacher Erfolg — nur durch das Harness.
„A coding agent with the IDE wired in."
omp.sh · omp im Terminal · Fork von Pi (Mario Zechner)
Läuft überall, wo eine SSH-Verbindung hinkommt. Kein GUI-Setup.
Debugger, Browser, Websuche, Subagents — alles schon eingebaut.
Ein /model weiter. Heute: GLM-5.2, gesponsert.
In deinem Container fertig konfiguriert. Du tippst nur omp.
Ein Terminal. Ein Befehl. Deine App im Netz.
Bietet dein SSH-Client einen Public Key an, ist dessen Fingerprint deine Identität (k-a1b2c3d4).
Kein Key? Du bekommst einen Namen (brave-otter) und kommst per ssh brave-otter@datei.jetzt zurück.
TOFU: der erste Key, den du je anbietest, wird an deinen Namen gepinnt.
Vorkonfiguriert: GLM-5.2 auf maximalem Thinking, yolo-Freigaben.
Voller VS-Code-Editor im Browser — falls du doch mal von Hand ran willst.
node · bun · python · rust — vorinstalliert, sofort startklar.
Fehlt ein Paket? sudo apt install — der Agent macht das selbst.
Sessions überleben. WLAN weg, Laptop zu? Neu verbinden — der Agent läuft weiter.
Alles wegwerfbar. Bau, mach kaputt, fang neu an. Keine Angst.
Was auf 0.0.0.0:3000 lauscht, ist sofort live — mit echtem HTTPS.
deine URL
https://<dein-id>.datei.jetzt
Öffne sie auf dem Handy. Zeig sie dem Nachbarn. Alle im Raum können mitmachen.
Willst du Dateien selbst sehen: forwarde den Editor durch SSH — er bleibt nur bei dir.
Port-Forwards landen in deinem Container — localhost:3000 ist deine App, noch bevor sie öffentlich ist.
Einfach omp tippen — oder direkt mit einer Ansage starten.
/help-me — eingebaute Führung durch die Umgebung
Tool-Aufrufe erscheinen als Karten. Änderungen kannst du sehen, bevor sie landen.
Die meisten Agents schreiben Code. Dieser hier arbeitet damit.
Ab hier wird's ein bisschen unheimlich.
Alles liegt neben read und bash — der Agent greift zu, ohne das Terminal zu verlassen.
read · write · edit · ast_edit · ast_grep · search · find
bash · eval (py+js) · ssh
lsp (14) · debug (28 DAP)
task · irc · todo · job · ask
browser · web_search · github · generate_image · tts
retain · recall · reflect · checkpoint · rewind
resolve · search_tool_bm25
die spektakulärsten davon — im Detail.
Das Modell zeigt auf Anker statt Zeilen neu zu tippen. Schluss mit „string not found".
Datei veraltet? Der Anker weicht ab — der Patch wird abgelehnt, bevor er etwas kaputt macht.
Weniger Tokens, präzisere Edits, keine Whitespace-Kämpfe. „Edits that land on the first attempt."
Umbenennen läuft über willRenameFiles — Re-Exports, Barrel-Files und Alias-Importe ziehen mit.
Alles, was deine IDE weiß, weiß der Agent.

Segfault? Der Agent hängt lldb an, steppt zum Pointer, liest den Frame. Go hängt → dlv. Python klemmt → debugpy.
Andere Agents streuen noch print-Statements.

Persistentes Python und ein Bun-Worker. Beide Kernel können in die Tools des Agents zurückrufen.
CSV mit tool.read in Python laden, in JavaScript charten — ohne die Zelle je zu verlassen.

Ein Job, aufgeteilt auf mehrere Worker — jeder in einem isolierten Worktree, jeder liefert ein typisiertes Objekt zurück.
Kein Prosa-Parsen, keine Merge-Konflikte zwischen Geschwistern.

Ein Reviewer läuft auf eigenem Kontext, liest jeden Turn und wirft Notizen ein — Randbemerkung, Bedenken oder harter Blocker.
WATCHDOG.yml = ein ganzes Team benannter Aufpasser, jeder mit eigenem Modell und Spezialgebiet.

Deine Regeln schlummern, bis das Modell entgleist. Ein Treffer bricht den Stream mitten im Token ab, injiziert die Regel und startet von derselben Stelle neu.
/omfg — schmiedet aus deiner Beschwerde eine dauerhafte Regel.

Statt alte Historie von einem LLM zusammenfassen zu lassen, rendert omp sie in dichte PNG-Kacheln aus Pixel-Font-Glyphen — die das Vision-Modell direkt zurückliest.
Lokal. Deterministisch. Kein API-Call. Die Kachel-Geometrie ist pro Anbieter aus echten Recall-Evals getunt.
verworfene Historie → Bildkachel
„Niemand sonst macht das." — das ungewöhnlichste Feature im ganzen Projekt.
read pr://1428 liefert dieselbe Form wie read src/foo.ts. Ein Interface für alles.
GitHub, Issues, Subagent-Ergebnisse, Merge-Konflikte, Gedächtnis — alles adressierbar.
web_search kettet 25 Backends und reicht Fundstellen direkt an read — ein arXiv-PDF kommt als sauberes Markdown zurück.
browser: echtes Chromium, Stealth an. Dieselbe API treibt jede Electron-App — zeig auf Slack, es liest deine DMs wie das Web.

Andere Agents rufen rg, grep, find, bash als externe Prozesse auf. omp linkt sie in den Prozess.
Dasselbe Binary auf macOS, Linux und Windows — ganz ohne WSL-Brücke.
/collab legt deine Session auf ein Relay und gibt Link + QR-Code zurück. Jemand joint per omp join oder im Browser.
Frames sind clientseitig versiegelt (AES-256-GCM) — das Relay sieht deine Keys nie.

P0–P3, Confidence-Score, klares Ship / No-Ship. /review
Unzusammenhängendes wird in abhängigkeits-sortierte Commits gesplittet.
retain / recall / reflect — merkt sich dein Repo über Sessions.
Derselbe Agent, im Editor gefahren. Kein Plugin, keine zweite Denke.
Liest Cursor, Cline, Codex, Copilot … nativ. Kein Migrationsskript.
Volle MCP-Unterstützung, Smithery-Suche, npm-publizierbare Plugins.
Agent-Workflows als YAML-DAG, unbeaufsichtigt bis fertig.
Frontier, Coding-Pläne, lokal — ein /model weiter.
Fehlt was? Bitte omp, es zu bauen — dann /reload-plugins.
Ein Projekt, an dem alles glänzt — und das der ganze Raum benutzt.
Der ganze Raum öffnet deine URL auf dem Handy und stimmt ab: 😀 😐 😞. Das Chart aktualisiert sich live.
echt gemessen in diesem Setup
Ein Prompt. GLM-5.2. server.ts mit In-Memory-Counts, /vote + /counts, gebunden an 0.0.0.0:3000.
→ omp hängt den Debugger an, findet den Nil-Zugriff, fixt ihn.
→ LSP-Rename über Server, Client und Typen auf einmal.
→ eval: Python rechnet, JavaScript chartet — in einer Zelle.
→ drei Subagents parallel, typisierte Ergebnisse zurück.
→ /omfg schmiedet eine Regel. Passiert nie wieder.
→ /collab → QR-Code, gemeinsam am selben Agent.
Alles, was auf :3000 lauscht, ist in Sekunden live auf deinem Handy.
„Nutzer sollen abstimmen können" schlägt „schreib eine POST-Route".
Gib Fehlermeldung, Screenshot oder URL — der Agent liest sie direkt.
Wegwerf-Container + yolo: nicht bei jedem Schritt zögern.
Ein Wunsch pro Runde. Anschauen. Nachjustieren. Wiederholen.
Lass ihn sich selbst debuggen: „führ es aus und finde den Fehler".
/deploy — Sehen schlägt Raten. Immer.
Muss auf 0.0.0.0:3000 lauschen (nicht 127.0.0.1). Sag /deploy oder prüf mit curl localhost:3000.
Formulier den Wunsch neu und kleiner. /compact räumt den Kontext auf.
Einfach neu ssh datei.jetzt — tmux hält deine Session, der Agent läuft weiter.
Bau in den nächsten 30 Minuten etwas, das auf deinem Handy läuft.
Möge dein Code gut schwingen.
SoSe 2026 · Stimmungsorientierte Softwareentwicklung · datei.jetzt · danke 💜