HeadlinesBriefing HeadlinesBriefing 12 languages

Coding Agents Can Solve the Task — But How Much Work Did They Waste?

Towards Data Science ·

🇬🇧 English

A passing AI coding agent run can still hide a lot of wasted effort. In one example, an agent passed the tests on turn 4 but kept working through turn 10, and six of its eight changed lines were unnecessary compared with the reference fix. A standard pass/fail check scores this run the same as a clean, efficient one.

The author notes that the agent in this experiment is simulated. Rather than running a real coding agent such as Claude Code or Codex, the study used a seeded Python policy to make decisions, while the repositories, edits, diffs, test runs and failures are real. The goal was to measure how many extra turns an agent takes to reach a passing patch, how much of that work was needed, and whether a surrounding workflow can reduce unnecessary effort.

The analysis draws on about 50,000 simulated runs, including a compliance sweep, tests of individual rules and a held-out suite. It builds on SWE-bench, a benchmark of 2,294 real GitHub issues from 12 Python repositories, which scores only the final patch. Two runs can both succeed there while one takes far more turns, time and tokens, and leaves more changes behind.

The article separates final patch size from total work, which includes failed test runs, repeated commands, edits to the wrong file and reverted changes. Pass rates miss this effort entirely. The study aims to show what that hidden work costs and how harness rules might cut it down.

View original article →


🇸🇦 العربية

وكلاء البرمجة يحلّون المهام، لكنهم يهدرون العمل؟

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

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

يعتمد التحليل على نحو 50,000 تشغيل محاكى، تشمل مسحاً للامتثال واختبارات لقواعد فردية ومجموعة اختبار مستقلة. ويستند إلى SWE-bench، وهو معيار يضم 2,294 مشكلة حقيقية من GitHub من 12 مستودع Python، ويقيّم الرقعة النهائية فقط. وقد ينجح تشغيلان فيه كلاهما، بينما يستغرق أحدهما دورات ووقتاً ورموزاً أكثر بكثير ويترك تغييرات أكثر.

يفصل المقال بين حجم الرقعة النهائية والعمل الكلي، الذي يشمل تشغيلات الاختبار الفاشلة والأوامر المكررة والتعديلات على الملف الخاطئ والتغييرات المتراجَع عنها. ومعدلات النجاح تتجاهل هذا الجهد تماماً. وتهدف الدراسة إلى إظهار كلفة هذا العمل الخفي وكيف يمكن لقواعد الإطار التشغيلي أن تخفضه.

لماذا لا يكفي معدل النجاح للحكم على وكيل برمجة؟

يقيّم معدل النجاح الرقعة النهائية فقط. إنه يتجاهل الدورات المهدورة والتعديلات المتراجَع عنها وتشغيلات الاختبار المتكررة، لذلك قد يختلف تشغيلان ناجحان اختلافاً كبيراً في الكفاءة وفي مقدار التغيير غير الضروري الذي يتركانه.

العربية version →


🇧🇩 বাংলা

কোডিং এজেন্ট কাজ সম্পন্ন করে, কিন্তু কাজ কি নষ্ট করে?

একটি সফল AI কোডিং এজেন্ট রানও অনেক অপচয়ী প্রচেষ্টা লুকিয়ে রাখতে পারে। একটি উদাহরণে, একটি এজেন্ট চতুর্থ টার্নে টেস্ট পাস করেছিল, কিন্তু দশম টার্ন পর্যন্ত কাজ চালিয়ে যায়, এবং তার পরিবর্তিত আটটি লাইনের মধ্যে ছয়টি রেফারেন্স ফিক্সের তুলনায় অপ্রয়োজনীয় ছিল। একটি আদর্শ পাস/ফেল পরীক্ষা এই রানকে একটি পরিষ্কার ও দক্ষ রানের সমান নম্বর দেয়।

লেখক উল্লেখ করেন যে এই পরীক্ষার এজেন্টটি সিমুলেটেড। Claude Code বা Codex-এর মতো প্রকৃত কোডিং এজেন্ট চালানোর পরিবর্তে, গবেষণায় সিদ্ধান্ত নেওয়ার জন্য একটি সিড করা Python নীতি ব্যবহার করা হয়েছে, যদিও রিপোজিটরি, সম্পাদনা, ডিফ, টেস্ট রান ও ব্যর্থতাগুলো বাস্তব। লক্ষ্য ছিল একটি পাস করা প্যাচে পৌঁছাতে এজেন্টের কতগুলো অতিরিক্ত টার্ন লাগে, সেই কাজের কতটুকু প্রয়োজনীয় ছিল, এবং আশেপাশের ওয়ার্কফ্লো অপ্রয়োজনীয় প্রচেষ্টা কমাতে পারে কি না, তা পরিমাপ করা।

