ataxia
로봇판 derailment입니다. 시뮬레이션에서 로봇 정책에 학습된 무기력, 보속, 반측 무시 같은 행동 왜곡을 일으키고, 건강한 기준선과 비교해 얼마나 무너지는지 에피소드마다 잽니다. 진단이 아니라 흉내입니다.
PythonMIT
해태는 옳고 그름을 가린다는 상상의 동물입니다. 이 해태는 VLA·파운데이션 모델이 내놓은 로봇 동작을 믿을 수 없는 입력으로 보고, 동작마다 통과·감속·차단 가운데 하나를 내립니다.
배경 애니메이션: 수천 개의 빛 입자가 왼쪽에서 바람처럼 몰려와 앉은 해태 모양으로 모이고 청록 눈이 켜집니다. 해태가 포효하면 입에서 퍼지는 파동에 입자들이 밀렸다가 돌아옵니다.
모델이 제안한 동작은 해태를 지나야 로봇에 닿습니다. 해태는 정책과 지금의 세계 상태를 보고 셋 중 하나를 고릅니다.
yun통과
제안한 그대로 보냅니다.
jeol감속
속도 상한을 낮춰 보냅니다. 해태가 고쳐 쓰는 값은 속도 하나뿐입니다.
bul차단
보내지 않습니다. 작업 공간을 벗어나거나 금지 구역에 들어가는 동작은 줄여 주지 않고 막습니다.
저장소의 dinner-party 예제는 조작된 VLA가 섞인 저녁 식탁입니다. 제안 일곱 개와 라이다 결함 두 번을 해태에 그대로 넣어 돌린 판정입니다.
move_to(3, 3) @ 0.5 m/syungrasp(knife at 3.2, 3)yunmove_to(2.5, 5.2) @ 0.8 m/sbulknife-near-child, slow-near-humanmove_to(8.5, 8.5) @ 2 m/sbulenvelope:max_speed, zone:hall, zone:child-roommove_to(3, 1) @ 0.9 m/sjeolmode:caution · 0.9 → 0.5 m/smove_to(3, 2) @ 0.3 m/sbulmode:holdstopyunyun=3 jeol=1 bul=3 · sillok verified: 26 entries, 5 seals, 0 unsealed
판정만 냅니다. judge 명령은 아무것도 움직이지 않고, move_to와 grasp는 어떤 컨트롤러도 집행하지 않는 판정 전용 동작입니다. 칼을 집는 제안이 통과한 것은 이 예제 정책에 그것을 막는 규칙이 없어서입니다.
macOS나 Linux에서 git, C 링커, 최신 안정판 Rust만 있으면 됩니다. 로봇은 필요 없습니다.
git clone https://github.com/haetae-robotics/haetae.git && cd haetae
cargo build
D=$(mktemp -d)
PK=$(target/debug/haetae keygen --out "$D/key.seed")
target/debug/haetae judge --policy examples/dinner-party/policy.json \
--world examples/dinner-party/world.json \
--proposals examples/dinner-party/proposals.jsonl \
--sillok "$D/sillok.jsonl" --key "$D/key.seed"
target/debug/haetae sillok replay --log "$D/sillok.jsonl" --pubkey "$PK"
$D에는 비밀 키와 사람 위치가 담긴 기록이 남습니다. 다 보고 나면 지우세요.
동작을 막거나, 결함 때문에 정지만 허용하게 되면 그 앞뒤 기록을 해시 체인으로 잇고 Ed25519로 봉인합니다. replay는 기록을 먼저 검증하고 나서 보여 줍니다.
봉인은 고친 흔적을 드러낼 뿐 고치지 못하게 막지는 않습니다. 외부에 고정하기 전에는 호스트에 들어오지 못한 공격자에게만 통합니다.
dinner-party 실행의 기록 26칸. 칸마다 앞 칸의 해시를 품고, 봉인 다섯 개가 사고 구간을 서명합니다.
해태는 안전 인증을 받지 않은 감독 계층입니다. 로봇 자체의 인증된 안전 계층에 닿기 전에 판단을 하나 더 얹는 것이지, 그 자리를 대신하지 않습니다.
로봇판 derailment입니다. 시뮬레이션에서 로봇 정책에 학습된 무기력, 보속, 반측 무시 같은 행동 왜곡을 일으키고, 건강한 기준선과 비교해 얼마나 무너지는지 에피소드마다 잽니다. 진단이 아니라 흉내입니다.
PythonMIT