Determinant — это эксперимент на ранней стадии, предлагающий Auditable Application Language (AAL) в качестве детерминированного слоя между вероятностной генерацией ИИ и исполняемым программным обеспечением. Система позволяет LLM генерировать AAL из требований на естественном языке, который затем люди проверяют на корректность бизнес-логики, прежде чем традиционный компилятор сгенерирует код TypeScript.

  • AAL фокусируется на двух основных концепциях: Object (описание состояния приложения) и Flow (описание поведения), избегая деталей реализации, таких как классы или методы.
  • Конвейер компиляции преобразует принятый AAL в AST, выполняет семантические проверки и привязки, а затем выводит детерминированный TypeScript для Node.js без дальнейшего участия LLM.
  • Текущие функции включают типизированные поля, условия, явные ошибки, вычисления, изменения состояния, композицию потоков, типы денег, а также поддержку английских и китайских диалектов.
  • Проект стремится уменьшить область неопределённости ИИ, позволяя людям проверять меньшее, исполняемое описание вместо обзора тысяч строк сгенерированного кода.

Автор запрашивает отзывы о том, является ли этот уровень проверки практически полезным и может ли AAL оставаться читаемым, покрывая достаточное поведение приложения.