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