Цього тижня мова програмування під назвою Bend посіла перше місце в Hacker News, отримавши 278 балів і викликавши дебати на перших сторінках, спрямовані прямо на епоху кодування штучного інтелекту: мова, яка робить математично неможливим для агента штучного інтелекту відправляти код, який порушує ваші правила.
Веб-сайт проекту описує Bend як «швидку мову, яка блокує помилки штучного інтелекту за допомогою доказів», обіцяючи незвичайне поєднання характеристик: нативну компіляцію зі швидкістю C, автоматичний паралелізм між ядрами ЦП і графічним процесором із підтримкою CUDA, формальні докази в стилі Lean і синтаксис, схожий на Python. For more context on this story, see our ongoing AI news.
Іншими словами, Bend не намагається бути кращою мовою для написання людей. Він намагається стати кращою мовою для написання агентами штучного інтелекту — такою, де на сторожі стоїть сам компілятор.
Аргумент: підказки неоднозначні, а докази – ні
Обрамлення на домашній сторінці проекту надзвичайно відверто розповідає про те, куди йде розробка програмного забезпечення.
«В економіці після AGI люди зрештою перестануть писати та читати код, але нам все одно потрібен спосіб без двозначності повідомляти штучному інтелекту, який створює світ навколо нас, що ми хочемо зробити», — стверджує сайт. «За допомогою законів наші наміри можуть бути набагато точнішими, ніж природна мова. За допомогою доказів ми можемо перевірити, що штучний інтелект правильно реалізував наші підказки. А швидкий компілятор виконує це зі швидкістю».
Ця теза перевертає звичайні відносини між розробником і інструментами. Замість того, щоб обробляти згенерований штучним інтелектом код як результат, який потрібно перевірити рядок за рядком, Bend просить людину оголосити властивості, які мають завжди зберігатися, і змушує машину перевірити свою роботу, перш ніж щось можна буде об’єднати.
Як працює LAWS.bend
Центральним елементом дизайну є файл під назвою LAWS.bend, де розробники оголошують інваріанти, яким має задовольняти проект. Слоган сайту для концепції: «LAWS.bend — це AGENTS.md, підкріплений доказами». Там, де файли AGENTS.md інструктують агентів кодування штучного інтелекту правилами природної мови, які можна спокійно ігнорувати, закони Бенда виконуються самим засобом перевірки типів.
«Відтоді жоден штучний інтелект ніколи не зможе створити жодної лінії, яка їх зламатиме», — стверджує сайт.
Супровідний файл PROOF.bend містить перевірений машиною аргумент, що кожен закон виконується — і, зокрема, що доказ пише штучний інтелект, а не людина. Розробник заявляє, що має бути правдою; агент конструює докази.
Проект демонструє ідею іграшковою грою, в якій закон проголошує неможливість виграшу. Під час демонстрації запит на нову функцію — «змусити дошку обертатися» — містить помилку, яка дозволяє гравцеві виграти. Без LAWS.bend помилковий код об’єднується, і помилка активується. З LAWS.bend на місці зміна відхиляється, і штучний інтелект повинен продовжувати повторювати спроби, доки не створить реалізацію з дійсним доказом. Як стверджує сайт: «Об’єднати помилку математично неможливо: це теорема».
Завдяки швидкості
Формальна перевірка – стара ідея. Те, що не дає йому брати участь у повсякденній розробці програмного забезпечення, так це вартість: помічники з перевірки, такі як Lean і Rocq, можуть витратити кілька хвилин, щоб перевірити кодову базу середнього розміру, що прийнятно для криптографії чи ядер операційної системи, але непрактично для агента ШІ, який вносить десятки змін на годину.
Відповідь Бенда полягає в тому, щоб зробити саму перевірку типів перевіркою доказів, яка виконується за секунду або менше. На сайті стверджується, що це означає, що «агент штучного інтелекту може перевіряти після кожної зміни» — перетворюючи перевірку з важкої церемонії завершення проекту на легку перевірку кожного окремого редагування.
Заяви щодо продуктивності, які базуються на контрольних тестах, опублікованих на власному сайті проекту (працює на Apple M4 Max), є амбітними за всіма напрямками:
- Bend компілюється до рідного коду та працює «майже так само швидко, як C» на одному ядрі.
- Той самий двійковий файл масштабується на шістнадцяти ядрах або на графічному процесорі, де на сайті стверджується, що швидкість у 100 разів перевищує швидкість одного ядра.
- Паралелізм є автоматичним — «без потоків, без блокувань, без ядер для запису» — із розподілом часу виконання для кожного ядра, яке воно може знайти, і об’єднанням результатів.
Початок роботи навмисне простий: однорядковий сценарій встановлення, а також фрагмент, призначений для вставлення в AGENTS.md, який інструктує агента запустити `bend guide`, зберегти важливі правила в LAWS.bend і запустити `bend PROOF.bend` перед фіксацією.
Чому це резонує саме зараз
Відповідь Hacker News — сотні пунктів за кілька годин — відображає зростаючу тривогу в спільноті розробників. Агенти кодування ШІ зробили створення коду майже безкоштовним, але його перевірка не стала дешевшою з тією ж швидкістю. Перевірка коду, тестування та контроль якості все ще є процесами, що виконуються за принципом людини, і команди все частіше повідомляють, що вузьке місце перемістилося від написання програмного забезпечення до довіри до нього.
Бенд робить ставку на те, що проблема довіри краще вирішується мовою, ніж робочим процесом. Якщо компілятор відмовляється прийняти код, який порушує заявлений інваріант, розмова про перегляд змінюється: люди перестають шукати помилки, які машина вже виключила, і починають зосереджуватися на тому, чи самі закони охоплюють те, що насправді потрібно бізнесу.
Застереження
Як і у випадку з будь-яким проектом, який просувається за допомогою власних тестів, незалежна перевірка є очевидним наступним питанням. Показники ефективності взяті з веб-сайту проекту, а демонстрація є навмисно простим прикладом. Реальні кодові бази мають безладний стан, зовнішні системи та вимоги, які протистоять чіткій формалізації — складною частиною формальних методів ніколи не було доведення, а специфікація.
Існує також культурна перешкода. Переконати розробників прийняти нову мову, як відомо, важко; Переконати їх закодувати правила свого проекту як закони, які можна перевірити машиною, — ще більш важливе завдання, навіть якщо агенти ШІ пишуть більшість.
Але головне розуміння того, що мова, розроблена для ери коду, створеного штучним інтелектом, має зробити правильність властивістю під час компіляції, є серйозною відповіддю на проблему, яка зараз виникає в масштабі галузі. Незалежно від того, чи перемагає Бенд у цій суперечці, чи хтось із наступників, напрямок руху здається ясним: коли машини пишуть код, огорожі повинні рухатися всередину машини.
Щоб дізнатися більше про інструменти, які змінюють процес створення програмного забезпечення, слідкуйте за останніми новинами про AI та нашим постійним висвітленням екосистеми розробки AI.
---
Stay Ahead of AIGet the latest AI news, analysis, and breakthroughs — all in one place.
Read more AI news →