StartseiteArtikel

Der ehemalige Technologiechef von ByteDance gründet ein Unternehmen und arbeitet zusammen mit Alumnis der Yao Class von Tsinghua University, um die Spitze der Welt der Programmierintelligenzagenten zu erreichen.

机器之心2025-12-05 18:52
InfCode definiert die "Engineering-Ära" von KI-Programmierung.

InfCode definiert die "Engineering-Ära" der KI-Programmierung.

Seit der "Wortschöpfungsheld" Andrej Karpathy das Konzept von "Vibe Coding" vorgestellt hat, ist seine Popularität ungebrochen.

Mit nur einem Hinweissatz, der das "Gefühl" und die Absicht beschreibt, kann die KI direkt lauffähigen Code generieren. Diese fast magische Programmiererfahrung hat zahlreiche Entwickler beeindruckt.

Gibt man den Hinweissatz "write a python code that visualizes how a traffic light works in a one way street with cars entering at random rate" (Schreibe einen Python-Code, der die Funktionsweise einer Ampel in einer Einbahnstraße visualisiert, wobei Autos mit zufälliger Rate einfahren) ein, kann die KI in wenigen Sekunden ein vollständiges Animationssimulationsprogramm generieren, einschließlich der Logik für das Umschalten der Ampel zwischen rot, gelb und grün, des Mechanismus für die zufällige Erzeugung von Autos, der Regeln für das Anhalten und Weiterfahren und sogar einer reibungslosen visuellen Schnittstelle.

Aber nach der Überraschung treten auch Probleme auf. Obwohl Vibe Coding gut in der schnellen Prototypentwicklung und der Schreibung einzelner Skripte ist, ist es bei komplexen Unternehmensprojekten noch überfordert. Aufgrund der begrenzten Kontextfenster, der begrenzten Inferenztiefe und des Fehlens des Agentic-Modus hat es Schwierigkeiten, Fehler in großen Code-Bibliotheken genau zu lokalisieren und verursacht leicht Kettenschäden bei der Bearbeitung von systemweiten Änderungen über mehrere Dateien hinweg, insbesondere in der Programmierung von unteren Ebenen in Sprachen wie C++.

Jetzt hat das chinesische Startup-Team Token Infinity seine eigene Antwort gegeben. Der Codierungs-Intelligentagent InfCode, der von Alumnis der Yao-Class der Tsinghua-Universität entwickelt wurde, hat in beiden sehr autoritativen KI-Programmier-Benchmarks, SWE-Bench Verified und Multi-SWE-bench-CPP, die Spitze erreicht und zahlreiche Programmier-Intelligentagenten geschlagen.

Konkret gesagt, zeigt InfCode nicht nur einen punktuellen technologischen Durchbruch. In SWE-Bench Verified hat es mit einem Pass@1-Score von 79,4% den aktuellen Stand der Technik erreicht. In der C++-Teilmenge von MultiSWEbench hat es mit einer Lösungswahrscheinlichkeit von 25,58% Claude 3.7 Sonnet mit 8,59% und DeepSeek V3 mit 7,75% deutlich übertroffen.

Hinter diesen Zahlen verbirgt sich ein auf Unternehmensszenarien ausgelegtes Mehr-Agenten-System. Für Entscheidungsträger, die KI-Programmierung in Unternehmensszenarien einführen möchten, könnte dies ein neues Paradigma sein, wie die KI von der "Effizienzsteigerung auf Einzelpersonenebene" zur "Organisationsentwicklung" im Unternehmen gelangt.

Wenn man sagt, dass Vibe Coding die "sinnliche Ära" der KI-Programmierung eröffnet hat, dann definiert InfCode die "Engineering-Ära" der KI-Programmierung.

Die KI-Programmierung tritt in die Ära der Intelligentagenten ein

Künstliche Intelligenz verändert das Paradigma der Softwareentwicklung.

Traditionelle große Modelle können nur Code-Schnipsel generieren, während die neuen Codierungs-Intelligentagenten (Coding Agent) Autonomie, vollständige Prozessabdeckung und praktische Anwendbarkeit in der Ingenieursarbeit betonen. Sie können nicht nur Code schreiben, sondern auch Aufgaben zerlegen, Tools aufrufen, Tests ausführen, wiederholt debuggen und sogar Patches einreichen. Diese Intelligentagenten werden anhand mehrerer Benchmarks evaluiert, wobei die autoritativsten der von der Princeton-Universität und anderen vorgeschlagene SWE‑Bench-Benchmark sowie die von OpenAI im Jahr 2024 veröffentlichte aktualisierte Version SWE‑Bench Verified sind. Dieser Benchmark basiert auf echten GitHub-Projekten, wobei jede Stichprobe eine Beschreibung des Problems in natürlicher Sprache und vollständige Testfälle enthält. Die Intelligentagenten müssen das Problem lösen, ohne andere Funktionen zu beeinträchtigen.

