HeadlinesBriefing HeadlinesBriefing 12 languages

Building a RAG pipeline for semantic code search

Hacker News ·

🇬🇧 English

Some time ago, we set out to build the best semantic code search platform we could: a RAG pipeline that gives LLM agents precise, citable evidence from real repositories instead of whatever grep happens to surface. The eventual solution was Air Context. We got it working, we got it into production, and we collected a lot of scar tissue along the way. In this series of posts, we’ll share the parts we wish someone had told us on day one.

Coding agents are undoubtedly the biggest technology leap for software development of our decade. However, as more and more development processes become agent-driven, the agent’s efficiency and the quality of the produced code become increasingly important. For large-scale code bases specifically, the agent would spend a great deal of time searching for the relevant pieces of code.

Attempting to locate the right code snippets, the agent will resort to traditional tools for code search such as keyword search and grep. These tools require the agent to know in advance which exact text to search for. This is where retrieval-augmented generation (RAG) comes into the picture. If we can index the source code in a way that captures its semantics and then allow the agent to retrieve the relevant pieces on demand using free text search, we create an interface that plays to the agent’s strengths.

Like many great ideas in the agentic era, a native, prototype implementation is extremely simple. A well-evaluated production grade solution most certainly is not. This first part of the series will cover the initial stages of the pipeline: parsing and chunking, where raw source files are divided into properly scoped units, and vectorization, where those units are transformed into a representation that supports semantic search.

View original article →


🇸🇦 العربية

بناء خط أنابيب RAG للبحث الدلالي عن الكود: مذكرات مطور

منذ بعض الوقت، شرعنا في بناء أفضل منصة للبحث الدلالي عن الكود يمكننا: خط أنابيب RAG يمنح وكلاء LLM أدلة دقيقة وقابلة للاستشهاد من المستودعات الحقيقية بدلاً من أي شيء يظهره grep. كان الحل النهائي هو Air Context. لقد جعلناه يعمل، وأدخلناه في الإنتاج، وجمعنا الكثير من الخبرات على طول الطريق. في هذه السلسلة من المنشورات، سنشارك الأجزاء التي كنا نتمنى أن يخبرنا بها أحد في اليوم الأول.

وكلاء البرمجة هم بلا شك أكبر قفزة تكنولوجية لتطوير البرمجيات في عقدنا. ومع ذلك، مع ازدياد العمليات التطويرية التي تعتمد على الوكلاء، تصبح كفاءة الوكيل وجودة الكود المنتج أكثر أهمية. بالنسبة لقواعد الكود واسعة النطاق على وجه الخصوص، سيقضي الوكيل قدرًا كبيرًا من الوقت في البحث عن أجزاء الكود ذات الصلة.

في محاولة لتحديد مقتطفات الكود الصحيحة، سيلجأ الوكيل إلى أدوات البحث التقليدية عن الكود مثل البحث بالكلمات الرئيسية و grep. تتطلب هذه الأدوات من الوكيل أن يعرف مسبقًا النص المحدد الذي يبحث عنه. هذا هو المكان الذي يأتي فيه دور التوليد المعزز بالاسترجاع (RAG). إذا تمكنا من فهرسة الكود المصدري بطريقة تلتقط دلالاته ثم السماح للوكيل باسترجاع الأجزاء ذات الصلة عند الطلب باستخدام البحث النصي الحر، فإننا ننشئ واجهة تلعب لصالح نقاط قوة الوكيل.

مثل العديد من الأفكار العظيمة في عصر الوكلاء، فإن التنفيذ النموذجي الأصلي بسيط للغاية. أما الحل الجيد التقييم على مستوى الإنتاج فليس كذلك بالتأكيد. سيغطي هذا الجزء الأول من السلسلة المراحل الأولية لخط الأنابيب: التحليل والتقطيع، حيث يتم تقسيم ملفات المصدر الخام إلى وحدات ذات نطاق مناسب، والتحويل إلى متجهات، حيث يتم تحويل تلك الوحدات إلى تمثيل يدعم البحث الدلالي.

ما هو Air Context؟

Air Context هو حل خط أنابيب RAG للبحث الدلالي عن الكود يمنح وكلاء LLM أدلة دقيقة وقابلة للاستشهاد من المستودعات الحقيقية.

