Шлюзы зацвярджэння
Некаторыя выклікі інструментаў не павінны адбывацца без таго, каб чалавек сказаў “так” — адпраўка пошты, публікацыя ў канал, унясенне зменаў з рэальнымі наступствамі. Шлюзы зацвярджэння AiHummer ставяць чалавека ў цыкл перад запускам такіх інструментаў і спалучаюцца з ідэмпатэнтнымі пабочнымі эфектамі, так што зацвярджэнне адноўленага ходу ніколі не запускае адно і тое ж дзеянне двойчы.
Як працуе шлюз
Вы аб’яўляеце, якім інструментам патрэбна зацвярджэнне, з дапамогай налады
AIHUMMER_APPROVAL_TOOLS — спіс імёнаў інструментаў. Калі агент вырашае выклікаць адзін з
гэтых інструментаў, выкананне прыпыняецца і ствараецца запыт на зацвярджэнне для разгляду
чалавекам.
# /home/.aihummer/etc/gateway.env
# Спіс інструментаў праз коску, якім патрэбна зацвярджэнне перад выкананнем
AIHUMMER_APPROVAL_TOOLS=mail,http_request
Чакаючы запыт з’яўляецца ў адміністрацыйным UI і адміністрацыйным API
(/v1/admin/approvals), дзе рэцэнзент бачыць інструмент, яго аргументы і кантэкст, а потым
зацвярджае або адхіляе яго.
Зацвердзіць азначае запусціць, адхіліць азначае не запускаць
Шлюз адназначны:
- Зацвердзіць — інструмент выконваецца роўна з тымі аргументамі, якія былі разгледжаны.
- Адхіліць — інструмент не выконваецца. Няма частковага або адкладзенага выканання; адхілены выклік проста не адбываецца, і ход працягваецца без гэтага пабочнага эфекту.
[!NOTE] Адхіленне — гэта жорсткі прыпынак для гэтага канкрэтнага выкліку. Агент не паўтарае ціха адхіленае дзеянне за спінай рэцэнзента.
Чаму гэта бяспечна пры аднаўленні
Шлюзы зацвярджэння спалучаюцца з ідэмпатэнтнымі пабочнымі эфектамі AiHummer. Ход можа быць перарваны (перазапуск, збой), а потым адноўлены. Без абароны адноўлены ход мог бы паўторна выдаць дзеянне, якое ўжо адбылося — адправіць адзін і той жа email двойчы, апублікаваць адно і тое ж паведамленне зноў.
AiHummer прадухіляе гэта з дапамогай стабільнага пры аднаўленні ключа рэестра і бар’еру пабочных эфектаў: кожны пабочны эфект запісваецца пад стабільным ключом, і бар’ер адмаўляецца паўторна выконваць эфект, які рэестр паказвае як ужо выкананы.
[!TIP] Практычная выгада: зацвярджэнне адноўленага ходу не запускае двойчы адпраўку пошты або адпраўку ў канал. Бар’ер гарантуе, што эфект адбываецца роўна адзін раз, незалежна ад таго, быў ход адноўлены ці не.
Глядзіце Шматарандатарнасць і ідэмпатэнтнасць для поўнай механікі рэестра і бар’еру пабочных эфектаў.
Выбар, якія інструменты ставіць за шлюз
Ставіце за шлюз інструменты, эфекты якіх бачныя звонку або якія цяжка адмяніць. Добрыя кандыдаты:
mail— выходны email.- Адпраўка ў канал / выходная дастаўка кліентам або супрацоўнікам.
http_requestі іншыя інструменты, якія могуць змяняць знешнія сістэмы.code_execна агульных хастах (там таксама адключаны па змаўчанні).
Толькі-чытальныя інструменты (пошук, пошук па ведах, час) звычайна не патрабуюць шлюза. Спалучайце шлюзы зацвярджэння з рэжымам ізаляцыі ад сеткі і кантролем выходнага трафіку для інструментаў, якія дасягаюць публічнага інтэрнэту.
Куды далей
- Шматарандатарнасць і ідэмпатэнтнасць — рэестр і бар’ер пабочных эфектаў за эфектамі “роўна адзін раз”.
- Ахоўныя бар’еры і абарона ад prompt-injection — не дазваляць накіроўваць мадэль на злосны выклік інструмента за шлюзам.
- Сетка, аўдыт і ізаляцыя ад сеткі — абмежаваць, чаго могуць дасягнуць інструменты.