KI-Codierungsassistenten mit dem langen Kontext von Gemini-Modellen optimieren
Beyang Liu
Sourcegraph
Paige Bailey
AI Developer Experience Engineer
Vishal Dharmadhikari
Product Solutions Engineer
Einer der spannendsten Anwendungsbereiche für lange Kontextfenster ist die Codegenerierung und das Codeverständnis. Große Codebases erfordern ein tiefes Verständnis komplexer Beziehungen und Abhängigkeiten, was für herkömmliche KI-Modelle schwierig ist. Durch die Erweiterung der Menge an Code mit großen Kontextfenstern können wir ein neues Maß an Genauigkeit und Nützlichkeit bei der Codegenerierung und beim Codeverständnis erreichen.
Wir haben uns mit Sourcegraph, den Entwicklern des KI-basierten Programmierassistenten Cody, der LLMs wie Gemini 1.5 Pro und Flash unterstützt, zusammengetan, um das Potenzial von langen Kontextfenstern in realen Programmierszenarien zu untersuchen. Sourcegraph konzentriert sich auf die Integration von Codesuche und ‑intelligenz in die KI-Codegenerierung und hat Cody erfolgreich bei Unternehmen mit großen, komplexen Codebasen wie Palo Alto Networks und Leidos eingesetzt. Das Unternehmen ist daher der ideale Partner für dieses Projekt.
Ansatz und Ergebnisse von Sourcegraph
Sourcegraph hat die Leistung von Cody mit einem Kontextfenster von 1 Million Tokens (mit Google Gemini 1.5 Flash) mit der Produktionsversion verglichen. Durch diesen direkten Vergleich konnten sie die Vorteile des erweiterten Kontexts isolieren. Sie konzentrierten sich auf die Beantwortung technischer Fragen, eine wichtige Aufgabe für Entwickler, die mit großen Codebases arbeiten. Sie haben einen Datensatz mit anspruchsvollen Fragen verwendet, die ein tiefes Verständnis von Code erforderten.
Die Ergebnisse waren beeindruckend. Bei drei der wichtigsten Benchmarks von Sourcegraph – „Essential Recall“, „Essential Concision“ und „Helpfulness“ – wurden mit dem längeren Kontext deutliche Verbesserungen erzielt.
Wichtige Fakten abrufen: Der Anteil wichtiger Fakten in der Antwort ist deutlich gestiegen.
Wichtige Fakten: Der Anteil wichtiger Fakten, normalisiert nach Antwortlänge, hat sich ebenfalls verbessert. Das deutet auf präzisere und relevantere Antworten hin.
Nützlichkeit: Die Gesamtnützlichkeitsbewertung, normalisiert nach Antwortlänge, ist deutlich gestiegen, was auf eine nutzerfreundlichere Erfahrung hindeutet.
Außerdem wurde durch die Verwendung von Modellen mit langem Kontext die allgemeine Halluzinationsrate (die Generierung von sachlich falschen Informationen) drastisch reduziert. Die Halluzinationsrate sank von 18,97% auf 10,48 %. Das ist eine deutliche Verbesserung der Genauigkeit und Zuverlässigkeit.
Kompromisse und zukünftige Ausrichtung
Die Vorteile eines langen Kontexts sind zwar erheblich, es gibt aber auch Nachteile. Die Zeit bis zum ersten Token steigt linear mit der Länge des Kontexts. Um dieses Problem zu beheben, hat Sourcegraph einen Prefetching-Mechanismus und eine mehrschichtige Kontextmodellarchitektur für das Caching des Ausführungsstatus von Modellen implementiert. Mit den Long-Context-Modellen Gemini 1.5 Flash und Pro wurde die Zeit bis zum ersten Token für 1-MB-Kontexte von 30–40 Sekunden auf etwa 5 Sekunden optimiert. Das ist eine erhebliche Verbesserung für die Echtzeit-Codegenerierung und den technischen Support.
Diese Zusammenarbeit zeigt das transformative Potenzial von Modellen mit langem Kontext bei der Revolutionierung des Verständnisses und der Generierung von Code. Wir freuen uns auf die Zusammenarbeit mit Unternehmen wie Sourcegraph, um mit großen Kontextfenstern noch mehr innovative Anwendungen und Paradigmen zu ermöglichen.
Wenn Sie sich genauer mit den detaillierten Bewertungsmethoden, Benchmarks und Analysen von Sourcegraph befassen möchten, einschließlich anschaulicher Beispiele, sollten Sie sich den ausführlichen Blogpost ansehen.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],[],[],[],null,["[](/showcase) \nShare \nNov 7, 2024 \n\nSupercharging AI Coding Assistants with Gemini Models' Long Context \nBeyang Liu\n\nSourcegraph \nPaige Bailey\n\nAI Developer Experience Engineer \nVishal Dharmadhikari\n\nProduct Solutions Engineer \n\nOne of the most exciting frontiers in the application of long-context windows is code generation and understanding. Large codebases require a deep understanding of complex relationships and dependencies, something traditional AI models struggle to grasp. By expanding the amount of code with large context windows, we can unlock a new level of accuracy and usefulness in code generation and understanding.\n\n\n\u003cbr /\u003e\n\n\nWe partnered with Sourcegraph, the creators of the [Cody AI coding assistant](https://sourcegraph.com/cody) that supports LLMs like [Gemini 1.5 Pro and Flash](https://sourcegraph.com/blog/cody-vscode-1-22-0-release), to explore the potential of long context windows in real-world coding scenarios. Sourcegraph's focus on integrating code search and intelligence into AI code generation, and successful deployment of Cody to enterprises with large, complex codebases such as Palo Alto Networks and Leidos, made them the ideal partner for this exploration.\n\nSourcegraph's Approach and Results \n\nSourcegraph compared Cody's performance with a 1M token context window (using Google's Gemini 1.5 Flash) against its production version. This direct comparison allowed them to isolate the benefits of expanded context. They focused on technical question answering, a crucial task for developers working with large codebases. They used a dataset of challenging questions that required deep code understanding.\n\n\n\u003cbr /\u003e\n\n\nThe results were striking. Three of Sourcegraph's key benchmarks---Essential Recall, Essential Concision, and Helpfulness---demonstrated significant improvements when using the longer context.\n\n\u003cbr /\u003e\n\n- Essential Recall: The proportion of crucial facts in the response increased substantially.\n\n- Essential Concision: The proportion of essential facts normalized by response length also improved, indicating more concise and relevant answers.\n\n- Helpfulness: The overall helpfulness score, normalized by response length, significantly increased, indicating a more user-friendly experience.\n\n\nFurthermore, the use of long-context models drastically reduced the overall hallucination rate (the generation of factually incorrect information). The hallucination rate decreased from 18.97% to 10.48%, a significant improvement in accuracy and reliability.\n\nTradeoffs and Future Direction \n\nWhile the benefits of long context are significant, there are tradeoffs. The time to first token increases linearly with the length of the context. To mitigate this, Sourcegraph implemented a prefetching mechanism and a layered context model architecture for model execution state caching. With Gemini 1.5 Flash and Pro long-context models, this optimized the time to first token from 30-40 seconds to around 5 seconds for 1MB contexts -- a considerable improvement for real-time code generation and technical assistance.\n\n\n\u003cbr /\u003e\n\n\nThis collaboration showcases the transformative potential of long-context models in revolutionizing code understanding and generation. We're excited to partner with companies like Sourcegraph to continue to unlock even more innovative applications and paradigms with large context windows.\n\n\n\u003cbr /\u003e\n\n\nTo dive deeper into Sourcegraph's detailed evaluation methodologies, benchmarks, and analysis, including illustrative examples, don't miss their [in-depth blog post](https://sourcegraph.com/blog/towards-infinite-context-for-code). \n\nRelated case studies \n[AgentOps\nExplore how AgentOps provides cost-effective and powerful LLM-powered agent observability for enterprises using Gemini API.](/showcase/agentops) [Sublayer\nSee how the Ruby-based AI agent framework empowers developer teams to be more productive with the power of Gemini models.](/showcase/sublayer) [Rooms\nUnlocking richer avatar interactions with Gemini 2.0 text and audio capabilities](/showcase/rooms)"]]