Cognition Labs hat kürzlich die offizielle Einführung seiner KI-Plattform Devin angekündigt. Diese Nachricht folgt auf die erste Vorstellung von Devin im März. Das KI-Tool ist darauf ausgelegt, verschiedene komplexe Codierungsaufgaben zu erledigen und ist somit eine wertvolle Bereicherung für Einzelentwickler und Engineering-Teams.
Zu den Fähigkeiten von Devin gehören das Schreiben von Code in verschiedenen Programmiersprachen, das Erstellen und Bereitstellen von Websites und Anwendungen sowie das Debuggen von Code. Ziel ist es, den Softwareentwicklungsprozess zu vereinfachen. Das Unternehmen behauptet, dass Devin erfolgreich die praktischen technischen Vorstellungsgespräche von KI-Unternehmen bestanden und reale Arbeiten auf Freelance-Plattformen wie Upwork abgeschlossen hat. Derzeit wird Devin als Abonnementdienst für Einzelpersonen und Teams angeboten.
Devin – Eine Einführung
Devin ist in erster Linie als KI-Programmierassistent positioniert und spielt eine wichtige Rolle im Bereich der Softwareentwicklung, indem er verschiedene komplexe Programmieraufgaben bewältigt. Seine technische Grundlage stammt aus dem umfangreichen Code-Migrationsprojekt von Nubank, bei dem Devin erfolgreich einen acht Jahre alten Monolithen ETL mit Millionen von Codezeilen in Submodule migriert hat. Dies brachte Nubank eine deutliche Effizienzsteigerung und Kostenersparnis.
Derzeit wird Devin für Engineering-Teams und Entwickler mit einer monatlichen Abonnementgebühr von 500 US-Dollar angeboten. Abonnenten profitieren von uneingeschränkter Nutzung, Slack-Integration, IDE-Erweiterungen und API-Zugriff sowie von der Einführungsberatung und dem Support des Cognition-Engineering-Teams.
Wie The Information erstmals berichtete, hat Cognition Labs 175 Millionen US-Dollar eingesammelt und nach nur sechs Monaten eine Bewertung von 2 Milliarden US-Dollar erreicht. Einen Monat später führte Founders Fund eine weitere Finanzierungsrunde an, nachdem der Fonds zuvor eine Serie-A-Investition von 21 Millionen US-Dollar mit einer Bewertung von nur 350 Millionen US-Dollar für das jüngste Rennen um GitHub Copilot und andere generative KI-Codierungsassistenten geleitet hatte.
Devin – Leistungsmerkmale
- Automatisierung der Code-Migration und -Refactoring: Kann Code-Migrationen automatisieren und den Arbeitsaufwand von Ingenieuren bei solchen sich wiederholenden Aufgaben erheblich reduzieren. Beispielsweise wurde im Nubank-Projekt die Migration von einer monolithischen Architektur zu Submodulen effizient durchgeführt.
- Natürliche Sprachverarbeitung: Kann Anfragen in natürlicher Sprache verstehen und beantworten. Dies ermöglicht eine intuitive und benutzerfreundliche Zusammenarbeit zwischen Entwicklern und Devin. Entwickler können Devin Anweisungen geben, als würden sie mit Kollegen kommunizieren.
- Code-Tests und -Korrekturen: Verfügt über eine eigene Shell, um Code selbstständig zu testen und Fehler zu korrigieren, bis der Code erfolgreich läuft. Dies gewährleistet die Qualität und Stabilität des Codes.
- Mehrdateioperationen: Kann neue Codebasen eigenständig untersuchen und Code in mehreren Dateien einbringen. Dies erleichtert die Bearbeitung von Mehrdateianforderungen in komplexen Projekten.
- Websuche: Verfügt über einen eigenen Browser, der zum Suchen in Webdokumenten verwendet werden kann. Es können auch erstellte Webanwendungen getestet werden, was den Entwicklern umfassende Referenzmaterialien und eine Testumgebung bietet.
- Unterstützung für Continuous Integration/Continuous Deployment (CI/CD): Kann CI/CD-bezogene Aufgaben bearbeiten, den Softwareentwicklungsprozess optimieren und die Effizienz und Qualität der Softwarebereitstellung verbessern.
- Projektmanagementfähigkeiten: Kann Projekte erstellen und verwalten, einschließlich der Erstellung von PRs und der Beantwortung von PR-Kommentaren. Dies erleichtert die Teamarbeit und den Projektfortschritt.
- Plattformübergreifende Zusammenarbeit: Integriert mit verschiedenen Tools wie GitHub und Slack, um plattformübergreifende Zusammenarbeit zu ermöglichen. Entwickler können Devin in ihrer gewohnten Arbeitsumgebung verwenden und so ihre Produktivität steigern.
Anwendungsfälle
- Groß angelegte Code-Migrationsprojekte: Wie bei der Migration des zentralen ETL von Nubank von einer monolithischen Architektur zu Submodulen, hat Devin zu einer 12-fachen Steigerung der Engineering-Effizienz beigetragen. Aufgaben, die mehrere Monate oder Jahre dauern könnten, wurden in wenigen Wochen abgeschlossen, wobei gleichzeitig über das 20-fache an Migrationskosten eingespart wurde.
- Tägliche Code-Wartung und -Optimierung: Bei der Behandlung kleinerer Frontend-Bugs und Randfälle können Entwickler Devin in Slack-Threads markieren, um Probleme schnell zu lösen. Für Code-Refactoring-Aufgaben kann über die Devin-IDE-Erweiterung der zu bearbeitende oder zu aktualisierende Codeteil angegeben werden, wobei Devin die Refactoring-Arbeit übernimmt.
- Data-Engineering-Aufgaben: Bei der Migration von Data Warehouses, der ETL-Entwicklung, der Datenbereinigung und -vorverarbeitung kann Devin eine wichtige Rolle spielen, z. B. beim Ausführen von Datenanalyseskripten, der Erstellung von Datenvisualisierungen und statistischen Zusammenfassungen.
- Erstellung und Verwaltung von PRs in Projekten: Beim Erstellen von PRs für Backlog-Aufgaben können Entwickler Devin zu Beginn des Arbeitstages Aufgaben aus der To-Do-Liste zuweisen. Nach Abschluss erstellt Devin die PR, die dann vom Entwickler geprüft und angepasst wird.
- Tests und Fehlerbehebung: Bei Codeproblemen, z. B. bei der Behandlung ungültiger automatischer Klassifizierungslinks, kann Devin bei der Untersuchung der entsprechenden Funktionen helfen, das Problem zu finden und zu versuchen, es zu lösen.
Devin – Kurzanleitung
- Registrierung und Anmeldung: Rufen Sie die Devin-Plattform auf, registrieren Sie sich und erstellen Sie ein Konto, um die Benutzeroberfläche aufzurufen.
- Bereitstellung von Informationen zum Code-Repository: Stellen Sie Devin Informationen zu dem Code-Repository bereit, das migriert oder refaktoriert werden soll, damit Devin den Projektkontext versteht.
- Auftragserteilung: Beschreiben Sie die spezifischen Aufgabenanforderungen in natürlicher Sprache klar und deutlich, z. B. „Migrieren Sie die Musikgenerierungsbibliothek von Java 8 nach Python 3.11 und fügen Sie für jede neue Python-Datei kleine Tests hinzu, um sicherzustellen, dass der Code ausführbar ist“.
- Aufgabenverarbeitung und Fortschrittsüberwachung: Devin beginnt mit der automatisierten Aufgabenverarbeitung und gibt währenddessen den Fortschritt in Echtzeit zurück. Der Benutzer kann den Aufgabenfortschritt jederzeit einsehen.
- Prüfung und Anpassung: Überprüfen Sie die von Devin erledigte Arbeit sorgfältig. Wenn Probleme auftreten oder Optimierungen erforderlich sind, nehmen Sie die notwendigen Anpassungen vor.
- Änderungen zusammenführen: Wenn keine Fehler mehr vorhanden sind, führen Sie die Änderungen von Devin in den Hauptzweig zusammen, damit die Änderungen wirksam werden.
- Testen und Validieren: Verwenden Sie die Shell- und Browserfunktionen von Devin, um den Code zu testen und zu validieren, um die Codequalität und die ordnungsgemäße Funktionsweise sicherzustellen.
- Wiederholung der Vorgänge: Wiederholen Sie die obigen Schritte je nach Bedarf, um weitere Code-Migrations- oder Refactoring-Aufgaben zu bearbeiten.
Fazit
Devin ist ein leistungsstarker KI-Programmierassistent, der durch seine herausragenden Funktionen in den Bereichen Code-Migration, Refactoring und natürliche Sprachverarbeitung eine deutliche Effizienzsteigerung für Engineering-Teams und Entwickler bietet. Ob bei umfangreichen Code-Architekturänderungen oder bei der täglichen Code-Wartung und -Optimierung – Devin kann eine wichtige Rolle spielen.
Wenn Sie auch in Ihrer Programmierarbeit vor mühsamen Aufgaben und Herausforderungen stehen, sollten Sie Devin ausprobieren und ihn zu Ihrem Programmierpartner machen. Teilen Sie Ihre Meinung zu KI-Programmierassistenten mit einem Like und einem Kommentar und verfolgen Sie gemeinsam die Entwicklung von Devin. Entdecken Sie gemeinsam neue Wege in der Programmierarbeit. Wir sind überzeugt, dass Devin in Zukunft noch viele Überraschungen und Werte für uns bereithalten wird.