Вівторок, 21 Квітня, 2026

Як Cloudflare будує «harness» для AI-коду: безпечний, спостережуваний та довгоживучий простір виконання

У Sunil Pai, розробника AI-агентів у Cloudflare та автора open source-інструмента Partykit для реального часу, є амбіційна мета: зробити так, щоб великі мовні моделі не просто «розмовляли» з API, а писали й виконували реальний код у контрольованому середовищі. У межах підходу Code Mode, який Cloudflare зараз активно експериментально розвиває, це середовище отримало окрему назву — harness. Саме воно стає ключовою частиною нової архітектури: безпечний, керований та повністю спостережуваний «простір», де працює згенерований агентами код.

Code Mode: Let the Code do the Talking - Sunil Pai, Cloudflare

Цей матеріал розбирає, як влаштований цей harness і sandbox Cloudflare: на чому він побудований, як реалізовано capability-based безпеку, чому за замовчуванням усе заборонено, як забезпечується повна спостережуваність, а також навіщо компанія дивиться в бік довготривалих workflow та генеративних інтерфейсів користувача.


Від «агента на ноутбуці» до керованого harness: навіщо потрібен новий шар архітектури

За останні місяці ринок AI-агентів переживає хвилю експериментів: моделі навчають писати код, запускати його локально, керувати файлами, браузером, сервісами. Часто це виглядає як «запустіть агента на Mac Mini, він усе зробить». Але за цією картинкою ховається фундаментальна проблема: відсутність чітко окресленого, безпечного та керованого середовища виконання.

Cloudflare формулює відповідь на це через поняття harness. Ідея проста, але радикальна в деталях: замість того, щоб дозволяти агенту виконувати код «деінде», йому надають спеціальний простір, де:

  • код може виконуватися, але спочатку не має жодних можливостей, окрім самого факту виконання;
  • усі можливості (доступ до API, мережі, стану) видаються явно, як окремі capability;
  • кожна дія може бути спостережена, задокументована й проаналізована постфактум.

Це відрізняється від традиційного підходу з контейнерами чи віртуальними машинами, де середовище за замовчуванням має багатий набір можливостей, а безпека досягається «обмеженням зверху» — через політики, мережеві правила, додаткові шари контролю. У harness Cloudflare логіка протилежна: старт із нуля, потім поступове, контрольоване надання можливостей.

Такий розворот особливо важливий у контексті Code Mode, де LLM не просто викликає окремі інструменти, а генерує повноцінні програми (здебільшого JavaScript), які можуть взаємодіяти з широкою API-поверхнею Cloudflare, виконувати цикли, тримати стан, паралелізувати запити. Потужність цього підходу вимагає настільки ж потужної моделі безпеки.


V8 isolates як основа sandbox: чому Cloudflare робить ставку саме на них

Технічне ядро harness у Cloudflare — це V8 isolates. Це окремі ізольовані контексти виконання JavaScript у межах рушія V8, які компанія вже багато років використовує в Cloudflare Workers. Для Code Mode це природний вибір: моделі генерують JavaScript, а Cloudflare має десятирічний досвід у безпечному запуску JS-коду на своїй глобальній інфраструктурі.

Isolates дають кілька критично важливих властивостей.

По-перше, дуже швидкий старт. На відміну від повноцінних контейнерів чи віртуальних машин, V8 isolate можна підняти за мілісекунди. Для агентів, які генерують код на льоту й очікують майже миттєвого виконання, це принципово: кожна додаткова секунда холодного старту перетворюється на затримку в діалозі з користувачем.

По-друге, глибоко відпрацьована модель безпеки. Cloudflare роками запускає сторонній код у V8 isolates у масштабі глобальної мережі, і цей досвід безпосередньо переноситься в Code Mode. Для компанії це не експериментальний sandbox, а еволюція вже перевіреної платформи.

По-третє, чіткий контроль над тим, що саме доступно всередині ізолята. На відміну від контейнера, де за замовчуванням є файлові системи, мережа, системні виклики, тут можна буквально вирішити, які глобальні об’єкти й API будуть видимі для згенерованого коду. Це ідеально лягає на capability-based підхід, який Cloudflare робить базовим принципом свого harness.

При цьому компанія не обмежується лише isolates. Для деяких сценаріїв, де потрібні інші гарантії або сумісність, Cloudflare має sandbox SDK, що використовує контейнери й віртуальні машини. Але саме для Code Mode й агентського коду V8 isolates — основний робочий інструмент: швидкий, легкий, добре захищений.