العربية version →


🇧🇩 বাংলা

সিম্যান্টিক কোড অনুসন্ধানের জন্য RAG পাইপলাইন নির্মাণ: ডেভেলপার ডায়েরি

কিছু সময় আগে, আমরা সেরা সিম্যান্টিক কোড অনুসন্ধান প্ল্যাটফর্ম তৈরি করার সিদ্ধান্ত নিয়েছিলাম যা আমরা পারতাম: একটি RAG পাইপলাইন যা LLM এজেন্টদের বাস্তব রিপোজিটরি থেকে সঠিক, উদ্ধৃতি-উপযোগী প্রমাণ দেয়, grep যা কিছু পৃষ্ঠে আনে তার পরিবর্তে। চূড়ান্ত সমাধান ছিল Air Context। আমরা এটিকে কাজ করিয়েছি, এটিকে উৎপাদনে নিয়েছি এবং পথে অনেক অভিজ্ঞতা সঞ্চয় করেছি। পোস্টের এই সিরিজে, আমরা সেই অংশগুলি শেয়ার করব যা আমরা চাইতাম যে কেউ আমাদের প্রথম দিনেই বলত।

কোডিং এজেন্ট নিঃসন্দেহে আমাদের দশকের সফটওয়্যার ডেভেলপমেন্টের জন্য সবচেয়ে বড় প্রযুক্তিগত লাফ। তবে, যত বেশি উন্নয়ন প্রক্রিয়া এজেন্ট-চালিত হচ্ছে, এজেন্টের দক্ষতা এবং উৎপাদিত কোডের গুণমান ক্রমশ গুরুত্বপূর্ণ হয়ে উঠছে। বিশেষ করে বড় আকারের কোড বেসের জন্য, এজেন্ট প্রাসঙ্গিক কোডের টুকরো খুঁজতে অনেক সময় ব্যয় করবে।

সঠিক কোড স্নিপেট সনাক্ত করার চেষ্টা করে, এজেন্ট প্রথাগত কোড অনুসন্ধান সরঞ্জাম যেমন কীওয়ার্ড অনুসন্ধান এবং grep-এর আশ্রয় নেবে। এই সরঞ্জামগুলির জন্য এজেন্টকে আগে থেকেই জানতে হবে যে কোন সঠিক টেক্সট অনুসন্ধান করতে হবে। এখানেই রিট্রিভাল-অগমেন্টেড জেনারেশন (RAG) ছবিতে আসে। যদি আমরা সোর্স কোডকে এমনভাবে ইনডেক্স করতে পারি যা এর শব্দার্থ ধারণ করে এবং তারপর এজেন্টকে ফ্রি টেক্সট অনুসন্ধান ব্যবহার করে চাহিদা অনুযায়ী প্রাসঙ্গিক টুকরো পুনরুদ্ধার করার অনুমতি দেয়, তাহলে আমরা একটি ইন্টারফেস তৈরি করি যা এজেন্টের শক্তির সাথে খেলে।

এজেন্টিক যুগের অনেক দুর্দান্ত ধারণার মতো, একটি নেটিভ, প্রোটোটাইপ বাস্তবায়ন অত্যন্ত সহজ। একটি সু-মূল্যায়িত উৎপাদন-গ্রেড সমাধান অবশ্যই তা নয়। সিরিজের এই প্রথম অংশটি পাইপলাইনের প্রাথমিক পর্যায়গুলি কভার করবে: পার্সিং এবং চাঙ্কিং, যেখানে কাঁচা সোর্স ফাইলগুলিকে যথাযথভাবে স্কোপ করা ইউনিটে বিভক্ত করা হয়, এবং ভেক্টরাইজেশন, যেখানে সেই ইউনিটগুলিকে এমন একটি উপস্থাপনায় রূপান্তরিত করা হয় যা সিম্যান্টিক অনুসন্ধান সমর্থন করে।

Air Context কী?

Air Context হল সিম্যান্টিক কোড অনুসন্ধানের জন্য একটি RAG পাইপলাইন সমাধান যা LLM এজেন্টদের বাস্তব রিপোজিটরি থেকে সঠিক, উদ্ধৃতি-উপযোগী প্রমাণ প্রদান করে।

বাংলা version →


🇩🇪 Deutsch

Aufbau einer RAG-Pipeline für semantische Codesuche: Entwicklertagebuch

Vor einiger Zeit haben wir uns vorgenommen, die beste Plattform für semantische Codesuche zu bauen, die wir konnten: eine RAG-Pipeline, die LLM-Agenten präzise, zitierfähige Beweise aus echten Repositories liefert, anstatt dem, was grep an die Oberfläche bringt. Die endgültige Lösung war Air Context. Wir haben es zum Laufen gebracht, in Produktion genommen und dabei viel Erfahrung gesammelt. In dieser Beitragsreihe werden wir die Teile teilen, von denen wir uns gewünscht hätten, dass sie uns jemand am ersten Tag gesagt hätte.

Codierungsagenten sind zweifellos der größte Technologiesprung für die Softwareentwicklung unseres Jahrzehnts. Da jedoch immer mehr Entwicklungsprozesse agentengesteuert werden, werden die Effizienz des Agenten und die Qualität des produzierten Codes immer wichtiger. Insbesondere für große Codebasen würde der Agent viel Zeit damit verbringen, nach den relevanten Codeteilen zu suchen.

Bei dem Versuch, die richtigen Code-Snippets zu lokalisieren, wird der Agent auf traditionelle Tools zur Codesuche wie Stichwortsuche und grep zurückgreifen. Diese Tools erfordern, dass der Agent im Voraus weiß, nach welchem genauen Text gesucht werden soll. Hier kommt die Retrieval-Augmented Generation (RAG) ins Spiel. Wenn wir den Quellcode so indizieren können, dass seine Semantik erfasst wird, und dem Agenten dann erlauben, die relevanten Teile bei Bedarf mithilfe einer Freitextsuche abzurufen, schaffen wir eine Schnittstelle, die die Stärken des Agenten ausspielt.

Wie viele großartige Ideen im Zeitalter der Agenten ist eine native Prototypimplementierung extrem einfach. Eine gut bewertete Produktionslösung ist es ganz sicher nicht. Dieser erste Teil der Serie wird die Anfangsphasen der Pipeline abdecken: Parsing und Chunking, bei denen rohe Quelldateien in ordnungsgemäß abgegrenzte Einheiten aufgeteilt werden, und Vektorisierung, bei der diese Einheiten in eine Darstellung umgewandelt werden, die semantische Suche unterstützt.

Was ist Air Context?

Air Context ist eine RAG-Pipeline-Lösung für semantische Codesuche, die LLM-Agenten präzise, zitierfähige Beweise aus echten Repositories liefert.

Deutsch version →


🇪🇸 Español

Construcción de un pipeline RAG para búsqueda semántica de código: Diario de desarrollador

Hace algún tiempo, nos propusimos construir la mejor plataforma de búsqueda semántica de código que pudiéramos: un pipeline RAG que proporciona a los agentes LLM evidencia precisa y citable de repositorios reales, en lugar de lo que sea que grep pueda mostrar. La solución final fue Air Context. Lo hicimos funcionar, lo pusimos en producción y acumulamos mucha experiencia en el camino. En esta serie de publicaciones, compartiremos las partes que desearíamos que alguien nos hubiera contado desde el primer día.

Los agentes de codificación son sin duda el mayor salto tecnológico para el desarrollo de software de nuestra década. Sin embargo, a medida que más y más procesos de desarrollo se vuelven impulsados por agentes, la eficiencia del agente y la calidad del código producido se vuelven cada vez más importantes. Para bases de código a gran escala específicamente, el agente pasaría una gran cantidad de tiempo buscando las piezas de código relevantes.

Al intentar localizar los fragmentos de código correctos, el agente recurrirá a herramientas tradicionales de búsqueda de código, como la búsqueda por palabras clave y grep. Estas herramientas requieren que el agente sepa de antemano qué texto exacto buscar. Aquí es donde entra en juego la generación aumentada por recuperación (RAG). Si podemos indexar el código fuente de una manera que capture su semántica y luego permitir que el agente recupere las piezas relevantes bajo demanda utilizando búsqueda de texto libre, creamos una interfaz que juega a favor de las fortalezas del agente.

Como muchas grandes ideas en la era de los agentes, una implementación nativa de prototipo es extremadamente simple. Una solución de grado de producción bien evaluada ciertamente no lo es. Esta primera parte de la serie cubrirá las etapas iniciales del pipeline: análisis y fragmentación, donde los archivos fuente sin procesar se dividen en unidades de alcance adecuado, y vectorización, donde esas unidades se transforman en una representación que admite la búsqueda semántica.

¿Qué es Air Context?

Air Context es una solución de pipeline RAG para búsqueda semántica de código que proporciona a los agentes LLM evidencia precisa y citable de repositorios reales.

Español version →


🇫🇷 Français

Construction d'un pipeline RAG pour la recherche sémantique de code : Journal de développeur

Il y a quelque temps, nous avons entrepris de construire la meilleure plateforme de recherche sémantique de code possible : un pipeline RAG qui fournit aux agents LLM des preuves précises et citables provenant de dépôts réels, au lieu de ce que grep peut remonter. La solution finale a été Air Context. Nous l'avons fait fonctionner, nous l'avons mise en production, et nous avons accumulé beaucoup d'expérience en cours de route. Dans cette série d'articles, nous partagerons les parties que nous aurions aimé que quelqu'un nous dise dès le premier jour.

Les agents de codage sont sans aucun doute la plus grande avancée technologique pour le développement logiciel de notre décennie. Cependant, à mesure que de plus en plus de processus de développement deviennent pilotés par des agents, l'efficacité de l'agent et la qualité du code produit deviennent de plus en plus importantes. Pour les bases de code à grande échelle en particulier, l'agent passerait beaucoup de temps à rechercher les morceaux de code pertinents.

En tentant de localiser les bons extraits de code, l'agent aura recours à des outils de recherche de code traditionnels tels que la recherche par mots-clés et grep. Ces outils exigent que l'agent sache à l'avance quel texte exact rechercher. C'est là qu'intervient la génération augmentée par récupération (RAG). Si nous pouvons indexer le code source d'une manière qui capture sa sémantique, puis permettre à l'agent de récupérer les morceaux pertinents à la demande en utilisant la recherche en texte libre, nous créons une interface qui joue sur les forces de l'agent.

Comme beaucoup de grandes idées à l'ère des agents, une implémentation prototype native est extrêmement simple. Une solution de qualité production bien évaluée ne l'est certainement pas. Cette première partie de la série couvrira les étapes initiales du pipeline : l'analyse et le découpage, où les fichiers source bruts sont divisés en unités de portée appropriée, et la vectorisation, où ces unités sont transformées en une représentation qui prend en charge la recherche sémantique.

Qu'est-ce que Air Context ?

Air Context est une solution de pipeline RAG pour la recherche sémantique de code qui fournit aux agents LLM des preuves précises et citables provenant de dépôts réels.

Français version →


🇮🇳 हिन्दी

सिमैंटिक कोड खोज के लिए RAG पाइपलाइन बनाना: डेवलपर डायरी

कुछ समय पहले, हमने सबसे अच्छा सिमैंटिक कोड खोज प्लेटफ़ॉर्म बनाने का निर्णय लिया जो हम कर सकते थे: एक RAG पाइपलाइन जो LLM एजेंटों को वास्तविक रिपॉजिटरी से सटीक, उद्धरण योग्य सबूत देती है, न कि जो कुछ भी grep सतह पर लाता है। अंतिम समाधान Air Context था। हमने इसे काम करने लायक बनाया, इसे उत्पादन में लगाया, और रास्ते में बहुत सारे अनुभव प्राप्त किए। पोस्ट की इस श्रृंखला में, हम उन हिस्सों को साझा करेंगे जो हम चाहते थे कि किसी ने हमें पहले दिन बताया होता।

कोडिंग एजेंट निस्संदेह हमारे दशक के सॉफ्टवेयर विकास के लिए सबसे बड़ी तकनीकी छलांग हैं। हालांकि, जैसे-जैसे अधिक से अधिक विकास प्रक्रियाएं एजेंट-संचालित होती जा रही हैं, एजेंट की दक्षता और उत्पादित कोड की गुणवत्ता तेजी से महत्वपूर्ण होती जा रही है। विशेष रूप से बड़े पैमाने के कोड बेस के लिए, एजेंट प्रासंगिक कोड के टुकड़ों की खोज में बहुत समय व्यतीत करेगा।

सही कोड स्निपेट का पता लगाने का प्रयास करते हुए, एजेंट पारंपरिक कोड खोज उपकरणों जैसे कीवर्ड खोज और grep का सहारा लेगा। इन उपकरणों के लिए आवश्यक है कि एजेंट को पहले से पता हो कि किस सटीक टेक्स्ट को खोजना है। यह वह जगह है जहाँ रिट्रीवल-ऑगमेंटेड जनरेशन (RAG) चित्र में आता है। यदि हम स्रोत कोड को इस तरह से इंडेक्स कर सकते हैं जो इसके अर्थ को कैप्चर करता है और फिर एजेंट को फ्री टेक्स्ट सर्च का उपयोग करके मांग पर प्रासंगिक टुकड़ों को पुनर्प्राप्त करने की अनुमति देता है, तो हम एक ऐसा इंटरफ़ेस बनाते हैं जो एजेंट की ताकत के अनुकूल होता है।

एजेंटिक युग में कई महान विचारों की तरह, एक देशी, प्रोटोटाइप कार्यान्वयन अत्यंत सरल है। एक अच्छी तरह से मूल्यांकित उत्पादन-ग्रेड समाधान निश्चित रूप से नहीं है। श्रृंखला का यह पहला भाग पाइपलाइन के प्रारंभिक चरणों को कवर करेगा: पार्सिंग और चंकिंग, जहाँ कच्ची स्रोत फ़ाइलों को उचित रूप से स्कोप की गई इकाइयों में विभाजित किया जाता है, और वेक्टराइजेशन, जहाँ उन इकाइयों को एक प्रतिनिधित्व में बदल दिया जाता है जो सिमैंटिक खोज का समर्थन करता है।

Air Context क्या है?

Air Context एक RAG पाइपलाइन समाधान है जो सिमैंटिक कोड खोज के लिए है, जो LLM एजेंटों को वास्तविक रिपॉजिटरी से सटीक, उद्धरण योग्य सबूत प्रदान करता है।

हिन्दी version →


🇮🇩 Bahasa Indonesia

Membangun Pipeline RAG untuk Pencarian Kode Semantik: Buku Harian Pengembang

Beberapa waktu lalu, kami bertekad untuk membangun platform pencarian kode semantik terbaik yang bisa kami buat: sebuah pipeline RAG yang memberikan agen LLM bukti yang tepat dan dapat dikutip dari repositori nyata, bukan dari apa pun yang muncul di permukaan oleh grep. Solusi akhirnya adalah Air Context. Kami berhasil membuatnya berfungsi, menempatkannya ke dalam produksi, dan mengumpulkan banyak pengalaman berharga selama prosesnya. Dalam seri postingan ini, kami akan membagikan bagian-bagian yang kami harap seseorang telah memberi tahu kami pada hari pertama.

Agen pengkodean tidak diragukan lagi adalah lompatan teknologi terbesar untuk pengembangan perangkat lunak di dekade kita. Namun, seiring dengan semakin banyaknya proses pengembangan yang menjadi digerakkan oleh agen, efisiensi agen dan kualitas kode yang dihasilkan menjadi semakin penting. Untuk basis kode skala besar khususnya, agen akan menghabiskan banyak waktu untuk mencari potongan kode yang relevan.

Saat mencoba menemukan cuplikan kode yang tepat, agen akan menggunakan alat pencarian kode tradisional seperti pencarian kata kunci dan grep. Alat-alat ini mengharuskan agen untuk mengetahui terlebih dahulu teks persis apa yang harus dicari. Di sinilah retrieval-augmented generation (RAG) berperan. Jika kita dapat mengindeks kode sumber dengan cara yang menangkap semantiknya dan kemudian memungkinkan agen untuk mengambil potongan yang relevan sesuai permintaan menggunakan pencarian teks bebas, kita menciptakan antarmuka yang memainkan kekuatan agen.

Seperti banyak ide hebat di era agen, implementasi prototipe asli sangatlah sederhana. Solusi tingkat produksi yang dievaluasi dengan baik tentu saja tidak. Bagian pertama dari seri ini akan mencakup tahap awal pipeline: parsing dan chunking, di mana file sumber mentah dibagi menjadi unit-unit dengan cakupan yang tepat, dan vektorisasi, di mana unit-unit tersebut diubah menjadi representasi yang mendukung pencarian semantik.

