Люблю статьи Антропика, в них чувствуется живой человек, а не только пресс-релизы, как у OpenAI.
В этот раз исследователи https://www.anthropic.com/engineering/building-c-compiler того, на что способны «команды» из агентов, работающие автономно, без участия человека: 16 агентов в параллели, в течении 2000 сессий разработали компилятор языка Си на Rust. https://github.com/anthropics/claudes-c-compiler успешно собирает ядро линукса, QUEMU, ffmpeg, sqlite, postgres, redis, успешно проходит 99% тестов компиляторов.
Под капотом это несколько простых баш-скриптов, запускающих docker-контейнер с агентом, синхронизируется всё через git. Каждый раз, когда агент берет задачу, он коммитит файл с именем задачи в репозиторий, чтобы не было такого, что два агента работают над одним и тем же. Никакой хитрой оркестрации или «главного агента» с мастер-планом: каждый агент выбирает, что он считает самым важным, работает над этой фичей, сохраняет историю, и так в бесконечном цикле.
Звучит магически, но мне вся эта история напоминает очень крутую https://ru.wikipedia.org/wiki/Машина_Голдберга. Да, нейросети создают компилятор «самостоятельно», но рядом с ними 7 инженеров тратят несколько недель на филигранную настройку среды под это. Они следили, где модели затыкаются и корректировали упряжь, в первую очередь тесты и инфраструктуру, чтобы в следующий раз их не занесло.
Работу по написанию кода они заменили на работу по настройке упряжи.
И получили на выходе, конечно же, супер хрупкую штуку, которую невозможно развивать и поддерживать. Например, исследователи пишут, что так и не смогли создать таким способом работающие ассемблер и линкер, а некоторые проекты так и не скомпилировались; пытаясь исправить одну часть, нейросети ломали другую.
Это классическая ситуация, в которой оказываются команды со слишком большим техническим долгом. Тот самый легаси! Меня регулярно зовут делать аудиты и приводить такие системы в порядок, до боли знакомая картина.
В
https://www.youtube.com/watch?v=vNeIQS9GsZ8 Антропик пишет, что то, что заняло бы у команды людей месяцы, нейросети сделали за 2 недели. Абсолютно верно! Обычные команды разработки доходят до такого жуткого состояния легаси за годы разработки. С помощью нейросетей можно заспридранить этот процесс за 2 недели с минимальным участием людей! И стоит всего 20 тысяч долларов на API запросы!
То есть на выходе мы имеем полурабочее легаси без какого-либо пути к улучшению. Только если в обычном легаси у нас есть хотя бы углубленное понимание задачи, то в этом случае всё понимание задачи ограничивается тестами, которые они взяли на стороне как вводные для проекта. И попробуй ещё найти задачу, для которой существуют настолько же хорошие (восхитительные) тесты, как для компиляторов; человечество вложило в них человеко-годы!
Как говорил персонаж в сериале Чернобыль: «
https://www.youtube.com/watch?v=w-YDV6vC2qo».
Гораздо важнее траектория развития способней моделей. 4-я модель «Опуса» еле-еле генерировала работоспособный компилятор. 4.5 первым прошел крупные тесты, но не мог скомпилировать реальные проекты. 4.6 вышедший на днях может компилировать реальные проекты. Что сможет следующая модель?
Исследование очень классное и тональность статьи идеальная — без лишнего хайпа. https://www.anthropic.com/engineering/building-c-compiler.
Иллюстрация — тот самый вечный цикл, в котором крутились агенты.