Der SWE‑Bench Verified enthält nur Python-Projekte und kann daher die Herausforderungen der Mehrsprachigkeit nicht widerspiegeln. Im Jahr 2025 hat ByteDance in Zusammenarbeit mit Forschungseinrichtungen den Multi‑SWE‑bench-Datensatz vorgestellt, der sieben Sprachen wie Java, TypeScript, JavaScript, Go, Rust, C und C++ abdeckt und insgesamt 1.632 manuell überprüfte Reparaturaufgaben umfasst, die von 68 Experten aus 2.456 Kandidatenstichproben sorgfältig ausgewählt wurden.

Studien haben gezeigt, dass C++-Projekte normalerweise mehr als 200 Zeilen ändern und sieben Dateien betreffen müssen, was viel schwieriger ist als bei höheren Sprachen wie JavaScript. Wegen der manuellen Speicherverwaltung und des komplexen Kompilierungssystems in Systemsprachen ist die Leistung von LLMs deutlich geringer. Im Vergleich zu offiziellen Berichten liegt die Lösungswahrscheinlichkeit führender Modelle bei C++-Projekten oft unter 8%.

Der Durchbruch von Token Infinity: Der InfCode-Intelligentagent

Das von dem Team von Token Infinity entwickelte InfCode-Intelligentagentensystem hat in diesem Bereich bahnbrechende Ergebnisse erzielt:

In SWE‑Bench Verified hat InfCode mit einem Pass@1-Score von 79,4% den aktuellen Stand der Technik aktualisiert (der beste Stand weltweit) - weit höher als die ungefähr 70%-igen Ergebnisse von Spitzenmodellen wie GPT‑5 und Claude in der öffentlichen Rangliste.

In der C++-Teilmenge von Multi‑SWE‑bench (Multi‑SWE‑bench‑cpp) hat es eine Lösungswahrscheinlichkeit von 25,58% erreicht, was deutlich höher ist als die 8,59% von Claude 3.7 Sonnet, die 7,75% von DeepSeek V3 und die fast null Prozent von Qwen2.5‑72B‑Instruct. Angesichts der großen Schwierigkeit von Systemsprachen ist dieses Ergebnis erstaunlich.

Mehrsprachige Benchmarks zeigen, dass Systemsprachen (C, C++, Rust) in Bezug auf die Speicherverwaltung, das Template-System und die komplexe Kompilierungskette viel schwieriger sind als höhere Sprachen wie Python und Java. In Multi‑SWE‑bench betreffen C++-Probleme oft Änderungen über mehrere Dateien hinweg und in großem Umfang, wobei einige Aufgaben die Änderung von mehr als 200 Zeilen Code erfordern. Die folgende Tabelle fasst die Lösungswahrscheinlichkeiten verschiedener Modelle in Multi‑SWE‑bench bei C++-Problemen zusammen:

Vor diesem Hintergrund hat InfCode in der C++-Teilmenge eine Pass@1-Lösungswahrscheinlichkeit von 25,58% erreicht, was den Vorteil der Kombination von semantischer Lokalisierung und grammatikalischer Analyse zeigt. Es kann nicht nur das Problem genau lokalisieren, sondern auch in komplexen Grammatiken und großen Projekten richtige Patches generieren, was für die Industrie von großer Bedeutung ist.

