Multi-Agent 11

Network Handoff: 중앙 관리자 없이 흐르는 협업의 지혜

중앙 관리자가 없으면 무질서한 대화처럼 보이기 쉽다.

근거 · 교안 p30-p31

Network Handoff: 중앙 관리자 없이 흐르는 협업의 지혜 대표 이미지

1장: Supervisor 없는 Handoff의 시작

솔라의 눈길이 노트북 화면의 한 문장에 멈춰 있었다. 몇 번을 다시 읽어도 문장이 담고 있는 그림이 머릿속에서 어지럽게 흩어졌다.

"Network 패턴은 중앙 Supervisor 없이 Agent가 자신의 작업 뒤 다음 Agent를 판단하고 State와 Control을 함께 넘기는 Handoff 구조다."

‘중앙 관리자 없이.’

이 세 단어가 솔라의 사고를 가로막았다. 마치 잘 짜인 오케스트라에서 지휘자를 없애버린 그림 같았다. 각자 자기 악기만 연주하면 된다지만, 누가 언제 시작하고 멈출지, 어떤 빠르기와 세기로 연주할지 알려주지 않는다면 그건 소음이지 음악이 아닐 터였다.

솔라는 화면을 끄고 거실로 나갔다. 언니 루나는 탁자에 조용한 색의 카드 몇 장을 늘어놓고 있었다.

“언니, 지금 뭐 하나 물어봐도 돼?”

루나는 고개를 들어 솔라를 보았다. 솔라는 머릿속에 엉킨 생각을 그대로 쏟아냈다.

“에이전트 여러 개가 협업하는 시스템에 대한 글을 읽고 있었어. 그런데 중앙 관리자, 그러니까 슈퍼바이저 없이 에이전트가 알아서 다음 할 일을 정하고 다른 에이전트한테 일을 넘겨준다는 거야. 이게 어떻게 가능해? 리더 없는 팀 프로젝트 같잖아. 서로 자기가 할 일이라고 우기거나, 아무도 안 하려고 미루다가 결국 아무것도 안 되는 거. 완전 혼란 그 자체일 것 같은데.”

솔라의 말에 루나는 잠시 생각하더니, 탁자 위 카드들을 솔라 쪽으로 밀어주었다. 카드에는 각각 ‘주문 접수’, ‘재고 확인’, ‘결제 처리’, ‘배송 준비’라고 쓰여 있었다. 마치 각자 다른 임무를 맡은 작은 부서들 같았다.

“이 카드들이 네가 말한 에이전트라고 해보자.”

루나는 하얀 메모지 한 장을 뜯어 솔라에게 건넸다.

“그리고 이건 지금 처리해야 할 ‘작업’이야. 한번 써볼래? 고객의 요청이라고 생각하고.”

솔라는 잠시 고민하다가 펜을 들어 메모지에 썼다. ‘파란색 펜 한 자루 구매 요청.’

“좋아. 그 요청이 맨 처음 어떤 에이전트에게 도착해야 할까?”

“그야… ‘주문 접수’ 에이전트겠지.”

솔라는 메모지를 ‘주문 접수’ 카드 위에 올려놓았다.

“자, 이제 ‘주문 접수’ 에이전트는 자기 일을 끝냈어. 주문 내용을 확인했지. 이제 이 요청은 누가 처리해야 할까? 지휘자는 없어. 이 ‘주문 접수’ 에이전트가 스스로 다음 주자를 정해야 해.”

솔라는 잠시 망설였다. “음… 주문을 받았으니까, 물건이 있는지부터 확인해야겠지? 그럼 ‘재고 확인’ 에이전트에게 가야 하나?”

“맞아. 그럼 이제 ‘주문 접수’ 에이전트는 뭘 넘겨줘야 할까?” 루나가 물었다.

“‘파란색 펜 한 자루 구매 요청’이라는 이 정보?” 솔라가 메모지를 가리키며 말했다.

“그것만으로 충분할까? ‘재고 확인’ 에이전트가 정보를 받기만 하고, 아무 일도 안 하면 어떡하지? 지금부터는 네 차례야, 라고 알려줘야 하지 않을까?”

그제야 솔라는 뭔가 알겠다는 듯 고개를 끄덕였다. “아! 정보만 주는 게 아니라, ‘이제 네가 일할 차례다’라는 제어권, 그러니까 바통을 넘겨주는 거구나.”

“바로 그거야.” 루나는 조용히 말했다. “네가 방금 말한 그 두 가지. ‘지금까지의 처리 정보’와 ‘다음 작업을 할 권한’. 이걸 각각 ‘State’와 ‘Control’이라고 불러. ‘주문 접수’ 에이전트는 ‘파란색 펜 재고 확인 필요’라는 업데이트된 정보(State)와 함께 일할 차례(Control)를 ‘재고 확인’ 에이전트에게 넘겨주는 거지. 이걸 ‘핸드오프(Handoff)’라고 하는 거고.”

솔라는 직접 메모지를 집어 ‘재고 확인’ 카드 위로 옮겼다. 단순한 행동이었지만, 머릿속에서 무질서하게 떠다니던 개념이 제자리를 찾는 느낌이 들었다. 혼란스러운 외침이 아니라, 목적지가 명확한 택배 상자가 움직이는 것 같았다.

‘재고 확인’ 에이전트는 ‘재고 있음’이라는 정보를 메모지에 추가했다.

“자, 이제 ‘재고 확인’ 에이전트의 역할은 끝났어. 다음은 어디로 가야 할까?”

“물건이 있으니 결제를 해야지. ‘결제 처리’ 에이전트한테 가야 해.” 솔라의 대답은 더 이상 망설이지 않았다. 그녀는 자연스럽게 메모지를 ‘결제 처리’ 카드 위로 옮겼다. 메모지에는 ‘파란색 펜 구매 요청(재고 확인 완료)’이라는 정보가 쌓여 있었다.

결제 처리, 그리고 배송 준비까지. 솔라의 손을 거쳐 하얀 메모지는 차례차례 에이전트 카드를 옮겨 다녔다. 모든 과정이 끝나자 탁자 위에는 ‘배송 준비 완료’라고 적힌 메모지가 놓여 있었다. 중앙 관리자는 없었지만, 작업은 명확한 경로를 따라 흘러갔고, 단 한 번의 혼선도 없었다.

“지휘자가 없어도 각 연주자가 자기 파트가 끝나면 다음 연주자에게 눈짓을 보내는 것과 비슷하네.” 솔라가 혼잣말처럼 중얼거렸다. “누가 지시해서가 아니라, 악보의 흐름상 그게 당연한 순서니까.”

솔라는 자신이 처음 가졌던 생각이 틀렸음을 깨달았다. 중앙 관리자의 부재가 곧 혼란을 의미하는 것은 아니었다. 각 에이전트가 자신의 역할과 그 역할의 ‘다음’을 알고 있다면, 시스템은 스스로 질서를 만들어낼 수 있었다. 제어권과 상태 정보라는 바통을 주고받으며 이어지는 계주처럼 말이다.

“알겠어. 이렇게 각자 다음 할 일을 아는 전문가들끼리는 슈퍼바이저 없이도 일이 돌아갈 수 있겠네.”

솔라는 깔끔하게 정리된 카드들을 보며 말했다. 하지만 이내 새로운 의문이 고개를 들었다.

“그런데… 왜 굳이 이렇게 해야 하지? 그냥 슈퍼바이저 한 명이 있어서, ‘주문 접수 끝났니? 자, 이제 재고 확인해. 재고 확인 끝? 그럼 결제 처리 시작해.’ 이렇게 순서대로 지시하는 게 더 간단하고 확실하지 않아? 이렇게 각자 알아서 넘겨주는 방식이 질서정연하게 작동할 수 있다는 건 알겠는데, 이게 어떤 점에서 더 좋은 걸까?”

