Недавно я активно занимался отправкой и проверкой пул-реквестов проекта PyTorch, созданных с существенной помощью LLM. Этот процесс сильно отличается ситуации вНедавно я активно занимался отправкой и проверкой пул-реквестов проекта PyTorch, созданных с существенной помощью LLM. Этот процесс сильно отличается ситуации в

[Перевод] Как должно выглядеть ревью кода в эпоху LLM

9e8db998dce3e07b7c6a92cd447a42a7.jpg

Недавно я активно занимался отправкой и проверкой пул-реквестов проекта PyTorch, созданных с существенной помощью LLM. Этот процесс сильно отличается ситуации в начале года, когда было понятно, что LLM вполне подходит для проектов, создаваемых с нуля, но для кодовой базы в продакшене их код оставался безнадёжно низкокачественным. Можете посмотреть мои смердженные PR, в описании которых упоминается Claude Code; у Джейсона Энсела тоже был подобный опыт (ссылка на Meta*; также есть список issue, на которые он ссылался в совей статье). Сейчас всё активнее обсуждается (Саймон Уиллисон, LLVM) то, как процесс код-ревью должен адаптироваться к этой новой эпохе LLM. Мой вклад в эти обсуждения таков: внутри команд код-ревью должен поменяться, превратившись в первую очередь в механизм согласования с человеком.

Вот простой пример: хорошо известно, что LLM склонны генерировать код в излишне защитном стиле. Скажем, они постоянно вставляют повсюду try...catch или проверяют переменную на определённый тип, даже если системные инварианты подразумевают, что они всегда будут этого типа. Если кто-то отправляет мне PR с такими проблемами, я пишу к ним комментарии не только затем, чтобы их устранили. Если бы меня волновало только это, я бы просто отправил свои комментарии напрямую в Claude Code. Настоящая проблема заключается в том, что человек, работающий с LLM, не согласился со мной в том, что этот код в защитном стиле плох, поэтому смысл ревью заключался в том, чтобы мы пришли к общему с ним пониманию, какой код слишком защитный, а какой нет. В самых тривиальных случаях разработчик мог просто не прочитать сгенерированный LLM результат; тогда решить проблему с его стороны можно, прочитав код. Но иногда приходится и выполнять реальную человеческую работу; например, разработчик должен понять какую-то глобальную системную инварианту, чтобы разобраться, необходим ли защитный стиль. Если мы договоримся о глобальных системных инвариантах, то не будет причин с моей стороны выполнять код-ревью: исходный автор кода может просто приказать LLM устранить проблемы и вывести меня за рамки этого цикла, пока он не согласует вывод LLM со своим пониманием, после чего мы уже должны выполнить более затратное согласование между двумя живыми людьми. В идеале я вообще не должен писать комментарии ревью о механических проблемах, потому что они заранее были решены исходным автором.

Верно и обратное: когда я отправляю сгенерированный LLM пул-реквест на человеческое ревью, то пытаюсь передать высокоуровневую информацию. Как работает новый код? Что мне нужно знать об уже имеющейся системе, чтобы понимать этот код? Это даже необязательно указывать в описании PR: если LLM предлагает исправление, которое я не могу понять сам или оно кажется слишком непонятным, то я просто прикажу ей попробовать реализовать его иначе, пока получившийся diff будет очевидно корректным. Токены дёшевы: мы должны ожидать большего от автора кода, потому что затраты на генерацию таких PR сильно снизились. Аналогично, я с готовностью выброшу код и начну сначала; вы не должны испытывать вину за то, что тратите моё время (его писал не я! Я потратил своё время на понимание задачи, и об этом времени я не жалею.)

Многие пытаются продать нам страх того, что разработчики, не освоившие ИИ-инструменты, останутся на обочине. Лично я думаю, что хороший разработчик ПО обладает множеством различных навыков, и ясно, что LLM-кодинг уже сегодня меняет относительный вес этих навыков относительно друг друга. Мне намного важнее способность читать код, рассуждать об общей картине, чётко доносить информацию и обладать хорошим вкусом, чем способность механически писать код. Существует архетип джуниор-разработчика, не очень хорошо справляющегося с кодингом, но обладающего очень хорошими высокоуровневыми софт-навыками; мне кажется, что такие люди будут очень ценны в нашем новом мире. И наоборот: думаю, в будущем я буду быстро терять терпение, если мне придётся снова и снова объяснять кому-то одно и то же, потому что стану меньше ценить сырую «способность кодить». Идеальное для меня состояние напоминало бы нынешнюю мою работу с коллегами-сениорами: я доверяю им в том, что они принимают хорошие низкоуровневые решения, поэтому могу сосредоточиться на общей картине и расширять свою ментальную модель работы системы.

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

Meta Platforms*, а также принадлежащие ей социальные сети Facebook** и Instagram**:*признана экстремистской организацией, её деятельность в России запрещена;**запрещены в России

Источник

Возможности рынка
Логотип Large Language Model
Large Language Model Курс (LLM)
$0.0003017
$0.0003017$0.0003017
-1.46%
USD
График цены Large Language Model (LLM) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Ученые вдохновились стратегией игры Го, чтобы с помощью ИИ решить проблему перегрева электроники

Ученые вдохновились стратегией игры Го, чтобы с помощью ИИ решить проблему перегрева электроники

Исследовательская группа ученых, взяв за основу принципы древней китайской настольной игры Го, обучила искусственный интеллект для разработки оптимальных страте
Поделиться
ProBlockChain2026/01/07 20:46
Ripple исключает IPO после продажи акций на $500 млн, оценки в $40 млрд и серии поглощений почти на $4 млрд

Ripple исключает IPO после продажи акций на $500 млн, оценки в $40 млрд и серии поглощений почти на $4 млрд

Основные моменты: Ripple подтверждает отсутствие планов на IPO, ссылаясь на сильный баланс и достаточный частный капитал. Продажа акций в ноябре 2025 года оценила Ripple в $
Поделиться
Crypto Ninjas2026/01/08 00:19
Morgan Stanley расширяет криптовалютную экспансию, подав заявку на создание траста Ethereum

Morgan Stanley расширяет криптовалютную экспансию, подав заявку на создание траста Ethereum

Morgan Stanley подала заявку на создание Ethereum Trust в SEC, что сигнализирует о более глубоком принятии криптовалют институциональными инвесторами и расширении регулируемых инвестиционных возможностей. Morgan Stanley
Поделиться
LiveBitcoinNews2026/01/08 00:15