Эксперимент Anthropic: команда из 16 агентов написала C-компилятор с нуля

Исследователь Anthropic Николас Карлини продемонстрировал, как 16 автономных агентов Claude, работая параллельно, создали рабочий компилятор языка C для ядра Linux.

Обновлено:
3 мин чтения
Эксперимент Anthropic: команда из 16 агентов написала C-компилятор с нуля

Суть эксперимента

Компания Anthropic опубликовала результаты любопытного технического исследования, проведенного Николасом Карлини из команды безопасности. Целью эксперимента было проверить пределы возможностей современных больших языковых моделей (LLM) в задачах автономного программирования. Вместо привычного формата «человек пишет код с помощью чат-бота», Карлини создал систему, в которой команда из 16 агентов на базе Claude работала параллельно над одной кодовой базой без активного вмешательства человека.

Результат впечатляет: агенты написали на языке Rust полноценный компилятор языка C (около 100 000 строк кода). Этот компилятор оказался способен собрать ядро Linux версии 6.9 для архитектур x86, ARM и RISC-V. Стоимость эксперимента составила около 20 000 долларов в виде затрат на API, а работа заняла около 2000 сессий.

Контекст: от помощников к автономным сотрудникам

Обычно инструменты вроде Claude Code или GitHub Copilot требуют постоянного присутствия оператора. Если задача слишком сложная, модель останавливается и ждет уточнений. Карлини же хотел добиться «устойчивого автономного прогресса». Для этого он поместил модель в бесконечный программный цикл: как только агент завершает одну задачу, он тут же берет следующую, ориентируясь на состояние репозитория и список проблем.

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

Технические детали реализации

Чтобы 16 агентов не мешали друг другу, была создана специальная инфраструктура:

  1. Синхронизация через Git. Каждому агенту выделялся отдельный Docker-контейнер. Агенты клонировали репозиторий, вносили изменения и отправляли их обратно.
  2. Система блокировок. Чтобы два агента не пытались исправить одну и ту же ошибку одновременно, они создавали файлы-блокировки (например, current_tasks/parse_if_statement.txt). Это примитивный, но эффективный способ координации.
  3. Специализация. Пока одни агенты писали код, другие занимались оптимизацией производительности, удалением дубликатов кода или обновлением документации.
  4. Oracle-тестирование. Самой сложной задачей стала компиляция ядра Linux. Когда возникала ошибка, агенты использовали настоящий компилятор GCC как эталон («оракул»), чтобы сравнить результаты и локализовать проблему в конкретных файлах.

Анализ: уроки управления цифровой командой

Главный вывод исследования касается не столько способности ИИ писать код, сколько важность создания правильной среды (обвязки) для агентов. Карлини выделил несколько критических моментов:

  • Качество тестов — это всё. Автономный агент будет неустанно оптимизировать решение под заданные метрики. Если тесты написаны плохо или допускают двусмысленность, агент решит «не ту» задачу. В ходе проекта пришлось создавать конвейер непрерывной интеграции (CI), чтобы новые коммиты не ломали старый функционал.
  • Слепота ко времени. Модели не чувствуют времени. Оставленный без присмотра агент может часами прогонять тесты вместо написания кода. Пришлось внедрить механизмы, ограничивающие время выполнения проверок.
  • Загрязнение контекста. Агентам нельзя скармливать тысячи строк логов. Вывод ошибок должен быть кратким и четким, чтобы модель могла сразу найти причину сбоя, используя поиск по ключевым словам (например, grep).

Перспектива

Этот проект — стресс-тест текущих возможностей. Он показывает, что узким местом становится не интеллект модели, а способность человека формализовать задачу и критерии успеха. Мы движемся к будущему, где программист превращается в менеджера команды ИИ-агентов.

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

TL;DR

Главное

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

Ключевые факты

  • /16 агентов Claude работали параллельно
  • /Создан компилятор C на 100 000 строк кода
  • /Затраты на API составили $20 000

Инсайт

Главная сложность не в написании кода агентами, а в создании идеальных тестов: если тест допускает ошибку, агент «хакнет» его, решив задачу неправильно.

Источник:Anthropic

Читайте также