Direkt zum Inhalt

Softwareentwicklung mit Devin: Einrichtung und erster Pull Request (Teil 1)

Entdecke, wie Devin dir bei deinen Codierungsaufgaben helfen kann. In diesem ersten Tutorial beginnen wir mit einem bestehenden Repo und erkunden die Funktionen, die in der Devin-Umgebung verfügbar sind.
Aktualisierte 26. Juni 2025  · 12 Min. Lesezeit

Ich glaube, wir haben alle schon von Devin gehört, dem "KI-Junior-Software-Ingenieur", der angeblich dein Repo klont, neue Funktionen hinzufügt, die Tests durchführt und einen Pull-Request öffnet, bevor du deinen Morgenkaffee getrunken hast.

Wie bei allen KI-Produkten heutzutage ist es schwer zu sagen, wie gut es ist, wenn man es nicht selbst ausprobiert hat, also beschloss ich, genau das zu tun. Ich habe Devin durch alle Phasen des Lebenszyklus der Softwareentwicklung geführt und eine Reihe von vier Tutorials geschrieben, in der Hoffnung, dass sie anderen Entwicklern dabei helfen, das Beste aus ihm herauszuholen.

Du kannst alle Tutorials der Devin-Serie hier aufrufen:

  1. Einrichtung und erster Pull Request (Teil 1)
  2. Eine vertikale Scheibe mit Devin verschiffen (Teil 2) 
  3. Integration, Tests und CI/CD (Teil 3) 
  4. Sicherheit, Einsatz, Wartung (Teil 4)

Wenn dein GitHub-Profil ein "Friedhof" vergessener Repositories ist, bist du in guter Gesellschaft. Meiner ist voll mit halbfertigen Experimenten. In den nächsten vier Tutorials wird Devin an meinem verlassenen fp-ts-Übungsrepository arbeiten und die Klon-und-Run-Übungen vom letzten Jahr in eine moderne, browserbasierte Lernplattform verwandeln.

Erlaube mir, dir ganz kurz meinen Plan für die vier Tutorials zu erklären, und dann kommen wir zum praktischen Teil der Serie.

Was wir in dieser Tutorial-Serie behandeln werden

Wir werden ein Nebenprojekt von meinem eigenen GitHub-Friedhof wiederbeleben, weil Devin am besten funktioniert, wenn es echten Code, echte Tests und ein bisschen Geschichte zum Nachdenken hat, und nicht ein leeres Repo.

Das Projekt ist fp-ts-Übungeneine Sammlung von kleinen Aufgaben, die funktionale Programmierkonzepte (wie Option, Either usw.) in TypeScript vermitteln sollen. Im Moment ist es ein Clone-and-Run-Repo: Lernende ziehen es herunter, bearbeiten Dateien lokal und führen die Tests in ihrem eigenen Terminal aus.

Mein Ziel ist es, diese Übungen in eine browserbasierte, interaktive Spielwiese zu verwandeln, auf der die Leute eine Erklärung lesen, den Code in einem In-Page-Editor bearbeiten und sofort sehen können, ob die Tests erfolgreich sind (oder nicht). Die Lernenden haben außerdem die Möglichkeit, sich einzuloggen und ihren Fortschritt zu speichern.

Hinweis: Ich habe das Repo mit Devin aktualisiert, als ich diese Tutorials geschrieben habe. Der Link oben zeigt den Stand des Codes im April 2023, bevor ich das Projekt eingestellt habe. Den aktuellen Code findest du hier.

