18-месячный переписывание кодовой базы Autonoma: уроки по тестированию, техническому долгу и Server Actions

Почему успешный продукт потребовал полного переписывания
Autonoma, компания, которая несколько раз меняла направление (корпоративный поиск, генерация документации, агент по кодированию, платформа для тестирования QA), разрабатывала продукт более 1,5 лет, привлекла клиентов, получила финансирование от крупного игрока отрасли и наняла команду из 14 человек. Несмотря на этот прогресс, они решили выбросить всю кодовую базу и начать заново.
Эпоха без тестов и её последствия
Изначально команда использовала TypeScript-монополию без строгого режима и без тестов. Это работало с 2 инженерами, которые владели большими частями кодовой базы, но стало катастрофой после найма новых сотрудников. В кодовой базе появились проблемы с null, неопределённое поведение и плохая обработка ошибок, что приводило к багам, возникающим "из ниоткуда", и даже потере клиента. Основатель изначально запрещал тесты, чтобы сохранить культуру быстрой поставки, но позже осознал, что это повлияло на качество продукта и производительность.
Технические решения, обусловившие переписывание
Исходный продукт был создан в эпоху GPT-4 (не 4o), когда модели требовали обширных защитных механизмов. Они создали сложные обёртки Playwright и Appium с комплексными проверками и 7 стратегиями кликов, которые могли самовосстанавливаться на лету. С развитием моделей эта сложная проверка больше не нужна, что делает унаследованную кодовую базу с техническим долгом менее ценной.
Отказ от Next.js и Server Actions
Команда отказывается от Next.js и Server Actions, ссылаясь на несколько проблем:
- Server Actions асинхронны, требуя блоков useEffect или ручного управления состоянием в React
- Их сложно тестировать — тестирование требует создания объектов Prisma с базами данных в памяти или мокирования
- Отсутствует возможность внедрения зависимостей
- Они выполняются последовательно глобально, создавая "искусственный глобальный блокировщик интерпретатора Python, но на TypeScript"
Новая реализация начинается с тестов с самого начала и использует самый строгий режим TypeScript.
📖 Read the full source: HN AI Agents
👀 Смотрите также

Исследование: центры обработки данных ИИ повышают локальную температуру до 9,1°C
Исследование Кембриджского университета показало, что центры обработки данных ИИ повышают температуру поверхности земли в среднем на 2°C после начала эксплуатации, а в экстремальных случаях рост достигает 9,1°C, затрагивая территории на расстоянии до 10 километров.

Пузырь ИИ не похож на пузырь доткомов — работники не будут проносить ИИ на работу тайком, как когда-то проносили электронные таблицы
Кори Доктороу утверждает, что пузырь ИИ принципиально отличается от эпохи доткомов: работники тайком проносили интернет-инструменты в корпоративные сети, потому что те помогали им выполнять работу. Никто не проносит ИИ-агентов — их навязывает руководство.

Миньоны Stripe: Одноразовые ИИ-агенты для программирования
Миньоны – это однострочные AI-агенты кода Stripe, направленные на повышение продуктивности разработчиков за счет полного автоматизированного процесса с использованием LLM.

Qwen3.6 27B FP8 выполняет 200k токенов BF16 KV Cache со скоростью 80 TPS на RTX 5000 PRO 48GB
Пользователь Reddit делится настройкой vLLM для Qwen3.6 27B FP8 с BF16 KV-кэшем на 200k токенов, достигая 60–90 TPS на одной карте RTX 5000 PRO 48GB. Приведены полные переменные окружения, конфигурация и результаты тестов.