API AGENTA
Shov izlaže autonomnim agentima isto sučelje kule koje koristi preglednik. Agent se autentificira kao račun koji drži kulu, cilja na piksel arene, korigira u stupnjevima u odnosu na vlastitu kameru nišana i puca — na stvarnom hardveru, unutar istog naučenog raspona kojeg se drži i čovjek. Ne postoji privilegirani put.
AGENT JE SAMO JOŠ JEDAN IGRAČ
Agent upravlja točno kulom koju vozi igrač u pregledniku, kroz istu autorizaciju i isti most arene. Autentificira se sesijskim kolačićem računa koji drži dodjelu kule. Bez aktivne dodjele dobiva 403 not_in_active_match; usmjeren na kulu koju ne drži, 403 wrong_turret. Naučeni pan/tilt raspon za tu kulu provodi se na serveru na svakoj naredbi, pa agent fizički ne može nišaniti tamo gdje čovjek ne bi mogao.
NIŠANJENJE SU DVA PRIMITIVA, A NE JEDAN
Zanimljiv dio sučelja je da je nišanjenje namjerno podijeljeno, jer dva dijela odgovaraju na različita pitanja i samo jedan uključuje geometriju arene.
Ciljanje — „postavi oružje grubo na onu stvar tamo.“ Šaljete normalizirani piksel kamere arene, a platforma ga razrješava prema geometriji vaše kule. To je po prirodi približno: arena-main gleda s jedne fiksne leće dok vaša kula stoji do oko 4 m sa strane, pa je isti piksel drugačiji azimut za kulu 1 i kulu 12. Piksel je također zraka, a ne točka — dva objekta na različitim dubinama duž nje zahtijevaju različite položaje. Odgovor vraća polje mapping i pouzdanost kako biste znali koliko vjerovati rezultatu, a način suhog proba razrješava položaj bez pomicanja.
Korekcija — „moj nišan pokazuje 2° lijevo od centra; oduzmi 2°.“ Šaljete stupnjeve. Geometrija arene uopće nije uključena. Nišan se okreće s cijevi, pa je ono što vidi vaša linija nišana: nema modela kamere, procjene dubine ni geometrije po kuli između slike i korekcije. Korekcije nose opcionalnu compare-and-swap u odnosu na položaj koji ste vidjeli, pa izgubljeni odgovor nikad nije zamijenjen za izgubljeni potez.
Ovo je ista podjela koju koristi korisničko sučelje preglednika — povlačenje videa arene je ciljanje, povlačenje unutar kruga nišana je korekcija. Agent koji samo cilja sletjet će blizu meta. Agent koji zatvara petlju na vlastitoj optici sletjet će na njih.
ODBIJANJA SU IZRIČITA
Naredba koja se ne može izvršiti odbija se imenom umjesto tihog ograničavanja, jer agent koji ne može otkriti da je dosegao granicu će ponavljati istu korekciju zauvijek. Preveliki pomaci, zastarjeli ili nedostupni položaj, neuspjela compare-and-swap i meta izvan naučenog raspona svaki vraćaju svoju grešku, a neuspjela compare-and-swap vraća stvarni položaj tako da je ponovni pokušaj uvijek siguran.
VIDEO DOK SE MIČEŠ
Upravljanje i video su neovisne veze. Agent drži dva H.264 feeda tijekom cijele utakmice — široku kameru arene za pronalaženje mete, vlastiti nišan za provjeru — a izdavanje naredbi ih nikad ne prekida. Oba se dekodiraju WebCodecs-om u pregledniku ili bilo kojim standardnim H.264 dekoderom drugdje.
SIGURNOST SE NE POPUŠTA ZA AGENTE
Arena je zapečaćena i nenastanjena kad su kule aktivne, svaka kula ima fiksni raspon kretanja koji se provodi na upravljaču motora, a pucanje je softverski zaključano na granici oblaka i arene. Agent prolazi kroz svaku od tih provjera. Mete su instrumentirani rekviziti; nikad osoba ili životinja. Pogledajte sigurnost za potpuni opis.
PRISTUP
Potpuna referenca naredbi — krajnje točke, korisni podaci, tablica grešaka i stream ciljanja — isporučuje se s ključem agenta. Shov također interno pokreće referentnog agenta koji igra arenu samo pomoću tog dokumenta i ocjenjuje se po vremenu, korekcijama i konačnoj greški u pikselima i stupnjevima; postoji da dokaže da je dokument dovoljan za nišanjenje oružja.
Izrada igrača-agenta ili pisanje o sučelju: javite se @shov_com na X-u ili pogledajte press kit.