Hier ist der Plan für unsere vier Teile:

  1. Teil 1 - Einrichtung und erster Pull Request
    • Melde dich für Devin an, verbinde dich mit GitHub.
    • Lass Devin das Repo aufräumen: Verschiebe die Abhängigkeiten, erstelle neue Lint-Regeln und Skripte und eröffne den ersten PR.
  2. Teil 2 - Versandmerkmale
    • Verwende Devin, um die neue Browser-UI und API zu planen.
    • Erstelle Seiten, richte eine Datenbank und Geheimnisse ein und lass Devin Feature-PRs öffnen.
  3. Teil 3 - Integration, Tests und CI/CD
    • Führe Vitest/Playwright-Tests ein und lass Devin sie grün halten.
    • Erstelle eine GitHub Actions Pipeline, hänge Tickets an Jira und verbinde Devin mit Slack. 
    • Entdecke die Wiki-Funktion.
  4. Teil 4 - Sicherheit, Einsatz und Wartung
    • Wir fügen die Authentifizierung hinzu, stellen unsere App bereit und verkabeln Sentry zur Fehlerüberwachung.

Am Ende sollte das alte CLI-Repo eine ausgefeilte Web-App sein!

Bevor wir mit dem praktischen Teil beginnen, wollen wir Devin eine allgemeine Präsentation geben. Wenn du bereits weißt, was Devin ist und wie es funktioniert, kannst du gerne zum Abschnitt über die Einrichtung springen.

Was ist Devin?

Devin ist ein in der Cloud gehosteter, völlig autonomer Kodieragent, der von Cognition entwickelt wurde. Wenn du es in ein Projektarchiv einfügst, öffnet es eine Shell, einen Editor und einen Browser in einer Sandbox und plant und führt Aufgaben aus, ohne deinen lokalen Rechner zu berühren.

Es startete im März 2024, mit Cognition's Blog-Post erklärt, dass Devin 13,86 % der realen GitHub-Probleme im SWE-Bench Benchmark geschlossen hat und damit den bisherigen SOTA von 1,96 % in den Schatten stellt. Praktisch bedeutet das, dass es bei einer sorgfältig ausgewählten Teilmenge (570 Probleme) 79 Fehler aus beliebten Projekten wie Django und scikit-learn ohne menschliche Hilfe behoben hat.

Das ist beeindruckend, aber es handelt sich dabei um Benchmark-Code (der aus engen, gut definierten Fehlern mit Test-Suites besteht), so dass die reale Laufleistung variiert. Auf jeden Fall sagen einige, dass er so gut funktioniert wie ein Junior Dev.

Devin Anwendungsfälle

Devin ist ein toller Partner, wenn du etwas umsetzen willst:

  • Inkrementelle Repo-Upgrades: Es kann die Tests ausführen, Abhängigkeiten verschieben und Fehler iterativ beheben, was für Aufgaben wie "dieses Node 14-Projekt auf Node 20 bringen" großartig ist.
  • Gut durchdachte Feature-Tickets: Wenn du ein GitHub-Problem oder ein Jira-Ticket mit klaren Akzeptanzkriterien hast, ist Devins Plan-Edit-Test-Schleife ziemlich gut.
  • Nicht-codierende Aufgaben: Dokumente neu zu generieren, CI-Vorlagen zu verdrahten oder Dateien massenweise zu formatieren, mag für Menschen langweilig sein, aber für einen Agenten sind sie perfekt.

Devins Stärken und Grenzen

Allerdings ist Devin nicht sehr gut geeignet für:

  • Architektur auf der grünen Wiese: Es ist schwierig, wenn du einfach sagst: "Bau mir eine SaaS-Plattform von Grund auf". Er braucht Gerüste und kommt besser zurecht, wenn er mehr Kontext erhält.
  • Zweideutige Produktentscheidungen: Bitte ihn, zwischen Stripe und Stripe zu wählen. Paddle für Zahlungen, und es kann sein, dass es zufällig ausgewählt wird.
  • Massives Monorepos: Aufgrund von Kontextbeschränkungen müssen Dateien ein- und ausgelagert werden, und die Leistung sinkt bei Arbeitsbereichen mit 100 k Zeilen.

Wie funktioniert Devin?

Alle modernen Kodieragenten, auch Devin, laufen in einer Schleife, die den Kontrollzyklus eines Roboters widerspiegelt:

Bühne

Was Devin "sieht"

Schlüsseltechnologien

Wahrnehmen

Liest Codedateien, Testprotokolle, Terminalausgaben, Browser-DOM

Code-Indexer, Log-Parser