2장: 혼란 속 질서: Network Handoff의 힘

솔라의 질문이 남긴 조용한 공기는 탁자 위를 맴돌았다. ‘주문 접수’에서 ‘배송 준비’까지, 명쾌한 직선으로 끝났던 이전의 흐름. 솔라의 눈에는 그 깔끔한 경로가 오히려 중앙 관리자 방식의 단순함과 확실성을 증명하는 것처럼 보였다. “그냥 슈퍼바이저 한 명이 지시하는 게 더 간단하지 않아?”라는 의문은 당연했다.

루나는 대답 대신, 옆에 놓여 있던 다른 카드 몇 장을 조용히 가져와 기존의 네 카드 옆에 무심하게 늘어놓았다. 거기에는 ‘선물 포장’, ‘해외 배송 문의’, ‘대량 구매 할인’이라고 적혀 있었다. 순식간에 탁자 위는 단정한 일 차선 도로에서 복잡한 교차로로 변했다. 이전에 사용했던 하얀 메모지는 이미 옆으로 치워져 있었다. 루나는 새 메모지를 꺼내 들었다.

솔라의 시선이 새 카드들에 머물렀다. “이건 또 뭐야? 갑자기 일이 복잡해졌네.”

루나는 펜으로 새 메모지에 무언가를 적어 ‘주문 접수’ 카드 위에 올려놓았다. 거기에는 이전보다 훨씬 까다로운 요청이 담겨 있었다. ‘파란색 펜 100자루 구매, 선물 포장해서 미국으로 배송 희망.’

“자, 이번에도 지휘자는 없어.” 루나가 말했다. “그리고 네가 아까 말한 ‘간단하고 확실한’ 슈퍼바이저가 이 일을 처리한다고 상상해 봐. 슈퍼바이저는 어떤 순서로 지시를 내려야 할까?”

솔라는 메모지를 뚫어지라 쳐다봤다. “음… 일단 ‘주문 접수’가 받고… 다음은… 100자루니까 ‘재고 확인’부터… 아니, ‘대량 구매 할인’을 먼저 알아봐야 하나? 그리고 ‘선물 포장’도 해야 하고, ‘해외 배송’도 가능해야 하고….”

솔라의 말이 꼬이기 시작했다. 슈퍼바이저는 ‘파란 펜 한 자루’ 같은 정해진 시나리오에서는 유능할지 모른다. 하지만 ‘100자루’, ‘선물 포장’, ‘해외 배송’ 같은 변수가 끼어드는 순간, 모든 경우의 수를 미리 알고 정확한 순서로 지시해야 하는 엄청난 부담을 지게 된다. 만약 ‘재고 부족 시 예약 주문’ 같은 카드가 또 추가된다면? 슈퍼바이저의 머릿속은 터져버릴지도 모른다.

“슈퍼바이저가 모든 길을 다 알고 있어야 하네. 마치 도시의 모든 골목길과 신호등 체계를 외우고 있는 중앙 관제탑 같아. 너무 복잡해.” 솔라가 스스로 내린 결론이었다.

“그럼, 이번엔 에이전트들 스스로 다음 주자를 정하게 해보자.”

루나의 말에 솔라는 다시 메모지를 들었다. ‘주문 접수’ 에이전트의 역할을 맡은 것처럼. ‘파란색 펜 100자루’, ‘선물 포장’, ‘미국 배송’. ‘주문 접수’ 에이전트는 이 세 가지 핵심 정보를 확인했다.

“‘100자루’라는 걸 봤으니, 일반적인 ‘재고 확인’보다는 ‘대량 구매 할인’ 에이전트에게 먼저 물어보는 게 맞겠어.”

