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
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.
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.
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
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.
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