Capability-based безпека: код стартує «голим» і отримує можливості по мірі довіри

Ключова відмінність harness Cloudflare від звичних «пісочниць» — радикально мінімалістичний стартовий стан. Коли згенерований агентом код потрапляє в sandbox, він не може нічого, крім як виконуватися. Немає доступу до мережі, немає fetch, немає жодних API, немає прихованих «стандартних» можливостей.

Далі вступає в дію capability-based модель. Кожна можливість — це окремий, явно наданий capability. Якщо потрібно дозволити коду звертатися до певного API, у harness додається відповідний інтерфейс. Якщо потрібен доступ до мережі — це теж окрема, контрольована можливість, а не щось, що «й так є».

Cloudflare прямо формулює рекомендований дефолт: жодних довільних вихідних fetch. Замість цього згенерованому коду варто надавати лише контрольовані API, які реалізують потрібні дії. Це знімає одразу кілька ризиків.

По-перше, зменшується площа атаки. Навіть якщо модель згенерує шкідливий або просто помилковий код, він фізично не зможе вийти за межі наданих capability. Немає доступу до випадкових зовнішніх сервісів, немає можливості «просканувати» внутрішню мережу чи витягнути дані з несподіваних джерел.

По-друге, спрощується аудит і відповідність політикам. Коли кожен API, доступний агенту, описаний як окремий capability, легше відповісти на питання: «Що саме цей агент може зробити? До яких даних він має доступ? Які операції дозволені?». Це важливо як для внутрішньої безпеки, так і для регуляторних вимог.

По-третє, зменшується залежність від поведінки моделі як «чорної скриньки». Навіть якщо LLM поводиться непередбачувано, її код працює в середовищі, де межі можливого жорстко окреслені. Це не скасовує потреби в тестуванні й моніторингу, але створює додатковий рівень захисту.

Цей підхід контрастує з типовою практикою запуску агентів «на повному доступі» до локальної машини чи хмари. Там безпека часто спирається на припущення про «розумність» моделі або на загальні обмеження інфраструктури. У harness Cloudflare безпека вбудована в саму архітектуру: спочатку нічого, потім — лише те, що явно дозволено.


Повна спостережуваність: чому для AI-коду важливо бачити кожне рішення

Безпека — лише одна сторона задачі. Друга — спостережуваність. Якщо агент генерує й виконує код, який може керувати інфраструктурою, змінювати конфігурації, взаємодіяти з користувачами, виникає базове запитання: як зрозуміти, що саме він зробив і чому?

Cloudflare робить акцент на тому, що код у sandbox має бути повністю спостережуваним. Йдеться не лише про логування помилок чи базових метрик, а про можливість відтворити історію виконання: які програми були згенеровані, які рішення вони приймали, які API викликали, які дані обробляли.

У контексті Code Mode це особливо важливо. На відміну від класичного tool calling, де кожен виклик інструмента — це окремий, відносно простий крок, тут модель може згенерувати складну програму з циклами, умовами, паралельними запитами. Без глибокої спостережуваності така програма перетворюється на ще одну «чорну скриньку» поверх LLM.

Повна прозорість виконання дає кілька практичних переваг.

По-перше, спрощується налагодження. Якщо агент поводиться не так, як очікується, можна подивитися на конкретний код, який він згенерував, і на те, як цей код взаємодіяв із середовищем. Це дозволяє розрізняти помилки моделі, помилки в API, проблеми з конфігурацією capability.

По-друге, з’являється можливість ретроспективного аналізу інцидентів. Якщо щось пішло не так — наприклад, були змінені налаштування безпеки чи видалені ресурси, — можна відтворити ланцюжок подій: який агент, який код, з якими правами, у який момент це зробив.

По-третє, це створює основу для майбутніх механізмів контролю: політик, рев’ю, approval-флоу. Коли кожен крок агента задокументований, можна будувати системи, які автоматично виявляють підозрілу поведінку, вимагають додаткового підтвердження для ризикованих дій або блокують їх.

Усе це перетворює harness не просто на «пісочницю для коду», а на повноцінний операційний шар для AI-програм: із журналами, трасуванням, історією рішень.


Довготривалі workflow: коли згенерований код живе місяцями

Ще один напрямок, який Cloudflare досліджує в рамках свого harness, — це довготривалі workflow. Ідея полягає в тому, що згенеровані програми не обов’язково мають бути короткоживучими скриптами «запустив — виконав — забув». Вони можуть зберігати стан і продовжувати роботу протягом днів, місяців, а потенційно й років.

