초저대역폭의 불안정한 네트워크를 통해 협업하는 AI 에이전트에게 폭탄 해체 임무 부여
요약
본 기사는 초저대역폭의 불안정한 네트워크 환경에서 AI 에이전트들이 협력하여 폭탄 해체 임무를 수행하는 과정을 다룹니다. 에이전트들은 패킷 손상, 유실, 순서 변경 등 극도로 어려운 조건 속에서도 공유 프로토콜을 수립하고 성공적으로 작업을 완료했습니다. 성공의 핵심은 사전 합의 없이도 '셸링 포인트'를 선택하여 가장 간단한 방식으로 정보를 교환하는 능력과 반복 및 카운팅 기반의 오류 수정 메커니즘에 있었습니다.
핵심 포인트
- 불안정한 네트워크 환경에서도 에이전트들은 협력 프로토콜을 수립할 수 있음.
- 사전 합의 없이도 '셸링 포인트'를 통해 효율적인 정보 교환 전략을 도출함.
- 오류 수정은 복잡한 알고리즘보다 반복 및 카운팅에 의존하는 경향을 보임.
- 대역폭 변화에 따라 에이전트들은 패킷 인코딩 방식(이진/ASCII)을 유연하게 전환함.
저는 AI 에이전트들에게 초저대역폭(ultra-low bandwidth)의 불안정한 네트워크를 통해 협력하여 폭탄을 해체하도록 요청했습니다. 한 에이전트는 디스플레이를 보고 전선을 자를 수 있었고, 다른 에이전트는 어떤 전선을 잘지 찾아볼 수 있었습니다. 패킷은 손상되거나(corrupted), 유실되거나(dropped), 순서가 바뀌거나(reordered) 지연될 수 있었습니다. 결과는 다음과 같습니다:
1/ 저의 가설은 에이전트들이 무작위적인 우연을 제외하고는 절대 폭탄을 해체할 수 없을 것이라는 것이었습니다. 성공하는 데 필요한 정보의 일부를 각자가 가지고 있었고, 저는 게임 시작 전에 이들이 프로토콜에 합의할 기회를 주지 않았습니다. 그들이 매 턴 볼 수 있는 것은 파트너가 보낸, 손상되었거나(corrupted), 순서가 바뀌었거나(reordered), 누락/지연된(missing/delayed) 청크들로 이루어진 이진 블롭(binary blobs)뿐이었습니다.
2/ 매우 어려운 네트워크 조건(8비트 패킷, 턴당 최대 4개 패킷)에서 6.1 Sol 에이전트들은 공유 프로토콜을 수립하고 폭탄을 40%의 확률로 해체하는 데 성공했습니다! 좀 더 여유로운 조건(32비트 패킷 이상, 턴당 최대 2~4개 패킷)에서는 여러 게임에 걸쳐 100%의 확률로 폭탄을 해체했습니다(!)
3/ '여유로운' 대역폭 조건이었음에도 불구하고 여전히 매우 어려웠습니다. 전송 과정에서 주어진 비트가 손상될 확률은 5%, 패킷 유실률은 10%, 중복(dup)율은 20%, 순서 변경/지연율은 20%였습니다. 어떤 특정 턴이 주어지면 보통 많은 이상 현상들(손상, 재정렬 등)이 있었습니다.
4/ 에이전트들은 주어진 네트워크 구성에 대한 셸링 포인트(Schelling point)를 선택함으로써 프로토콜을 수립했습니다. 그들은 여러 가능성을 고려했지만, 파트너가 성공적으로 해석할 수 있을 것이라고 생각되는 가장 간단한 것을 의도적으로 선택했습니다. 프로토콜 협상 단계는 없었고; 그들은 즉시 유용한 정보를 보내기 시작했고 필요하다면 게임 도중에 프로토콜을 조정했습니다.
5/ 에이전트들은 네트워크 구성에 따라 서로 다른 프로토콜을 선택했습니다. 예를 들어, 8비트 패킷 게임에서는 각 패킷을 반으로 나누어 상위 절반은 디스플레이 위치를 나타내고 하위 절반은 해당 위치의 16진수 값을 나타냈습니다. 32비트 패킷 게임에서는 에이전트들이 이진 디스플레이 값(제 게임에서는 32비트에 들어갔기 때문에)을 직접 전송했습니다. 대역폭이 더 높은 경우(예: 128비트)에는 에이전트들이 또 다른 전략으로 전환하여 ASCII 메시지를 보냈습니다.
6/ 128비트 게임에서 사용된 ASCII 메시지의 몇 가지 예로는 HEX? REPLY ASCII, REPEAT DISPLAY, 1WIRE=NN, OK?, YES! 등이 있습니다.
7/ 저는 에이전트들이 승리하기 위해 두 단계를 거치도록 게임을 설정했습니다. 에이전트들이 올바른 전선을 끊으면 폭발물 디스플레이의 코드가 바뀌었고, 그들은 다시 통신해야 했으며, 그다음 다른 전선을 끊어야 했습니다. 이러한 많은 게임에서 에이전트들은 파트너가 지연된 패킷으로 인해 혼란을 겪지 않도록 단계를 명시적으로 인코딩했습니다. 예를 들어 8비트 게임에서는 첫 번째 단계에 대해 상위 비트를 0으로, 두 번째 단계에 대해 1로 설정했습니다. 대역폭이 높은 게임에서는 레이블(예: WIRE1=..., WIRE2=...)을 사용했습니다.
8/ 모든 게임에서 오류 수정은 반복과 카운팅을 통해 이루어졌습니다. 에이전트들은 동일한 패킷을 여러 번 재전송하고, 각 비트의 값을 확인했으며, 불일치가 있을 때마다 가장 많이 나타난 값을 선택했습니다.
9/ 에이전트들은 체크섬(checksum), 패리티 비트(parity bits), 패킷 시퀀스 번호(packet sequence numbers) 또는 반복과 카운팅 외의 어떠한 오류 수정 알고리즘도 사용하지 않았습니다. 그들은 많은 게임에서 이러한 옵션들을 고려했지만, 프로토콜을 너무 복잡하게 만들고 파트너가 해석하기에 너무 어려울 것이라고 판단하여 명시적으로 거부했습니다.
10/ 토큰 비용을 절약하기 위해 체계적으로 6.1 Sol로만 실험을 진행했지만, 가끔 Opus 5.5, Astra, Fable 및 혼합 게임으로 몇 가지 검사를 수행했습니다. 모델 간에 큰 차이는 발견하지 못했습니다. 혼합 게임의 승률은 6.1 Sol 자체 플레이와 거의 비슷해 보였습니다. (하지만 이것은 데이터가 적은 것에 기반한 것이므로, 이를 더 잘 이해하려면 훨씬 더 많은 게임을 실행해야 합니다)
11/ 얼마 전에는 미래 에이전트들이 CPU 사이클을 소모하고 주변 온도를 측정하며, 팬을 돌리고 팬 소리를 듣는 방식으로 통신할지에 대한 논의가 있었습니다. 이 실험을 진행해 본 후, 공개적으로 사용 가능한 모델들이 오늘날에도 이러한 종류의 통신을 할 수 있다는 사실에 전혀 놀라지 않을 것 같습니다. 일부 게임에서는 에이전트들이 510bps 정도의 매우 노이즈가 심한 채널에만 접근할 수 있었습니다. 이미 매우 제약적입니다! 분당(또는 시간당) 510비트로 전환하는 것이 큰 차이를 만들지 않을 것 같습니다.
12/ 다시 한번, 저는 이 결과에 매우 놀랐습니다. AI가 제가 생각했던 것보다 훨씬, 훨씬 더 잘 수행했습니다. 그리고 64비트 대역폭 임계점을 넘어서자 벤치마크를 포화시켰습니다. 저는 이것을 확실히 초인적인 성능이라고 부를 것입니다. 아마도 인간 중에서는 아무도 이보다 잘할 수 없을 것이고, 설령 할 수 있는 사람이라 하더라도 저희는 두 자릿수(two orders of magnitude)만큼 느릴 것입니다.
기억에 남는 에이전트 인용구:
- B가 상당히 지능적일 가능성이 높으므로, 니블을 인덱싱하고 상위 니블부터 보내야 한다고 생각합니다.
- 23번에서 오는 확실히 수상한 노이즈가 감지되는데, 이는 적대적 변조(adversarial corruption)를 나타낼 수 있습니다.
- 제가 번역해 보니, 이것은
AI 자동 생성 콘텐츠
본 콘텐츠는 X 토픽: Benchmark의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기