Erkennen / Planen

Unterteilt die Eingabeaufforderung in eine Aufgabenliste, Gründe für die Bestellung und die Werkzeugausstattung

LLM-basierter Planer mit abruferweitertem Speicher

Gesetz

Führt Shell-Befehle aus, bearbeitet Dateien, klickt auf Web-UIs

Sichere Sandbox (Docker/VM) mit Shell/Editor/Browser-Tools

Nachdenken / Lernen

Führt Tests erneut durch, prüft Diffs, aktualisiert den Plan (oder fragt dich)

Selbstkritische Aufforderung + Vektorspeicher

Bestehen

Speichert die Zeitleiste und Artefakte zur Wiederholung oder Übergabe

Cloud Objektspeicher + Timeline UI

wie devin arbeitet

Devin besteht aus einer Reihe von zusammenarbeitenden Modulen:

  • Alles beginnt mit der Chat-Schnittstelle oder dem Slack-Bot/Jira-Ticket, wo du das Ziel in Form einer Aufforderung angibst.
  • Die Aufforderung wird an einen Planer LLM weitergegeben, der das Ziel in einen Schritt-für-Schritt-Plan umsetzt und jeden Schritt vor der Ausführung selbstkritisch bewertet.
  • Ein leichtgewichtiger Executor wählt dann für jeden Schritt das richtige Tool aus (Shell, Code-Editor oder Headless-Browser), und das alles innerhalb eines eng begrenzten Arbeitsbereichs.
    • Diese Sandbox ist quasi ein Cloud-Laptop und isoliert die Anmeldedaten, gibt Devin eine Bash-Eingabeaufforderung, einen Editor im Stil von VS-Code und eine Chrome-Instanz, durch die er klicken kann.
  • Unter dem Arbeitsbereich befindet sich eine Speicherebene, die vektorisierte Schnappschüsse der Codebasis sowie eine vollständige Zeitleiste aller Befehle, Dateidiffs und Browser-Tabs speichert, die Devin berührt.

devin Betriebszyklus

Warum ist diese Architektur so gut? Erstens die enge Feedback-Schleife: Sobald Tests fehlschlagen oder Lints sich beschweren, kann Devin selbstständig iterieren, bis der Build grün wird.

Zweitens macht das Sandbox-Design die Parallelisierung kleiner Aufgaben trivial, da mehrere Sandboxen nebeneinander laufen können, ohne sich gegenseitig zu behindern.

Drittens ermöglicht der persistente Speicher Devin, langwierige Migrationen in Angriff zu nehmen: Der Agent kann eine laufende To-Do-Liste mit Teilaufgaben führen und diese über Stunden oder Tage abarbeiten, was bedeutet, dass er große Refactors um ein Vielfaches schneller abschließt, als ein Mensch es von Hand tun würde.

Erste Schritte mit Devin

Das Wichtigste zuerst: Lass uns ein Konto einrichten.

Anmelden und einen Plan auswählen

Auf geht's zu devin.ai und klicke auf "Get Started".

Die ersten Schritte des Assistenten sind ziemlich einfach zu befolgen. Ich wurde gebeten, ein paar Fragen über mich, das Unternehmen und den Namen meines Teams zu beantworten. Wenn du wie ich ein Solo-Entwickler bist, ist das kein Problem, dafür sorgt der Assistent.

Dann ist es an der Zeit, einen Plan zu wählen. Es gibt zwei Möglichkeiten:

  • Core (umlagefinanziert): Für die meisten Solo-Entwickler ist der Core-Tarif der günstigste - du zahlst $20 im Voraus und bekommst dafür 9 Agent Compute Units (ACUs).
  • Teams: Mit dem Teams-Plan erhältst du 250 ACUs/Monat. Diese offizielle Dokumentationsseite enthält detaillierte Informationen über ACUs und das Abrechnungsmodell von Devin.

Devin Preisgestaltung

Der Core-Plan ist eine günstige Möglichkeit, Devin zu testen, also habe ich beschlossen, 20 Dollar zu zahlen und zu sehen, wie weit ich damit komme. 

