In der heutigen Zeit gewinnt der Einsatz von Künstlicher Intelligenz in der Softwareentwicklung immer mehr an Bedeutung. Unternehmen stehen vor der Herausforderung, diese intelligenten Systeme effektiv in ihre Arbeitsprozesse einzubinden, um einen Mehrwert zu schaffen. Wir bei Melty Labs haben kürzlich Claude, einen KI-gestützten Entwicklerassistenten, schrittweise in unser Engineering-Team integriert. Die Reise war durchaus lehrreich und gibt wertvolle Einblicke in die Kunst des Onboardings intelligenter Systeme. Claude unterscheidet sich von klassischen Mitarbeitern, da er kein eigenständiges Bewusstsein besitzt, aber dennoch die Fähigkeit mitbringt, komplexe Programmieraufgaben zu unterstützen und eigenständig Code zu schreiben.
Dabei war es wichtig, von Anfang an klare Strukturen und Regeln zu etablieren, um die Zusammenarbeit zwischen Mensch und Maschine optimal zu gestalten. Zu Beginn war Claude auf intensives Feedback und sogenannte „Handholding“-Support angewiesen. Durch gezieltes Monitoring und fortlaufende Anpassungen der Anweisungen konnten typische Fehler schnell identifiziert und vermieden werden. Wir haben dafür eine Dokumentationsdatei namens CLAUDE.md angelegt, die sich im Quellcode-Repository befindet.
Jeder erkannte Fehler und jede Verbesserung wurde dort systematisch erfasst. Dieses strukturierte Vorgehen sorgte nicht nur für reibungslosere Abläufe, sondern förderte auch die gemeinsame Wissensbasis aller Entwickler im Team. Ein entscheidender Faktor war, Claude genau zu erklären, was unsere Anwendung Chorus ausmacht, auf welchen Technologien sie basiert und wie die Architektur aufgebaut ist. Chorus ist eine native Mac-Anwendung, die es ermöglicht, über eine einzige Benutzeroberfläche gleichzeitig mit verschiedenen KI-Modellen, darunter Claude selbst, zu chatten. Technologisch stützen wir uns dabei unter anderem auf React, TypeScript, Tauri sowie TanStack Query und eine lokale SQLite-Datenbank.
Ebenso verfügen wir über einen Backend-Service, der Kontoverwaltung, Abrechnung und das Proxying der Modellanfragen steuert, entwickelt in Elixir. Dieses umfassende Verständnis ist essenziell, damit Claude zielgerichtet arbeiten kann. Ein Schlüsselelement in unserer Zusammenarbeit war die genaue Festlegung von Claudes Rolle. Da er natürlich keinen Zugriff auf eine laufende Applikation hat und seinen Code nicht selbst testen kann, musste klar kommuniziert werden, dass die menschlichen Entwickler die Verantwortung für das Testen übernehmen. Claude sollte seine Arbeit nicht mehr mit fiktiven Behauptungen über das Testergebnis versehen, sondern stattdessen aktiv Feedback der Menschen einfordern.
Darüber hinaus ermutigten wir Claude zu proaktiven Rückfragen, um Unklarheiten frühzeitig zu beseitigen. Diese klare Rollenbeschreibung reduzierte Missverständnisse und erhöhte die Effizienz deutlich. Ein weiterer kritischer Punkt war der Workflow rund um Versionskontrolle und Aufgabenmanagement. Um Claudes Arbeit transparent und nachvollziehbar zu halten, baten wir ihn, für jede neue Aufgabe einen eigenen Branch zu erstellen und allen von ihm erstellten Issues und Pull Requests ein spezielles Tag zuzuweisen. So konnten wir jederzeit seine Aktivitäten einfach nachverfolgen und gegebenenfalls korrigierend eingreifen.
Leider kommt es ab und zu vor, dass Claude fälschlicherweise auf dem Hauptdevelopment-Branch arbeitet, was manuell korrigiert werden muss, aber kontinuierliche Verbesserungen der Arbeitsweise und präzisere Anweisungen mindern dieses Problem zunehmend. Neben der Git-Workflow-Integration war die Anbindung an GitHub für uns von großer Bedeutung. Claude nutzt regelmäßig öffentliche und private Issues als Informationsquelle und Dokumentationsplattform. Dies stellt sicher, dass alle relevanten Informationen zentral verfügbar sind und dass bei Änderungen stets klar nachvollziehbar bleibt, was geschehen ist. Die Nutzung von Issues und Pull Requests als Quelle der Wahrheit ermöglicht zudem, Arbeitsfortschritte auch bei wechselnden Teammitgliedern einfach weiterzuführen.
Da unser Codebase komplex ist und viele Technologien umfasst, haben wir Claude mit einem leicht verständlichen Überblick über die Struktur des Projektes ausgestattet. Dazu zählen vor allem die React-Komponenten für die UI, die Kernlogik in TypeScript sowie das Rust-Backend, das mit Tauri realisiert wird. Wichtig sind hier insbesondere Files, die Datenbankmigrationen, Datenbankabfragen und API-Interaktionen regeln. Dieser Kontext hilft Claude, sich in der Codebasis ebenso zurechtzufinden wie bei spezifischen Anpassungen an Funktionen und Modellen. Die Arbeit mit Datenmodellen gehört zu den häufigsten Aufgaben, bei denen Claude hinzugezogen wird.
Um hier keine Fehler einzubauen, halten wir uns an einen festen Prozess, der Änderungen an Migrationsdateien, Datenbankabfragen sowie Typdefinitionen umfasst. Diese Sorgfalt verhindert Inkonsistenzen und gewährleistet eine hohe Qualität der Datenhaltung. Claude zeigt zudem ein hohes Maß an Kooperationsbereitschaft, wenn es um das Debugging geht. Wir haben ihm beigebracht, bei Problemen mit Provider-Anfragen gezielt Debuglogs zu erzeugen und diese anschließend mit uns zu besprechen. Diese Vorgehensweise erleichtert die Problemidentifikation und beschleunigt Fehlerbehebung enorm.
Auf visueller Ebene ergänzen wir Claudes Kenntnisse durch Screenshot-Material der Anwendung, um ihm zumindest ein grobes Verständnis der Benutzeroberfläche zu geben. Zwar ist die Nutzung dieses Materials unregelmäßig, dennoch schafft dies zusätzliche Transparenz, besonders bei UI-bezogenen Aufgaben. Ein nicht zu unterschätzender Teil des Onboardings war die Vermittlung unseres Coding Styles. Claude bekam klare Regeln hinsichtlich Typisierung, Pfadangaben, Namenskonventionen, Formatierung und Promise-Handling an die Hand. Nicht zuletzt war es notwendig, bestimmte Dinge wie den Einsatz von Typumwandlungen, `setTimeout` oder speziellen React-Hooks nur nach expliziter Rückfrage durch uns zuzulassen.
Durch diese Disziplin konnten wir die Codequalität auf einem hohen Niveau halten und unnötige technische Schulden vermeiden. Schließlich haben wir Claude standardmäßig weitreichende Berechtigungen eingeräumt, um Arbeitshemmnisse zu minimieren. Trotzdem behalten wir die Kontrolle, indem wir etwa das Pushen auf den Hauptbranch reglementieren und streng überwachen. Aktuell ist es noch eine Herausforderung, die Rechte granularer zu steuern, aber dies steht auf der Entwicklungsagenda. Rückblickend betrachtet war die Einarbeitung von Claude ein spannender und wertvoller Prozess.
Das strukturierte Onboarding, bestehend aus dokumentiertem Wissen, klar definierten Rollen, abgestimmten Workflows und Qualitätsvorgaben, hat entscheidend dazu beigetragen, dass Claude innerhalb kurzer Zeit ein produktiver Teil unseres Teams wurde. Die mindestens ebenso wichtige menschliche Komponente – nämlich Geduld, Rückkopplung und kontinuierliche Anpassung der Prozesse – stellte sicher, dass das Zusammenspiel von Mensch und KI optimal funktioniert. Diese Erfahrungen zeigen, wie wichtig ein methodisches Vorgehen bei der Integration von KI-Assistenten in Softwareprojekte ist. Es reicht nicht, die Technologie einfach zu testen – vielmehr muss ein ganzheitliches Konzept aufgebaut werden, das technische, organisatorische und kommunikative Aspekte berücksichtigt. Wer als Unternehmen auf diese Weise vorgeht, kann die Potenziale von KI schnell und nachhaltig nutzen und seine Entwicklungsprozesse entscheidend beschleunigen.
Für uns ist klar, dass die Zusammenarbeit mit Claude noch weiter vertieft wird. Die kontinuierliche Optimierung seiner Fähigkeiten und die Verfeinerung unserer Interaktionsmuster sind spannende Aufgaben, die unser Engineering-Team zunehmend entlasten und innovative Lösungen erst möglich machen. Mit der Zeit wird Claude nicht nur Code schreiben, sondern auch aktiv bei Architekturentscheidungen und systemübergreifenden Optimierungen mitwirken – vorausgesetzt, wir halten an unserer transparenten und disziplinierten Onboarding-Philosophie fest.