Diese Ergebnisse sind keine Zufälle, sondern stammen aus einem sorgfältig entworfenen technologischen System. Das Token-Team hat einen Bericht über die dazugehörigen Technologien auf der arXiv-Plattform veröffentlicht (https://arxiv.org/abs/2511.16004).

Nach diesem Analysebericht hat InfCode drei Kernpunkte.

Über RAG hinaus: Komplexe Kontextlokalisierung basierend auf funktionalen Absichten

In einem echten Software-Repository ist es oft nicht das "Schreiben eines Patches", sondern das "Zuerst Finden des fehlerhaften Codeblocks in der riesigen Menge an Code", was wirklich schwierig ist. Die Aufgaben in SWE-Bench bieten normalerweise keine Stack-Trace-Informationen (StackTrace), so dass der Intelligentagent nur auf der Grundlage der Beschreibung in natürlicher Sprache (z.B. die Suchfunktion ist langsamer) die Position des Problems vermuten muss. Der traditionelle RAG (Retrieval-Augmented Generation)-Mechanismus basierend auf der Vektorähnlichkeit sucht normalerweise nur nach Kommentaren oder Variablen, die das Schlüsselwort "search" enthalten. Dieser Mechanismus kann in kleinen und mittleren Repositories möglicherweise die Position des Problems lokalisieren, aber in großen Projekten bleibt er oft bei "wörtlich verwandten" Abschnitten hängen - z.B. trifft er auf Hilfsfunktionen, Konfigurationen oder Wrapper-Schichten mit dem Wort "search", anstatt auf die tatsächliche Implementierungsposition der Abfragelogik (z.B. Manager::ExecuteQuery). Der wesentliche Grund dafür ist, dass er hauptsächlich die lokale Vektorähnlichkeit wahrnimmt, ohne die "konkrete funktionale Semantik, die der Code trägt" und seine "logische Zugehörigkeit im System" - also die funktionalen Absichten - explizit zu verstehen.

Um diese Engstelle zu überwinden, hat InfCode einen "Code-Intent-Analyse (Code Intent Analysis)"-Mechanismus vorgeschlagen.

Dieser Mechanismus ermöglicht es dem Intelligentagenten, über die wörtliche Übereinstimmung hinaus zu gehen und die "funktionalen Absichten" hinter der natürlichen Sprache zu verstehen und diese intelligent auf die konkreten Implementierungseinheiten (Funktionen oder Klassen) im Projekt abzubilden. Dieser Prozess kombiniert semantische Inferenz und Architekturverständnis, so dass das Modell auch ohne Stack-Informationen den relevanten Kontext des Problems präzise lokalisieren kann.

Studien haben gezeigt, dass traditionelle LLMs in mehrsprachigen Benchmarks (z.B. Multi-SWE-bench) oft die Position von Dateien oder Funktionen nicht richtig identifizieren können (insbesondere in Systemsprachen wie C++ und Rust). Die semantische Absichtsmapping von InfCode in Kombination mit der AST-Ebenenanalyse verbessert effektiv die Lokalisierungsrate über verschiedene Sprachen und Module hinweg und gibt dem Intelligentagenten in komplexen Projekten die Fähigkeit, die globale Absicht zu verstehen und direkt zum fehlerhaften Code zu gelangen.

Verbesserte Tools: Struktuierte Suche basierend auf AST, über grep hinaus

Das Finden des fehlerhaften Codes ist nur der erste Schritt. Wie man es genau lokalisiert und ändert, ist der Schlüssel für die Reparatur in der Ingenieursarbeit.

Traditionelle Textsuchtools (z.B. grep) haben in komplexen Sprachen wie C++ natürliche Mängel - ein und derselbe Bezeichner kann gleichzeitig Klassenname, Memberfunktion oder Variable sein, was zu einem sehr hohen Rauschpegel in den Ergebnissen führt.

Das ByteDance-Team hat in seiner Studie zu Multi-SWE-bench festgestellt, dass C++- und Rust-Projekte normalerweise Änderungen über mehrere Dateien hinweg und in großem Umfang betreffen, was die "semantisch bewusste Suche" zu einer erforderlichen Fähigkeit für das Intelligentagentensystem macht.

InfCode hat ein eigenes strukturiertes Suchsystem basierend auf dem abstrakten Syntaxbaum (AST) entwickelt.

Es erstellt mit Tree-Sitter einen vollständigen Syntaxbaum und bietet dem Intelligentagenten Syntax-API-Funktionen wie FindClass und FindFunction.

Beispielsweise:

FindClass (Search): Gibt nur die Klassendefinition mit dem Namen Search zurück und ignoriert automatisch Funktionen oder Variablen mit demselben Namen;

FindFunctions (MyClass::search): Passt nur auf die Memberfunktionen einer bestimmten Klasse.

Das Konzept dieser syntaxbewussten Suche (Syntax-Aware Search) stimmt mit dem des Open-Source-Tools ast-grep überein - es wird als "grep/sed auf Syntaxebene" bezeichnet und kann über AST-Muster schnell Code lokalisieren und umschreiben.

Dank dieser strukturierten Suche "sucht" der InfCode-Intelligentagent nicht mehr "blind", sondern "versteht" wirklich die Hierarchie des Codes und kann in komplexen Projekten Fehler genauer lokalisieren und sicher reparieren.

Mehr-Agenten-Generierung: Gegensätzliche Generierung von Code-Patches und Test-Patches durch zwei Intelligentagenten

Der Kern der Reparaturfähigkeit liegt nicht darin, "mit einem Schuss zu treffen", sondern darin, wiederholt zu probieren und kontinuierlich zu verbessern.

Traditionelle Code-Reparatur-Intelligentagenten verwenden meistens eine Ein-Agenten-Architektur. Ob man zuerst Test-Patches und dann Reparatur-Code generiert oder zuerst Reparatur-Code und dann die Tests ausführt, dieser einseitige Reparaturmodus gerät oft in eine "Echo-Kammer der Information", in der er "überangepasst" an das aktuelle Problem ist.

InfCode hat erstmals eine gegensätzliche Zwei-Agenten-Architektur entwickelt:

Der Code-Patch-Generator (Code Patch Generator) ist für die Änderung des Codes verantwortlich, um die aktuellen Testfälle zu bestehen;

Der Test-Patch-Generator (Test Patch Generator) ist für die Generierung stärkerer Testfälle verantwortlich, um übersehene Randfälle zu erfassen.

Beide iterieren abwechselnd in einer Schleife:

Wenn der Code-Patch die Tests besteht, analysiert der Test-Patch-Generator automatisch potenzielle Sicherheitslücken und erweitert die Testabdeckung. Anschließend muss der Code-Patch-Generator den Code weiter reparieren, um den neuen Herausforderungen zu begegnen.

Dieser "je stärker getestet, desto stabiler repariert" -gesinnte gegenläufige Arbeitsablauf lässt die Patches kontinuierlich in Bezug auf Robustheit und Vollständigkeit verbessern, bis sie schließlich eine ingenieurmäßige Qualität erreichen, die direkt in