AI написал PHP-движок на Rust, прошел 17% тестов PHP-src, отображает WordPress

Кто-то, не знающий Rust, просто позволил ИИ написать на нём интерпретатор PHP. Результат, Phargo, отображает главную страницу WordPress размером 26 КБ из базы данных SQLite — через движок, не содержащий ни строчки реального исходного кода PHP на C. Это написанный с нуля интерпретатор на Rust, созданный агентом ИИ, где роль человека сводится к запуску тестов, проверке результатов и командам «продолжай» или «регрессия, посмотри ещё».
В эксперименте используется собственный тестовый набор PHP как беспристрастный оракул: около 22 000 файлов .phpt, накопленных за 30 лет, покрывающих всё — от расчётов времени с учётом летнего времени до var_dump() для чисел с плавающей точкой. Текущий процент прохождения: 3 844 из 22 037 (17,4%). Поскольку набор включает тесты расширений C (GD, curl, SOAP, драйверы MySQL), выходящие за рамки проекта, реалистичный предел составляет около 40–45%. Проект стартовал с нуля и прогрессирует через гистограммы ошибок: ИИ определяет крупнейший кластер падающих тестов, реализует исправление, прогоняет все 22 000 тестов (~7 минут) и фиксирует изменения, если результат улучшается — без необходимости ревью кода человеком.
Уроки, извлечённые в процессе
Ранний прогресс застопорился из-за тонкой ошибки: окончания строк. Тестовый корпус был получен на Windows с окончаниями CRLF, а система сравнения выводила результат побайтово, из-за чего все многострочные тесты молча падали. Собственный тестовый раннер PHP нормализует окончания перед сравнением. Одна строка кода нормализации сделала сотни тестов зелёными. Урок: измеряйте свои измерения — ваш оракул настолько честен, насколько честна связка, соединяющая вас с ним.
Ещё одно открытие: некоторые старые регрессионные тесты выделяют абсурдные структуры или раскручиваются в бесконечные генераторы, изначально предназначенные для работы в хорошо изолированной CI-среде PHP. Один такой тест вызвал жёсткую перезагрузку машины разработчика. Теперь проект фильтрует тесты, которые заведомо опасны вне CI.
Цикл разработки
- ИИ строит гистограмму ошибок по всему корпусу, чтобы найти крупнейший исправимый кластер.
- ИИ реализует исправление.
- Система прогоняет все ~22 000 тестов (~7 минут).
- Если число прошедших тестов увеличилось: коммит, пуш, повтор.
- Если уменьшилось: человек говорит «хм, регрессия, посмотри ещё».
Работа человека, по сути, — прицеливание: чтение вывода терминала, как средневековый король просматривает морские карты, а затем ввод самой мощной фразы разработчика: «выглядит хорошо, продолжай».
📖 Читать полный источник: HN AI Agents
👀 Смотрите также

Первый в мире эксклюзив GitHub для ИИ-агентов запущен: Ограниченный бета-тест для 100 пользователей.
Разработан инновационный эксклюзив GitHub для AI-кодеров, с ограниченным бета-тестированием на 100 пользователей. Узнайте, как этот инструмент готов революционизировать сотрудничество в области ИИ.

Утечка исходного кода Anthropic раскрывает незаявленные функции Claude и внутреннюю модель
Anthropic случайно слила 500 000 строк исходного кода, содержащего детали об анонсированных функциях Claude, включая фоновое выполнение KAIROS, режим сна, режим под прикрытием и внутреннюю модель под названием капибара. Это уже вторая подобная утечка в 2025 году.

ИИ делает меня тупее: признание разработчика в атрофии навыков
Джеймс Пейн признается, что после года-двух использования ИИ исключительно для программирования (без ручного написания кода) он в основном забыл, как программировать. Теперь он снова учится писать код вручную и предупреждает, что активное использование ИИ может ослабить навыки письма и программирования.

Два исследовательских проекта ставят под сомнение имитационное обучение для веб-агентов
Два исследовательских проекта демонстрируют ограничения обучения веб-агентов исключительно на имитации: 'Browser in the Loop' использует обучение с подкреплением с моделью на 8 миллиардов параметров для повышения успешности отправки форм, в то время как 'Concentrate or Collapse' показывает, что стандартное обучение с подкреплением не работает с диффузионными языковыми моделями, требуя оптимизации на уровне последовательностей.