CICERO - 사람과 협상하고 설득하고 협동하는 AI 에이전트
(ai.facebook.com)- Meta AI가 유명한 전략 보드게임인 Diplomacy에서 사람 수준의 능력을 보여주는 인공지능을 개발하여 공개
- 해당 게임의 온라인 버전에서 사람보다 2배이상의 점수로 상위 10%에 오름
- Diplomacy는 몇십년간 AI에게는 불가능한 도전 이었음
- 게임내에서 다른 사람의 동기나 관점을 이해해서 복잡한 계획을 세우고 전략을 조정해야함
- 그리고 자연어로 그들과 소통해서 합의를 이끌어 내고 파트너십 및 동맹에 대해 확신을 줘야함
- CICERO는 매우 협상을 잘해서, 다른 인간 참여자보다도 선호되기도 했음
- 다른 사람이 블러핑 하는 것을 눈치 채지 못하거나, 공격적인 행동을 이해하지 못하면 금방 지게 됨
- 또한 실제 사람처럼 말하지 않으면 (공감하거나, 관계를 구축하고, 게임에 대한 지식을 말하는 등) 다른 사람이 같이 하려고 하지 않음
- 이 성취의 핵심은 AI의 완전히 다른 두 영역의 교차점에서 새로운 기술을 개발하는 것
- AlphaGo/Pluribus 같은 것에서 사용된 전략적 추론(Strategic Reasoning)
- GPT-3/BlenderBot 3/LaMDA/OPT-175B 같은 것에서 사용된 자연어 처리(NLP)
- 예를 들어, CICERO는 게임 후반에 특정 플레이어의 지원이 필요하다고 추론한 다음, 그 사람의 호의를 얻어내기 위한 전략을 세울 수 있음
- 코드와 논문을 함께 공개
Diplomacy는 무려 1959년에 나온 보드게임으로 2008년에 50주년 기념 버전도 나온바 있습니다. 게임 내에서 플레이어는 1차 세계대전 이전 시대의 유럽 7개 국가(영국, 프랑스, 오스트리아-헝가리, 독일, 이탈리아, 러시아, 터키)중 하나를 플레이 하게 됩니다. 1901년 봄부터 시작해서 매년 봄/가을 턴에 대해서 액션을 취하게 되고요. 군대는 육군과 해군 두 종류만 있고 주변 지역으로 이동(공격 포함)하거나, 주변 지역의 동맹국을 지원해서 공격/방어하거나, 현재 위치를 유지하는 행동중에서 선택을 하게 됩니다. 모든 부대는 공격력 1, 이동력 1으로 동일합니다. 물론 육군은 육지로만 다닐수 있고, 해군을 통해서 바다로 수송(Convoy)이 가능합니다. 즉 행동은 딱 4개입니다. Hold/Move/Support/Convoy
유럽전역이 펼쳐진 지도에는 별표로 표시된 총 34개 병참지역(Supply Center)이 있는데, 자신의 국가가 18개 지역을 먹으면 승리합니다. 모든 국가는 3개의 병참지를 가지고 시작하고, 러시아만 4개로 시작합니다. 그래서 처음에 12개는 비어있습니다. 각 국가는 가을턴이 끝날 때 자신이 가진 병참지역 수 만큼의 부대를 운영이 가능해집니다. 나라별로 육군2개, 해군1개 또는 해군2개, 육군 1개로 시작하는 병력이 다릅니다. 해군력이 우세한 영국은 런던과 에딘버러에 해군, 리버풀에 육군을 두고 시작하며, 프랑스는 파리와 마르세이유에 육군, 브레스트에 해군을 두고 시작하는 식입니다. 물론 러시아는 모스크바/바르샤바에 육군, 세바스토폴/상트페테르부르크에 해군을 두고 시작합니다. 지역은 내륙/바다/해안 3가지가 있으며, 내륙은 육군만 점령가능하고, 바다는 해군만, 해안은 육군 또는 해군이 점령 가능합니다.
게임 진행 자체는 매우 단순합니다. 주사위나 기타 우연요소는 전혀 없고, 각자가 턴마다 외교 협상을 통해서 자신의 군대 이동에 대해서 유리하도록 주변국의 도움을 얻어야 합니다. 외교는 공개적으로 또는 비밀리에 대화를 나눠도 됩니다. 흔히 말하는 비동기로 진행되기 때문에 제한시간을 두기도 합니다. 그리고는 각자가 유닛들이 취할 "명령서"를 제출하면 마스터가 그걸 취합해서 처리하게 되는 방식입니다. 그래서 메일로 내용을 주고받는 Play By Mail 이라는 형태로도 가능하고요. 각자가 명령서를 내고 동시에 오픈한다고 보면 됩니다. 각 명령서에는 1대의 부대당 1개의 명령만 가능합니다. 예를 들어 부대가 3개인 프랑스는 "A Par–Bur, A Mar–Spa, F Bre–Pic" 요게 명령서의 내용입니다. "육군을 Paris에서 Burgundy로 이동 / Marseilles에서 Spain으로 이동, 해군을 Brest에서 Picardy로 이동"
왜 이렇게 하냐면 모든 군대의 힘이 1로 동일한데, 근데 각 지역에는 딱 1개의 유닛(군대)만 있을 수 있기 때문에 같은 지역으로 2개가 이동하는 상황이 생기면 그 행동이 취소됩니다. 이를 해결해 주는게 주변 지역에 있는 동맹군의 지원(Support)인데요. 지원을 얻어서 공격하는 부대수가 지키는 부대수보다 많아지면 그 지역을 차지하게 됩니다. 그러니 원하는 걸 얻기 위해서는 열심히 외교를 해야 합니다.
"내가 이번에 우크라이나를 치려고 하는데 좀 도와주지 않겠어? 같이 서부로 진격해 나가자"
"싫은데!" / "내가 얻게 되는건 뭐지?"
실제로 처음부터 끝까지 "대화를 통해서 진행되는 외교 인터랙션"이 전부인 게임인데, 이걸 AI가 제대로 플레이 한다는게 놀랍네요.