AI-ready язык: нужен ли ИИ свой язык программирования?
Недавно наткнулся на интересную мысль: если основную часть программного кода в будущем будут создавать ИИ-агенты, зачем нам языки программирования, спроектированные прежде всего для людей?
Java, Python, C# и другие языки развивались с учётом того, что человек должен написать код, прочитать его, понять и сопровождать. Отсюда требования к синтаксису, читаемости, структуре.
А что, если основным потребителем языка станет ИИ? На первый взгляд, можно убрать синтаксический шум, сократить конструкции, сделать представление программы более компактным. Но мне кажется, это далеко не самое интересное.
Настоящий AI-ready язык должен облегчать не написание кода, а получение заведомо корректного результата.
Представим, что агенту поручили доработать сервис публикации электронных документов.
Сегодня он изучает код, документацию, пытается восстановить бизнес-правила и понять, что нельзя нарушать. Например, документ должен иметь действительную подпись, повторный вызов не должен создавать дубликат, а каждое действие необходимо регистрировать.
А теперь представим, что эти ограничения — не комментарии и не отдельный документ, который агент мог забыть прочитать, а формальная часть самой программы.
Агент меняет реализацию, а компилятор и средства проверки возвращают ему структурированный результат: — Нарушен инвариант однократной публикации. — Добавлен неразрешённый побочный эффект. — Изменён контракт взаимодействия с другим сервисом. — Не выполнено обязательное условие операции. Причём не просто текст ошибки, а машиночитаемую диагностику, с которой агент может продолжить работу.
Получается несколько иная модель разработки: человек определяет требования и архитектурные ограничения, агент создаёт реализацию, а инструментальная среда проверяет всё, что можно проверить автоматически.
Конечно, компилятор не сможет самостоятельно доказать правильность всех бизнес-решений. Но и полагаться на комментарий «Осторожно, здесь важная логика» — архитектурная стратегия с довольно оптимистичным прогнозом.
Интересно, что первые эксперименты в этом направлении уже появляются. Например, Astra — экспериментальный язык в альфа-версии, ориентированный на код, создаваемый агентами. Его авторы описывают структурированную диагностику компилятора и автоматическое исправление некоторых ошибок: https://astra-lang.org/
Но нужен ли для этого принципиально новый язык?
Возможно, нет. Не исключено, что вместо замены Java или Python мы получим новый уровень формальных контрактов, ограничений и средств проверки поверх существующих языков.
И тогда изменится сама роль исходного кода. Он станет скорее исполняемой реализацией формально описанного решения, чем главным артефактом разработки.
С точки зрения ИТ-архитектуры мне особенно интересна следующая перспектива: а если ограничения целевой архитектуры, утверждённые ADR и правила межсистемного взаимодействия тоже станут частью проверяемого контракта для агента?
Тогда архитектурный контроль сможет происходить не только на ревью готового решения, но и непосредственно при его создании.
Возможно, следующий большой шаг в программировании — не язык, на котором ИИ будет писать быстрее, а язык, на котором ему будет значительно сложнее написать неправильно.
#Архитектура #КорпоративнаяАрхитектура #ИИ #Автоматизация #Программирование