TGViewer
AI-Driven Development. Родион Мостовой AI-Driven Development. Родион Мостовой @ai_driven · 5.49K subscribers
Post #128 1.78K
2025-06-24_22-48-49.png341.1 KB
Может ли AI находить сложные ошибки в коде целых проектов?

У меня в канале много дотнетчиков (спасибо Жене @epeshkblog, Саше @dotnetmore, Кириллу @csharp_gepard и Леше @itbeard) и многие из вас наверняка помнят популярный вопрос с собеседований про GetHashCode) Следующий кейс как об этом.

Есть расхожее заблуждение о том, что LLM все еще слишком глупы для того, чтобы находить ошибки в коде проектов. Особенно когда речь идет о больших и сложных кодовых базах.
В действительности же нейросети развиваются каждый день, и чтобы GenAI тулинг смог находить даже сложные ошибки в коде, в сущности, необходимы всего 2 составляющие:
1. Мощная LLM с возможностью размышлений (reasoning, thinking). Например, наши внутренние бенчмарки показывают, что самыми внимательными к багам являются модели Gemini 2.5 Pro и OpenAI o3.
2. Релевантный контекст. Важно находить золотую середину между избыточным контекстом и недостаточным контекстом. В случае если в LLM поступает лишний контекст, она просто с большей вероятностью в нем запутается и качество ревью упадет драматически. С другой стороны, если контекста недостаточно, то нейросеть просто не сможет "понять" как то или иное изменение кода повлияет на проект в целом, упустив таким образом важные потенциальные проблемы. Простой пример - код, предназначенный для однопоточного выполнения, в многопоточной среде, как правило, будет выполняться с ошибками.
Например, мы CodeAlive предварительно индексируем кодовую базу, выстраивая граф вызовов, иерархию типов и другие связи - именно этот шаг помогает максимально эффективно работать с контекстом нашему AI Code Review.
Поделюсь таким кейсом:
Недавно мы заметили баг, из-за которого в системе дублировались артефакты Identifier артефакта - это композиция из fileName, className, funcName). Но самое интересное то, что в коде мы уже обрабатывали дубликаты через HashSet и этой ошибки не должно было быть вовсе:
        HashSet<ArtifactAggregate> artifactsToSave = new();
void TryAddArtifact(ArtifactAggregate artifact)
{
if (artifactsToSave.Add(artifact) == false)
{
// log error
}
}

При этом, GetHashCode, на первый взгляд даже корректный, уже был реализован ранее (но я честно о нем даже и не вспомнил тогда).
И тут и возникла та самая ситуация, когда даже разработчику непонятно, в чем дело (ведь мы же уже защитились!).
Почесав репу, я подумал, почему бы не попросить CodeAlive поискать корень проблемы:
почему у нас дублируются Identifier артефактов в базе? мы же вроде защищены от этого в TryAddArtifact

Ответ прилагаю на скрине. Но он мне настолько понравился, что я продублировал его в текст. Здесь важно отменить, что весь контекст AI-агент собрал сам - все, что я дал ему на входе это вопрос выше.
Проблема действительно оказалась именно в некорректных св-вах в Equals и GetHashCode.
Кстати, многие хотят попробовать CodeAlive сразу на больших проектах, без регистрации и смс, теперь это стало возможным. Мы проиндексировали опенсорс проекты (ASP.NET Core, Java Spring, laravel, GORM, VSCode, etc.) и теперь каждый может задать по ним свои вопросы: https://www.codealive.ai/#public-chats

У меня есть еще отдельный флоу для решения сложных coding проблем через LLM, если такое интересно, то ваши реакции - лучшая мотивация для нового поста) И поделитесь своими кейсами и флоу, в которых LLM-ки применяются на гране своих возможностей, мы можем собрать потом все в один пост.
  • 🔥 34
  • 👍 7
  • 👏 5
  • ❤ 1
  • 💯 1
More from @ai_driven
  1. Sep 22, 2026Выступление за выступлением. Примерно так проходит для меня сентябрь. Много знакомств, инт…
  2. Sep 22, 2026Чем мой оркестратор отличается от claude -p и т. п.? Помимо полезных инструкций, вправляющ…
  3. Sep 21, 2026Вот за что люблю очередь сообщений в Codex. Накидываешь задачи на ночь одну за другой и со…
  4. Sep 18, 2026Ребят, на всякий случай уточню для тех, кто не вчитался - по 20$ подписке до 10 октября Де…
  5. Sep 18, 2026Post #293
  6. Sep 18, 2026Вижу, что кейс с модерацией через Jev актуален, поэтому публикую пример реализации такого…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →