i
ДАТАИСТ
Обзор · 2026-01-16

Как превратить GitHub в память для ИИ-агента

Как превратить GitHub в память для ИИ-агента

Когда LLM научились писать код, вокруг них быстро выросли автономные SWE-агенты: системы, которые умеют открывать репозиторий, запускать тесты, находить место ошибки и готовить патч. Но у таких агентов есть неприятная привычка работать так, будто они впервые видят подобный баг. На практике же разработчики почти никогда не чинят сложные проблемы с нуля: они идут в GitHub, ищут похожие issue и PR, читают обсуждения, смотрят, какие гипотезы проверяли, какие правки сработали и как их валидировали. Это и есть «открытый мир» опыта — огромный, полезный, но крайне неудобный для машинного использования.

Авторы работы MemGovern: Enhancing Code Agents through Learning from Governed Human Experiences предлагают простой ответ: превратить разрозненные следы человеческой разработки в «память», с которой агент умеет работать так же осмысленно, как реальный инженер.

Сравнение MemGovern с существующими методами: подход учится на человеческом опыте, превращая необработанные GitHub-данные в память, удобную для агента.

Почему GitHub-опыт так трудно «скормить» агенту

Проблема не в нехватке данных — GitHub переполнен починенными багами. Сложность в том, что этот опыт неструктурирован. В одном треде перемешаны версии библиотек, куски логов, обсуждение сроков релиза, случайные правки «заодно», эмоциональные реплики и уточнения, которые важны людям, но мешают извлечь техническую суть. Плюс разные репозитории описывают одно и то же разными словами, с разными именами модулей и стилем кода. В итоге наивный retrieval часто приносит агенту либо мусор, либо слишком «локальные» детали, которые трудно перенести на текущий проект.

MemGovern начинает именно с этого: не пытаться героически понять весь GitHub, а научиться превращать его в компактные, сопоставимые единицы опыта.

Карточки опыта: как «управляют» человеческими историями

В основе MemGovern — процесс experience governance. Он отбирает подходящие репозитории и конкретные случаи исправления, а затем превращает их в стандартизированные experience cards — карточки опыта. В этих карточках важная идея: разделить то, по чему мы ищем, и то, что мы применяем.

Слой индекса фиксирует нормализованное описание проблемы и диагностические сигналы: тип исключения, характерный фрагмент ошибки, общие теги компонента. То есть такие признаки, которые можно сопоставлять между проектами. А слой решения хранит «переносимую» логику: первопричину, стратегию исправления и краткий конспект патча. Так агенту легче не копировать кусок кода, а перенести смысл: что именно было сломано и что исправило ситуацию.

Чтобы карточки не превратились в очередной источник галлюцинаций, авторы добавляют контроль качества чеклистом и цикл уточнений: если в карточке мутно описана причина или стратегия, она отправляется на доработку. В результате они собирают 135 тысяч карточек.

Архитектура MemGovern: отбор GitHub-примеров, стандартизация в карточки опыта и использование через агентный поиск.

Не просто RAG: агент учится искать как инженер

Второй ключевой элемент — agentic experience search. Обычный RAG работает так: сформировали запрос, достали top-k фрагментов, вставили в контекст. Но отладка так не работает. Когда разработчик ищет похожий баг, он делает несколько заходов: уточняет симптомы, отбрасывает нерелевантные ветки, открывает пару перспективных обсуждений и только потом выносит из них рабочую стратегию.

MemGovern повторяет этот стиль через две операции. Сначала агент делает поиск по индексному слою (симптомы и сигналы), затем выборочно «просматривает» карточки, поднимая слой решения. Если кандидаты слабые, он переформулирует запрос и пробует снова. Такой режим помогает вытаскивать не поверхностное совпадение слов, а именно логически подходящий прецедент.

Сравнение стандартного RAG и агентного поиска MemGovern: RAG цепляется за поверхностное сходство, MemGovern итеративно находит релевантную логику исправления.

Что это даёт на практике

Авторы подключают MemGovern как plug-in к SWE-Agent и проверяют на SWE-bench Verified — одном из самых заметных тестов для автоматического исправления багов в реальных репозиториях. Итог — +4.65% к доле решённых задач в среднем. Для таких бенчмарков это заметный прирост, потому что каждые несколько процентов обычно требуют либо более сильной LLM, либо сложного тюнинга пайплайна.

Визуально эффект хорошо виден в разборе поведения агента: без опыта он может выбрать «защитный обход», который ломает контракт API, лишь бы тесты прошли. С MemGovern агент чаще опирается на уже встречавшуюся человеческую логику и делает семантически корректную правку.

Поведение агента без опыта и с MemGovern: вместо обходного хака — корректное исправление по аналогии с прошлым опытом.

Интересная деталь: качество памяти важнее её «сырого объёма». Авторы отдельно показывают, что просто скормить агенту необработанные обсуждения хуже, чем дать меньше, но структурировано. Сырые треды легко уводят в сторону — например, из‑за несвязанных изменений в PR агент делает неполный патч. «Управляемый» опыт, наоборот, подчёркивает ключевую логику.

Сырые данные отвлекают и ведут к неполному патчу, а governed-опыт выделяет суть и помогает покрыть случаи корректно.

Наконец, авторы исследуют, как влияет размер памяти и глубина извлечения top-k: это важная инженерная часть, потому что контекст в LLM не резиновый, а «слишком много карточек» может ухудшить фокус.

Результаты при разных размерах памяти и разных top-k извлечения.

Что важно вынести из MemGovern

Работа хорошо подсвечивает сдвиг в мышлении: прогресс агентов для программирования упирается не только в боле умнее LLM, но и в то, как мы упаковываем внешний опыт. MemGovern показывает, что GitHub можно превратить в слой памяти. А ещё — что поиск должен быть процессом, а не одиночным запросом.

Да, это не волшебная кнопка, которая сможет починить все баги. Но эта идея работает: дать агентам доступ к коллективной инженерной памяти так, чтобы она помогала думать, а не засоряла контекст.

Сравнение производительности SWE-Agent и MemGovern на разных LLM-бэкбонах на SWE-bench Verified.

💾 Код

ИИ-обзоры статей

Каждый день читаем свежие статьи по ИИ и пересказываем главное человеческим языком — без хайпа и воды. Если хотите понимать, куда движутся ИИ-агенты раньше остальных, — подписывайтесь.

Новые обзоры — каждый день.

В Telegram