spinny:~/writing $ less agentic-infrastructure-stack.md
12Ми часто говорили про агентські фреймворки. LangGraph, CrewAI, AutoGen, різні SDK, цикл, виклик інструментів, пам’ять, планувальник, критик, супервізор. Усі корисні слова, бога бога. Але чим більше я дивлюся на фактично використовувані агенти, тим більше мені здається, що найцікавіша частина перемістилася нижче рамкового рівня.34Питання більше не просто: яку бібліотеку я використовую, щоб змусити крокову модель думати?56Справжнє запитання: де живе цей агент, коли він перестане бути демонстрацією?78Тому що серйозний агент — це не функція, яка викликає модель і повертає текст. Це невелика розподілена система. Він повинен читати контекст, використовувати інструменти, виконувати код, торкатися файлів, запам’ятовувати рішення, запитувати дозволу, виходити з ладу, перезапускати, залишати журнали, не спалювати бюджет і не перетворюватися на бульдозер у сховищі виробництва.910Каркас - кермо. Інфраструктура - це дорога, гальма, гараж, страховка і людина, яка знає, де ключі.1112## Бо зараз про це багато говорять1314У 2023 і 2024 роках розмова була дуже орієнтована на моделі. Який LLM? Скільки контексту? Скільки це коштує? Наскільки добре він програмує?1516У 2025 і 2026 роках розмова змінилася. Моделі достатньо хороші, щоб виконувати реальну роботу, але саме тому стають видимими нудні біти: час виконання, безпека, з’єднувачі, ідентичність, спостережливість, виконання коду, розгортання, відкат.1718Це природний перехід від магії до інженерії.1920Коли агенту потрібно просто згенерувати відповідь, достатньо чату. Коли вам потрібно відкрити запит на отримання, запитати базу даних, викликати CRM, розпочати роботу, перейти на сайт, прочитати Slack, скомпілювати код і оновити документ, вам потрібна операційна система навколо цього.2122Не в прямому сенсі. В організаційному плані.2324## Перша частина: час виконання, де агент може тривати2526Агент часто працює поетапно. Подивіться на стан, виберіть дію, скористайтеся інструментом, спостерігайте за результатом, оновіть план, повторіть.2728Якщо цей цикл живе в одному запиті HTTP, у вас одразу виникає проблема. Деякі дії виконуються повільно. Деякі чекають людського втручання. Деякі не вдаються, і їх потрібно спробувати ще раз. Деякі мають витримати розгортання або тайм-аут.2930Саме тут у гру вступають довговічні робочі процеси, черги, фони роботи та кінцеві автомати. Вони не гламурні, але це різниця між агентом, який здається розумним на демонстрації, і тим, кого ви можете залишити працювати, а ви йдете пити каву.3132Для мене середовище виконання агента має відповідати на дуже конкретні запитання:3334- де я можу зберегти стан між одним кроком і іншим?35- що станеться, якщо процес загине на півдорозі?36- чи можу я зробити паузу та запитати схвалення?37- чи можу я відтворити пробіжку, щоб зрозуміти, чому він зробив такий вибір?38- чи можу я обмежити тривалість, пам'ять, інструменти та вартість?3940Vercel активно наполягає на цьому фронті, створюючи SDK для штучного інтелекту, функції, робочі процеси та інструменти для створення агентів у веб-додатках. Але справа не лише у Верцелі. Справа в тому, що агенту потрібен оперативний дім, а не окрема кінцева точка.4142## Друга частина: пісочниця, тому що агент повинен мати можливість забруднитися, не зламавшись4344Як тільки агент пише код або виконує команди, потрібна пісочниця.4546Начебто технічне слово, але ідея побутова: даси йому верстак. Він може відкривати файли, встановлювати залежності, запускати тести, проводити експерименти, генерувати вихідні дані. Якщо він помиляється, ви стримали шкоду. Якщо це працює, рекламуйте результат.4748Агентна пісочниця повинна мати деякі властивості:4950- ізольована файлова система;51- Обмеження процесора, пам'яті та часу;52- контрольована мережа;53- секрети монтуються лише за потреби;54- комплектні журнали;55- можливість експорту артефактів;56- чисте скидання між прогонами, коли це необхідно.5758Vercel Sandbox працює саме в цьому напрямку: ізольовані середовища для запуску коду, встановлення залежностей, роботи з файлами та створення артефактів без запуску всього в основному середовищі виконання програми.5960Ця річ важливіша, ніж здається. Багато агентних прототипів переходять безпосередньо з моделі в реальну систему. Модель може викликати інструмент. Інструменти можуть щось робити. Усе це здається елегантним, доки не з’являється перша неправильна команда, перша залежність, встановлена не в тому місці, перший маркер, який потрапляє в журнал.6162Пісочниця – це дорослий спосіб сказати: вперед, але сюди.6364## Третя частина: MCP і проблема роз'єму6566Протокол контексту моделі став однією з найцікавіших частин екосистеми, оскільки він намагається стандартизувати те, що інакше швидко стає некерованим: як модель виявляє та використовує зовнішні інструменти.6768Без стандарту кожна інтеграція є маленьким острівцем. Конектор для GitHub зроблено одним способом, один для Slack зроблено іншим, один для баз даних з різною семантикою, один для автоматизації браузера, який виглядає ні на що.6970MCP пропонує спільну мову між клієнтом і сервером: інструменти, ресурси, підказки, авторизації, транспортування, виявлення. Це не магічно вирішує управління та безпеку, але дає граматику.7172І граматика має значення. Коли агент може підключатися до багатьох інструментів, питання полягає не лише в тому, «чи зможе він це зробити?». Проблема в тому, «чи розуміє він, що він може робити, в яких межах, від імені кого і який слід залишити?».7374Для мене MCP не є ажіотажем, тому що він "викликає інструменти". Ми вже це зробили. Це ажіотаж, тому що він зміщує центр ваги з однієї інтеграції на оперативний каталог інструментів.7576У хорошій агентській архітектурі MCP стає свого роду патч-панеллю:7778- GitHub для коду та проблем;79- слабкий для розмовного контексту;80- Linear або Jira для планової роботи;81- база даних тільки для читання для аналітики;82- браузер або скребок, керований зовнішніми сайтами;83- зберігання документів;84- ізольовані середовища виконання;85- відкрити внутрішні системи із суворими дозволами.8687Складна частина полягає в тому, що каталог інструментів без політики — це просто більш елегантний спосіб створити хаос.8889## Четверта частина: ідентифікація та дозволи9091Це та сфера, на яку багато демонстрацій закривають очі.9293Агент діє від чийогось імені. Тому має бути зрозуміло, хто є суб’єктом дії.9495Він використовує дозволи користувача? Сервісного облікового запису? Робочого простору? У вас є тимчасовий чи постійний доступ? Чи можете ви прочитати все чи лише деякі ресурси? Ви можете написати? Ви можете скасувати? Чи може він написати реальним людям?9697Якщо ви погано відповісте на ці питання, рано чи пізно ви побудуєте помічника з ключами від дому і не пам’ятатимете, хто їх йому дав.9899Емпіричне правило, яке мені подобається, таке: агент повинен бути здатним робити менше, ніж людина, а не більше, ніж людина. І коли йому потрібно зробити щось більш ризиковане, він повинен зупинитися і запитати.100101Це означає OAuth, область дії маркера, керування секретами, журнал аудиту, політику інструменту, білий список, етап затвердження. Не дуже романтичні речі. Необхідні речі.102103## П'ятий шматок: пам'ять і контекст, але без накопичення сміття104105Агентам потрібна пам'ять, але пам'ять небезпечна, коли стає горищем.106107Існує щонайменше три види пам'яті:108109- пам'ять запуску: що сталося в цьому виконанні;110- пам'ять проекту: умовності, рішення, обмеження;111- особиста або командна пам'ять: уподобання, тон, ритуали, процеси.112113Розмістити все в підказці – це ярлик. Працює, поки не перестане працювати. Необхідно подбати про корисну пам'ять: проіндексувати, оновити, прострочити, перевірити, зробити доступним для цитування.114115Агент, який погано пам'ятає, гірший за агента, який не пам'ятає. Тому що він говорить впевнено.116117Тому інфраструктура повинна включати пошук, файли інструкцій, базу знань, вбудовування за потреби, а також очищення. Потрібна культура пам’яті: що входить, хто це затверджує, коли воно згасає, як це виправити.118119## Шоста частина: спостережливість, оцінка та відтворення120121Якщо агент робить помилку, журналу «викликається модель» недостатньо.122123Ви хочете побачити маршрут. Який контекст він отримав? Які інструменти були доступні? Який інструмент ви обрали? З якими аргументами? Яку відповідь ви отримали? Скільки це коштувало? Де застрягло? Людина щось схвалювала? Чи помилка моделі, інструменту, підказки, даних або дозволу помилка?124125Тут агенти більше нагадують розподілені системи, ніж чат-боти.126127Вам потрібні читабельні сліди, а не просто текстові журнали. Ви повинні вміти відтворювати пробіжку. Необхідно порівняти дві версії одного агента на відомих завданнях. Нам потрібно виміряти регресії: він не тільки «відповідає краще», але й «закриває правильний запит, не торкаючись небажаних файлів».128129Агентні оцінки складніші, ніж текстові, оскільки вони включають дії. Недостатньо порівняти очікуваний рядок. Ви повинні дивитися на послідовність, побічні ефекти, якість артефакту, час, вартість, кількість людських втручань.130131Найсмішніше те, що ми завжди повертаємося туди: розробка програмного забезпечення. Тести, середовища, трасування, відкати. За винятком того, що код тепер також вирішує, що робити далі.132133## The seventh piece: human interfaces134135The agent doesn't have to just live in a chat.136137Some agents need a board. Others a page with status and log. Others of an "approve" button. Більше внутрішніх коментарів. Ще інші з CLI.138139Інтерфейс користувача змінює поведінку. Якщо єдиним способом керування агентом є написання довгого повідомлення, користувач дасть агенту розпливчасті інструкції. Однак якщо він бачить план, різницю, джерела, ризики та наступні дії, він може точно втрутитися.140141Пристойна агентська інфраструктура включає контрольні поверхні:142143- поточний стан;144- редагований план;145- виготовлені артефакти;146- диф;147- запити на погодження;148- хронологія;149- кнопка зупинки;150- кнопка повторити спробу;151- видимі дозволи.152153It seems trivial, but it isn't. Різниця між «страшним штучним інтелектом» і «надійним помічником» часто полягає лише в тому, що останній показує, до чого він приклав руку.154155## The mental stack156157Якби я намалював це сьогодні, мінімальний стек агентів був би таким:1581591. Модель: міркування, генерація, виклик інструменту, мультимодальний, якщо необхідно.1602. Оркестровка: цикл, крок, планувальник, політика, людина в циклі.1613. Надійний час виконання: робочий процес, черга, повторна спроба, пауза, відновлення.1624. Пісочниця: виконання коду, ізольована файлова система, обмеження, артефакти.1635. Інструментальний рівень: MCP, внутрішній API, браузер, база даних, репозиторій.1646. Рівень ідентифікації: OAuth, область, секрет, аудит, політика.1657. Рівень пам'яті: контекст проекту, пошук, інструкції, термін дії.1668. Спостережуваність: відстеження, повторне відтворення, оцінка, показники вартості та якості.1679. Поверхня продукту: чат, коли достатньо, інформаційна панель, коли потрібно, огляд, коли це важливо.168169Агентна структура в основному охоплює пункти 2 і частину пункту 1. Решта — справжня робота.170171## What I would do in practice172173Якби команда сказала мені, що «нам потрібні агенти у виробництві», я б не починав із десяти агентів.174175Я б почав з невеликого, повторюваного та помітного робочого процесу. Наприклад: відкрити PR-запити на технічне обслуговування, оновити документацію із закритих проблем, підготувати щотижневий огляд, відсортувати повторювані помилки, створити тести для файлів, які зазнали впливу.176177Тоді я б встановив дуже чіткі обмеження:178179- жодного письма без гілок чи пісочниці;180- відсутність секретів у підказці;181- інструменти в білому списку;182- схвалення людиною зовнішніх дій;183- обов'язковий журнал і слід;184- бюджет на пробіг;185- вихід завжди перевіряється.186187Тільки тоді я б розширився.188189Агенти не зазнають невдачі лише тому, що моделі помиляються. Вони зазнають невдачі, тому що ми ставимо їх у невизначене середовище, із заплутаними дозволами та театральними очікуваннями.190191## Моє читання192193Агентська інфраструктура нудна в кращому випадку.194195Це не та частина, яка змушує вас плескати в демо. Це та частина, яка дозволяє вам фактично використовувати демонстрацію в понеділок вранці з реальними людьми, реальними даними та реальними наслідками.196197Майбутнє агентів не буде вирішуватися лише тим, хто має найкращий приклад для наслідування. Це буде вирішено тим, хто побудує найкраще місце, де він зможе працювати: ізольований, коли він експериментує, пов’язаний, коли це необхідно, завжди спостережливий, уповноважений із критеріями та достатньо скромний, щоб зупинитися, коли він не знає.198199Тут агенти перестають бути іграшками, а стають інфраструктурою.200201## Джерела202203- [Vercel: Як створити агентів ШІ за допомогою Vercel і AI SDK](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Документи Vercel: пісочниця](https://vercel.com/docs/sandbox)205- [Документи Vercel: робота з пісочницею](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Документи Vercel: MCP](https://vercel.com/docs/mcp)207- [Протокол контексту моделі: Специфікація](https://modelcontextprotocol.io/specification)208- [OpenAI: нові інструменти для створення агентів](https://openai.com/index/new-tools-for-building-agents/)209- [Блог Cloudflare: Агенти на Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210
:Агентна інфраструктура та новий бекендlines 1-210 (END) — press q to close