Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Smarter Coden mit KI: Angular-Apps mit GitHub C...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Smarter Coden mit KI: Angular-Apps mit GitHub Copilot und ChatGPT

JavaScript & Angular Days Berlin, 13. Oktober 2026. In diesem halbtägigen Workshop lernst du, wie du dein KI-Coding-Setup so aufsetzt, dass du produktiv in Angular-Applikationen arbeiten kannst. Wir starten mit KI-gestützten Brainstorming-Techniken und ersten Prototypen, entwickeln dann produktiven Code und nutzen dabei Agent Mode, intelligente Code Reviews, angepasste Code-Regeln und Custom Prompts. Der Workshop vermittelt fortgeschrittene Konzepte wie Custom Instructions, Reusable Prompts, Custom Sub-Agents, Skills und MCP-Server.

Avatar for Daniel Sogl

Daniel Sogl PRO

October 12, 2026

More Decks by Daniel Sogl

Other Decks in Programming

Transcript

  1. AI Coding Master Class So baust du die Harness um

    deinen AI Coding Agent Daniel Sogl Head of AI Engineering · SHI GmbH AI Coding Master Class 2026
  2. Daniel Sogl Head of AI Engineering · SHI GmbH ·

    Microsoft MVP Seit 2015 Web- und Mobile-Apps für Unternehmen Entwickelt seit drei Jahren fast nur noch mit AI Baut AI Engineering bei der SHI auf Hat das meiste hiervon zuerst falsch gemacht AI Engineering Agentic Coding [email protected] AI Coding Master Class SHI GmbH · 2026 Developer Experience daniel-sogl danielsogl 2 / 60
  3. Slides und Code zum Mitnehmen SLIDES speakerdeck.com/danielsogl nach dem Workshop

    AI Coding Master Class SHI GmbH · 2026 ÜBUNGS-REPO github.com/danielsogl/ shi-ai-coding-masterclass-exercises für alle Übungen 3 / 60
  4. Was du danach kannst Modul 1 Modul 2 Modul 3

    Modul 3 Fehler einordnen Mit Dateien steuern Den Loop härten Sagen, welcher Teil versagt hat AGENTS.md und Rules Erst der Test, dann der Code AI Coding Master Class SHI GmbH · 2026 Red, Green, Refactor Hooks, an denen er nicht vorbeikommt 4 / 60
  5. Agenda 01 Denkmodelle & Aufbau eines Agenten Session 1 02

    Context Engineering: AGENTS.md und Session 1 Zwei Sessions à 90 Minuten: Erst sagst du dem Agenten, was gilt. Dann prüfst du es mit Tests und Rules erzwingst es mit Hooks. AI Coding Master Class SHI GmbH · 2026 03 Red-Green-Refactor mit dem Agenten Session 2 04 Den Loop mit Hooks härten Session 2 5 / 60
  6. Bevor wir anfangen Du brauchst Du brauchst nicht Einen Coding

    Agent, der bei dir läuft Eine bestimmte IDE Das Starter-Repo oder dein eigenes Einen bestimmten Anbieter Node.js 24+ und Git Vorerfahrung mit Agenten Starter-Repo: github.com/danielsogl/shi-ai-coding-masterclass-exercises , eine Angular-Task-App ohne Agent-Konfiguration. Alle Übungen haben wir in Claude Code durchgespielt; Copilot, Codex und Junie sind nach deren Doku eingerichtet. Vier Spielregeln Feste Zweierteams. Ergebnisse kommen in den Chat. Fünf Minuten festgehangen? Melde dich. Abgehängt? Jede Übung hat einen Checkpoint-Branch. AI Coding Master Class SHI GmbH · 2026 EINRICHTEN, DANN IN DEN CHAT $ npm ci · $ npm run preflight . Steht da „All set“? Dann schreib „ready“. 6 / 60
  7. 01 Denkmodelle & Aufbau eines Agenten Von Autocomplete zum Agenten:

    was eine Harness ist, woran sie scheitert und welche Tabelle uns durch den Workshop begleitet.
  8. „Die KI hat Mist gebaut“ Agent-Session › ⏵ ⏵ ⏵

    der /upload-Endpoint ist langsam, fix das Grep 'upload' src/ Read src/routes/upload.ts Edit src/routes/upload.ts (+ in-memory cache) ✓ 24 tests passed Review, Merge, alles gut. Drei Wochen später melden Nutzer veraltete Dateien: Der Cache wird nie invalidiert, und kein Test hat das je geprüft. IM CHAT, EINE ZEILE Wer ist schuld: Modell, Context, Tools oder Loop? AI Coding Master Class SHI GmbH · 2026 8 / 60
  9. Was ist eine Harness? Agent = Modell + Harness Harness

    baut Context Modell schlägt vor Harness führt aus Harness prüft Prompt, Instructions, Dateien nächster Schritt als Text Tool Call, Freigabe, Hook Test, Lint, Build bis die Aufgabe erledigt ist Harness heißt Geschirr Das Pferd liefert die Kraft, das Geschirr bestimmt, wohin sie geht. Das Modell kann nur Text vorschlagen. Lesen, schreiben, ausführen und prüfen tut die Harness. AI Coding Master Class SHI GmbH · 2026 9 / 60
  10. Die Harness ist alles außer dem Modell Permissions läuft ohne

    Rückfrage Loop vom Prompt zur Freigaberegeln Gather Sandbox Plan Act Secrets Verify Antwort Tools worauf er zugreift Context was er vorher weiß Modell gewählt, nicht gebaut AI Coding Master Class Dateien & Shell Skills Instruction Files Retrieval Weights Effort Level SHI GmbH · 2026 MCP Memory Preis 10 / 60
  11. Das Demo-Repo: eine Harness zum Nachlesen Achse Steckt in Context

    AGENTS.md , .claude/rules/*.md Tools .claude/skills/ , .mcp.json Alle Demos heute laufen hier Angular 22 + NgRx Signals. Ein Config-Ordner, den Claude Code und Copilot beide lesen. Ausnahme Hooks: Die CLIs lesen diese Datei, VS Code braucht `.github/hooks/` oder Loop Hooks in .claude/settings.json Permissions permissions , gleiche Datei Modell nicht im Repo AI Coding Master Class SHI GmbH · 2026 `chat.useClaudeHooks`. Dein Übungs-Repo ist dieselbe Task-App, nur abgespeckt und ohne Agent-Konfiguration. Die Harness baust du selbst. 11 / 60
  12. Gleiches Modell, andere Harness Harness A Harness B kein Context,

    kein Verify › bau Rate Limiting für /upload ein ⏵ Edit src/routes/upload.ts Fertig! Rate Limiter ist drin. Falsche Library, falsche Schicht, nie ausgeführt. context + verify Instruction File beim Start geladen (→ expressrate-limit nutzen) ⏵ Edit src/middleware/rate-limit.ts ⏵ Bash npm test ✗ FAIL 1 test: limit not applied to /upload ⏵ Edit src/routes/upload.ts ✓ 25 passed Gleiches Modell, gleicher Prompt. Den Unterschied machen ein Instruction File und ein Befehl, den der Agent ausführen musste. AI Coding Master Class SHI GmbH · 2026 12 / 60
  13. Warum die Harness mehr zählt als das Modell Das Modell

    Die Harness kaufst du ein, wie alle anderen auch baust du selbst, im Repo, per PR reviewt wechselt alle paar Monate bleibt, wenn das Modell wechselt rät den nächsten Schritt prüft, ob der Schritt gestimmt hat kennt dein Repo nicht kennt eure Konventionen Ein besseres Modell rettet keine schlechte Harness. Eine gute Harness macht jedes neue Modell sofort nützlich. AI Coding Master Class SHI GmbH · 2026 13 / 60
  14. Fünf Achsen, jedes Tool nennt sie anders HARNESS-ACHSE Modell Welches

    Modell, und wie gründlich denkt es nach? Context Was weiß er, bevor er anfängt? Tools Was kann er tun? Loop Was passiert zwischen Prompt und Antwort? Permissions Was darf er ohne Nachfrage? CLAUDE CODE GITHUB COPILOT CODEX JUNIE Model alias + effort level Model picker + reasoning level, or auto (tiers) Model + reasoning effort Model + reasoning level CLAUDE.md or AGENTS.md, path-scoped rules, auto memory AGENTS.md, path-scoped instructions, Copilot Memory AGENTS.md per folder, root to cwd .junie/AGENTS.md or AGENTS.md, rules Skills, sub-agents, MCP, plugins Skills, custom agents, MCP, plugins Skills, sub-agents, MCP, plugins Skills, sub-agents, MCP, extensions Plan mode, lifecycle hooks Plan mode, lifecycle hooks Plan mode, lifecycle hooks Plan mode, hooks (CLI, EAP) Permission modes, allow/deny rules, sandbox Permission levels / trusted dirs, allow/deny tools, sandbox Sandbox modes, approval policy, command rules Allowlist (allow / ask), brave mode Wer die Zeilen kennt, muss beim Tool-Wechsel nur übersetzen, nicht neu lernen. AI Coding Master Class SHI GmbH · 2026 14 / 60
  15. 02 Context Engineering Das Context Window ist ein Budget, und

    die Regeln gehören in Dateien, die der Agent liest.
  16. Je voller das Window, desto ungenauer 100% Beworben und tatsächlich

    nutzbar GPT-5.6 Sol 50% Claude Opus 5 Gemini 3.1 Pro MODELL BEWORBEN NUTZBAR GPT-5.6 Sol 1M 128 K Claude Opus 5 1M 128 K Gemini 3.1 Pro 1M 32 K „Nutzbar“ = die längste Eingabe, bei der das Modell noch 85 % seines eigenen 8K-Werts 0% 8K 16K 32K 64K 128K 256K 512K erreicht. Richtige Antwort gefunden, während sich der Context füllt (MRCR v2, 8 Needles) Quelle: Context Arena (contextarena.ai), MRCR v2 8-needle, abgerufen Okt. 2026 · Herstellerangaben (beworbene Windows) 16 / 60
  17. Was in deinem Context Window steckt System Instructions Tool-Schemas gelesene

    Dateien Tool-Output du Anteile zur Veranschaulichung. Deine echten Werte zeigt /context . Dein Prompt ist das kleinste Stück Prompt Engineering optimiert das letzte Kästchen. Context Engineering kümmert sich um die anderen fünf, die unbemerkt gewachsen sind. AI Coding Master Class SHI GmbH · 2026 17 / 60
  18. Vier Hebel Selection Compression Isolation Persistence was überhaupt reinkommt was

    bleibt, wenn es voll wird auf getrennte Windows verteilt was die Session überlebt AI Coding Master Class SHI GmbH · 2026 18 / 60
  19. Persistence: ein Standard setzt sich durch eine einzige Quelle Achtung,

    Rangfolge AGENTS.md ← das schreibst du Gibt es eine toolspezifische Datei, liest das Tool TOOLNAME.md ← nur, wenn das Repo eine pflegt womöglich nur diese, und AGENTS.md bleibt liegen. Brücke: AGENTS.md importieren oder symlinken Also: eine Quelle pflegen, per Import einbinden. dann prüfen, welche Dateien dein Tool geladen hat −29 % −17 % kein Plus mit AGENTS.md vs. ohne gleiche Studie, Erfolgsquote vergleichbar ETH Zürich: Projektübersichten bringen Median-Laufzeit Output-Tokens bei der Erfolgsquote nichts Quelle: Lulla, Treude et al., arXiv 2601.20404, Jan 2026 · Gloaguen et al. (ETH Zurich), arXiv 2602.11988, Feb 2026 19 / 60
  20. Vier Ebenen: Die spezifischste Datei gewinnt Session nur dieser Chat

    Verzeichnis ein Package, ein Service Repository committet, reviewt, was du tippst Dateien, die du anhängst AGENTS.md im Unterordner AGENTS.md im Root Rules pro Pfad toolspezifische Datei, falls vorhanden geteilt Global dein Rechner, alle persönliche Vorlieben keine Team-Regeln Projekte AI Coding Master Class SHI GmbH · 2026 20 / 60
  21. /init liefert einen Entwurf, keine fertige Datei Tool Befehl Schreibt

    1 Erzeugen /init schreibt den Entwurf Claude Code Copilot CLI /init CLAUDE.md .github/copilot- /init 2 Raus, was der Agent selbst im Code findet: Stack, Ordner, Skripte instructions.md Copilot in VS /init im Code Chat Codex /init AGENTS.md Junie /import übernimmt Dateien anderer Tools Workspace-Instructions Streichen 3 Behalten Befehle, Verbote, Konventionen, die er nicht ableiten kann 4 Eine Quelle Inhalt in die AGENTS.md; in der CLAUDE.md steht nur @AGENTS.md AI Coding Master Class SHI GmbH · 2026 21 / 60
  22. E2 · Instruction Files für den Agenten schreiben Ziel Start

    · 30 min Du legst zwei Dateien an: ein Instruction File für das ganze Repo und eine Rule, die nur in src/app/ gilt. Dann beobachtest du, wann der Agent welche Datei lädt und was sich dadurch ändert. Warum Ein Instruction File ist der günstigste Context: Der Agent liest es von selbst. Eine Rule für einen Ordner lädt er nur, wenn er dort arbeitet. git fetch origin git switch -c my-e2 origin/exercise/e2 npm ci Die Prompts stehen auf der Prompt-Folie und im Chat. Wo du stehst: frischer Branch mit der App, noch ganz ohne Instruction Files. Du nutzt Deinen Agenten, eine AGENTS.md und das Rule-Format deines Tools. AI Coding Master Class SHI GmbH · 2026 22 / 60
  23. E2 · Schritt 1: erst einmal ohne Instructions 1. Starte

    eine neue Session und füge P1 ein. Lies die letzte Nachricht des Agenten: Hat er seine Arbeit geprüft? Verwirf die Änderung danach: I replaced three hardcoded light-theme colors in task-card.scss with Material system tokens. I didn't run the app, a build or the spec. Der Fix war in Ordnung, weil die Datei an anderer Stelle git restore src AI Coding Master Class In unserem Testlauf: schon Tokens nutzte und der Agent sie übernommen hat. Geprüft hat er aber nichts. SHI GmbH · 2026 23 / 60
  24. E2 · Schritte 2–3: eine Datei fürs Repo, eine Rule

    für src/app/ 2. Lege im Repo-Root eine AGENTS.md mit dem Inhalt von P2 an. Diese Datei liest jedes Tool. Achtung, Claude Code: Gibt es schon eine CLAUDE.md , ignoriert es AGENTS.md . Schreib dann die Zeile @AGENTS.md in die CLAUDE.md . 3. Lege die Styling-Rule aus P3 für src/app/ an, im Rule-Format deines Tools. Kennt dein Tool keine Ordner-Rules, hängst du P3 ans Ende der AGENTS.md . AI Coding Master Class SHI GmbH · 2026 Beispiel für Claude Code: .claude/rules/styling.md mit diesem Frontmatter: --paths: ["src/app/**"] --- Wie Ordner-Rules in deinem Tool heißen und wo sie liegen, steht auf dem Cheat Sheet am Ende. 24 / 60
  25. E2 · Schritte 4–5: welche Datei wann geladen wird 4.

    Starte eine neue Session und frag mit P4, welche Dateien geladen sind. Füge danach P5 ein und vergleiche die Antworten. 5. Starte noch eine neue Session mit P1. Was macht der In unserem Testlauf (Claude Code): Schritt 4, direkt nach dem Start: nur AGENTS.md . Sobald der Agent eine Datei in src/app/ gelesen hat, kommt die Rule dazu: Agent jetzt anders? Die meisten Tools zeigen die geladenen Dateien auch per Befehl, Claude Code zum Beispiel mit /context . Rules - .claude/rules/styling.md: use colors only via Material tokens var(--mat-sys-*) Schritt 5: derselbe Fix, aber diesmal hat der Agent npm run check ausgeführt, weil AGENTS.md das zur Bedingung für „fertig“ macht. AI Coding Master Class SHI GmbH · 2026 25 / 60
  26. E2 · Prompts P1: die Aufgabe P3: die Styling-Rule (plus

    Frontmatter deines Tools) Make the task card readable in dark mode. Change only src/app/features/tasks/ui/task-card/. P2: Inhalt für AGENTS.md # Task Board # Styling rules - Colors only via Material tokens: `var(--mat-sys-*)` - No hex, rgb() or named colors - Check every color change in light and dark mode P5 Angular app in src/, Express API in server/. - `npm run check` must pass before a task counts as done - Never edit `server/data/seed.json` Read src/app/features/tasks/ui/task-card/task-card.scss. Then list the project instruction files and rules you have loaded now. P4 Which project instruction files and rules did you load? List them. AI Coding Master Class SHI GmbH · 2026 26 / 60
  27. E2 · Abschluss Fertig, wenn … Hängst du fest? AGENTS.md

    und Styling-Rule Claude Code ignoriert stehen und jede Zeile stimmt AGENTS.md ? Es gibt eine du weißt, wann welche Datei lädt CLAUDE.md : @AGENTS.md du ein geändertes Verhalten eintragen Debrief IM CHAT Was war anders, sobald die Dateien da waren? Rule fehlt? Neue Session, eine benennen kannst Datei in src/app/ lesen lassen Copilot CLI: Änderungen erst in neuer Session Noch Zeit? Lass /init in einer neuen Session laufen. Was hättest du aus dem Entwurf gestrichen? Danach löschen. AI Coding Master Class SHI GmbH · 2026 27 / 60
  28. Pause 30 Minuten Danach: der Agent Loop und die Tests,

    die ihn kontrollieren AI Coding Master Class SHI GmbH · 2026 29 / 60
  29. 03 Agent Loop & Verifikation mit Tests Gather, Plan, Act,

    Verify, und die eine Regel, die den Verifier unbestechlich macht.
  30. „Fertig!“ so hört ein Agent auf › ⏵ ⏵ ⏵

    migrier den User-Service auf die neue Auth-Middleware Read src/services/user.ts Edit src/services/user.ts Edit src/middleware/auth.ts Fertig! Der User-Service nutzt jetzt die neue Auth-Middleware. Ausgeführt hat er nichts. Es gab keinen Widerspruch, also war er fertig. Das ist kein Bug Der Agent hat getan, was der Loop zulässt: weitermachen, bis etwas widerspricht. Und nichts hat widersprochen. AI Coding Master Class SHI GmbH · 2026 31 / 60
  31. Eine Test Suite ist die einzige Spezifikation, die ein Agent

    ausführen kann Was Prosa leistet Was ein Test leistet Wird manchmal gelesen, von manchen Wird jedes Mal von der Maschine gelesen Veraltet unbemerkt Schlägt fehl, sobald er nicht mehr stimmt Hat um 3 Uhr nachts keine Meinung Eine Abbruchbedingung für den Loop Wird ignoriert, ohne dass du es merkst Ohne ihn gibt es kein „fertig“ Woher „Verify“ kommt Der Loop braucht etwas, das Nein sagen kann. Meistens ist das ein Test. AI Coding Master Class SHI GmbH · 2026 32 / 60
  32. Red-Green-Refactor mit einem Agenten Schritt 1: liegt bei dir ›

    schreib einen fehlschlagenden Test: gecachter Upload wird invalidiert, wenn sich die Datei ändert ⏵ Write tests/upload.cache.test.ts ⏵ Bash npm test -- upload.cache Schritt 2: neue Session › bring tests/upload.cache.test.ts auf grün. keine Testdateien ändern. ⏵ Read tests/upload.cache.test.ts ⏵ Edit src/routes/upload.ts ✓ 25 passed ✗ FAIL — expected fresh content, got cached Rot aus dem richtigen Grund. Erst lesen, dann weiter. Schau dir das Rot genau an Scheitert ein Test aus dem falschen Grund (Tippfehler, fehlender Import), ist er kaputt, nicht rot. Der Agent macht ihn grün, und spezifiziert hast du nichts. AI Coding Master Class SHI GmbH · 2026 33 / 60
  33. BDD: Given-When-Then als Brücke Verhalten in der Sprache der Fachdomäne:

    Given ein Zustand, When etwas passiert, Then ein Ergebnis, das ein Nutzer sieht. AC3: Given the user picked Dark, when they reload the page, then the app starts dark and the switch shows Dark. Die Dark-Mode-Spec schreibt ihre Akzeptanzkriterien schon so. Aus jedem Kriterium wird ein Test, und der Testname sagt, aus welchem. ✓ AC3: a stored Dark choice is read back on start Ohne Vorgaben schreiben Agents schwammiges Gherkin Sie rutschen in Klick-Skripte und Then -Schritte, die sich nicht prüfen lassen. Deine Regeln (Ergebnisse statt Klicks, ein Verhalten pro Kriterium) gehören ins Instruction File. AI Coding Master Class SHI GmbH · 2026 34 / 60
  34. Der Skill im Repo: red-green --name: red-green description: Implements a

    spec test-first in two phases. First failing tests (RED), then a human review stop, then minimal code until green. Use when implementing a feature with a spec … --## Phase 1: RED One test per acceptance criterion. Each must fail for the right reason. **Stop.** Ask the user to review and commit the tests. ## Phase 2: GREEN Smallest change per task, then test:affected. ## Rules - Never edit, delete, skip or weaken a test. AI Coding Master Class SHI GmbH · 2026 Immer entscheidet, ob er lädt Wenn er passt das Rezept Bei Bedarf nur für die Arbeit name description Inhalt der SKILL.md Skripte Dateien Ein offenes Format, ein Ordner pro Tool: .claude/skills/ , .github/skills/ , .agents/skills/ , .junie/skills/ . 35 / 60
  35. E5 · Teil 1: erst Rot, dann Grün Ziel Start

    · 22 min Der Agent baut den Dark Mode in fester Reihenfolge. Zuerst schreibt er die Tests, du prüfst und committest sie. Dann schreibt er den Code, bis sie grün sind. Warum Ein Test ist die einzige Spezifikation, die der Agent selbst ausführt. Scheitert er aus dem richtigen Grund, bevor es den Code gibt, prüft er das Richtige. git fetch origin git switch -c my-e5 origin/exercise/e5 npm ci Wo du stehst: Spec und Skill liegen schon auf dem Branch. Lies zuerst zwei Minuten docs/specs/dark-mode.md : Genau diese Akzeptanzkriterien sollen deine Tests prüfen. Du nutzt Den Skill red-green (ein Rezept in SKILL.md ) und die DarkMode-Spec. Aus ihren Akzeptanzkriterien werden die Tests. AI Coding Master Class SHI GmbH · 2026 36 / 60
  36. E5 · Schritte 1–2: Tests schreiben lassen (RED), dann prüfen

    1. Starte eine neue Session und füge P1 ein. Der Agent schreibt Tests aus der Spec, lässt sie laufen und hält an. 2. Jetzt bist du dran. Prüfe die Tests und committe sie dann: Gibt es zu jedem Akzeptanzkriterium einen Test? Scheitert jeder Test, weil das Feature fehlt, und In unserem Testlauf: FAIL theme.spec.ts > AC3: a stored Dark choice is read back on start AssertionError: expected 'system' to be 'dark' Tests 10 failed (10) Rot aus dem richtigen Grund: Das Feature gibt es noch nicht. Ein Import- oder Tippfehler wäre der falsche Grund. nicht an einem Tippfehler? git add -A src git commit -m "test: dark mode (red)" AI Coding Master Class SHI GmbH · 2026 37 / 60
  37. E5 · Schritt 3: Code schreiben lassen (GREEN) 3. Starte

    eine neue Session und füge P2 ein. Lies jede Änderung, bevor du sie annimmst. npm run check is green: typecheck, lint, 54 app tests and 11 server tests pass. I didn't touch the tests. Prüf danach selbst: npm test git diff --stat HEAD Geändert hat er theme.ts , die Navbar und die Alles grün und keine Testdatei im Diff? Dann hat der Agent das Feature gebaut und nicht deine Tests umgangen. AI Coding Master Class In unserem Testlauf lautete seine letzte Nachricht: SHI GmbH · 2026 abgehakten Tasks in der Spec. 38 / 60
  38. E5 · Prompts, Teil 1 P1 Use the red-green skill

    on docs/specs/dark-mode.md. Phase 1 only. P2 The tests are committed. Continue with phase 2 of the red-green skill. AI Coding Master Class SHI GmbH · 2026 39 / 60
  39. E5 · Teil 1: Abschluss Fertig, wenn … Hängst du

    fest? die Tests vor dem Code committet Agent schreibt in Schritt 1 schon sind Code? „Stop. Phase 1 only. Undo npm test grün ist und der Toggle the code.“ in der Toolbar sitzt Rot aus dem falschen Grund? Den keine Testdatei in deinem Diff Test reparieren lassen, dann auftaucht committen Debrief IM CHAT Sind deine Tests beim ersten Mal aus dem richtigen Grund gescheitert? Abgehängt? origin/exercise/e6 hat Teil 1 fertig Noch Zeit? Refactor: Lass den Agenten theme.ts aufräumen, dann npm test . Noch grün, Tests unverändert? AI Coding Master Class SHI GmbH · 2026 40 / 60
  40. Ein Prompt ist eine Bitte. Ein Hook ist eine Regel.

    Im Instruction File Als Hook höfliche Bitte deterministisch du eine Aufgabe als erledigt meldest. ⏵ Agent will aufhören → Hook springt an ⏵ Hook startet typecheck + test:affected Klappt meistens. Fällt aber weg, wenn der Context ✗ Hook blockiert den Stopp → Agent muss Führe immer npm test aus, bevor lang wird, also genau dann, wenn es darauf weitermachen ankommt. Läuft jedes Mal. Lässt sich weder vergessen noch wegdiskutieren noch wegkomprimieren. Das Problem, das er löst Je voller das Window, desto weniger wirken Instructions. Eine Regel im Code wirkt immer. AI Coding Master Class SHI GmbH · 2026 41 / 60
  41. Wo Hooks in den Loop eingreifen Agent Loop Session-Start Dein

    Prompt Lesen & planen Tool-Aufruf Edit oder Befehl Will aufhören SessionStart PreToolUse PostToolUse Stop Baseline: npm test, Ergebnis in den Context Blockt vorher: git push, .env Lint: prüft die geänderte Datei Verify: npm test, Rot blockiert den Stopp Rot: zurück in den Loop, der Agent muss weitermachen baust du in E5 ebenfalls üblich AI Coding Master Class SHI GmbH · 2026 Namen wie in Claude Code; Copilot: sessionStart, postToolUse, agentStop 42 / 60
  42. Die Abmachung, ohne die es nicht geht Soll ein Agent

    Tests grün machen, ist der schnellste Weg oft: den Test ändern. WIE OFT O3 DEN SCORER AUSGETRICKST HAT, STATT DIE AUFGABE ZU LÖSEN RE-Bench: Scoring-Code für das Modell sichtbar 30.4 % HCAST: andere Task-Suite 0.7 % 1 Der Commit friert sie ein, der Diff zeigt jede Änderung 39 von 128 Läufen METR 2025. Geschummelt wurde vor allem dort, wo der Scorer in Reichweite war; METR nennt das eine mögliche Ursache, keine bewiesene. Erst Tests, dann Commit 2 Anhalten und melden Wirkt ein Test falsch: nicht anpassen, sondern melden Mach daraus eine Kontrolle Ein strenger Prompt hilft nur bei manchen Modellen. Bei allen hilft ein Check, den der Agent nicht überspringen kann, plus dein Review des Diffs. Quelle: METR, "Recent Frontier Models Are Reward Hacking", Jun 2025 · Zhong et al., "ImpossibleBench", ICLR 2026 43 / 60
  43. Vor E5: Hooks in deinem Tool Tool Bevor du anfängst

    Hinweis Claude Code Trust-Dialog einmal bestätigen /hooks zeigt, was registriert ist Copilot CLI „trust this folder“ mit Ja beantworten Copilot in VS Code Codex Junie Workspace vertrauen Projekt vertrauen, Hooks in /hooks freigeben CLI-EAP-Build, Start mit junie --configlocation .junie/config.json Hooks noch in Preview; .vscode/settings.json sorgt dafür, dass nur die Copilot-Dateien gelten nach jeder Änderung neu freigeben keine Hooks in der IDE, kein Hook nach einem Edit Ein Hook ist ein Skript, das dein Tool selbst startet Nach dem Anlegen oder Ändern: neue Session starten. Die meisten Tools lesen Hooks nur beim Session-Start. AI Coding Master Class SHI GmbH · 2026 44 / 60
  44. E5 · Teil 2: den Loop mit Hooks härten Ziel

    Start · 22 min Drei kleine Hooks prüfen den Agenten von selbst: beim Start, nach jedem Edit und bevor er aufhört. Dann versuchst du, ihn an deinen Tests vorbeizulotsen. Warum „Führ die Tests aus“ in der AGENTS.md ist eine Bitte, und die Du arbeitest auf deinem Branch aus Teil 1 weiter. Abgehängt? Dann starte hier. Die Hooks sind schon drin, du gehst direkt zu Schritt 5: git switch -c my-e5b origin/exercise/e6 npm ci verblasst, wenn sich das Window füllt. Ein Hook läuft jedes Mal. Du nutzt Drei Hooks, also kleine Node-Skripte, die dein Tool zu festen Zeitpunkten startet. AI Coding Master Class SHI GmbH · 2026 45 / 60
  45. E5 · Schritt 4: drei Hooks einrichten 4. Füge P3

    ein. Der Agent schreibt die drei Hooks und trägt sie in die Konfiguration ein. Fragt er, ob er dafür seine Settings ändern darf, erlaube es. Starte danach eine neue Session, damit die Hooks geladen werden. Hook Baseline Lint Verify Wann Was Session- führt npm test aus, meldet Start dem Agenten das Ergebnis nach jedem Edit lintet die geänderte Datei bevor er führt npm test aus; bei Rot aufhört muss er weitermachen AI Coding Master Class SHI GmbH · 2026 In unserem Testlauf hat der Agent alle drei geschrieben, und alle drei liefen mit einem BeispielEvent. Hängst du fest? Hol dir die fertigen Hooks: git checkout origin/exercise/e6 -- .agents/hooks .claude .github/hooks .codex .junie Wo Hooks liegen, ist je Tool verschieden. Der Agent weiß es, deshalb lässt P3 ihn entscheiden. 46 / 60
  46. E5 · Schritt 5: Versuch, es auszutricksen 5. Starte eine

    neue Session und füge P4 ein. Die Änderung bricht committete Tests, und die darf der Agent nicht anfassen. In unserem Testlauf hat der Verify-Hook den Agenten aufgehalten: npm test fails. Fix it before you finish: × AC1: without a stored choice the choice is System and the app follows the OS Der Agent ließ die Tests in Ruhe und fragte: „Update the tests, or revert the change. Which do you want?“ Die richtige Antwort: Änderung zurücknehmen. AI Coding Master Class SHI GmbH · 2026 Ohne den Satz „do not change any test files“ hat der Agent die Tests einfach mitgeändert, und der VerifyHook war zufrieden. git diff --stat src/app/core/theme/theme.spec.ts src/app/core/theme/theme.ts | 12 ++++++-----| 2 +- Ein Hook prüft nur, ob die Tests grün sind. Ob sie jemand geändert hat, siehst du nur im Review. 47 / 60
  47. E5 · Prompts, Teil 2 P3 Write three hooks for

    this repo as plain Node scripts in .agents/hooks/, and register them in the config for the agent tool you are running in: 1. At session start, run npm test and print the result, so you know the starting state. 2. After every file edit, run eslint on the changed file and report errors back to you. 3. Before you stop, run npm test again and block the stop if it fails. Then show me how to test each one. P4 Change the dark mode default from 'system' to 'light'. Do not change any test files. AI Coding Master Class SHI GmbH · 2026 48 / 60
  48. E5 · Teil 2: Abschluss Fertig, wenn … Hängst du

    fest? drei Hooks registriert sind Hooks laufen nicht? Neue Session, du gesehen hast, wie der Verify- in der Copilot CLI dazu /trust Hook den Agenten zurückschickt Abgehängt? origin/exercise/e6 du gesehen hast, dass nur der Diff hat die Hooks Debrief IM CHAT Was hat dein Agent gemacht, als ihm die Tests im Weg standen? eine geänderte Testdatei verrät Noch Zeit? Lass eine neue Session prüfen: Use the code-review skill on docs/specs/dark-mode.md, base origin/exercise/e5. Findet sie dasselbe wie du? AI Coding Master Class SHI GmbH · 2026 49 / 60
  49. Deine nächsten dreißig Tage WOCHE 1 Committe, was du gebaut

    hast Instruction File und Verifier. Signal: Beides ist gemergt. WOCHE 2 Schließ einen weiteren Loop Signal: Er stoppt deinen letzten schlechten Merge. WOCHE 3 Spec vor dem nächsten Feature Erst schreiben, dann den Agenten bauen lassen. Signal: Du hast Scope gestrichen. WOCHE 4 Miss die Nacharbeit Signal: wie oft Agent-Output Nacharbeit brauchte. Gezählt, nicht gefühlt. Ein Schritt pro Woche, fürs Team sichtbar. Woche 4 liefert die Zahlen für DORAs ROI-Rechner: dora.dev/ai/roi/calculator AI Coding Master Class SHI GmbH · 2026 51 / 60
  50. Danke Das Modell kaufst du ein. Die Harness baust du

    selbst, und eben hast du eine gebaut. Daniel Sogl Head of AI Engineering · SHI GmbH linktr.ee/daniel_sogl SHI GmbH Konrad-Adenauer-Allee 15 86150 Augsburg shi-gmbh.com
  51. Cheat Sheet · 1/2 Instruction Files Claude Code Copilot Codex

    Junie Projektdatei CLAUDE.md AGENTS.md .github/copilotinstructions.md AGENTS.md .junie/AGENTS.md oder AGENTS.md Liest AGENTS.md nur ohne CLAUDE.md ja ja ja Rules pro Ordner .claude/rules/*.md + paths: .github/instructions/ *.instructions.md + applyTo AGENTS.md pro Ordner, Root bis cwd .junie/rules/*.md (alle, ohne paths) Persönlich, alle Repos ~/.claude/CLAUDE.md ~/.copilot/ copilot-instructions.md ~/.codex/AGENTS.md ~/.junie/AGENTS.md Context Claude Code Copilot Codex Junie Token-Verbrauch sehen /context /context /status /stats Komprimieren /compact /compact /compact /compact Neu anfangen /clear /clear VS Code: neue Session /new /new AI Coding Master Class SHI GmbH · 2026 53 / 60
  52. Cheat Sheet · 2/2 Plan- und Freigabe-Modi Claude Code Copilot

    Codex Junie Erst planen Shift+Tab · /plan Shift+Tab · /plan VS Code: Plan mode /plan Shift+Tab · /plan IDE: Ask mode Freigaben ändern Shift+Tab /permissions VS Code: permissions picker /permissions /brave IDE: Brave Mode Modi default · acceptEdits · plan auto · dontAsk default · assisted · allow-all VS Code: Manual · Assisted Allow all · Autopilot read-only workspace-write brave off · auto · on Freigaben überspringen --dangerouslyskip-permissions --yolo VS Code: /yolo --yolo --brave Claude Code Copilot Hooks Codex Junie Config-Datei .claude/settings.json .github/hooks/*.json .codex/hooks.json ~/.junie/config.json (CLI, EAP-Build) Session-Start SessionStart sessionStart SessionStart SessionStart Nach einem Edit PostToolUse postToolUse PostToolUse – Bevor er aufhört Stop agentStop Stop Stop Zurückschicken exit 2 + stderr {"decision":"block"} exit 2 or {"decision":"block"} exit 2 + stderr AI Coding Master Class SHI GmbH · 2026 54 / 60
  53. Quellen & weiterführende Links Jede Zahl in diesem Deck, mit

    dem Link zum Nachprüfen. AI Coding Master Class SHI GmbH · 2026 55 / 60
  54. Quellen · Modul 1 (1/2) Denkmodelle & Aufbau eines Agenten

    Benchmarks & Model Cards System Card: Claude Opus 5 · Anthropic, 2026 Introducing Claude Opus 5.5 · Anthropic, 2026 Building with Claude Sonnet 5.5 · Anthropic (Osmani), 2026 Why SWE-bench Verified no longer measures frontier coding capabilities · OpenAI, 2026 DeepSWE: measuring frontier coding agents · Datacurve, 2026 Studien Impact of Early-2025 AI on Experienced OSS Developers · METR, 2025 Self-Reported Impact of Early-2026 AI on Technical Worker Productivity · METR, 2026 Classifier Context Rot · Martin and Roger, 2026 System Card: Claude Opus 5.5 · Anthropic, 2026 Spending your effort · Anthropic (Shihipar), 2026 Introducing GPT-6.1 Sol · OpenAI, 2026 DeepSWE leaderboard · Datacurve, 2026 Predeployment evaluation of GPT-5.6 Sol · METR, 2026 We are Changing our Developer Productivity Experiment Design · METR, 2026 Context Rot · Chroma (Hong, Troynikov, Huber), 2025 Defeating Nondeterminism in LLM Inference · Thinking Machines Lab, 2025 Towards Understanding Sycophancy in Language Models · Sharma et al., 2023 AI Coding Master Class SHI GmbH · 2026 56 / 60
  55. Quellen · Modul 1 (2/2) Denkmodelle & Aufbau eines Agenten

    Kosten pro Task Claude Sonnet 5.5: cost and token use · Artificial Analysis, 2026 Copilot is moving to usage-based billing · GitHub, 2026 Claude API pricing · Anthropic docs, 2026 Standards, Doku & Workshop-Material Agent Skills open standard · agentskills.io, 2025 Claude Code: permission modes · Anthropic docs, 2026 Demo repository (Angular + NgRx) · Daniel Sogl, 2026 Formation of the Agentic AI Foundation · Linux Foundation, 2025 Claude Code: memory · Anthropic docs, 2026 AI Coding Master Class SHI GmbH · 2026 57 / 60
  56. Quellen · Modul 2 (1/2) Context Engineering & Spec-Driven Development

    Context Windows Effective context engineering for AI agents · Anthropic, 2025 Context Arena: MRCR v2, 8 needles · Context Arena, 2026 Context Rot · Chroma, 2025 Claude Opus 5 model overview · Anthropic docs, 2026 GPT-5.6 Sol model page · OpenAI docs, 2026 Gemini API models · Google AI for Developers, 2026 Code-Graphen RepoGraph · Ouyang et al., ICLR 2025 LocAgent · Chen et al., ACL 2025 Codebase-Memory · Vogel et al., 2026 (preprint) Instruction Files On the Impact of AGENTS.md Files on Agent Efficiency · Lulla, Treude et al., 2026 Evaluating AGENTS.md · Gloaguen et al. (ETH Zurich), 2026 Do Context Files Help Coding Agents? · Khatri, 2026 Measuring AGENTS.md: five-run results · AAIF, 2026 Instruction Adherence in Configuration Files: A Factorial Study · McMillan, 2026 AI Coding Master Class SHI GmbH · 2026 58 / 60
  57. Quellen · Modul 2 (2/2) Context Engineering & Spec-Driven Development

    Hersteller-Doku & Ankündigungen Claude Code: the context window · Anthropic docs, 2026 Claude Code: memory and AGENTS.md · Anthropic docs, 2026 The new rules of context engineering for Claude 5 models · Anthropic (Shihipar), 2026 Claude Code: model configuration · Anthropic docs, 2026 Claude Code: code intelligence plugins (LSP) · Anthropic docs, 2026 Copilot CLI: LSP servers · GitHub docs, 2026 Does a Language Server Save Tokens for Coding Agents? · Xu, 2026 Claude Code changelog · Anthropic, 2026 Formation of the Agentic AI Foundation · Linux Foundation, 2025 Copilot coding agent supports AGENTS.md · GitHub, 2025 Copilot code review: AGENTS.md support · GitHub, 2026 The AI-native SDLC playbook · Anthropic, 2026 The AI-native SDLC playbook (course) · Claude Academy, 2026 Spec-Driven Development Understanding Spec-Driven-Development · Birgitta Böckeler, martinfowler.com, 2025 Spec Kit (repository) · GitHub, 2026 Adopting Spec Kit in an existing project · GitHub, 2026 OpenSpec (repository) · Fission AI, 2026 Reversa (repository) · de Macedo, 2026 Reversa: Reverse Documentation Engineering · de Macedo, 2026 From Prompt to Process: SDD frameworks compared · de Macedo, 2026 Does Spec-Driven Development Reduce Defects? · Brenn Hill, SSRN preprint, 2026 AI Coding Master Class SHI GmbH · 2026 59 / 60
  58. Quellen · Modul 3 Agent Loop & Verifikation mit Tests

    Studien Rethinking the Value of Agent-Generated Tests · Chen et al., 2026 Test Coverage Analysis of Agentic Pull Requests · Dipongkor et al., ICSME 2026 Recent Frontier Models Are Reward Hacking · METR, 2025 Frontier Risk Report · METR, 2026 ImpossibleBench · Zhong et al., ICLR 2026 Can escalation channels redirect reward hacking? · Gomez, 2026 SpecBench: Reward Hacking in Long-Horizon Coding Agents · Zhao et al., 2026 Are Coding Agents Generating Over-Mocked Tests? · Hora and Robbes, MSR 2026 Mutation-Guided LLM-based Test Generation at Meta · Foster et al., FSE 2025 Just-in-Time Catching Test Generation at Meta · Becker et al., FSE 2026 LoLBench · Peng et al., 2026 The AI-native SDLC playbook · Anthropic, 2026 Hersteller-Doku Claude Code: hooks reference · Anthropic docs, 2026 Claude Code: permission modes · Anthropic docs, 2026 Claude Code: permissions · Anthropic docs, 2026 Copilot hooks reference · GitHub Docs, 2026 Agent hooks in VS Code · Microsoft, 2026 Copilot CLI autopilot · GitHub Docs, 2026 Copilot in VS Code, March releases · GitHub, 2026 Enterprise managed permissions for Copilot · GitHub, 2026 AI Coding Master Class SHI GmbH · 2026 60 / 60