Традиционное развитие
- Люди пишут код вручную.
- Детерминистский контроль уже существует.
- Пропускная способность остается ограниченной скоростью человека.
Человеческий, детерминированный
Стратегический тезис 01
Эуфил рассматривает разработку программного обеспечения ИИ как эволюцию через уровни контроля. Важный вопрос заключается не только в том, сколько кода может произвести ИИ, но и в том, насколько детерминированной, управляемой и многоразовой становится окружающая система, когда ИИ берет на себя больше работы.
От традиционного программирования к машинно-ориентированной генерации кода реальный прогресс заключается не только в скорости. Это сдвиг к большему контролю, большему детерминизму и более сильному формальному рычагу.
Человеческий, детерминированный
Быстрый, управляемый ИИ, более хрупкий
ИИ, управляемый обратной связью
Тоулинг рычаг, по дизайну
Формальное, доменное производство
Требует другого поколения моделей ИИ
Что говорит модель
В начале люди пишут программное обеспечение напрямую. На более высоких уровнях организации используют ИИ для создания детерминированных систем, валидаторов и формальных интерфейсов доменов. Ключевой переменной между этими точками является то, насколько надежен контроль над производством программного обеспечения.
С каждым уровнем меняется то, кто пишет код, но важнее другой вопрос: что ограничивает, проверяет и направляет эту работу.
Автодополнение и встроенные подсказки остаются локальными ускорителями, а разработчик по-прежнему за рулём. Полезно, но это ещё не разработка под управлением AI.
Тесты, фильтры, проверки сборки, сканирование безопасности, валидаторы и наборы регрессии создают детерминированную петлю обратной связи, необходимую для безопасной коррекции.
Общие онтологии, ДСЛКомпиляторы, генераторы и политические движки превращают негласные знания в системы, которые масштабируются более надежно, чем только неформальная интерпретация.
Уровни контроля
Последовательность заключается не столько в том, чтобы праздновать автономию ради нее самой, сколько в том, чтобы понять, где скорость становится хрупкой, где ограждения становятся необходимыми и где формальные системы начинают превосходить неформальные рабочие процессы кодирования.
Люди остаются непосредственными авторами программного обеспечения. Рабочий процесс в значительной степени детерминированный, но пропускная способность ограничена ручным усилием.
ИИ ускоряет локальные действия, такие как автозаполнение, встроенные предложения и небольшие рефакторы, в то время как разработчик остается основным создателем кода.
ИИ становится основным создателем кода посредством кодирования вибрации, автономных циклов, рабочих процессов планирования или сквозных запросов функций.
ИИ по-прежнему пишет большую часть кода, но теперь он работает внутри контролируемого рабочего процесса, который проверяет его работу и направляет следующую коррекцию.
Цель переходит от многократного создания кода к созданию инструментов, которые могут воспроизводить, трансформировать, проверять, исправлять и тестировать код повторяемыми способами.
Организации формализуют сам домен и позволяют GenAI разрабатывать и развивать инструментальную цепочку вокруг этой формальной модели.
Со временем ИИ может генерировать артефакты, более близкие к тому, что машины действительно исполняют, чем к сегодняшним человеко-ориентированным абстракциям, таким как файлы, репозитории и исходный код, сформированный фреймворками.
Стратегическое значение
Эуфил считает, что эволюция разработки программного обеспечения ИИ все чаще становится вопросом обращения к ИИ с просьбой помочь построить детерминированные системы, которые надежно производят программное обеспечение. Прямое генерирование кода по-прежнему имеет значение, но более прочное преимущество исходит от управляемых рабочих процессов, многоразовых инструментов и формальных интерфейсов доменов. По мере того, как эти детерминированные инструменты становятся намного легче создавать, становится возможным строить гораздо более сложные системы с большей уверенностью. Это, в свою очередь, может в конечном итоге позволить усилиям по обновлению нового поколения моделей ИИ, которые работают намного ниже в стеке, ближе к представлениям на машинном уровне, чем к сегодняшним абстракциям исходного кода, ориентированным на человека.