Ich gab meine Zahlungsdaten ein und bekam die Option, einen Schwellenwert für das automatische Aufladen festzulegen, damit Devin die ACUs automatisch aufladen kann, anstatt mitten in der Aufgabe anzuhalten. Ich habe diese Funktion nicht aktiviert undwürde wahrscheinlich auchnicht empfehlen, dies zu tun. Die Option ist allerdings erst später in den Einstellungen verfügbar, sodass du zunächst eine Aufgabe ausprobieren kannst, um zu sehen, wie deine Nutzung ist. Du kannst auch ACU-Limits pro Sitzung festlegen, was nützlich ist, um eine Budgetüberschreitung zu vermeiden.

Rechne schnell nach: $20 / 9 ACUs ≈ $2,25 pro ACU. Mit dem Teams-Abonnement ($500/mo) sinkt der Preis auf $2,00 und es werden 250 ACUs vorgeladen, aber du sparst nur Geld, wenn du erwartest, dass Devin jeden Monat mehr als 30 Stunden läuft.

Verbinden mit Github (und optional mit Jira und Slack)

Als Nächstes werden wir aufgefordert, ein GitHub-Konto einzurichten und Devin Zugriff auf die Repositories zu geben.

devin mit github verbinden

Ich habe mich dafür entschieden, Devin nur Zugriff auf unser fp-ts-Übungsrepository zu geben, da es das einzige ist, das er kennen muss, und du solltest wahrscheinlich dasselbe tun, um unbeabsichtigte Codeänderungen zu vermeiden.

Als das erledigt war, hatte ich die Möglichkeit, ein Projektmanagementsystem anzuschließen. Devin scheint die Integration mit Jira, GitHub Issues und Linear zu unterstützen.

devin integriert sich in Jira, GitHub Issues und linear

Wenn du auf die Jira-Option klickst, öffnet sich dieses Modal. Die gelben Zeilen geben an, dass Devin am besten ein bestimmtes Dienstkonto verwenden und nur auf einen Arbeitsbereich zugreifen sollte, auch wenn das bedeutet, dass du dafür ein eigenes Jira-Konto erstellen musst.

devin jira integration

Es ist möglich, die Jira-Integration später in den Einstellungen hinzuzufügen, du musst es also nicht jetzt schon tun.

Du hast auch die Möglichkeit, dich in Slack zu integrieren, aber das habe ich vorerst ausgelassen.

Multi-Agenten-Systeme mit LangGraph

Baue leistungsstarke Multiagentensysteme, indem du neue agentenbasierte Entwurfsmuster im LangGraph-Framework anwendest.
Kurs erkunden

Erste Aufgabe: Ein veraltetes Repository aktualisieren

Okay, jetzt, wo wir so weit sind, kann der Spaß losgehen. Zeit zu sehen, wie gut Devin ist!

Soufflieren

Sobald die Ersteinrichtung abgeschlossen ist, landen wir auf dieser Seite:

devin home page

Es überrascht nicht, dass alles mit einer Aufforderung beginnt. Ich fuhr mit dem Mauszeiger über all die kleinen Symbole, um die verfügbaren Funktionen zu verstehen, und schrieb dann meine Eingabeaufforderung.

Aufforderung: Vor ein paar Jahren habe ich ein Repo namens fp-ts-exercises gestartet, das Entwicklern helfen soll, funktionale Programmierung in TypeScript mit der fp-ts-Bibliothek zu lernen. Es enthält eine Reihe von lokalen Übungen zu Konzepten wie Option, Entweder, etc. Die Lernenden klonen das Repo, lösen die Aufgaben und führen Tests durch, um ihre Lösungen zu überprüfen.

Ich möchte dieses Projekt mit den folgenden Zielen modernisieren und wiederbeleben:

Aktualisierung und Refaktorierung der bestehenden Codebasis

  • Aktualisiere alle Abhängigkeiten und stelle die Kompatibilität mit der neuesten Version von fp-ts sicher
  • Verbesserte Struktur, Lesbarkeit und Entwicklererfahrung
  • Ersetze veraltete Tools oder Muster (z.B. migriere von Mocha zu Vitest oder ähnliches, falls angemessen)

Das war zwar keine tolle Aufforderung, aber darum ging es ja. Der Output eines KI-Agenten kann nur so gut sein wie der Input, den er erhält, und ein vages Ziel kann auf verschiedene Weise interpretiert werden. Im Fall von Devin sind die Kosten für eine Fehlkommunikation erheblich. Wenn die Grenzen der Ausführungen und die erwarteten Ergebnisse nicht klar definiert sind und du sie auf eine halbkomplexe Aufgabe setzt, verschwendest du eine Menge ACUs. 

Was ich hier testen wollte, war das kleine "Zauberstift"-Symbol neben der Schaltfläche "Senden". Die Funktion "Prompt analysieren" hilft dir dabei, deinen Prompt vor dem Senden zu verfeinern und so das Beste aus Devins Fähigkeiten herauszuholen.

Als ich darauf klickte, wurden Teile meiner Aufforderung umformuliert, aber ich erfuhr auch, dass es noch Verbesserungsmöglichkeiten gab.

Das war ein großartiges Feedback, und so habe ich meine Aufforderung leicht geändert, um zusätzliche Anforderungen zu stellen. Zu diesem Zeitpunkt hatte ich weder Linting noch Unit-Tests eingerichtet, also habe ich festgelegt, dass die Lerntests für die Lösung des ersten Problems ausgeführt werden sollten, um sicherzustellen, dass sich die App wie erwartet verhält.

Prompt: Ich möchte mein fp-ts-exercises Repository, das Entwicklern hilft, die funktionale Programmierung in TypeScript mit der fp-ts Bibliothek zu erlernen, modernisieren und neu auflegen. Das Repository enthält lokale Übungen zu Konzepten wie "Option" und "Entweder". Die Lernenden klonen das Repo, lösen die Aufgaben und führen Tests durch, um ihre Lösungen zu überprüfen. Das Ziel ist es, das Projekt zu aktualisieren und die Erfahrung der Entwickler zu verbessern. Bitte tu Folgendes:

  • Aktualisiere alle Abhängigkeiten auf die neuesten Versionen und stelle die Kompatibilität mit der neuesten Version von fp-ts sicher.
  • Refaktoriere die bestehende Codebasis, um die Struktur, die Lesbarkeit und die allgemeine Erfahrung der Entwickler zu verbessern.
  • Ersetze alle veralteten Werkzeuge oder Muster. Stelle zum Beispiel von Mocha auf Vitest um oder schlage andere geeignete Tool-Updates vor. Begründe bitte die von dir vorgeschlagenen Änderungen an den Werkzeugen.
  • Stelle sicher, dass alle bestehenden Übungen und Tests nach den Aktualisierungen und dem Refactoring weiterhin korrekt funktionieren.

Du kannst ausführen npm run solution -- Option 01 ausführen, um sicherzustellen, dass die Tests erfolgreich sind und alles wie erwartet funktioniert.

Lege fest, welche Schritte du zur Durchführung der Aktualisierungen und Überarbeitungen unternehmen wirst. Bevor du wesentliche Änderungen vornimmst, solltest du deinen Ansatz vorschlagen und Feedback einholen.

Du kannst deine Änderungen zur Überprüfung in einem Pull Request einreichen.

Die Analyse meines Prompts ergab diesmal ein "Prompt sieht gut aus!".

prompte Optimierung devin

Die Schnittstelle

Ich schickte meine Aufforderung und Devin begann sofort zu denken.

Die Benutzeroberfläche ist auf den ersten Blick etwas überwältigend, aber wenn du erst einmal weißt, was alles dazugehört, ist es ziemlich einfach zu navigieren. Schauen wir uns das mal an.

Das Panel mit den aktiven Sitzungen auf der linken Seite lässt sich einklappen, wenn du lieber in eine Sitzung nach der anderen eintauchen möchtest. 

Es gibt ein Chat-ähnliches Interface, in dem du Devins Überlegungen verfolgen und mit ihm interagieren kannst. 

Die rechte Seite des Bildschirms wird von einem Panel mit mehreren Registerkarten eingenommen: Fortschritt, Shell, Browser und Editor. Diese Registerkarten zeigen die genauen Überlegungen und Schritte, die Devin in den verschiedenen Umgebungen ausführt.

Wenn du darauf klickst, kannst du die einzelnen Schritte in der Shell (z.B. das Klonen des Repos), im Browser (die Navigation zur Seite des Github-Repos) und im Editor, einem VSCode-ähnlichen Editor mit allen Dateien des Repos (in dem wir später unseren Code ändern werden), sehen. Die Registerkarte "Fortschritt" hebt die Schritte hervor, die ausgeführt werden.

Oben rechts auf dem Bildschirm gibt es eine weitere Reihe von Registerkarten: Timelapse, IDE und Browser. Dies sind die Ansichten, zu denendu navigieren und nutzen kannst. Die aktuell ausgewählte Registerkarte Zeitraffer zeigt Devins Fortschritte und Aktionen, wie wir oben erklärt haben. Mit der interaktiven Zeitrafferfunktion (unten siehst du den "Live"- und den Fortschrittsbalken) kannst du eine Sitzung nachspielen. Die Registerkarte IDE öffnet eine VSCode-ähnliche Online-IDE, in der du deinen Code ändern und ihn sogar an GitHub übertragen kannst.

Planung und Devins Argumentation

Devin dachte ein paar Minuten lang nach, analysierte das gesamte Repo und erklärte seine Aktionen bei jedem Schritt. Beachte die hervorgehobene Meldung "Devin hat das Repo geklont, erwäge, einen Devin-Arbeitsbereich einzurichten". Darauf kommen wir später noch einmal zurück.

Devin-Ausgang

Dann schlug er einen Plan vor, sagte mir, dass er sehr zuversichtlich sei, und bat mich um Bestätigung:

Ich war ziemlich zufrieden mit diesem Plan, also habe ich auf Bestätigen geklickt. Devin hat sich sofort an die Arbeit gemacht.

Siehst du das kleine Dropdown-Menü "Agent" am unteren Rand der Chat-Oberfläche? Die andere Option im Menü ist "Fragen". Diese Funktion unterbricht Devins Arbeit nicht, sondern lässt dich mit ihr interagieren. Ich beschloss, es zu testen, indem ich es bat, Skripte für das Linting und die TypeScript-Kompilierungsprüfung hinzuzufügen.

devin

Die Arbeit hatte bereits begonnen, aber er sagte mir, dass er dafür sorgen würde, diese Skripte hinzuzufügen (und das tat er auch!).

Der Pull Request

Ich habe die Zeit nicht genau gemessen, aber nach ein paar Minuten war ein Pull Request fertig und die Beschreibung war gründlich und genau.

pull request erstellt von devin

Es war eine angenehme Überraschung, dass sie ihre Initiative nutzte, um mehr zu tun, als sicherzustellen, dass die erste Lösung die Tests besteht. Er testete die dritte Lösung, aber auch die erste Übung und stellte fest, dass die Tests fehlschlugen (wie erwartet, da kein/e Lernende/r die Übung abschloss).

Ich habe mir den PR angesehen und hatte den Verdacht, dass meine Linting- und TypeScript-Kompilierungsskripte fehlschlagen würden. Es fehlte zum Beispiel eine "type":"module" in meinem package.json.

Ich bin mir nicht sicher, warum Devin die Skripte nicht ausgeführt hat, nachdem er sie geschrieben hatte, um sicherzustellen, dass sie funktionieren. Weil ich sie nicht ausdrücklich darum gebeten habe? Oder weil ich diese Anforderungen hinzugefügt habe, nachdem er seine Arbeit aufgenommen hat?

