Arbeit an Software — im eigenen Netz

Ein Entwickler, dessen Arbeit Sie prüfen wie jeden Beitrag.

Ein KI-Kollege bekommt einen echten Arbeitsplatz an Ihrem Quellcode: Zweig holen, bauen, testen, abgeben. Ihr Code verlässt Ihr Netz dabei nicht, und eingecheckt wird nie — am Ende steht ein Paket, das ein Mensch übernimmt.

01

Ihr Code darf die Werkzeuge nicht sehen, die ihm helfen würden

Der interessante Code liegt selten auf der grünen Wiese: Er liegt in einem Repository, das seit fünfzehn Jahren wächst, auf einem Server hinter zwei Firewalls, angebunden an ein Buildsystem, das jemand vor Jahren eingerichtet hat. Für diesen Code gibt es die meiste Arbeit — und die wenigsten Werkzeuge, weil fast alle voraussetzen, dass der Code zu ihnen kommt. MyAiColleague dreht die Richtung: Der KI-Kollege kommt zum Code, arbeitet auf einer Maschine in Ihrem Netz und gibt sein Ergebnis dort ab. Was zur Plattform geht, sind Aufträge, Entscheidungen und Protokolle — nicht Ihr Repository.

Kurz gesagt

Die Werkzeuge, die produktiv machen, wollen Ihren Code in der Cloud. Genau das ist bei den Beständen, um die es geht, nicht verhandelbar.

BestandscodeHinter der FirewallKein Umzug in die Cloud
02

Ein kleiner Dienst bei Ihnen — ausgehend verbunden

Auf einer Maschine in Ihrem Netz läuft ein kleiner Dienst, der Runner. Er baut die Verbindung nach außen auf — in der Firewall ist nichts freizugeben, und es gibt keinen Weg von der Plattform in Ihr Netz, den nicht dieser Dienst selbst geöffnet hat. Was er anbietet, entscheidet der Betreiber an der Maschine: welche Verzeichnisse, welche Quellcodeverwaltung, und ob Kommandos ausgeführt werden dürfen. Meldet er eine neue Fähigkeit, erscheint sie in der Plattform zuerst als Vorschlag und liefert keine Werkzeuge, bis ein Firmen-Admin sie bestätigt — ein Update kann nichts von allein scharf schalten. Von der Plattform aus gibt es keinen Weg in diese Einstellungen; das ist Absicht, denn hier wird festgelegt, was auf der Maschine läuft.

Kurz gesagt

Sie öffnen keinen Port. Der Dienst wählt sich bei der Plattform ein und hält die Verbindung; die Plattform ruft ihn nie an.

Ausgehende VerbindungKeine Firewall-FreigabeBetreiber entscheidet
03

Ein Arbeitsplatz je Vorgang — mit Build, Tests und Diensten

Ein Arbeitsplatz gehört genau einem Vorgang und einem Mitarbeiter; zwei Kollegen am selben Vorgang arbeiten in getrennten Verzeichnissen und behindern sich nicht. Eröffnet wird ausdrücklich — bei einer Quellcodeverwaltung wählt der Kollege den Zweig aus der Liste der verfügbaren, und diese Wahl gilt für alle Beteiligten des Vorgangs. Dann arbeitet er: Dateien auflisten, Inhalte durchsuchen, lesen, schreiben, gezielt ändern; und wenn Ihr Betreiber Kommandos freigeschaltet hat, auch bauen und Tests laufen lassen. Einen Dienst, der weiterlaufen muss — Webserver, Watcher —, startet er als Hintergrunddienst und arbeitet dagegen: Aufrufe machen, Logs lesen, am Ende beenden. Vergessene Dienste räumt die Plattform selbst ab. Und Ihre Konventionen gelten, ohne dass jemand sie abschreibt: Projektanweisungen im Baum liest der Kollege von selbst.

Kurz gesagt

Der Kollege eröffnet einen Arbeitsplatz auf dem Zweig, den er nennt, und arbeitet darin wie ein Mensch: lesen, suchen, ändern, bauen, testen.

Zweig je VorgangBuild und TestsHintergrunddienste
04

Eingecheckt wird nie — abgegeben schon

Am Ende einer Aufgabe legt der Kollege sein Ergebnis nicht in den Zweig, sondern in ein Paket: bei TFVC ein Shelveset, das den Vorgang im Kommentar nennt und den Hinweis trägt, dass ein KI-Mitarbeiter es erarbeitet hat und es vor der Übernahme zu prüfen ist. Darin liegt genau das, was das Ergebnis dieses Vorgangs ist — nicht alles, was im Zweig anders aussieht als auf dem Server. Der Name folgt Datum und Betreff des Vorgangs, damit ein Mensch die Abgabe in der Liste wiederfindet; eine zweite Abgabe ersetzt die erste, weil das Paket den Stand trägt und nicht den Zuwachs. Diese Grenze ist nicht per Werkzeugliste gezogen, sondern durch die Rechte des Dienstkontos: Es kann nicht einchecken, auch wenn es wollte. Ihr Review bleibt damit die Stelle, an der über Ihren Zweig entschieden wird.

Kurz gesagt

Das Ergebnis verlässt den Runner als Paket, das ein Mensch ansieht und übernimmt. Das Dienstkonto hat kein Eincheck-Recht.

Paket statt CommitVorgang im KommentarRechte statt Versprechen
05

Sie sehen, was läuft — und was es kostet

Ein Auftrag, der eine Stunde läuft, ist keine schwarze Box. Im Vorgang steht, woran gerade gearbeitet wird — welches Werkzeug, welcher Schritt, bei einem großen Zweig auch, wie weit das Holen ist. Jeder Aufruf steht im lückenlos verketteten Protokoll, samt Grund im Fehlerfall. Kosten laufen gegen ein Tages- und Monatsbudget und zusätzlich gegen ein Maß für diesen einen Lauf; wird es erreicht, endet der Lauf mit einer Aufstellung, statt still abzubrechen. Bei größeren Aufträgen legt der Kollege zuerst einen Plan vor — Wellen, erwartete Ergebnisse, Nicht-Ziele —, und über einen Plan entscheidet immer ein Mensch. Arbeitet ein Team, prüft nie derselbe, der etwas erstellt hat. Und was nach draußen wirkt, wartet auf ein menschliches Ja.

Kurz gesagt

Fortschritt im Chat, jeder Aufruf im Protokoll, Kosten je Vorgang, ein Plan vor der Arbeit und ein Betreuer für alles Riskante.

Live-FortschrittVerkettetes ProtokollPlan und Review
06

Was heute nicht geht — und was wir daraus machen

Als Quellcodeverwaltung steht heute TFVC — am echten Produktionszweig belegt, inklusive Abgabe als Shelveset — sowie der einfache Fall eines Verzeichnisses auf der Maschine. Ein Anbieter für entfernte Git-Repositories ist entworfen, aber nicht gebaut; die Schicht darüber ist sortenneutral, es ist also ein Adapter und kein Umbau. Liegen in einem Zweig fremde Git-Repositories eingecheckt, ist Arbeit innerhalb davon nicht abgebbar — sie geht nicht verloren, erscheint aber nicht im Paket, und der Kollege sagt beim Eröffnen, welche Ordner das betrifft. Ein Kollege pro Arbeitsplatz heißt auch: Wie viele gleichzeitig arbeiten können, entscheidet Ihre Maschine, nicht unsere Lizenz. Wenn Sie ein anderes Quellsystem brauchen, ist das ein Gespräch über einen Adapter — sagen Sie uns, welches.

Kurz gesagt

Sie sollen es vor der Demo wissen, nicht danach: TFVC und Ordner stehen, Remote-Git kommt, und Arbeit in eingecheckten Fremd-Repositories ist nicht abgebbar.

TFVC belegtRemote-Git offenOffen gesagt statt geschönt

Zeigen Sie uns einen echten Zweig.

30 Minuten an Ihrem Repository, nicht an unserem Beispielprojekt. Wir richten den Dienst ein und geben eine kleine Änderung ab.