솔라는 메모지를 ‘대량 구매 할인’ 카드 위로 옮겼다. 중앙의 누군가에게 허락받을 필요가 없었다. ‘대량 구매’라는 키워드가 다음 경로를 자연스럽게 알려주었기 때문이다. 이것이 **탈중앙화(Decentralized)**된 의사결정이었다. 권한과 판단이 중앙이 아닌, 각 전문가에게 흩어져 있는 것.

‘대량 구매 할인’ 에이전트는 할인율을 적용한 견적을 메모지에 추가했다. 그리고 생각했다. ‘할인은 적용됐고, 이제 이 수량이 정말 있는지 확인해야지.’ 메모지는 자연스럽게 ‘재고 확인’으로 넘어갔다. 그 뒤, ‘선물 포장’ 요청을 처리하기 위해 ‘선물 포장’ 에이전트에게, ‘미국 배송’을 위해 ‘해외 배송 문의’ 에이전트에게로.

하나의 요청이 여러 에이전트를 거치며 필요한 정보를 차곡차곡 쌓아가는 멀티-홉(Multi-hop) 처리가 눈앞에서 펼쳐졌다. 작업의 경로는 고정되어 있지 않았다. 요청 내용에 따라 뱀처럼 구불구불, 필요한 전문가들을 찾아다녔다. 이것이 바로 **유연한 흐름(Flexible Flow)**이었다.

모든 여정을 마친 메모지는 마침내 ‘결제 처리’와 ‘배송 준비’를 거쳐 작업을 끝냈다. 처음의 단선적인 흐름과는 비교할 수 없이 복잡한 경로였지만, 막히거나 혼란스러운 지점은 없었다. 각 에이전트가 자신의 전문성과 주어진 정보(State)를 바탕으로 가장 적합한 다음 동료에게 제어권(Control)을 넘겼기 때문이다.

“알겠다.” 솔라가 무릎을 쳤다. “중앙 관리자 방식은 정해진 노선을 도는 기차 같아. 목적지가 분명하고 길이 하나일 땐 가장 효율적이지. 하지만 이 핸드오프 방식은 똑똑한 택시 기사 같네. 손님이 어디로 가자고 하든, 공사 중인 길은 피하고 지름길을 찾아내서 최적의 경로를 만들어내는 거야.”

중앙 관리자 없는 유연성이 ‘통제 불능’이나 ‘혼란’을 낳을 거라는 솔라의 처음 생각은 완전히 뒤집혔다. 오히려 예측 불가능하고 동적인 문제 앞에서, 이 유연함은 혼란을 질서로 바꾸는 가장 강력한 무기였다. 각자 자신의 위치에서 최선의 판단을 내리는 전문가들의 협업 네트워크. 그 힘은 단 한 명의 전지전능한 지휘자보다 훨씬 강하고 똑똑할 수 있었다.

“이런 방식이 훨씬 더 강력할 때가 있겠구나. 경로가 미리 정해져 있지 않은 복잡한 문제들 말이야.”

솔라는 새롭게 배열된 카드들을 보며 감탄했다. 그러다 문득 궁금해졌다.

“지금 본 쇼핑몰 주문 처리도 좋은 예시지만, 이런 유연한 흐름이 정말 빛을 발하는, 더 극적인 상황은 없을까? 이 똑똑한 택시 기사가 정말 필요한 곳은 어디일까?”

3장: 흐름이 곧 길: Handoff 패턴의 실전 적용

솔라는 이전의 카드 놀이가 남긴 ‘똑똑한 택시 기사’라는 비유를 곱씹고 있었다. 예측 불가능한 손님의 요구에 맞춰 최적의 경로를 찾아내는 그 유연함. 멋진 개념이라고 생각했다. 하지만 바로 어제 겪었던 답답한 고객센터와의 통화를 떠올리자, 현실은 그렇게 똑똑하지 않다는 생각에 미간이 찌푸려졌다. 분명 하나의 문제를 해결하기 위해 전화했는데, 부서를 옮겨 다닐 때마다 같은 말을 세 번이나 반복해야 했다. 택시를 탔는데, 교차로마다 기사님이 바뀌고 목적지를 계속 새로 설명하는 기분이었다.

그때 거실 탁자에서 무언가 정리하던 루나가 솔라를 불렀다. 탁자 위에는 이전의 쇼핑몰 주문 카드들이 그대로 놓여 있었다. 하지만 루나는 그 카드들을 한쪽으로 밀어내고, 완전히 새로운 카드 한 장을 중앙에 놓았다. 거기에는 ‘고객 문의 접수’라고 쓰여 있었다. 그리고는 텅 빈 메모지 한 장을 그 위에 올렸다. 마치 새로운 연극을 위해 텅 빈 무대를 준비하는 것 같았다.

“네가 어제 겪었다던 그 상황, 여기에 한번 써볼래?”

솔라는 놀라며 루나를 쳐다봤다. 어떻게 알았지? 솔라는 멋쩍게 웃으며 펜을 들었다. 그리고 어제의 그 답답했던 상황을 메모지에 적기 시작했다. ‘새로 산 스마트워치 전원이 안 켜짐. 그런데 요금은 이중으로 청구된 것 같음. 보증 기간도 궁금함.’

“좋아. 복잡한 문제네.” 루나가 말했다. “만약 이걸 중앙 슈퍼바이저가 처리한다면, 어떤 순서로 지시해야 할까? 기술 지원팀, 결제팀, 정책팀. 누가 먼저지?”

솔라는 잠시 고민에 빠졌다. “음… 일단 고장 문제니까 기술 지원팀에 먼저 연결해야겠지? 문제가 해결되면, 그 다음에 결제팀에 이중 청구 건을 확인하고… 마지막으로 보증 기간을 물어보고.”

그녀가 말하면서도 어딘가 이상하다는 것을 느꼈다. 그건 바로 어제 고객센터의 상담사가 그녀를 이끌었던, 아주 비효율적인 바로 그 경로였다. 고객인 나는 이중 청구된 돈 문제가 더 급한데, 상담사는 정해진 매뉴얼에 따라 기술 지원부터 시도했다.

“그런데 만약 고객이, 그러니까 내가, ‘잠깐만요, 고장 난 건 나중 문제고 돈 문제부터 해결해주세요’라고 하면 어떡해?” 솔라가 반문했다.

“바로 그거야.” 루나가 말했다. “슈퍼바이저 방식은 정해진 길을 따라가는 기차와 같다고 했지. 승객이 중간에 다른 곳에 가고 싶다고 해도, 기차는 정해진 역에만 설 수 있어. 승객을 유연하게 대처하기가 어렵지.”

“그럼 핸드오프 방식, 그 똑똑한 택시 기사는 이걸 어떻게 해결하는데?”

루나는 ‘고객 문의 접수’ 카드 위의 메모지를 솔라 쪽으로 밀었다.

“첫 에이전트는 슈퍼바이저가 아니야. 고객의 말을 끝까지 듣고, 가장 아프거나 급한 곳이 어딘지 파악하는 진단 전문가에 가깝지. 자, 네가 첫 에이전트야. 이 고객에게 가장 먼저 필요한 건 뭘까?”

솔라는 메모지에 적힌 세 가지 문제를 보았다. ‘전원 안 켜짐’, ‘이중 청구’, ‘보증 기간’. 어제의 나라면 ‘이중 청구’가 가장 급했다.

“‘이중 청구’ 문제. 돈 문제니까.”

솔라는 ‘결제팀’이라고 쓰인 새 카드를 가져와 메모지를 그 위로 옮겼다. 이전과 다른 점은, ‘결제팀’으로 메모지를 옮기면서도 ‘전원 안 켜짐’과 ‘보증 기간 문의’라는 다른 문제들이 사라지지 않았다는 것이다. 모든 정보(State)가 함께 이동했다.

“좋아. 결제팀이 문제를 확인하고 환불 처리를 완료했어.” 루나가 다음 상황을 제시했다. “이제 결제팀 에이전트는 뭘 해야 할까? 자기 일은 끝났는데.”

솔라는 잠시 생각했다. “‘전체 대화 기록’을 보면 되겠구나. 아직 ‘전원 안 켜짐’ 문제가 남아있다는 걸 알 수 있지. 그럼 다음 전문가인 ‘기술 지원팀’에게 ‘이 고객은 결제 문제는 해결됐고, 이제 제품 고장 문제 상담이 필요합니다’라고 말해주면서 제어권을 넘겨주면 돼.”

솔라는 직접 메모지를 ‘기술 지원팀’ 카드로 옮겼다. 그리고 기술 지원팀이 문제를 해결하거나, 해결할 수 없다고 판단한 뒤, 마지막으로 ‘보증 기간’ 정보를 가진 ‘정책 안내팀’으로 넘어가는 흐름을 스스로 시뮬레이션했다.

흐름이 물처럼 자연스러웠다. 정해진 순서가 아니라, 대화의 내용과 고객의 요구에 따라 길이 실시간으로 만들어졌다. 부서를 옮길 때마다 고객이 같은 말을 반복할 필요도 없었다. 모든 정보가 담긴 메모지가 함께 움직였으니까.

솔라는 마침내 깨달았다. 중앙 관리자가 없는 유연함이 혼란을 만드는 경우는, 각자 자기 할 일만 하고 다음을 책임지지 않을 때뿐이다. 하지만 ‘Network Handoff’에서 각 에이전트는 단순히 자기 일을 처리하는 것을 넘어, ‘다음 흐름을 책임지는 역할’까지 수행했다.

“알겠다. 이런 핸드오프 방식은… 시스템의 규칙에 사람을 맞추는 게 아니라, 사람의 대화 흐름에 시스템이 맞춰주는 거네. 작업 순서가 고정되어 있지 않고, 대화가 자연스럽게 이어져야 하는 고객 상담 같은 곳에서야말로 진짜 힘을 발휘하는구나.”

이것이 ‘패턴 적합성 판단’의 기준이었다. 길이 명확하고 변수가 없다면 기차(중앙 관리자)가 빠르다. 하지만 길이 구불구불하고 목적지가 유동적이라면, 똑똑한 택시 기사(Network Handoff)들의 협력이 필요하다.

솔라는 자신의 노트북을 열었다. 어제의 답답했던 고객센터 경험은 잊고, 지금 그녀가 참여하고 있는 작은 사이드 프로젝트의 협업 방식을 다시 그려보기 위해서였다. 프로젝트에는 기획, 리서치, 글쓰기, 디자인 역할이 있었다. 지금까지는 리더 한 명이 모든 업무 순서를 정하고 지시하는, 전형적인 중앙 관리자 방식이었다.

솔라는 새 문서에 ‘기획’에서 시작하는 화살표를 그렸다. 하지만 그 끝을 ‘리서치’로 고정하지 않았다. 대신, 그 옆에 조건들을 적기 시작했다.

  • 만약, 기획 단계에서 특정 데이터가 필요하면 리서치에게 핸드오프.
  • 만약, 기획의 핵심 메시지를 바로 시각화해보고 싶다면 디자인에게 핸드오프.
  • 리서치가 예상치 못한 흥미로운 사실을 발견하면, 기획에게 다시 핸드오프해서 판을 다시 짜자고 제안할 수 있음.

그녀는 더 이상 고정된 선을 긋고 있지 않았다. 대신, 아이디어와 필요가 흐를 수 있는 여러 갈래의 물길을 터주고 있었다. 중앙 관리자 없이도, 각 전문가가 자신의 판단으로 다음 동료와 협업하며 최적의 결과물을 만들어가는, 살아 움직이는 네트워크. 솔라는 이제 그 지혜로운 흐름을 직접 설계할 수 있게 되었다.