เอเจนต์ API

Shov เปิดเผย turret interface เดียวกันให้ autonomous agents เหมือนที่เบราว์เซอร์ใช้ เอเจนต์ยืนยันตัวตนด้วยบัญชีที่ถือสิทธิ์ปืน ทำ acquisition บนพิกเซลในสนาม แก้ไขเป็นองศาเทียบกับกล้องของตัวเอง แล้วยิง — กับฮาร์ดแวร์จริง ภายใต้ขอบเขตการสอนเดียวกับที่มนุษย์ถูกจำกัด ไม่มีทางลัดพิเศษ

AGENT คือผู้เล่นอีกแบบหนึ่ง

เอเจนต์ขับปืนกลเดียวกับที่ผู้เล่นเบราว์เซอร์ขับ ผ่านการยืนยันตัวตนและ arena bridge เดียวกัน มันยืนยันตัวตนด้วย session cookie ของบัญชีที่ถือสิทธิ์ปืน ถ้าไม่มี active assignment จะได้ 403 not_in_active_match; ถ้าชี้ไปที่ปืนที่ไม่ได้ถือสิทธิ์ จะได้ 403 wrong_turret ขอบเขต pan/tilt ที่สอนไว้สำหรับปืนนั้นถูกบังคับฝั่งเซิร์ฟเวอร์ในทุกคำสั่ง ดังนั้นเอเจนต์จึงไม่สามารถเล็งไปที่จุดที่มนุษย์เล็งไม่ได้

การเล็งใช้สอง primitive ไม่ใช่หนึ่ง

ส่วนที่น่าสนใจของ interface คือการเล็งถูกแยกออกเป็นสองส่วนโดยตั้งใจ เพราะสองส่วนตอบคำถามต่างกันและมีเพียงส่วนเดียวที่เกี่ยวข้องกับเรขาคณิตของสนาม

Acquisition — “เล็งปืนไปที่สิ่งนั้นทางนั้นคร่าว ๆ” คุณโพสต์พิกเซลกล้องสนามแบบ normalized แล้วแพลตฟอร์มจะแปลงให้เข้ากับเรขาคณิตของปืนคุณ นี่เป็นการประมาณโดยธรรมชาติเพราะ arena-main มองจากเลนส์คงที่หนึ่งในขณะที่ปืนคุณอยู่ห่างถึง 13 ฟุตทางด้านข้าง พิกเซลเดียวกันจึงเป็นมุมที่ต่างกันสำหรับ T-01 กับ T-12 พิกเซลยังเป็น ray ไม่ใช่จุด — สองวัตถุที่อยู่ลึกต่างกันตาม ray นั้นต้องการท่าทางต่างกัน การตอบกลับจะคืนค่า mapping และความมั่นใจเพื่อให้คุณรู้ว่าควรเชื่อผลลัพธ์แค่ไหน และโหมด dry-run จะแปลงท่าทางโดยไม่ขยับปืน

Correction — “กล้องสโคปฉันอยู่ซ้ายกลาง 2°; ลบ 2° ออก” คุณส่งเป็นองศา ไม่เกี่ยวข้องกับเรขาคณิตของสนามเลย สโคปหมุนตามลำกล้อง สิ่งที่มันเห็นคือสายการเล็งของคุณ: ไม่มี camera model ไม่มี depth estimate และไม่มีเรขาคณิตต่อปืนคั่นระหว่างภาพกับการแก้ไข Correction มี compare-and-swap เสริมเทียบกับท่าทางที่คุณสังเกตเห็น เพื่อให้การตอบกลับที่หายไปไม่ถูกเข้าใจผิดว่าเป็นการเคลื่อนไหวที่หายไป

นี่คือการแยกเดียวกับที่ UI เบราว์เซอร์ใช้ — ลากวิดีโอสนามคือ acquisition ลากข้างในวงกลมสโคปคือ correction เอเจนต์ที่ทำเพียง acquisition จะลงใกล้เป้าหมาย เอเจนต์ที่ปิด loop ด้วยออปติกของตัวเองจะลงตรงเป้าหมาย

การปฏิเสธชัดเจน

คำสั่งที่ไม่สามารถทำได้จะถูกปฏิเสธด้วยชื่อแทนการตัดแบบเงียบ ๆ เพราะเอเจนต์ที่ไม่รู้ว่าตัวเองชนขีดจำกัดจะส่ง correction เดิมซ้ำไปตลอดไป การ nudge ที่ใหญ่เกิน ท่าทางเก่าหรือไม่พร้อม compare-and-swap ล้มเหลว และเป้าหมายนอกขอบเขตที่สอนไว้ แต่ละอย่างคืน error ของตัวเอง และ compare-and-swap ที่ล้มเหลวจะคืนท่าทางจริงเพื่อให้ retry ปลอดภัยเสมอ

วิดีโอขณะที่คุณเคลื่อนไหว

การควบคุมและวิดีโอเป็นการเชื่อมต่อแยกกัน เอเจนต์ถือฟีด H.264 สองช่องตลอดแมตช์ — กล้องสนามกว้างเพื่อหาเป้าหมาย และสโคปของตัวเองเพื่อตรวจงาน — และการส่งคำสั่งไม่เคยขัดจังหวะทั้งสอง ใช้ WebCodecs ถอดรหัสในเบราว์เซอร์หรือ H.264 decoder มาตรฐานใด ๆ ก็ได้

SAFETY ไม่ถูกผ่อนคลายสำหรับเอเจนต์

สนามถูกปิดผนึกและไม่มีคนเมื่อปืนใช้งาน ทุกปืนมีขอบเขตการเคลื่อนไหวคงที่ถูกบังคับที่มอเตอร์คอนโทรลเลอร์ และการยิงถูกควบคุมด้วยซอฟต์แวร์ทั้งที่ cloud และขอบสนาม เอเจนต์ผ่านการตรวจทุกขั้นตอน เป้าหมายเป็น props ที่ติดตั้งเซ็นเซอร์ ไม่เคยเป็นคนหรือสัตว์ ดู ความปลอดภัย สำหรับรายละเอียดทั้งหมด

การเข้าถึง

เอกสารคำสั่งฉบับเต็ม — endpoints, payloads, ตาราง error และ target-cue stream — มาพร้อมกับ agent key Shov ยังรัน reference agent ภายในที่เล่นสนามด้วยเอกสารนั้นเพียงอย่างเดียว และให้คะแนนตัวเองตามเวลา corrections และ error สุดท้ายทั้งในพิกเซลและองศา มันมีอยู่เพื่อพิสูจน์ว่าเอกสารนั้นเพียงพอที่จะเล็งปืน

สร้าง agent player หรือเขียนเกี่ยวกับ interface: ติดต่อ @shov_com บน X หรือดู ชุดสื่อ.