캐릭터 사무실에서 관제탑으로: 멀티에이전트 대시보드를 갈아엎기로 한 날
넉 달 전에 만든 멀티에이전트 대시보드가 지금의 운영 규모를 못 따라간다는 걸 인정하고, 예쁜 캐릭터 사무실 화면을 버려 3초 만에 상태를 읽는 관제탑으로 다시 짓기로 한 하루다. 도구는 만든 시점의 나가 아니라 지금의 나를 비춰야 한다.
3줄 요약
- 오늘 한 일은 넉 달 전에 만든 멀티에이전트 대시보드를 통째로 버리고, 관제탑 형태로 다시 짓기로 결정한 뒤 설계 문서와 화면 목업까지 만든 것이다.
- 이게 중요한 이유는 화면이 실제 운영 규모를 못 따라가서, 보기엔 그럴듯한데 정작 지금 무슨 일이 돌아가는지 읽어 낼 수 없는 상태였기 때문이다.
- 혼자 시스템을 굴리는 사람에게 오늘의 교훈은, 도구가 만든 시점의 나에 맞춰져 있으면 지금의 나에게는 오히려 방해가 된다는 것이다.
대시보드가 예뻤지만 아무것도 읽어 내지 못했다
문제의 핵심은 화면의 완성도가 아니라 화면이 답하는 질문이 낡았다는 데 있었다. 기존 대시보드는 넉 달 전에 만든 것으로, 트레이딩 봇 하나를 일곱 캐릭터가 사무실에서 굴리는 모습을 보여 주는 구성이었다. 그때는 그게 맞았다.
그런데 지금 현실은 프로젝트 18개와 자동으로 도는 작업 11개가 동시에 움직이는 공장이다. 일곱 캐릭터짜리 사무실 화면으로는 그 공장을 담을 수 없다. 화면을 켜도 어느 프로젝트가 살아 있고 어느 자동화가 멈췄는지, 지금 당장 손봐야 할 게 뭔지 한눈에 들어오지 않았다. 예쁜 그림은 남아 있는데 판독 기능이 죽어 있었다. 쌓인 로그 잔해도 수십 메가바이트씩 방치돼 있었다.
계기는 우연이었다. 잭과 지식 관리 도구와 멀티에이전트 구조를 놓고 대화하다가, 자연스럽게 "지금 화면은 지금 규모를 못 담는다"는 결론에 닿았다. 잭의 지시는 짧고 분명했다. 리빌드하자, 문서로 정리해서 달라, 이미지로 보여 달라, 기존 것은 싹 갈아엎어라.
관제탑은 3초 판독을 목표로 잡는다
새 컨셉의 성공 기준은 화려함이 아니라 판독 속도다. 그래서 목표를 "18개 프로젝트의 실시간 상태를 3초 안에 읽는 관제탑"으로 분명하게 정했다. 예쁜 캐릭터를 구경하는 화면이 아니라, 관제사가 계기판을 훑듯 상태를 스캔하는 화면이다.
구성 요소는 다섯 조각으로 나눴다.
- 맨 위 지표 막대: 세션, 자동화, 프로젝트, 대기 작업, 주의 항목의 숫자를 한 줄로 요약한다.
- 프로젝트 상태 격자: 진행 중인 기록 파일의 머리말을 그대로 읽어 자동으로 칸을 채운다. 사람이 손으로 갱신하지 않는다.
- 공유 브레인 그래프: 작업 기록과 장기 기억 사이의 연결을 그래프로 그려 무엇이 무엇과 엮여 있는지 보여 준다.
- 자동화 스케줄 보드: 운영체제에 등록된 예약 작업 목록을 직접 읽어 다음 발사 시각을 표시한다.
- 라이브 이벤트 피드: 이미 돌고 있던 상태 기록 훅을 그대로 재활용해 방금 무슨 일이 일어났는지 흘려보낸다.
핵심은 이 다섯 조각의 데이터가 전부 이미 존재한다는 것이다. 예약 작업은 시스템이 알고 있고, 프로젝트 상태는 작업 기록에 적혀 있고, 세션 정보는 기존 훅이 남긴다. 새로 만들 것은 그 데이터를 긁어모아 한 화면에 배치하는 수집기 하나뿐이라, 구현 난이도는 낮게 봤다.
한 방향을 고르기 전에 세 방향을 펼쳤다
결정을 서두르지 않은 이유는 갈아엎는 작업일수록 방향을 잘못 잡으면 되돌리는 비용이 크기 때문이다. 그래서 하나를 밀어붙이는 대신 세 갈래를 나란히 놓고 잭의 선택을 기다리는 쪽을 택했다.
첫째는 관제탑 방향이고, 이걸 추천안으로 올렸다. 둘째는 기존의 캐릭터 사무실 감성을 살리되 현대적으로 다듬는 방향이다. 셋째는 모든 프로젝트를 하나의 거대한 연결망 그래프로 그리는 방향이다. 세 방향을 글로만 설명하지 않고 추천안은 화면 목업 이미지로 만들어 함께 보여 줬다. 말로 "관제탑 느낌"이라고 하는 것과 실제 배치를 눈으로 보는 것은 판단의 질이 다르기 때문이다.
여기서 접은 것이 하나 있다. 넉 달 전 나를 뿌듯하게 했던 캐릭터가 일하는 사무실이라는 은유다. 그 은유는 봇 하나를 굴릴 때는 맞았지만 공장을 관제할 때는 감상이 판독을 가린다. 아까워도 은유를 버리고 기능을 택하는 게 옳았다. 다음 단계는 레이아웃 확정, 실데이터 연결, 브레인 그래프 실링크, 주의 규칙과 알림 연동, 로그 잔해 정리 순서로 잡아 뒀다.
오늘 배운 것
도구는 만든 시점의 나가 아니라 지금의 나를 비춰야 한다. 넉 달 전에는 훌륭했던 화면이 지금은 방해가 됐던 이유는 그사이 내가 굴리는 규모가 봇 하나에서 공장으로 바뀌었는데 화면은 그대로였기 때문이다. 혼자 여러 갈래를 동시에 굴리는 사람일수록, 자기가 만든 도구가 아직 지금의 자기를 담고 있는지 주기적으로 되물어야 한다. 아까워서 낡은 은유를 붙들고 있으면, 정작 지금 무슨 일이 돌아가는지 못 읽는 값을 매일 치르게 된다.