Ich beschloss, den Online-Code-Editor zu benutzen, um Devins Fehler zu korrigieren, was etwa 5 Minuten dauerte. Ich habe alle Befehle im Terminal ausgeführt, und alle schienen sich nach meiner Korrektur wie erwartet zu verhalten.

Ich hätte die Reparatur an Devin delegieren können, aber es war schneller, es selbst zu erledigen. In etwa fünf Minuten habe ich die Skripte ausgeführt, die Lint- und Compile-Fehler bestätigt und die Ursache gefunden. Weitere zwei Minuten später war der Flicken angebracht und alle Kontrollen bestanden. Es hätte länger gedauert, eine detaillierte Eingabeaufforderung zu verfassen, zu warten, bis Devin sie ausführt, und dann die Ausgabe zu überprüfen.

Den goldenen Mittelweg zwischen menschlicher und kognitiver Anstrengung zu finden, ist eine Kunst: Wenn eine Verbesserung offensichtlich zu den niedrig hängenden Früchten gehört, mache ich sie lieber, als dass ich "Bitte repariere das" tippe und warte. Jeder hat jedoch persönliche Vorlieben, und deine eigene Grenze hängt von deinem Fachwissen, der Aufgabe und - seien wir ehrlich - deiner Stimmung an diesem Tag ab.

Beenden der Sitzung

Zu diesem Zeitpunkt war ich mit der Modernisierung des Repos fertig, und alles funktionierte wie erwartet. Aber was nun? Wie beende ich eine Sitzung, und wird mir diese Leerlaufzeit trotzdem in Rechnung gestellt?

Die Schnittstelle wurde an dieser Stelle ein wenig verwirrend. Auf der rechten Seite, im Sitzungsmenü, hatte ich zwei Optionen: Devin in den Schlaf versetzen oder die Sitzung beenden.

Beenden einer Devin-Sitzung

Beenden einer Devin-Sitzung

Ich konsultierte die Dokumentationund das habe ich gefunden: Devin verbraucht keine ACUs im Schlaf und schläft automatisch nach ~0,1 ACUs Inaktivität.

Ich habe den AI-Bot auch gefragt, was der Unterschied zwischen Schlaf und Abbruch ist:

Schlaf vs. Kündigung Devin 

Die Antwort war ziemlich klar. Unsere Arbeit hier war getan, also habe ich die Sitzung beendet.

Unser Repo in Devins Arbeitsbereich einrichten

Erinnerst du dich an die hervorgehobene Nachricht, die wir im Chat erhielten, während Devin seine Arbeit plante? Er bat uns, das Repo auf Devins Rechner einzurichten, damit wir es nicht jedes Mal klonen müssen, wenn wir daran arbeiten wollen. Aber warum sollten wir das tun?Jede neue Sitzung beginnt mit einer neuen virtuellen Maschine, also muss Devin ohne Setup:

  • Unsere Codebasis von Grund auf neu entwerfen
  • Installiere alle Abhängigkeiten und Tools
  • Lerne unsere Projektstruktur und Konventionen kennen
  • Verschwende wertvolle Zeit mit der Einrichtung der Umgebung statt mit der eigentlichen Arbeit

Die Einrichtung unseres Repo ist also ein kosten- und zeiteffizienter Ansatz. Außerdem ist es konsistenter, da jede Sitzung mit der gleichen Konfiguration beginnt und Devin genau weiß, wie wir unseren Code ausführen, testen und linsen müssen.

Diese Funktion findest du in der Navigationsleiste deines Teams und die Schritte sind auch hier recht einfach zu befolgen.

Wir beginnen damit, die Befehle anzugeben, um die neueste Version des Repos zu ziehen:

Du kannst benutzerdefinierte Befehle eingeben, und wenn du auf die Schaltfläche "Befehl überprüfen" klickst, werden sie automatisch im Terminal vor dir ausgeführt. Du kannst in Sekundenschnelle sehen, ob sie erfolgreich sind oder nicht.

Ich habe den Schritt "Geheimnisse einrichten" übersprungen, da wir im Moment keine haben. Das Installieren und Verwalten von Abhängigkeiten funktioniert auf die gleiche Weise und sobald dein Befehl erfolgreich war, wird der Schritt als abgeschlossen markiert.

