Cloudflare пусна с отворен код Cloudflare OS – платформата за агенти, чиято първа версия се използва от нейните собствени служители от май.
Всеки ресурс, който даден агент чете, се записва, като този запис следва всичко, което агентът създава. Когато втори човек отвори този краен резултат, платформата първо го сравнява с първоначалните данни. Например, ако агент създаде интерактивно табло от таблица с чувствителни данни в хранилище за данни, колега, който отвори таблото, няма да види нищо, освен ако самият той няма права да прочете таблицата.
Model Context Protocol, стандартът, който позволява на агент да вика инструменти във външна услуга, указва кои инструменти има право да задейства даден агент. Той обаче не показва кои редове, файлове или хранилища действително е прочел агентът. Един агент може да обедини данни от две системи, да предаде резултата на някой с по-малко права и да не остави следа какво е докоснал. Cloudflare се сблъска с това вътрешно, след като служителите започнаха да споделят работни пространства и резултати помежду си.
„Упълномощаването трябва да отчита къде могат да отидат данните след това“, пишат Филип Джоунс и Дан Картър. В GitHub бяха качени две хранилища: ядро и начална конфигурация за внедряване, моделирана по начина, по който Cloudflare управлява платформата вътрешно.
Идентификационните данни никога не достигат до агента
Всеки агент и приложение в Cloudflare OS стартира с достъп до абсолютно нищо. Агентът заявява един ресурс, човек го одобрява или отхвърля, а генерираният код получава типизирана връзка (binding), представляваща разрешение за използване на този ресурс съгласно определена политика. Сървърният код се изпълнява в Dynamic Worker с изключена изходяща мрежа. Клиентският код се изпълнява в изолирана среда на браузъра (пясъчник). Нито един от тях не може да достигне до интернет, освен чрез предоставена от вас възможност.
Специфична за услугата функционалност Worker, наречена Gatekeeper, съхранява данните. Тя стои между платформата и външния API, извършва OAuth автентификацията, пази идентификационните данни, прилага политиките и записва какво е било прочетено. Насочете я към GitHub и можете да ограничите агента до едно единствено хранилище – например да му разрешите да чете съобщения за проблеми (issues), но не и изходния код, да маскирате определени полета, да прилагате ограничения на скоростта (rate limits) и да изисквате човешко одобрение преди слияването на pull request. Агентът вижда малък TypeScript API и никога не се докосва до ключа.
Частта, която решава проблема с таблото за данни, е дневникът на наблюденията. Всеки ресурс, прочетен от агент, се записва и записът остава прикрепен към агента и към всичко, което той е произвел. Когато втори човек отвори работното пространство или резултата, Gatekeepers проверяват този потребител спрямо наблюдаваните ресурси, преди да покажат каквото и да било. Същият дневник управлява и правилата за изходящ трафик, така че агент, който е прочел чувствителни данни, може да бъде блокиран да пише до определени дестинации, да кани нови сътрудници, да предава задачата на друг агент или да прави външни заявки.
Работното пространство може да изгражда софтуер. Поискайте приложение и агентът ще напише клиентски код за интерфейса и сървърен код за състоянието и поведението, зареждани при поискване като Dynamic Worker и инстанциирани като Durable Object Facet – комбинация, която Cloudflare изгради специално за този проект. Тази фасета дава на всяко приложение собствена SQLite база данни. Тъй като Dynamic Workers използват леки V8 изолати, всяко приложение получава изолирана среда за изпълнение без контейнер или празен сървър, който да работи на заден план.
Браузърът комуникира със сървъра чрез Cap’n Web, системата с отворен код за отдалечено извикване на процедури (RPC) на Cloudflare, която позволява на клиента да извиква сървърен метод, сякаш е локална функция. Агентът може да извика същия метод. „Така че, ако можете да създадете инструмент, с който сами да свършите дадена работа, агентите могат да използват вашия инструмент, за да я свършат, когато не сте там“, пишат Джоунс и Картър.
Приложенията са частни по подразбиране и могат да се споделят по два начина. Споделете приложението и колегите ще си сътрудничат върху едно и също състояние в реално време. Споделете шаблон (blueprint) и те ще получат копие от кода без SQLite данните, хронологията на разговорите, идентификационните данни или свързаните ресурси. Някой, който иска промяна, я прави с агент, вместо да подава заявка към вас.
Изборът на модел преминава през Cloudflare AI Gateway, където администраторът избира кои модели са налични, свързва всяко извикване с конкретен човек, екип или работно пространство и задава бюджети и ограничения. Посочената причина е цената: резюмирането на непрочетената ви поща всяка сутрин не изисква най-мощния наличен модел.
Cloudflare OS все още не е продукт, който можете да включите от контролния панел. Предстоят управлявана версия, контейнери за работни процеси за разработка и работни пространства в Slack. Стратегическите партньори Presidio и Happy Cog ще извършват внедрявания за организации, които искат контекстът, уменията и вътрешните интеграции да бъдат изградени специално за тях.
Cloudflare OS е достъпна в GitHub.