বিশ্লেষণটি প্রায় ৫০,০০০ সিমুলেটেড রানের উপর ভিত্তি করে, যার মধ্যে রয়েছে একটি সম্মতি যাচাই, আলাদা নিয়মের পরীক্ষা এবং একটি হোল্ড-আউট স্যুট। এটি SWE-bench-এর উপর নির্ভর করে, যা ১২টি Python রিপোজিটরির ২,২৯৪টি বাস্তব GitHub ইস্যুর একটি বেঞ্চমার্ক এবং শুধু চূড়ান্ত প্যাচের স্কোর করে। সেখানে দুটি রান উভয়ই সফল হতে পারে, অথচ একটি অনেক বেশি টার্ন, সময় ও টোকেন নেয় এবং বেশি পরিবর্তন রেখে যায়।

নিবন্ধটি চূড়ান্ত প্যাচের আকার এবং মোট কাজকে আলাদা করে, যার মধ্যে ব্যর্থ টেস্ট রান, পুনরাবৃত্ত কমান্ড, ভুল ফাইলে সম্পাদনা এবং ফিরিয়ে নেওয়া পরিবর্তন অন্তর্ভুক্ত। পাস রেট এই প্রচেষ্টাকে সম্পূর্ণভাবে উপেক্ষা করে। গবেষণাটির লক্ষ্য হলো এই লুকানো কাজের খরচ দেখানো এবং হার্নেস নিয়ম কীভাবে তা কমাতে পারে তা খতিয়ে দেখা।

কোডিং এজেন্ট বিচারের জন্য পাস রেট যথেষ্ট নয় কেন?

পাস রেট শুধু চূড়ান্ত প্যাচের স্কোর করে। এটি অপচয়ী টার্ন, ফিরিয়ে নেওয়া সম্পাদনা এবং পুনরাবৃত্ত টেস্ট রান উপেক্ষা করে, তাই দুটি সফল রানের দক্ষতা এবং তাদের রেখে যাওয়া অপ্রয়োজনীয় পরিবর্তনের পরিমাণে বড় পার্থক্য থাকতে পারে।

বাংলা version →


🇩🇪 Deutsch

Coding-Agenten lösen Aufgaben, verschwenden aber Arbeit?

Ein erfolgreicher Lauf eines KI-Coding-Agenten kann dennoch viel verschwendeten Aufwand verbergen. In einem Beispiel bestand ein Agent die Tests in Runde 4, arbeitete aber bis Runde 10 weiter, und sechs seiner acht geänderten Zeilen waren im Vergleich zur Referenzkorrektur unnötig. Eine übliche Bestanden-/Nicht-bestanden-Prüfung bewertet diesen Lauf genauso wie einen sauberen und effizienten.

Der Autor weist darauf hin, dass der Agent in diesem Experiment simuliert ist. Statt einen echten Coding-Agenten wie Claude Code oder Codex laufen zu lassen, nutzte die Studie eine Python-Richtlinie mit festem Seed für die Entscheidungen, während Repositories, Änderungen, Diffs, Testläufe und Fehler real sind. Ziel war es zu messen, wie viele zusätzliche Runden ein Agent braucht, um einen bestehenden Patch zu erreichen, wie viel dieser Arbeit tatsächlich nötig war und ob ein umgebender Workflow den unnötigen Aufwand verringern kann.

Die Analyse stützt sich auf rund 50.000 simulierte Läufe, darunter einen Konformitätsdurchlauf, Tests einzelner Regeln und eine zurückgehaltene Testsuite. Sie baut auf SWE-bench auf, einem Benchmark mit 2.294 echten GitHub-Issues aus 12 Python-Repositories, der nur den finalen Patch bewertet. Zwei Läufe können dort beide erfolgreich sein, während einer weit mehr Runden, Zeit und Tokens verbraucht und mehr Änderungen zurücklässt.

Der Artikel trennt die Größe des finalen Patches von der Gesamtarbeit, zu der fehlgeschlagene Testläufe, wiederholte Befehle, Änderungen an der falschen Datei und zurückgesetzte Änderungen gehören. Erfolgsquoten erfassen diesen Aufwand überhaupt nicht. Die Studie will zeigen, was diese verborgene Arbeit kostet und wie Regeln des Harness sie reduzieren könnten.

Warum reicht eine Erfolgsquote nicht aus, um einen Coding-Agenten zu beurteilen?

Eine Erfolgsquote bewertet nur den finalen Patch. Sie ignoriert verschwendete Runden, zurückgesetzte Änderungen und wiederholte Testläufe, sodass sich zwei erfolgreiche Läufe stark in ihrer Effizienz und in der Menge unnötiger Änderungen unterscheiden können, die sie hinterlassen.

Deutsch version →


🇪🇸 Español

Los agentes de programación resuelven tareas, pero ¿desperdician trabajo?

Una ejecución exitosa de un agente de programación con IA puede seguir ocultando un gran esfuerzo desperdiciado. En un ejemplo, un agente superó las pruebas en el turno 4, pero siguió trabajando hasta el turno 10, y seis de sus ocho líneas modificadas eran innecesarias en comparación con la corrección de referencia. Una comprobación estándar de aprobado/suspenso puntúa esta ejecución igual que una limpia y eficiente.

El autor señala que el agente de este experimento es simulado. En lugar de ejecutar un agente de programación real como Claude Code o Codex, el estudio utilizó una política de Python con semilla para tomar decisiones, mientras que los repositorios, las ediciones, los diffs, las ejecuciones de pruebas y los fallos son reales. El objetivo era medir cuántos turnos adicionales necesita un agente para llegar a un parche que supere las pruebas, cuánto de ese trabajo era necesario y si un flujo de trabajo que lo rodea puede reducir el esfuerzo innecesario.

El análisis se basa en unas 50.000 ejecuciones simuladas, que incluyen un barrido de cumplimiento, pruebas de reglas individuales y un conjunto de pruebas reservado. Se apoya en SWE-bench, un benchmark de 2.294 incidencias reales de GitHub procedentes de 12 repositorios de Python, que solo puntúa el parche final. Dos ejecuciones pueden tener éxito en él mientras una consume muchos más turnos, tiempo y tokens, y deja más cambios pendientes.

El artículo separa el tamaño del parche final del trabajo total, que incluye las ejecuciones de pruebas fallidas, los comandos repetidos, las ediciones en el archivo equivocado y los cambios revertidos. Las tasas de aprobado pasan completamente por alto este esfuerzo. El estudio pretende mostrar lo que cuesta ese trabajo oculto y cómo las reglas del arnés podrían reducirlo.

¿Por qué una tasa de aprobado no basta para juzgar a un agente de programación?

Una tasa de aprobado solo puntúa el parche final. Ignora los turnos desperdiciados, las ediciones revertidas y las ejecuciones de pruebas repetidas, así que dos ejecuciones exitosas pueden diferir mucho en eficiencia y en la cantidad de cambios innecesarios que dejan.

Español version →


🇫🇷 Français

Les agents de codage résolvent les tâches, mais gaspillent-ils du travail ?

Une exécution réussie d'un agent de codage IA peut quand même masquer un grand nombre d'efforts gaspillés. Dans un exemple, un agent a réussi les tests au tour 4, mais a continué à travailler jusqu'au tour 10, et six de ses huit lignes modifiées étaient inutiles par rapport à la correction de référence. Une vérification standard de réussite ou d'échec attribue à cette exécution la même note qu'une exécution propre et efficace.

L'auteur précise que l'agent de cette expérience est simulé. Plutôt que d'exécuter un véritable agent de codage comme Claude Code ou Codex, l'étude a utilisé une politique Python à graine fixe pour prendre ses décisions, tandis que les dépôts, les modifications, les diffs, les exécutions de tests et les échecs sont réels. L'objectif était de mesurer combien de tours supplémentaires un agent met pour obtenir un correctif réussi, quelle part de ce travail était nécessaire, et si un flux de travail environnant peut réduire les efforts inutiles.

L'analyse s'appuie sur environ 50 000 exécutions simulées, incluant un balayage de conformité, des tests de règles individuelles et une suite de validation à part. Elle se fonde sur SWE-bench, un benchmark de 2 294 tickets GitHub réels issus de 12 dépôts Python, qui n'évalue que le correctif final. Deux exécutions peuvent y réussir alors que l'une prend beaucoup plus de tours, de temps et de jetons, et laisse davantage de modifications en suspens.

L'article distingue la taille du correctif final du travail total, qui comprend les exécutions de tests échouées, les commandes répétées, les modifications dans le mauvais fichier et les changements annulés. Les taux de réussite ignorent entièrement cet effort. L'étude vise à montrer ce que coûte ce travail caché et comment les règles du harnais pourraient le réduire.

Pourquoi un taux de réussite ne suffit-il pas à juger un agent de codage ?

Un taux de réussite n'évalue que le correctif final. Il ignore les tours gaspillés, les modifications annulées et les exécutions de tests répétées, si bien que deux exécutions réussies peuvent différer fortement en efficacité et en quantité de changements inutiles qu'elles laissent.

Français version →


🇮🇳 हिन्दी

कोडिंग एजेंट कार्य हल करते हैं, पर क्या वे काम बर्बाद करते हैं?

एक सफल AI कोडिंग एजेंट रन में भी बहुत सारी बर्बाद मेहनत छिपी हो सकती है। एक उदाहरण में, एक एजेंट ने टर्न 4 पर टेस्ट पास कर लिए, लेकिन टर्न 10 तक काम करता रहा, और उसकी बदली गई आठ पंक्तियों में से छह संदर्भ सुधार की तुलना में अनावश्यक थीं। एक मानक पास/फेल जाँच इस रन को उतना ही अंक देती है जितना एक साफ और कुशल रन को।

लेखक बताते हैं कि इस प्रयोग का एजेंट सिमुलेटेड है। Claude Code या Codex जैसे वास्तविक कोडिंग एजेंट चलाने के बजाय, अध्ययन ने निर्णय लेने के लिए एक सीडेड Python नीति का उपयोग किया, जबकि रिपॉजिटरी, संपादन, डिफ, टेस्ट रन और विफलताएँ वास्तविक हैं। लक्ष्य यह मापना था कि पास होने वाले पैच तक पहुँचने में एजेंट को कितने अतिरिक्त टर्न लगते हैं, उनमें से कितना काम आवश्यक था, और क्या आसपास का वर्कफ़्लो अनावश्यक प्रयास कम कर सकता है।

विश्लेषण लगभग 50,000 सिमुलेटेड रनों पर आधारित है, जिनमें एक अनुपालन जाँच, व्यक्तिगत नियमों के परीक्षण और एक होल्ड-आउट सूट शामिल हैं। यह SWE-bench पर आधारित है, जो 12 Python रिपॉजिटरी से 2,294 वास्तविक GitHub इश्यू का बेंचमार्क है और केवल अंतिम पैच को स्कोर करता है। वहाँ दो रन दोनों सफल हो सकते हैं, जबकि एक कहीं अधिक टर्न, समय और टोकन लेता है और ज़्यादा बदलाव छोड़ जाता है।

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

कोडिंग एजेंट का मूल्यांकन करने के लिए पास रेट पर्याप्त क्यों नहीं है?

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

हिन्दी version →


🇮🇩 Bahasa Indonesia

Agen Pengodean Menyelesaikan Tugas, Tetapi Membuang Pekerjaan?

Eksekusi agen pengodean AI yang lolos tes tetap bisa menyembunyikan banyak usaha yang terbuang. Dalam satu contoh, sebuah agen lolos tes pada giliran ke-4, tetapi terus bekerja hingga giliran ke-10, dan enam dari delapan baris yang diubahnya tidak diperlukan dibandingkan perbaikan referensi. Pemeriksaan lulus/gagal standar memberi nilai yang sama untuk eksekusi ini seperti untuk eksekusi yang bersih dan efisien.

Penulis mencatat bahwa agen dalam eksperimen ini bersifat simulasi. Alih-alih menjalankan agen pengodean sungguhan seperti Claude Code atau Codex, studi ini menggunakan kebijakan Python dengan seed tetap untuk mengambil keputusan, sementara repositori, suntingan, diff, eksekusi tes, dan kegagalannya nyata. Tujuannya adalah mengukur berapa banyak giliran tambahan yang dibutuhkan agen untuk mencapai patch yang lolos, berapa banyak pekerjaan itu yang diperlukan, dan apakah alur kerja di sekitarnya dapat mengurangi usaha yang tidak perlu.

Analisis ini didasarkan pada sekitar 50.000 eksekusi simulasi, termasuk pemindaian kepatuhan, pengujian aturan individual, dan rangkaian uji terpisah. Studi ini bertumpu pada SWE-bench, sebuah tolok ukur berisi 2.294 isu GitHub nyata dari 12 repositori Python, yang hanya menilai patch akhir. Dua eksekusi dapat sama-sama berhasil di sana, sementara salah satunya memakan jauh lebih banyak giliran, waktu, dan token, serta meninggalkan lebih banyak perubahan.

Artikel ini memisahkan ukuran patch akhir dari total pekerjaan, yang mencakup eksekusi tes yang gagal, perintah yang berulang, suntingan pada berkas yang keliru, dan perubahan yang dibatalkan. Tingkat lulus sama sekali mengabaikan usaha ini. Studi ini bertujuan menunjukkan berapa biaya pekerjaan tersembunyi tersebut dan bagaimana aturan harness dapat memangkasnya.

Mengapa tingkat lulus tidak cukup untuk menilai agen pengodean?

Tingkat lulus hanya menilai patch akhir. Ia mengabaikan giliran yang terbuang, suntingan yang dibatalkan, dan eksekusi tes yang berulang, sehingga dua eksekusi yang berhasil bisa sangat berbeda dalam efisiensi dan jumlah perubahan tidak perlu yang ditinggalkannya.

Bahasa Indonesia version →


🇯🇵 日本語

コーディングエージェントはタスクを解決するが、作業を無駄にしていないか?

AIコーディングエージェントの実行がテストに合格しても、多くの無駄な作業が隠れている場合があります。ある例では、エージェントは4ターン目でテストに合格しましたが、10ターン目まで作業を続けました。また、変更した8行のうち6行は、参照となる修正と比べて不要でした。標準的な合否チェックでは、この実行もクリーンで効率的な実行と同じスコアになります。

著者は、この実験のエージェントはシミュレートされたものだと述べています。Claude CodeやCodexのような実際のコーディングエージェントを動かす代わりに、本研究では判断にシード付きのPythonポリシーを用いました。一方、リポジトリ、編集、差分、テスト実行、失敗は実際のものです。目的は、合格するパッチに到達するまでにエージェントが余分に何ターン要するか、その作業のうちどれだけが必要だったか、そして周囲のワークフローによって不要な労力を減らせるかを測定することでした。

分析は、コンプライアンス検査、個別ルールのテスト、保持用テストスイートを含む約5万回のシミュレーション実行に基づいています。12のPythonリポジトリから集められた2,294件の実際のGitHub issueからなるベンチマーク「SWE-bench」を土台としていますが、このベンチマークは最終パッチのみを評価します。そこでは2つの実行がともに成功しても、一方ははるかに多くのターン、時間、トークンを費やし、より多くの変更を残すことがあります。

本記事は、最終パッチの大きさと総作業量を区別しています。総作業量には、失敗したテスト実行、繰り返されるコマンド、誤ったファイルへの編集、取り消された変更が含まれます。合格率はこうした労力をまったく捉えられません。本研究は、この隠れた作業がどれほどのコストになるのか、またハーネスのルールによってそれをどう減らせるのかを示すことを目指しています。

コーディングエージェントを評価するのに合格率だけでは不十分なのはなぜですか?

合格率は最終パッチのみを評価します。無駄なターン、取り消された編集、繰り返されるテスト実行は考慮されないため、2つの成功した実行でも効率や残される不要な変更の量が大きく異なることがあります。

日本語 version →


🇧🇷 Português

Agentes de programação resolvem tarefas, mas desperdiçam trabalho?

Uma execução bem-sucedida de um agente de programação com IA ainda pode esconder muito esforço desperdiçado. Em um exemplo, um agente passou nos testes no turno 4, mas continuou trabalhando até o turno 10, e seis das suas oito linhas alteradas eram desnecessárias em comparação com a correção de referência. Uma verificação padrão de aprovação/reprovação atribui a essa execução a mesma pontuação de uma execução limpa e eficiente.

O autor observa que o agente deste experimento é simulado. Em vez de executar um agente de programação real, como Claude Code ou Codex, o estudo usou uma política Python com semente fixa para tomar decisões, enquanto os repositórios, edições, diffs, execuções de testes e falhas são reais. O objetivo foi medir quantos turnos extras um agente leva para chegar a um patch que passa nos testes, quanto desse trabalho era necessário e se um fluxo de trabalho ao redor pode reduzir o esforço desnecessário.

A análise se baseia em cerca de 50.000 execuções simuladas, incluindo uma varredura de conformidade, testes de regras individuais e um conjunto de validação separado. Ela se apoia no SWE-bench, um benchmark com 2.294 issues reais do GitHub de 12 repositórios Python, que avalia apenas o patch final. Duas execuções podem ter sucesso nele enquanto uma delas consome muito mais turnos, tempo e tokens e deixa mais alterações para trás.

O artigo separa o tamanho do patch final do trabalho total, que inclui execuções de testes que falharam, comandos repetidos, edições no arquivo errado e alterações revertidas. As taxas de aprovação ignoram completamente esse esforço. O estudo pretende mostrar o custo desse trabalho oculto e como as regras do harness poderiam reduzi-lo.

Por que uma taxa de aprovação não basta para avaliar um agente de programação?

Uma taxa de aprovação avalia apenas o patch final. Ela ignora turnos desperdiçados, edições revertidas e execuções repetidas de testes, de modo que duas execuções bem-sucedidas podem diferir muito em eficiência e na quantidade de alterações desnecessárias que deixam.

Português version →


🇷🇺 Русский

Агенты-программисты решают задачи, но тратят ли они лишние усилия?

Успешный запуск ИИ-агента для программирования всё же может скрывать много напрасных усилий. В одном примере агент прошёл тесты на четвёртом шаге, но продолжал работать до десятого, и шесть из восьми изменённых им строк были лишними по сравнению с эталонным исправлением. Обычная проверка «пройдено/не пройдено» оценивает такой запуск так же, как чистый и эффективный.

Автор отмечает, что агент в этом эксперименте смоделирован. Вместо запуска реального агента для программирования, такого как Claude Code или Codex, в исследовании для принятия решений использовалась политика на Python с фиксированным начальным значением генератора, тогда как репозитории, правки, диффы, запуски тестов и ошибки реальные. Цель состояла в том, чтобы измерить, сколько дополнительных шагов агенту нужно для получения прошедшего тесты патча, какая часть этой работы была необходима и может ли окружающий рабочий процесс сократить лишние усилия.

Анализ основан на примерно 50 000 смоделированных запусках, включая проверку соответствия правилам, тесты отдельных правил и отложенный набор тестов. Он опирается на SWE-bench, бенчмарк из 2 294 реальных задач GitHub из 12 репозиториев Python, который оценивает только итоговый патч. Два запуска в нём могут оба завершиться успехом, хотя один потребует гораздо больше шагов, времени и токенов и оставит больше изменений.

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

Почему доли успешных прохождений недостаточно для оценки агента-программиста?

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

Русский version →


🇨🇳 简体中文

编码智能体能解决任务,但是否浪费了工作量?

一次通过测试的AI编码智能体运行,仍可能隐藏大量浪费的工作。在一个例子中,某个智能体在第4轮就通过了测试,但仍持续工作到第10轮,并且与参考修复相比,它所修改的八行代码中有六行是不必要的。标准的通过/失败检查会给这次运行与一次干净、高效的运行打出相同的分数。

作者指出,本实验中的智能体是模拟的。研究并未运行Claude Code或Codex等真实的编码智能体,而是使用一个带种子的Python策略来做决策,而代码仓库、编辑、差异、测试运行和失败则都是真实的。研究目标是衡量智能体需要多少额外轮次才能得到通过的补丁,其中有多少工作是必要的,以及周围的工作流程能否减少不必要的努力。

该分析基于约50,000次模拟运行,包括合规性扫描、针对单条规则的测试以及留出测试集。它以SWE-bench为基础,这是一个包含来自12个Python代码仓库的2,294个真实GitHub问题的基准,它只对最终补丁进行评分。在该基准上,两次运行都可能成功,但其中一次会耗费多得多的轮次、时间和令牌,并留下更多改动。

文章将最终补丁的大小与总工作量区分开来,总工作量包括失败的测试运行、重复的命令、对错误文件的编辑以及被回滚的改动。通过率完全忽略了这些努力。该研究旨在展示这些隐性工作的成本,以及工具链规则可能如何减少这些成本。

为什么通过率不足以评判编码智能体?

通过率只对最终补丁进行评分。它忽略了浪费的轮次、被回滚的编辑以及重复的测试运行,因此两次成功的运行在效率以及留下的不必要改动数量上可能存在巨大差异。

简体中文 version →