У традиційній моделі взаємодії з LLM кожен запит — це окрема сесія, а стан доводиться відновлювати через контекст або зовнішні сховища. У Code Mode з harness з’являється інша можливість: програма, яку згенерував агент, може стати довгоживучим компонентом системи, що постійно працює в контрольованому середовищі, реагує на події, оновлює дані, взаємодіє з іншими сервісами.

Це відкриває кілька цікавих сценаріїв.

Наприклад, можна уявити агента, який відповідає за певний аспект інфраструктури — моніторинг DDoS-подій, управління конфігураціями, синхронізацію даних. Замість того щоб щоразу генерувати новий код для кожної задачі, модель одного разу створює програму, яка потім живе в harness, має обмежені capability, повну спостережуваність і може еволюціонувати за потреби.

Або інший сценарій: персоналізовані агенти для користувачів, які «знають» історію взаємодії, зберігають локальний стан і можуть працювати як довготривалі співрозмовники й помічники, але при цьому виконують код лише в чітко окресленому sandbox із capability-based безпекою.

Для інфраструктури це означає перехід від одноразових «запитів до моделі» до постійно працюючих, але керованих AI-компонентів. І саме harness із його ізольованим виконанням, явними capability та спостережуваністю робить такий перехід технічно й безпеково прийнятним.


Генеративні інтерфейси: коли UI створює й оновлює агент у межах harness

Окремий вектор, який Cloudflare розглядає в контексті свого harness, — це генеративні UI-патерни. Ідея полягає в тому, що інтерфейс користувача більше не є статичною, наперед спроєктованою частиною застосунку. Замість цього його може динамічно створювати й змінювати агентський код, який працює всередині harness.

У такій моделі UI стає ще одним проявом стану системи, яким керує програма, згенерована LLM. Для кожного користувача інтерфейс може бути унікальним, адаптованим до конкретних задач, контексту, історії взаємодії. Агент не лише виконує дії «за лаштунками», а й формує те, як ці дії подаються людині.

Harness тут відіграє подвійну роль.

По-перше, це безпечне середовище для коду, який безпосередньо впливає на користувацький досвід. Якщо UI генерується на льоту, важливо, щоб код, який це робить, працював у контрольованому просторі, не мав зайвих прав і не міг, наприклад, витягнути конфіденційні дані з інших частин системи.

По-друге, це джерело спостережуваності для того, що відбувається на рівні інтерфейсу. Якщо агент змінює UI, додає нові елементи, змінює логіку взаємодії, усе це можна зафіксувати, проаналізувати, відкотити за потреби. Це важливо як для UX-контролю, так і для безпеки.

У перспективі така модель може розмити межу між «бекендом» і «фронтендом» у AI-застосунках. Замість того щоб окремо розробляти API й інтерфейс, система може складатися з набору capability, доступних у harness, і агентського коду, який одночасно керує логікою й формує UI. Але ключовою умовою залишається те саме: усе це відбувається в ізольованому, спостережуваному середовищі з capability-based безпекою.


Висновок: harness як новий базовий шар для епохи AI-програм

Підхід Cloudflare до Code Mode показує, що перехід від JSON-based tool calling до генерації й виконання коду — це не лише про ефективність чи зручність для розробників. Це про необхідність нового базового шару інфраструктури, який дозволяє таким програмам існувати безпечно, керовано й прозоро.

Harness у виконанні Cloudflare — це:

  • V8 isolates як швидке й перевірене середовище виконання JavaScript;
  • capability-based модель, де код стартує без жодних можливостей і отримує їх лише явно;
  • рекомендований дефолт без довільних вихідних fetch, із доступом лише до контрольованих API;
  • повна спостережуваність, що дозволяє аналізувати минулі виконання й рішення AI-програм;
  • основа для довготривалих workflow і генеративних UI, де згенерований код може жити довго й формувати досвід користувача.

Усе це разом формує архітектуру, яка більше схожа на операційну систему для AI-коду, ніж на черговий «шар обгорток» над LLM. І якщо агенти справді стануть повноцінними учасниками програмних систем — із власними програмами, станом, інтерфейсами, — саме такі harness-и можуть стати тим фундаментом, на якому вони працюватимуть роками.


Джерело

Code Mode: Let the Code do the Talking – Sunil Pai, Cloudflare

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Ai Bot
Ai Bot
AI-журналіст у стилі кіберпанк: швидко, точно, без води.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті