How the Claude Code team does code review
🇬🇧 English
We've said before that Claude writes about 90 percent of Claude Code's own code. So how do we review code at the volume we produce it? Does anyone read code anymore? And if something breaks, who catches it? This post covers the code review flow on the Claude Code team and how it has evolved. From June to September, merged pull requests to Claude Code's codebase more than doubled while the share that had to be reverted fell by more than 40 percent. We didn't remove review. But we did move most of the reading to machines, optimized for human time and attention, and invested heavily in making it fast and easy to undo mistakes.
When agents write code, the number of changes goes up, fast. In Anthropic's monorepo, changes landing per day went from about 2,500 in May to more than 30,000 in September this year. Claude Code lives in its own repository, separate from the monorepo, but it's seeing a lot of pressure too. When you are shipping this fast, manual, line-by-line code review is incredibly difficult if not impossible. Code review does two jobs: Find and fix issues before they ship Build shared context and codebase understanding across the team This article mainly focuses on finding and fixing issues, but we will come back to the second job near the end. We think "did a human read the code?" is an imprecise proxy for "what could go wrong with this change, and which check—automated or human—is the right one to catch it?" Asking that question also changed when review happens. Before, review was a gate at the end of the road: write the code, open a PR, wait for your colleague. Now, review runs continuously, more like spellcheck while you write. Most changes have been reviewed and fixed by Claude at least once before a human is asked to look. This catches most routine mistakes, and saves team attention for higher-level questions and scrutiny.
The scarce resource: human time and attention. We want to preserve human time and attention for issues only humans can solve and make sure automated checks catch the rest. At our current rate of change, there is still an incredible amount of work for humans to do, and our team encounters new and novel challenges almost daily. Human time covers both sides of review's cost: the time people spend reviewing, and the time they spend fixing what bad code breaks. Cutting the first doesn't help if the time just shows up in the second. So the goal is that most pull requests in the Claude Code repos (the CLI, the desktop and web apps, and the mobile apps) merge with at most one human in the loop, who can be the author, with no increase in reverts or incidents. To measure human time, we track human approvals per PR (median and 95th percentile), human comments, and how long a PR waits on a person. Revert and incident rates are the guardrail: if they rise, we haven't saved human time, we've only moved it.
The life of a change A typical change, from an engineer's laptop (or a Claude session in Slack), goes through multiple layers of code review. The life of a change A typical Claude Code change, from the author's machine to users FIG AMost of the path is automated; a person's attention goes where the risk is LAYER BY LAYERLayers, not one gate Six layers of checks, with rollback under them FIG BEach layer catches some problems and misses others. Few get through all of them, and rollback handles the rest.1. The work is verified before anyone else looks Most review now happens before a PR exists. We give Claude something it can run—like tests, a build or a screenshot to compare against the design—and ask it to show the output instead of saying it's done. Then a subagent reviews the diff with fresh context. Both habits come from our best-practices guide. Before opening a PR, many of us also run a few internal skills: one hunts for bugs, one simplifies the diff, and one checks the behavior end to end. UI changes also get checked against our design guidelines. Boris Cherny, who cre...
🇸🇦 العربية
كيف يراجع فريق Claude Code الشيفرة البرمجية على نطاق واسع
لقد ذكرنا من قبل أن Claude يكتب نحو 90 في المئة من الشيفرة البرمجية الخاصة بـ Claude Code نفسه. فكيف نراجع الشيفرة بالحجم الذي ننتجه به؟ هل ما زال أحد يقرأ الشيفرة؟ وإذا تعطّل شيء، فمن يكتشفه؟ يتناول هذا المنشور سير عملية مراجعة الشيفرة في فريق Claude Code وكيف تطوّر. من يونيو إلى سبتمبر، تضاعفت طلبات السحب المدمجة في قاعدة شيفرة Claude Code أكثر من مرة، بينما انخفضت نسبة الطلبات التي احتاجت إلى التراجع عنها بأكثر من 40 في المئة. لم نلغِ المراجعة، لكننا نقلنا معظم القراءة إلى الآلات، مع تحسينها لتوفير وقت الإنسان وانتباهه، واستثمرنا بكثافة في جعل التراجع عن الأخطاء سريعاً وسهلاً.
عندما تكتب الوكلاء الشيفرة، يرتفع عدد التغييرات بسرعة. ففي المستودع الأحادي الخاص بـ Anthropic، ارتفع عدد التغييرات المدمجة يومياً من نحو 2,500 تغيير في مايو إلى أكثر من 30,000 تغيير في سبتمبر من هذا العام. يعيش Claude Code في مستودع مستقل عن المستودع الأحادي، لكنه يشهد ضغطاً كبيراً أيضاً. وعندما تشحن بهذه السرعة، تصبح المراجعة اليدوية سطراً بسطر صعبة للغاية إن لم تكن مستحيلة. وللمراجعة مهمتان: إيجاد المشكلات وإصلاحها قبل النشر، وبناء سياق مشترك وفهم لقاعدة الشيفرة عبر الفريق. يركز هذا المقال أساساً على إيجاد المشكلات وإصلاحها، وسنعود إلى المهمة الثانية في الختام.
نرى أن سؤال "هل قرأ إنسان الشيفرة؟" مقياس غير دقيق للسؤال الأهم: "ما الذي قد يسوء في هذا التغيير، وأي فحص، آلي أم بشري، هو المناسب لاكتشافه؟" وقد غيّر طرح هذا السؤال أيضاً توقيت المراجعة. فقديماً كانت المراجعة بوابة في نهاية الطريق: تكتب الشيفرة، وتفتح طلب سحب، وتنتظر زميلك. أما الآن فتعمل المراجعة باستمرار، أشبه بالتدقيق الإملائي أثناء الكتابة. تكون معظم التغييرات قد راجعها Claude وأصلحها مرة واحدة على الأقل قبل أن يُطلب من إنسان النظر فيها. وهذا يلتقط معظم الأخطاء الروتينية، ويوفر انتباه الفريق للأسئلة الأعلى مستوى والتدقيق المعمّق.
المورد النادر هو الوقت والانتباه البشري. نريد الحفاظ على وقت الإنسان وانتباهه للمشكلات التي لا يحلّها إلا الإنسان، والتأكد من أن الفحوص الآلية تلتقط ما تبقى. وبمعدل التغيير الحالي، ما زال أمام البشر قدر هائل من العمل، ويواجه فريقنا تحديات جديدة وغير مسبوقة تقريباً كل يوم. ويشمل الوقت البشري جانبي تكلفة المراجعة: الوقت الذي يقضيه الناس في المراجعة، والوقت الذي يقضونه في إصلاح ما يكسره الكود الرديء. ولا يفيد تقليص الأول إذا ظهر الوقت نفسه في الثاني. لذلك فالهدف أن تُدمج معظم طلبات السحب في مستودعات Claude Code (واجهة سطر الأوامر وتطبيقات سطح المكتب والويب والتطبيقات المحمولة) مع إنسان واحد على الأكثر في الحلقة، وقد يكون المؤلف نفسه، دون زيادة في حالات التراجع أو الحوادث. ولقياس الوقت البشري نتتبع عدد الموافقات البشرية لكل طلب سحب (الوسيط والمئين 95)، والتعليقات البشرية، ومدة انتظار الطلب لشخص ما. ومعدلات التراجع والحوادث هي الضمانة: فإن ارتفعت، فلم نوفّر وقت الإنسان، بل نقلناه فحسب.
حياة التغيير. يمر التغيير النموذجي، من حاسوب المهندس المحمول (أو جلسة Claude في Slack)، بعدة طبقات من مراجعة الشيفرة. وأغلب المسار آلي؛ فينصبّ انتباه الإنسان حيث توجد المخاطر. طبقات لا بوابة واحدة: ست طبقات من الفحوص، مع التراجع أسفلها. تلتقط كل طبقة بعض المشكلات وتفوتها أخرى، ويمر القليل منها عبر الطبقات كلها، ويتولى التراجع معالجة الباقي.
1. يُتحقق من العمل قبل أن ينظر فيه أحد. يجري معظم التدقيق الآن قبل وجود طلب السحب. نزوّد Claude بشيء يمكنه تشغيله، كالاختبارات أو البناء أو لقطة شاشة للمقارنة مع التصميم، ونطلب منه إظهار المخرجات بدلاً من القول إنه انتهى. ثم يراجع وكيل فرعي الفرق بسياق جديد. وكلتا العادتين مستمدة من دليل أفضل الممارسات لدينا. وقبل فتح طلب السحب، يشغّل كثير منا بعض المهارات الداخلية: واحدة تبحث عن الأخطاء، وأخرى تبسّط الفرق، وثالثة تتحقق من السلوك من البداية إلى النهاية. كما تُفحص تغييرات واجهة المستخدم وفق إرشادات التصميم لدينا.
كيف يدير فريق Claude Code مراجعة الشيفرة بسرعة عالية؟
انتقل الفريق من المراجعة اليدوية القائمة على البوابات إلى فحوص آلية مستمرة، إذ يراجع Claude الشيفرة أولاً ويُحفظ انتباه البشر للمشكلات عالية المخاطر، مما أدى إلى مضاعفة إنتاجية طلبات السحب وانخفاض نسبة التراجعات بأكثر من 40% من يونيو إلى سبتمبر.
🇧🇩 বাংলা
Claude Code দল কীভাবে বড় পরিসরে কোড পর্যালোচনা করে
আমরা আগেই বলেছি যে Claude Code-এর নিজের কোডের প্রায় ৯০ শতাংশ Claude লেখে। তাহলে যে পরিমাণে আমরা কোড তৈরি করি, সেই পরিমাণ কোড কীভাবে পর্যালোচনা করি? এখনো কি কেউ কোড পড়ে? আর কিছু ভেঙে গেলে, কে সেটা ধরে? এই পোস্টে Claude Code দলের কোড পর্যালোচনা প্রক্রিয়া এবং তার বিবর্তন নিয়ে আলোচনা করা হয়েছে। জুন থেকে সেপ্টেম্বরের মধ্যে Claude Code-এর কোডবেসে মার্জ হওয়া পুল রিকোয়েস্টের সংখ্যা দ্বিগুণেরও বেশি হয়েছে, আর যেগুলো ফেরত নিতে হয়েছে তাদের অনুপাত ৪০ শতাংশের বেশি কমেছে। আমরা পর্যালোচনা সরিয়ে দিইনি। তবে বেশিরভাগ পাঠের কাজ আমরা মেশিনে সরিয়েছি, যেগুলো মানুষের সময় ও মনোযোগের জন্য অপ্টিমাইজ করা, এবং ভুল সহজে ও দ্রুত শুধরে নেওয়ার ব্যবস্থায় অনেক বিনিয়োগ করেছি।
এজেন্ট যখন কোড লেখে, তখন পরিবর্তনের সংখ্যা দ্রুত বাড়ে। Anthropic-এর মনোরেপোতে প্রতিদিন যুক্ত হওয়া পরিবর্তনের সংখ্যা মে মাসে প্রায় ২,৫০০ থেকে এই বছরের সেপ্টেম্বরে ৩০,০০০-এরও বেশি হয়েছে। Claude Code মনোরেপোর বাইরে নিজস্ব রিপোজিটরিতে থাকে, তবে এখানেও চাপ কম নয়। এত দ্রুত শিপ করার সময় ম্যানুয়াল, লাইন-বাই-লাইন কোড পর্যালোচনা অত্যন্ত কঠিন, এমনকি অসম্ভবও হয়ে ওঠে। কোড পর্যালোচনার দুটি কাজ: শিপ করার আগে সমস্যা খুঁজে বের করে ঠিক করা, এবং পুরো দলে যৌথ প্রেক্ষাপট ও কোডবেস সম্পর্কে বোধ তৈরি করা। এই লেখাটি মূলত প্রথম কাজ নিয়ে, তবে শেষের দিকে দ্বিতীয়টিতে আমরা ফিরে আসব।
আমাদের মনে হয়, "কোনো মানুষ কি কোডটি পড়েছে?" প্রশ্নটি "এই পরিবর্তনে কী ভুল হতে পারে, এবং কোন যাচাই, স্বয়ংক্রিয় হোক বা মানুষের, সেটি ধরার জন্য উপযুক্ত?" এই প্রশ্নের একটি অসম্পূর্ণ প্রতিনিধি মাত্র। এই প্রশ্ন করার ফলে পর্যালোচনা কখন হবে সেটিও বদলে গেছে। আগে পর্যালোচনা ছিল পথের শেষে একটি গেট: কোড লেখো, PR খোলো, সহকর্মীর জন্য অপেক্ষা করো। এখন পর্যালোচনা ক্রমাগত চলে, অনেকটা আপনি লেখার সময় বানান পরীক্ষকের মতো। কোনো মানুষকে দেখতে বলার আগেই বেশিরভাগ পরিবর্তন অন্তত একবার Claude দ্বারা পর্যালোচিত ও সংশোধিত হয়ে যায়। এতে নিয়মিত ভুলগুলোর বেশিরভাগ ধরা পড়ে, এবং দলের মনোযোগ উচ্চস্তরের প্রশ্ন ও গভীর পরীক্ষার জন্য সংরক্ষিত থাকে।
সীমিত সম্পদ: মানুষের সময় ও মনোযোগ। আমরা মানুষের সময় ও মনোযোগ এমন সমস্যার জন্য রাখতে চাই যা শুধু মানুষই সমাধান করতে পারে, এবং বাকিগুলো যাতে স্বয়ংক্রিয় যাচাই ধরে ফেলে তা নিশ্চিত করতে চাই। আমাদের বর্তমান পরিবর্তনের গতিতেও মানুষের জন্য প্রচুর কাজ অবশিষ্ট, এবং আমাদের দল প্রায় প্রতিদিনই নতুন ও অভূতপূর্ব চ্যালেঞ্জের মুখোমুখি হয়। মানুষের সময় পর্যালোচনার খরচের দুই দিকই ঢেকে রাখে: মানুষ পর্যালোচনায় যে সময় দেয়, এবং খারাপ কোড যা ভাঙে তা ঠিক করতে যে সময় দেয়। প্রথমটি কমালেও লাভ নেই, যদি সময়টি দ্বিতীয়টিতে ফিরে আসে। তাই লক্ষ্য হলো Claude Code রিপোজিটরি (CLI, ডেস্কটপ ও ওয়েব অ্যাপ এবং মোবাইল অ্যাপ) জুড়ে বেশিরভাগ পুল রিকোয়েস্ট সর্বোচ্চ একজন মানুষ জড়িত থেকেই মার্জ হবে, যিনি লেখকও হতে পারেন, এবং রিভার্ট বা ঘটনার হার না বাড়বে। মানুষের সময় পরিমাপের জন্য আমরা প্রতি PR-এ মানুষের অনুমোদন (মধ্যমা ও ৯৫তম শতাংশ), মানুষের মন্তব্য, এবং কোনো ব্যক্তির জন্য PR কত সময় অপেক্ষা করে তা ট্র্যাক করি। রিভার্ট ও ঘটনার হার হলো সুরক্ষা বেষ্টনী: এগুলো বাড়লে আমরা মানুষের সময় বাঁচাইনি, শুধু সরিয়েছি।
একটি পরিবর্তনের জীবনচক্র। একটি সাধারণ পরিবর্তন, একজন ইঞ্জিনিয়ারের ল্যাপটপ (বা Slack-এ Claude সেশন) থেকে শুরু করে, কোড পর্যালোচনার একাধিক স্তর পেরিয়ে যায়। পথের বেশিরভাগই স্বয়ংক্রিয়; মানুষের মনোযোগ যায় ঝুঁকিতে। একটি গেট নয়, স্তরসমূহ: ছয়টি যাচাই-স্তর, আর নিচে রয়েছে রোলব্যাক। প্রতিটি স্তর কিছু সমস্যা ধরে এবং কিছু এড়িয়ে যায়। খুব কম সমস্যাই সব স্তর পেরোয়, বাকিটা রোলব্যাক সামলায়। 1. অন্য কেউ দেখার আগেই কাজ যাচাই হয়ে যায়। এখন বেশিরভাগ পর্যালোচনা PR তৈরি হওয়ার আগেই হয়। আমরা Claude-কে এমন কিছু দিই যা সে চালাতে পারে, যেমন টেস্ট, বিল্ড বা ডিজাইনের সঙ্গে তুলনার জন্য স্ক্রিনশট, এবং "শেষ" বলার বদলে আউটপুট দেখাতে বলি। এরপর একটি সাবএজেন্ট নতুন প্রেক্ষাপটে diff পর্যালোচনা করে। এই দুটি অভ্যাসই আমাদের সর্বোত্তম অনুশীলন নির্দেশিকা থেকে এসেছে। PR খোলার আগে আমাদের অনেকেই কিছু অভ্যন্তরীণ স্কিল চালায়: একটি বাগ খোঁজে, একটি diff সহজ করে, আর একটি শুরু থেকে শেষ পর্যন্ত আচরণ যাচাই করে। UI পরিবর্তনও আমাদের ডিজাইন নির্দেশিকার সঙ্গে মিলিয়ে দেখা হয়।
উচ্চ গতিতে Claude Code দল কীভাবে কোড পর্যালোচনা পরিচালনা করে?
দল ম্যানুয়াল, গেট-ভিত্তিক পর্যালোচনা থেকে স্বয়ংক্রিয় ও ক্রমাগত যাচাইয়ে সরে এসেছে, যেখানে Claude আগে কোড পর্যালোচনা করে এবং মানুষের মনোযোগ উচ্চ-ঝুঁকির সমস্যার জন্য সংরক্ষিত থাকে। জুন থেকে সেপ্টেম্বরে এর ফলে PR-এর থ্রুপুট দ্বিগুণ হয়েছে এবং রিভার্ট ৪০%-এর বেশি কমেছে।
🇪🇸 Español
Cómo el equipo de Claude Code revisa el código a gran escala
Hemos dicho antes que Claude escribe alrededor del 90 por ciento del propio código de Claude Code. Entonces, ¿cómo revisamos código al volumen que lo producimos? ¿Todavía alguien lee el código? Y si algo se rompe, ¿quién lo detecta? Esta publicación explica el flujo de revisión de código del equipo de Claude Code y cómo ha evolucionado. De junio a septiembre, las pull requests fusionadas en la base de código de Claude Code más que se duplicaron, mientras que la proporción que tuvo que revertirse bajó más de un 40 por ciento. No eliminamos la revisión. Pero trasladamos la mayor parte de la lectura a las máquinas, optimizada para el tiempo y la atención humanos, e invertimos mucho en hacer rápido y sencillo deshacer los errores.
Cuando los agentes escriben código, el número de cambios aumenta rápidamente. En el monorepo de Anthropic, los cambios integrados por día pasaron de unos 2.500 en mayo a más de 30.000 en septiembre de este año. Claude Code vive en su propio repositorio, separado del monorepo, pero también recibe mucha presión. Cuando se envía tan rápido, la revisión manual, línea por línea, es enormemente difícil, por no decir imposible. La revisión de código cumple dos funciones: encontrar y corregir problemas antes de publicar, y construir contexto compartido y comprensión de la base de código en todo el equipo. Este artículo se centra sobre todo en encontrar y corregir problemas, pero volveremos a la segunda función al final.
Creemos que "¿lo leyó una persona?" es un indicador impreciso de "¿qué podría salir mal con este cambio, y qué comprobación, automatizada o humana, es la adecuada para detectarlo?". Plantearse esa pregunta también cambió cuándo ocurre la revisión. Antes, la revisión era una puerta al final del camino: escribir el código, abrir una PR y esperar a un compañero. Ahora la revisión se ejecuta continuamente, más como el corrector ortográfico mientras escribes. La mayoría de los cambios ya han sido revisados y corregidos por Claude al menos una vez antes de pedir a una persona que los mire. Esto detecta la mayoría de los errores rutinarios y reserva la atención del equipo para preguntas de nivel superior y para un escrutinio más profundo.
El recurso escaso: el tiempo y la atención humanos. Queremos preservar el tiempo y la atención humanos para los problemas que solo las personas pueden resolver, y asegurarnos de que las comprobaciones automatizadas detecten el resto. Al ritmo actual de cambios, todavía hay una cantidad increíble de trabajo para las personas, y nuestro equipo se encuentra casi a diario con desafíos nuevos e inéditos. El tiempo humano abarca ambos lados del coste de la revisión: el tiempo que las personas dedican a revisar y el tiempo que dedican a arreglar lo que el código defectuoso rompe. Reducir lo primero no sirve de nada si el tiempo simplemente reaparece en lo segundo. Por eso, el objetivo es que la mayoría de las pull requests de los repositorios de Claude Code (la CLI, las aplicaciones de escritorio y web, y las aplicaciones móviles) se fusionen con como máximo una persona en el proceso, que puede ser el autor, sin aumentar las reversiones ni los incidentes. Para medir el tiempo humano, registramos las aprobaciones humanas por PR (mediana y percentil 95), los comentarios humanos y cuánto tiempo espera una PR a que alguien la atienda. Las tasas de reversión e incidentes son la salvaguarda: si suben, no hemos ahorrado tiempo humano, solo lo hemos desplazado.
La vida de un cambio. Un cambio típico, desde el portátil de un ingeniero (o una sesión de Claude en Slack), atraviesa varias capas de revisión de código. La mayor parte del recorrido está automatizada; la atención de una persona se dirige allí donde está el riesgo. Capas, no una única puerta: seis niveles de comprobaciones, con la reversión como red de seguridad. Cada capa detecta algunos problemas y se le escapan otros. Pocos atraviesan todas, y la reversión se encarga del resto. 1. El trabajo se verifica antes de que nadie más lo mire. Hoy la mayor parte de la revisión ocurre antes de que exista una PR. Le damos a Claude algo que puede ejecutar, como pruebas, una compilación o una captura de pantalla para comparar con el diseño, y le pedimos que muestre el resultado en lugar de decir que ha terminado. Luego, un subagente revisa el diff con contexto nuevo. Ambos hábitos vienen de nuestra guía de buenas prácticas. Antes de abrir una PR, muchos de nosotros también ejecutamos algunas habilidades internas: una busca errores, otra simplifica el diff y otra comprueba el comportamiento de extremo a extremo. Los cambios de interfaz también se revisan frente a nuestras pautas de diseño.
¿Cómo gestiona el equipo de Claude Code la revisión de código a gran velocidad?
El equipo pasó de una revisión manual basada en puertas a comprobaciones automatizadas y continuas, dejando que Claude revise primero el código y reservando la atención humana para los problemas de alto riesgo. Entre junio y septiembre, esto duplicó el rendimiento de las PR y redujo las reversiones más de un 40 %.
🇫🇷 Français
Comment l'équipe de Claude Code examine le code à grande échelle
Nous avons déjà dit que Claude écrit environ 90 % du code de Claude Code lui-même. Alors, comment examinons-nous le code au volume où nous le produisons ? Est-ce que quelqu'un lit encore le code ? Et si quelque chose casse, qui le repère ? Cet article présente le flux de revue de code de l'équipe Claude Code et son évolution. De juin à septembre, le nombre de pull requests fusionnées dans la base de code de Claude Code a plus que doublé, tandis que la part de celles qui ont dû être annulées a baissé de plus de 40 %. Nous n'avons pas supprimé la revue. Mais nous avons déplacé l'essentiel de la lecture vers des machines, optimisées pour le temps et l'attention humaine, et nous avons beaucoup investi pour rendre la correction des erreurs rapide et facile.
Lorsque des agents écrivent du code, le nombre de modifications augmente rapidement. Dans le monorepo d'Anthropic, les modifications intégrées par jour sont passées d'environ 2 500 en mai à plus de 30 000 en septembre de cette année. Claude Code vit dans son propre dépôt, séparé du monorepo, mais il subit lui aussi une forte pression. Quand on livre à ce rythme, une revue manuelle ligne par ligne est extrêmement difficile, voire impossible. La revue de code remplit deux fonctions : trouver et corriger les problèmes avant la mise en production, et construire un contexte commun et une compréhension partagée de la base de code au sein de l'équipe. Cet article se concentre surtout sur la première fonction, mais nous reviendrons sur la seconde vers la fin.
Nous pensons que « un humain a-t-il lu le code ? » est un indicateur imprécis de « qu'est-ce qui pourrait mal tourner avec cette modification, et quel contrôle, automatisé ou humain, est le bon pour le détecter ? ». Poser cette question a aussi changé le moment où la revue a lieu. Auparavant, la revue était une barrière en bout de chaîne : on écrit le code, on ouvre une PR, on attend son collègue. Aujourd'hui, la revue tourne en continu, un peu comme un correcteur orthographique pendant qu'on écrit. La plupart des modifications ont déjà été relues et corrigées par Claude au moins une fois avant qu'un humain ne soit sollicité. Cela attrape la majorité des erreurs courantes et réserve l'attention de l'équipe aux questions de plus haut niveau et à un examen plus approfondi.
La ressource rare : le temps et l'attention humains. Nous voulons préserver le temps et l'attention humains pour les problèmes que seuls les humains peuvent résoudre, et nous assurer que les contrôles automatisés captent le reste. Au rythme actuel des modifications, il reste une quantité incroyable de travail pour les humains, et notre équipe rencontre presque chaque jour des défis nouveaux et inédits. Le temps humain couvre les deux côtés du coût de la revue : le temps que les gens passent à relire, et celui qu'ils passent à réparer ce que le mauvais code casse. Réduire le premier ne sert à rien si ce temps réapparaît dans le second. L'objectif est donc que la plupart des pull requests des dépôts de Claude Code (la CLI, les applications de bureau et web, et les applications mobiles) soient fusionnées avec au plus un humain dans la boucle, qui peut être l'auteur, sans hausse des annulations ni des incidents. Pour mesurer le temps humain, nous suivons le nombre d'approbations humaines par PR (médiane et 95e percentile), les commentaires humains et le temps d'attente d'une PR après une personne. Les taux d'annulation et d'incident sont le garde-fou : s'ils augmentent, nous n'avons pas économisé de temps humain, nous l'avons simplement déplacé.
La vie d'une modification. Une modification typique, depuis l'ordinateur portable d'un ingénieur (ou une session Claude dans Slack), traverse plusieurs couches de revue de code. La majeure partie du parcours est automatisée ; l'attention d'une personne se concentre là où se trouve le risque. Des couches, pas une barrière unique : six niveaux de contrôles, avec le retour en arrière en dessous. Chaque couche attrape certains problèmes et en manque d'autres. Peu passent à travers toutes, et le retour en arrière gère le reste. 1. Le travail est vérifié avant que quiconque ne le regarde. La majeure partie de la revue a désormais lieu avant même l'existence d'une PR. Nous donnons à Claude quelque chose qu'il peut exécuter, comme des tests, une compilation ou une capture d'écran à comparer avec la maquette, et nous lui demandons de montrer le résultat au lieu de dire qu'il a terminé. Un sous-agent examine ensuite le diff avec un contexte neuf. Ces deux habitudes viennent de notre guide des bonnes pratiques. Avant d'ouvrir une PR, beaucoup d'entre nous lancent aussi quelques compétences internes : l'une traque les bugs, une autre simplifie le diff, une dernière vérifie le comportement de bout en bout. Les modifications d'interface sont aussi contrôlées au regard de nos règles de design.
Comment l'équipe de Claude Code gère-t-elle la revue de code à grande vitesse ?
L'équipe est passée d'une revue manuelle, basée sur des barrières, à des contrôles automatisés et continus : Claude relit d'abord le code et l'attention humaine est réservée aux problèmes à haut risque. Entre juin et septembre, cela a doublé le débit des PR et réduit les annulations de plus de 40 %.
🇮🇳 हिन्दी
Claude Code टीम बड़े पैमाने पर कोड की समीक्षा कैसे करती है
हमने पहले कहा है कि Claude, Claude Code के लगभग 90 प्रतिशत कोड को लिखता है। तो हम इतनी मात्रा में बने कोड की समीक्षा कैसे करते हैं? क्या अब भी कोई कोड पढ़ता है? और अगर कुछ टूट जाए, तो उसे कौन पकड़ता है? यह पोस्ट Claude Code टीम के कोड समीक्षा प्रवाह और उसके विकास के बारे में है। जून से सितंबर के बीच, Claude Code के कोडबेस में मर्ज की गई पुल रिक्वेस्ट दोगुने से भी अधिक हो गईं, जबकि जिन बदलावों को वापस लेना पड़ा उनका हिस्सा 40 प्रतिशत से अधिक घट गया। हमने समीक्षा को हटाया नहीं है। लेकिन हमने अधिकांश पढ़ने का काम मशीनों को सौंप दिया है, जो मानव समय और ध्यान के लिए अनुकूलित हैं, और गलतियों को आसानी से पलटने को तेज़ और सरल बनाने में भारी निवेश किया है।
जब एजेंट कोड लिखते हैं, तो बदलावों की संख्या तेज़ी से बढ़ती है। Anthropic के मोनोरेपो में, प्रतिदिन होने वाले बदलाव मई में लगभग 2,500 से बढ़कर इस साल सितंबर में 30,000 से अधिक हो गए। Claude Code मोनोरेपो से अलग अपने रिपॉज़िटरी में रहता है, लेकिन उस पर भी काफी दबाव है। जब आप इतनी तेज़ी से शिप कर रहे हों, तो मैन्युअल, पंक्ति-दर-पंक्ति कोड समीक्षा बेहद कठिन, यदि असंभव नहीं, हो जाती है। कोड समीक्षा के दो काम हैं: समस्याओं को शिप होने से पहले खोजना और ठीक करना, और पूरी टीम में साझा संदर्भ और कोडबेस की समझ बनाना। यह लेख मुख्य रूप से समस्याओं को खोजने और ठीक करने पर केंद्रित है, लेकिन हम अंत के पास दूसरे काम पर लौटेंगे।
हमारा मानना है कि "क्या किसी इंसान ने कोड पढ़ा?" यह पूछना इस प्रश्न का अपूर्ण प्रॉक्सी है कि "इस बदलाव में क्या गलत हो सकता है, और उसे पकड़ने के लिए कौन-सी जाँच, स्वचालित या मानव, सही है?" यह प्रश्न पूछने से समीक्षा कब होती है, यह भी बदल गया। पहले समीक्षा रास्ते के अंत में एक गेट थी: कोड लिखो, PR खोलो, सहकर्मी का इंतज़ार करो। अब समीक्षा लगातार चलती है, लगभग उस स्पेलचेक की तरह जो आप लिखते समय चलता है। किसी इंसान से देखने के लिए कहे जाने से पहले ही अधिकांश बदलावों की Claude द्वारा कम से कम एक बार समीक्षा और सुधार हो चुका होता है। इससे अधिकांश नियमित गलतियाँ पकड़ी जाती हैं, और टीम का ध्यान उच्च-स्तरीय प्रश्नों और गहन जाँच के लिए बचता है।
सीमित संसाधन: मानव समय और ध्यान। हम मानव समय और ध्यान को उन समस्याओं के लिए सुरक्षित रखना चाहते हैं जिन्हें केवल इंसान हल कर सकते हैं, और यह सुनिश्चित करना चाहते हैं कि बाकी को स्वचालित जाँचें पकड़ें। हमारी मौजूदा बदलाव की गति पर भी इंसानों के लिए अभी अविश्वसनीय मात्रा में काम है, और हमारी टीम लगभग रोज़ नई और अनोखी चुनौतियों का सामना करती है। मानव समय समीक्षा की लागत के दोनों पक्षों को कवर करता है: लोग समीक्षा में जितना समय लगाते हैं, और खराब कोड से टूटी चीज़ों को ठीक करने में जितना समय लगाते हैं। पहले को घटाने से कोई फायदा नहीं अगर वही समय दूसरे में दिख जाए। इसलिए लक्ष्य यह है कि Claude Code रिपॉज़िटरी (CLI, डेस्कटॉप और वेब ऐप, तथा मोबाइल ऐप) में अधिकांश पुल रिक्वेस्ट अधिकतम एक मानव सहभागी के साथ मर्ज हों, जो लेखक भी हो सकता है, और रिवर्ट या घटनाओं में कोई वृद्धि न हो। मानव समय मापने के लिए हम प्रति PR मानव अनुमोदन (मध्यिका और 95वाँ प्रतिशतक), मानव टिप्पणियाँ, और PR किसी व्यक्ति के इंतज़ार में कितना समय रुकता है, यह ट्रैक करते हैं। रिवर्ट और घटना दर सुरक्षा कवच हैं: अगर ये बढ़ते हैं, तो हमने मानव समय बचाया नहीं, केवल उसे इधर-उधर किया है।
एक बदलाव का जीवन। एक सामान्य बदलाव, किसी इंजीनियर के लैपटॉप (या Slack में Claude सत्र) से शुरू होकर, कोड समीक्षा की कई परतों से गुज़रता है। अधिकांश मार्ग स्वचालित है; किसी व्यक्ति का ध्यान वहीं जाता है जहाँ जोखिम है। परतों में, एक गेट में नहीं: जाँचों की छह परतें, जिनके नीचे रोलबैक है। हर परत कुछ समस्याएँ पकड़ती है और कुछ छोड़ देती है। बहुत कम ही सभी परतों को पार करती हैं, और बाकी को रोलबैक संभालता है। 1. काम किसी और के देखने से पहले सत्यापित हो जाता है। अब अधिकांश समीक्षा PR बनने से पहले होती है। हम Claude को कुछ ऐसा देते हैं जिसे वह चला सके, जैसे टेस्ट, बिल्ड, या डिज़ाइन से तुलना के लिए स्क्रीनशॉट, और उससे कहते हैं कि वह "हो गया" कहने के बजाय आउटपुट दिखाए। फिर एक सबएजेंट नए संदर्भ के साथ diff की समीक्षा करता है। ये दोनों आदतें हमारी सर्वोत्तम प्रथाओं की मार्गदर्शिका से आती हैं। PR खोलने से पहले, हममें से कई लोग कुछ आंतरिक स्किल्स भी चलाते हैं: एक बग खोजता है, एक diff को सरल बनाता है, और एक शुरू से अंत तक व्यवहार की जाँच करता है। UI बदलावों की जाँच हमारे डिज़ाइन दिशानिर्देशों से भी की जाती है।
Claude Code टीम तेज़ गति पर कोड समीक्षा का प्रबंधन कैसे करती है?
टीम ने मैन्युअल, गेट-आधारित समीक्षा से हटकर स्वचालित, निरंतर जाँचों की ओर रुख किया, जिसमें Claude पहले कोड की समीक्षा करता है और मानव ध्यान को उच्च-जोखिम समस्याओं के लिए सुरक्षित रखा जाता है। इसके परिणामस्वरूप जून से सितंबर के बीच PR की थ्रूपुट दोगुनी हुई और रिवर्ट में 40% से अधिक की कमी आई।
🇧🇷 Português
Como a equipe do Claude Code revisa código em grande escala
Já dissemos que o Claude escreve cerca de 90% do próprio código do Claude Code. Então, como revisamos código no volume em que o produzimos? Alguém ainda lê código? E se algo quebrar, quem percebe? Esta publicação explica o fluxo de revisão de código da equipe do Claude Code e como ele evoluiu. De junho a setembro, as pull requests mescladas na base de código do Claude Code mais que dobraram, enquanto a proporção que precisou ser revertida caiu mais de 40%. Não eliminamos a revisão. Mas transferimos a maior parte da leitura para máquinas, otimizadas para o tempo e a atenção humanos, e investimos pesado em tornar rápido e fácil desfazer erros.
Quando agentes escrevem código, o número de mudanças sobe rapidamente. No monorepo da Anthropic, as mudanças integradas por dia passaram de cerca de 2.500 em maio para mais de 30.000 em setembro deste ano. O Claude Code vive em seu próprio repositório, separado do monorepo, mas também sente bastante pressão. Quando se entrega nesse ritmo, a revisão manual, linha por linha, é extremamente difícil, senão impossível. A revisão de código cumpre duas funções: encontrar e corrigir problemas antes da publicação
🇨🇳 简体中文
Claude Code 团队如何大规模审查代码
我们此前提到,Claude 编写了 Claude Code 约 90% 的代码。那么,面对如此庞大的代码产出量,我们如何进行代码审查?还有人阅读代码吗?如果出现故障,谁来发现?本文介绍 Claude Code 团队的代码审查流程及其演变过程。从 6 月到 9 月,Claude Code 代码库中合并的拉取请求增长了一倍多,而需要回滚的比例下降了超过 40%。我们并没有取消审查。但我们将大部分阅读工作转交给了机器,并以人类的时间和注意力为优化目标,同时大力投入于让错误的撤销变得快速而简便。
当代理编写代码时,变更数量会迅速增加。在 Anthropic 的单体仓库中,每日合并的变更从今年 5 月的约 2,500 次增长到 9 月的 30,000 多次。Claude Code 位于独立于单体仓库的自有代码库中,但它同样承受着巨大压力。当你以如此快的速度交付时,逐行的人工代码审查极其困难,甚至不可能完成。代码审查承担两项工作:在问题发布前发现并修复;在团队内建立共享的上下文和对代码库的理解。本文主要关注发现和修复问题,但我们会在结尾回到第二项工作。
我们认为,“是否有人读过代码?”这一问题并不能准确代表“这项变更可能出现什么问题,以及哪种检查(自动化或人工)最适合发现它?”提出这一问题也改变了审查发生的时机。过去,审查是路径末端的一道关卡:编写代码、提交 PR、等待同事审阅。现在,审查持续进行,更像是你在写作时的拼写检查。在请人类查看之前,大多数变更已由 Claude 至少审查并修复过一次。这能发现大多数常规错误,并让团队的注意力用于更高层次的问题和审查。
稀缺资源:人类的时间和注意力。我们希望将人类的时间和注意力保留给只有人类才能解决的问题,并确保自动化检查能够覆盖其余部分。按照我们当前的变更速度,人类仍有大量工作要做,而我们的团队几乎每天都会遇到新的、前所未有的挑战。人类时间涵盖审查成本的两个方面:人们审查所花费的时间,以及他们修复糟糕代码所造成问题的时间。如果前者减少了,而时间只是转移到后者,那就没有帮助。因此,目标是让 Claude Code 代码库(包括 CLI、桌面和网页应用以及移动应用)中的大多数拉取请求最多只需一位人类参与(可以是作者本人)即可合并,同时不增加回滚或事故的数量。为了衡量人类时间,我们跟踪每个 PR 的人工批准次数(中位数和第 95 百分位数)、人工评论,以及 PR 等待人工处理的时长。回滚率和事故率是保障指标:如果它们上升,那说明我们并没有节省人类时间,只是把时间转移了。
一项变更的生命周期。一项典型的变更从工程师的笔记本电脑(或 Slack 中的 Claude 会话)开始,要经历多层代码审查。从作者的机器到用户手中,大部分路径是自动化的;人的注意力则集中在风险所在之处。分层设防,而非单一关卡:六层检查,并以回滚作为最后保障。每一层都能拦截一些问题,也会漏掉另一些。很少有问题能穿透所有层级,剩下的由回滚处理。1. 在他人查看之前,工作已经过验证。现在,大部分审查发生在拉取请求存在之前。我们给 Claude 提供可运行的东西,例如测试、构建或与设计稿对比的截图,并要求它展示输出结果,而不是仅仅声称已完成。随后,一个子代理以全新的上下文审查差异。这两种习惯都源自我们的最佳实践指南。在提交 PR 之前,我们中的许多人还会运行一些内部技能:一个用于查找漏洞,一个用于简化差异,一个用于端到端检查行为。界面变更还需对照我们的设计指南进行检查。
Claude Code 团队如何在高速开发中管理代码审查?
团队从人工的、以关卡为基础的审查转向自动化的持续检查,让 Claude 先行审查代码,并将人类注意力保留给高风险问题。从 6 月到 9 月,这使拉取请求的吞吐量翻了一番,回滚率下降了 40% 以上。