Der Rest der Schritte funktioniert ähnlich. Sobald alle Schritte abgeschlossen sind (oder übersprungen wurden, wenn sie nicht zutreffen), wird deine Konfiguration gespeichert.

Nutzung und Überprüfung der Sitzung

Bisher haben wir mit Devin eine einfache Aufgabe erledigt, einen Pull Request erstellt, ihn zusammengeführt und unser Repo für zukünftige Sitzungen eingerichtet. Werfen wir einen Blick auf einige der Daten für unsere Sitzung. Wenn du auf das kleine Symbol oben in der Sitzung klickst, öffnet sich ein Modal mit Sitzungseinblicken:

ACU-Einsatz bei Devin

Unsere Sitzungsgröße ist XS, was laut Devins Größentabelle ziemlich gut war.

Wenn du auf die Schaltfläche "Insights generieren" klickst und ein paar Sekunden wartest, kannst du einige allgemeine Informationen über deine Sitzung, die spezifischen Schritte, die Devin unternommen hat, und die Stellen, an denen er Probleme hatte, sehen.

Ich war auch daran interessiert, wie viele ACUs wir benutzt haben. Eine seltsame Sache, die mir auffiel, war, dass die Planseite anzeigte, dass ich noch 8,73 ACUs übrig hatte, obwohl ich bereits 1,7 ACUs von den insgesamt 9 verbraucht hatte (siehe die blaue Markierung im Abschnitt Core ).

Auf der Seite Nutzung & Limits wurde jedoch korrekt angezeigt, dass wir 1,7 ACUs verbraucht und noch 7,3 ACUs übrig hatten.

Als ich 18 Stunden später wieder nachschaute, zeigte die Planseite 7,3 verbleibende ACUs an, es gibt also eine kleine Verzögerung bei der Aktualisierung dieser Informationen. Achte darauf, dass du die Seite Nutzung & Grenzen als Quelle der Wahrheit nutzt, um Überraschungen zu vermeiden!

War es das wert?

Lass uns die Zahlen durchgehen.

Also, 1,7 ACU zu $2,25/ACU = $3,83 für diese Sitzung.

Ich habe vielleicht 20 Minutendamit verbracht , aufzufordern und zu überprüfen. Das Ganze von Hand zu machen, hätte sich weit über diese Zeitspanne hinaus ausgedehnt und ich hätte jeden Schritt hinausgezögert, weil ich diese Art von Aufgabe besonders langweilig finde. Für den Preis eines Cappuccinos hat Devin mir die Arbeit abgenommen. Ich würde diesen Tausch jederzeit machen.

Was kommt als Nächstes?

Okay, das haben wir also:

  • Unser Konto erstellt
  • Verbunden mit unserem GitHub Repository
  • Richte das Repo für zukünftige Sitzungen auf Devins Rechner ein
  • Wir haben unsere erste Upgrade-Aufgabe für Abhängigkeiten ausgeführt
  • Überprüfe unsere Sitzungskennzahlen und die Nutzung

Ein ziemlich guter Start! Im nächsten Tutorial werden wir tiefer eintauchen und die Fähigkeiten von Devin ausreizen, indem wir es bitten, vollständige Funktionen zu planen und zu implementieren, komplett mit API- und Datenbankintegrationen.

Wenn du fortfahren möchtest, klicke auf den zweiten Listenpunkt unten, um zum zweiten Tutorial zu gelangen:

  1. Einrichtung und erster Pull Request
  2. Eine vertikale Scheibe mit Devin verschiffen (Teil 2) 
  3. Integration, Tests und CI/CD (Teil 3) 
  4. Sicherheit, Einsatz, Wartung (Teil 4)
Themen

Baue mit diesen Kursen KI-Agenten auf:

Kurs

AI Security and Risk Management

2 Std.
4.2K
Learn the fundamentals of AI security to protect systems from threats, align security with business goals, and mitigate key risks.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow