Zum Inhalt springen
CODE-INTELLIGENCE-ENGINE

Die Engine, die unseren Agenten das ganze Repository zeigt

Unsere Code-Intelligence-Engine verschafft unseren Agenten einen Überblick über das gesamte Repository, noch bevor sie damit arbeiten, und liefert ihnen den Kontext, den eine Änderung erfordert, und zwar im Rahmen eines Budgets, das sie sich leisten können.

  • BrancheEntwicklerwerkzeuge
  • Art der ArbeitInterne Engine, für unsere eigenen Agenten gebaut
  • StatusIm Einsatz in unserer eigenen Arbeit, wird weiter ausgebaut
  • Code-Intelligence
  • Code-Suche
  • Agenten-Infrastruktur
  • Entwicklerwerkzeuge

Zuerst für unsere eigenen Agenten

Dies ist unser eigenes Tool: der Teil unserer Toolchain, der festlegt, was ein Agent sehen darf, bevor er irgendetwas verändert. Es stellt einem Agenten den Projektkontext zur Verfügung, damit er relevante Definitionen und Verweise überprüfen kann, bevor er Code ändert.

Die einschränkende Größe, die alles bestimmt hat, ist das Reasoning-Budget. Eine Antwort, die zu umfangreich ist, um gelesen zu werden, ist schlechter als eine kleinere Antwort, die passt; daher wird jede Antwort so bemessen, dass der Agent sie nutzen kann. Es geht darum, das Budget für die eigentliche Arbeit zu reservieren.

DIE HERAUSFORDERUNG

Das Problem war unser eigenes

Agenten, die an umfangreichen Codebasen arbeiten, benötigen vor Änderungen den relevanten Projektkontext.

Eine geöffnete Datei ist keine Codebasis

Ein Agent, der eine Funktion ändern sollte, sah die Funktion und die Datei drumherum. Was sie aufrief, was sie ihrerseits aufrief und welche Teile des Projekts die Änderung bemerken würden, lag außerhalb des Rahmens. Die Änderung wurde isoliert gedacht und ebenso isoliert geprüft.

Ein ganzes Projekt lesen, um eine Sache zu finden

Ohne Karte heißt die richtige Stelle finden: Dateien öffnen und wieder verwerfen. Jede verworfene Datei ist bereits aus demselben Budget bezahlt, das die eigentliche Arbeit braucht. In einem großen Repository fällt dieser Preis an, bevor ein einziger nützlicher Gedanke beginnt.

Den richtigen Code in einem großen Repository finden

Der relevante Code ist schwer zu finden, wenn ein Agent weder dessen Namen noch dessen Speicherort kennt, und jede falsche Vermutung geht zu Lasten des Budgets, das für die jeweilige Aufgabe vorgesehen ist.

DIE LÖSUNG

Was die Plattform leistet

Agenten erhalten den Projektkontext, den eine Änderung braucht, in einem Umfang, den sie nutzen können.

Der Aufbau eines Projekts vor dem Öffnen einer Datei

Ein Agent geht von den dort deklarierten Angaben aus, sodass eine Änderung im Kontext des Projekts, in das sie einfließt, begründet wird.

  • Die Erklärungen werden in allen Sprachen, in denen wir arbeiten, indexiert
  • Ein Agent kann die Struktur einer Datei erkennen, die er noch nicht gelesen hat
  • Eine Projektübersicht bleibt übersichtlich, egal wie groß das Repository ist

Nach Name oder Beschreibung gefunden

Ein Agent kann anhand einer Kennung oder einer Beschreibung des benötigten Codes eine Suche durchführen und die Ergebnisse überprüfen.

  • Suche nach der genauen Kennung
  • Suche anhand einer Beschreibung der Funktion des Codes
  • Dem Agenten zur Beurteilung vorgelegte Ergebnisse

Was eine Änderung berühren wird

Neben den Definitionen weiß die Engine, wo Namen verwendet werden und welche Dateien von welchen anderen abhängen. Dadurch wird eine Suche zu einer Frage nach den Konsequenzen.

  • Was davon abhängt, wird neben der Stelle beantwortet, an der dies definiert ist.
  • Was eine Datei einliest und was die Datei einliest
  • Was sich in letzter Zeit geändert hat, ergibt sich aus der Antwort

Begrenzte Antworten, und kein Kundencode verlässt den Rechner

Zwei Regeln haben die Ausgabeseite geprägt. Eine Antwort muss in den Platz passen, den der Aufrufer für sie hat, und kein Code sollte die Maschine verlassen müssen, um verstanden zu werden.

  • Eine weit gefasste Abfrage darf den Kontext des Agenten nicht überlasten
  • Der Index befindet sich auf dem Rechner des Entwicklers selbst, und es wird nirgendwo Code hochgeladen.
  • Der Projektkontext wird aktualisiert, wenn sich die Arbeit ändert
DIE WIRKUNG

Was sich in unserer Arbeit geändert hat

Agenten können den relevanten Projektkontext einsehen, bevor sie Code überprüfen oder ändern.

Ganzes Repository

Womit eine Prüfung beginnt

Eine Prüfung oder ein Umbau beginnt mit der Struktur des Projekts: was die Änderung berührt, was es nutzt und wer es hereinzieht. Die geöffnete Datei ist nicht mehr die Grenze dessen, worüber nachgedacht werden kann.

Budget in die Arbeit

Wohin das Denken geht

Durch an die Größe angepasste Antworten wird weniger vom verfügbaren Kontext dafür aufgewendet, Dateien zu öffnen, die sich letztendlich als irrelevant erweisen. Der Vorteil liegt darin, was gar nicht erst gelesen werden muss.

Bleibt auf der Maschine

Warum wir es auf Kundencode richten können

Der Index wird auf dem eigenen Rechner des Entwicklers gespeichert, und es wird keinerlei Code irgendwo hochgeladen.

Zuletzt überprüft:

Sehen Ihre Tools die gesamte Codebasis oder nur die geöffnete Datei?

Erzählen Sie uns, wie Ihr Team derzeit mit einem großen Repository arbeitet und wo die Grenzen liegen. Wir sagen Ihnen dann, was sich zu automatisieren lohnt und was nicht.

Projekt besprechen