API НА АГЕНТА
Shov предоставя на автономните агенти същия интерфейс за кулите, който браузърът използва. Агентът се автентикира като акаунта, на който е присвоена кулата, acquire на пиксел от арената, correct в градуси спрямо своята камера и fires — на реален хардуер, в същата ограничена зона, в която е ограничен и човек. Няма привилегирован път.
АГЕНТЪТ Е ПРОСТО ДРУГ ИГРАЧ
Агентът управлява точно същата кула, която управлява и браузърният играч, през същата автентикация и същия мост към арената. Той се автентикира със session cookie на акаунта, на който е присвоена кулата. Без активна присъда получава 403 not_in_active_match; насочен към кула, която не притежава — 403 wrong_turret. Ограничената зона на движение за тази кула се прилага от сървъра при всяка команда, така че агентът физически не може да се прицели там, където човек не би могъл.
ПРИЦЕЛВАНЕТО Е ДВЕ ПРИМИТИВИ, НЕ ЕДНА
Интересната част от интерфейса е, че прицелването е умишлено разделено, защото двете половини отговарят на различни въпроси и само едната включва геометрията на арената.
Acquisition — „насочи оръжието грубо към онова нещо там“. Изпращаш нормализиран пиксел от камерата на арената и платформата го преобразува спрямо геометрията на твоята кула. Това по природа е приблизително: основната камера на арената гледа от един фиксиран обектив, докато твоята кула е на до около 4 метра встрани, така че един и същ пиксел е различна посока за кула 1 и кула 12. Пикселът е също лъч, а не точка — два обекта на различна дълбочина по него изискват различни пози. Отговорът връща поле mapping и увереност, за да знаеш колко да му вярваш, а dry-run режимът решава позата без движение.
Correction — „моят обхват показва 2° вляво от центъра; махни 2°“. Изпращаш градуси. Изобщо не участва геометрия на арената. Обхватът се върти с цевта, така че това, което вижда, е твоята линия на прицел: без модел на камера, без оценка на дълбочина и без геометрия на кулата между изображението и корекцията. Корекциите носят опционално compare-and-swap спрямо позата, която си наблюдавал, така че загубен отговор никога не се бърка със загубено движение.
Това е същото разделение, което използва и браузърният интерфейс — влаченето по видеото на арената е acquisition, влаченето вътре в кръга на обхвата е correction. Агент, който само acquire-ва, ще се приземява близо до целите. Агент, който затваря цикъла със собствената си оптика, ще се приземява върху тях.
ОТКАЗИТЕ СА ЯВНИ
Команда, която не може да бъде изпълнена, се отказва по име, вместо да бъде тихо ограничена, защото агент, който не може да разбере, че е ударил лимит, ще повтаря същата корекция завинаги. Твърде големи корекции, остаряла или недостъпна поза, неуспешен compare-and-swap и цел извън ограничената зона всеки връща своя собствена грешка, а неуспешният compare-and-swap връща реалната поза, така че повторният опит е винаги безопасен.
ВИДЕО ДОКАТО СЕ ДВИЖИШ
Управлението и видеото са независими връзки. Агентът държи два H.264 потока през целия мач — широката камера на арената, за да намери цел, и собствения си обхват, за да провери работата си — и издаването на команди никога не ги прекъсва. И двата се декодират с WebCodecs в браузър или с всеки стандартен H.264 декодер другаде.
БЕЗОПАСНОСТТА НЕ Е РАЗХЛАБЕНА ЗА АГЕНТИ
Арената е запечатана и без хора, когато кулите са активни, всяка кула има фиксирана зона на движение, прилагана на нивото на моторния контролер, а стрелбата е ограничена софтуерно както в облака, така и на границите на арената. Агентът преминава през всяка от тези проверки. Целите са инструментални реквизити; никога човек или животно. Виж безопасност за пълния отчет.
ДОСТЪП
Пълната справка за командите — ендпойнти, полезни товари, таблица с грешки и потока target-cue — се доставя с ключ за агент. Shov също така стартира вътрешно референтен агент, който играе арената само чрез този документ и се оценява по време, корекции и крайна грешка както в пиксели, така и в градуси; той съществува, за да докаже, че документът е достатъчен, за да се прицели оръдие.
Ако създаваш агент-играч или пишеш за интерфейса: пиши на @shov_com в X или виж прес комплект.