Apa itu Air Context?

Air Context adalah solusi pipeline RAG untuk pencarian kode semantik yang memberikan agen LLM bukti yang tepat dan dapat dikutip dari repositori nyata.

Bahasa Indonesia version →


🇯🇵 日本語

セマンティックコード検索のためのRAGパイプライン構築:開発者日記

少し前、私たちは可能な限り最高のセマンティックコード検索プラットフォームを構築することに着手しました。それは、grepが表面化するものではなく、実際のリポジトリからLLMエージェントに正確で引用可能な証拠を提供するRAGパイプラインです。最終的な解決策はAir Contextでした。私たちはそれを機能させ、本番環境に導入し、その過程で多くの経験を積みました。この一連の投稿では、初日に誰かに教えてもらいたかった部分を共有します。

コーディングエージェントは、間違いなくこの10年のソフトウェア開発における最大の技術的飛躍です。しかし、ますます多くの開発プロセスがエージェント駆動型になるにつれて、エージェントの効率性と生成されるコードの品質がますます重要になっています。特に大規模なコードベースの場合、エージェントは関連するコードの断片を探すのに多くの時間を費やすことになります。

正しいコードスニペットを見つけようとして、エージェントはキーワード検索やgrepなどの従来のコード検索ツールに頼ることになります。これらのツールでは、エージェントが事前に検索する正確なテキストを知っている必要があります。ここで検索拡張生成(RAG)の出番です。ソースコードのセマンティクスを捉える方法でインデックスを作成し、エージェントがフリーテキスト検索を使用してオンデマンドで関連する断片を取得できるようにすれば、エージェントの強みを活かすインターフェースを作成できます。

エージェント時代の多くの素晴らしいアイデアと同様に、ネイティブのプロトタイプ実装は非常に簡単です。十分に評価されたプロダクショングレードのソリューションは、そうではありません。このシリーズの最初の部分では、パイプラインの初期段階である、生のソースファイルを適切にスコープされたユニットに分割する解析とチャンク化、およびそれらのユニットをセマンティック検索をサポートする表現に変換するベクトル化について説明します。

Air Contextとは何ですか?

Air Contextは、セマンティックコード検索のためのRAGパイプラインソリューションであり、実際のリポジトリからLLMエージェントに正確で引用可能な証拠を提供します。

日本語 version →


🇧🇷 Português

Construindo um Pipeline RAG para Pesquisa Semântica de Código: Diário de Desenvolvedor

Há algum tempo, decidimos construir a melhor plataforma de pesquisa semântica de código que pudéssemos: um pipeline RAG que fornece aos agentes LLM evidências precisas e citáveis de repositórios reais, em vez do que quer que o grep possa trazer à tona. A solução final foi o Air Context. Conseguimos fazê-lo funcionar, colocá-lo em produção e coletamos muita experiência ao longo do caminho. Nesta série de posts, compartilharemos as partes que gostaríamos que alguém nos tivesse dito no primeiro dia.

Os agentes de codificação são, sem dúvida, o maior salto tecnológico para o desenvolvimento de software da nossa década. No entanto, à medida que mais e mais processos de desenvolvimento se tornam orientados por agentes, a eficiência do agente e a qualidade do código produzido tornam-se cada vez mais importantes. Para bases de código de grande escala, especificamente, o agente gastaria muito tempo procurando as peças de código relevantes.

Ao tentar localizar os trechos de código corretos, o agente recorrerá a ferramentas tradicionais de pesquisa de código, como pesquisa por palavras-chave e grep. Essas ferramentas exigem que o agente saiba antecipadamente qual texto exato pesquisar. É aqui que entra a geração aumentada por recuperação (RAG). Se pudermos indexar o código-fonte de uma forma que capture sua semântica e depois permitir que o agente recupere as peças relevantes sob demanda usando pesquisa de texto livre, criamos uma interface que joga a favor dos pontos fortes do agente.

Como muitas grandes ideias na era dos agentes, uma implementação nativa de protótipo é extremamente simples. Uma solução de nível de produção bem avaliada certamente não é. Esta primeira parte da série cobrirá os estágios iniciais do pipeline: análise e fragmentação, onde os arquivos de origem brutos são divididos em unidades de escopo adequado, e vetorização, onde essas unidades são transformadas em uma representação que suporta pesquisa semântica.

O que é Air Context?

Air Context é uma solução de pipeline RAG para pesquisa semântica de código que fornece aos agentes LLM evidências precisas e citáveis de repositórios reais.

Português version →


🇷🇺 Русский

Создание конвейера RAG для семантического поиска кода: Дневник разработчика

Некоторое время назад мы решили создать лучшую платформу семантического поиска кода, какую только могли: конвейер RAG, который предоставляет агентам LLM точные, цитируемые доказательства из реальных репозиториев, а не то, что grep может выдать на поверхность. Окончательным решением стал Air Context. Мы заставили его работать, внедрили в производство и накопили много опыта на этом пути. В этой серии статей мы поделимся тем, что нам хотелось бы, чтобы кто-то рассказал нам в первый же день.

Агенты кодирования, несомненно, являются самым большим технологическим скачком в разработке программного обеспечения нашего десятилетия. Однако, поскольку все больше и больше процессов разработки становятся управляемыми агентами, эффективность агента и качество создаваемого кода становятся все более важными. Для крупномасштабных баз кода, в частности, агент будет тратить много времени на поиск соответствующих фрагментов кода.

Пытаясь найти нужные фрагменты кода, агент будет прибегать к традиционным инструментам поиска кода, таким как поиск по ключевым словам и grep. Эти инструменты требуют, чтобы агент заранее знал, какой именно текст искать. Вот тут-то и вступает в игру генерация с расширенным поиском (RAG). Если мы сможем индексировать исходный код таким образом, чтобы улавливать его семантику, а затем позволить агенту извлекать соответствующие фрагменты по запросу с помощью поиска по свободному тексту, мы создадим интерфейс, который играет на сильных сторонах агента.

Как и многие великие идеи в эпоху агентов, нативная реализация прототипа чрезвычайно проста. Хорошо оцененное производственное решение, безусловно, таковым не является. Эта первая часть серии охватит начальные этапы конвейера: синтаксический анализ и разбиение на чанки, где необработанные исходные файлы разделяются на правильно ограниченные единицы, и векторизацию, где эти единицы преобразуются в представление, поддерживающее семантический поиск.

Что такое Air Context?

Air Context — это решение конвейера RAG для семантического поиска кода, которое предоставляет агентам LLM точные, цитируемые доказательства из реальных репозиториев.

Русский version →


🇨🇳 简体中文

构建用于语义代码搜索的RAG管道:开发者日记

不久前,我们着手构建我们所能做到的最好的语义代码搜索平台:一个RAG管道,它能为LLM代理提供来自真实仓库的精确、可引用的证据,而不是grep工具可能呈现的任何内容。最终的解决方案是Air Context。我们让它工作起来,投入了生产,并在此过程中积累了大量经验教训。在这一系列文章中,我们将分享我们希望有人第一天就告诉我们的那些部分。

编码代理无疑是我们这个十年软件开发中最大的技术飞跃。然而,随着越来越多的开发过程变得由代理驱动,代理的效率以及所生成代码的质量变得越来越重要。特别是对于大型代码库,代理会花费大量时间搜索与其正在处理的功能相关的代码片段。

为了找到正确的代码片段,代理会求助于传统的代码搜索工具,如关键词搜索和grep。这些工具要求代理事先知道要搜索的确切文本。这就是检索增强生成(RAG)发挥作用的地方。如果我们能够以捕捉代码语义的方式索引源代码,然后允许代理使用自由文本搜索按需检索相关片段,我们就创建了一个能发挥代理优势的接口。

就像代理时代的许多伟大想法一样,一个本地的、原型实现非常简单。一个经过充分评估的生产级解决方案则绝非如此。本系列的第一部分将涵盖管道的初始阶段:解析和分块,即将原始源文件划分为适当范围单元的过程,以及向量化,即将这些单元转换为支持语义搜索的表示形式的过程。

什么是Air Context?

Air Context是一个用于语义代码搜索的RAG管道解决方案,它为LLM代理提供来自真实仓库的精确、可引用的证据。

简体中文 version →