실패를 되새기면 에이전트는 정말 나아질까, VRL-Bench가 묻는 시도 횟수의 문제
제한된 시도 안에서 실패를 글로 되새기는 verbal reinforcement learning을 공정하게 재는 VRL-Bench와 남은 기회를 나눠 쓰는 스케줄러 VEX^2를 해설합니다.
원문 논문 보기
이번에 다룰 연구는 VRL-Bench: Benchmarking agents on computer control tasks under finite trial budgets로, arXiv 2609.12404 번호로 공개된 연구진이 내놓은 작업입니다.
이 연구가 내세우는 주장은 한 문장으로 정리됩니다. 제한된 시도 횟수 안에서 실패를 글로 되새기는 verbal reinforcement learning이 컴퓨터 조작 과제에서 정말로 도움이 되는지를 공정하게 재고, 남은 시도를 어떻게 나눠 쓸지를 정하는 VEX^2라는 스케줄러를 제안한다는 것입니다. 원문은 제목 아래에 걸린 링크로 연결해 두었습니다.
컴퓨터 앞에서 헤매는 에이전트를 보면 왜 마음이 쓰일까
안녕하세요, 패트릭입니다. 여러분도 웹에서 표 하나를 채우거나 쇼핑몰에서 조건에 맞는 물건을 고르는 일을 에이전트에게 시켜본 적이 있으신가요. 처음에는 곧잘하다가도 버튼 하나를 잘못 누르면 같은 화면을 빙빙 돌 때가 있는데요. 저는 그 장면을 볼 때마다 묘하게 사람이 겹쳐 보였습니다.
제가 이 논문에서 가장 눈길이 갔던 부분은 바로 그 헤맴을 어떻게 다룰지에 대한 태도였습니다. 실패한 시도를 그냥 버리고 처음부터 다시 시키는 방법이 있고, 실패를 말로 정리해서 다음 시도에 붙여주는 방법이 있습니다. 후자가 바로 verbal reinforcement learning인데요. 모델 가중치를 고치지 않고, 글로 된 반성을 다음 시도의 입력에 얹는 방식입니다. 생각해보면 사람도 비슷하게 배웁니다. 시험을 망치고 나서 오답 노트에 뭐가 틀렸는지 적어두면 다음에는 같은 실수를 덜 하게 되죠.
그렇다면 글로 적는 복기가 컴퓨터 조작에서도 통할까요. 직관적으로는 통할 것 같습니다. 그런데 연구를 읽다 보면 이 질문이 생각보다 까다롭다는 것을 알게 됩니다. 시도가 무제한이라면야 이것저것 다 붙여보면 되겠지만, 실제로는 시도 횟수에 제한이 있기 때문입니다. 밤새워 돌릴 수 있는 평가가 아니라, 몇 번 안에 끝내야 하는 평가라면 이야기가 달라지죠. 저는 그래서 이 연구가 시도 횟수라는 예산을 정면에 내세운 대목에서 멈칫했습니다.
실패를 글로 적어두면 다음 시도가 달라질까
컴퓨터 조작이라는 과제를 잠깐 구체적으로 그려보겠습니다. 화면에는 버튼과 입력창과 상품 목록이 있고, 에이전트는 마우스와 키보드 같은 조작을 순서대로 내보내야 합니다. 중간에 한 단계라도 어긋나면 주문이 실패하거나 엉뚱한 화면으로 넘어가는데요. 이런 과제는 한 번에 맞히기 어렵고, 여러 번 부딪히면서 감을 잡는 구조입니다.
여기서 verbal reinforcement learning이 끼어듭니다. 첫 시도가 실패하면 에이전트 스스로 무엇이 잘못됐는지를 문장으로 정리하고, 그 문장을 다음 시도의 프롬프트에 함께 넣습니다. 가중치는 그대로인데, 입력에 붙는 메모가 바뀌는 셈이죠. Reflexion이 이런 흐름을 연 작업으로 알려져 있고, 그 뒤로 메모를 남기는 방식이 여러 갈래로 이어졌습니다.
그런데 이 메모가 항상 약이 될까요. 저는 이 대목에서 일종의 오답 노트 같은 비유가 떠올랐는데요. 오답 노트가 잘 쓰이면 다음 시험에 도움이 되지만, 잘못 쓰이면 오히려 머릿속을 어지럽히기도 합니다. 틀린 이유를 너무 단정적으로 적어두면, 다음에도 그 틀에 갇혀 다른 가능성을 못 보게 되니까요. 에이전트의 반성문도 비슷할 수 있습니다. 실패 원인을 글로 고정하는 순간, 다음 시도가 그 해석에 끌려다닐 수 있기 때문입니다.
그래서 다음 질문이 자연스럽게 생깁니다. 메모를 붙이는 방법이 여러 가지라면, 무엇을 기준으로 좋다고 말할 수 있을까요. 한두 번 잘된 사례만 보고 판단하면 곤란하겠죠. 공정한 시험지가 먼저 필요하다는 것이 이 연구의 출발점입니다.

시험지를 먼저 고치는 것이 왜 필요했을까
이 연구가 내놓은 VRL-Bench는 새로운 에이전트 모델이라기보다 평가를 위한 장치에 가깝습니다. 제한된 시도 횟수라는 예산 아래에서 시행착오 학습을 공정하게 재는 틀이죠. 저는 이 선택이 꽤 어른스럽다고 봤습니다. 새로운 방법을 하나 더 얹기 전에, 기존 방법들을 같은 선에 세우는 일이 먼저라는 판단이 깔려 있기 때문입니다.
평가가 다루는 범위는 분명합니다. 세 가지 모델과 두 종류의 컴퓨터 조작 과제인 MiniWoB와 WebShop을 조합한 여섯 가지 설정에서, Reflexion을 포함한 여러 verbal memory 방법들을 견줍니다. 비교의 상대는 메모 없이 그냥 다시 시도하는 기억 없는 재시도입니다. 이 기준선이 있어야 메모가 실제로 보탬이 됐는지를 가릴 수 있는데요. 같은 예산을 주고 누가 더 자주 성공하는지를 보는 구조입니다.
저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. VRL-Bench도 같은 정신으로 읽힙니다. 시도 횟수를 무제한으로 두면 메모의 효과가 부풀려질 수 있는데, 예산을 고정하면 그런 부풀림이 걷히기 때문입니다. 몇 번 안에 끝내야 한다는 조건은 연구실의 여유로운 실험과 현장의 촉박한 운영 사이의 간격을 좁혀줍니다.
그렇다면 이 공정한 시험지 위에서 기존의 메모 방법들은 어떤 성적표를 받았을까요. 그 이야기는 다음 장면에서 바로 이어집니다.
메모를 붙였는데 왜 어떤 곳에서는 성적이 내려갈까
결과를 한 줄로 말하면 이렇습니다. 평가한 verbal memory 방법들은 기억 없는 재시도보다 나아지는 설정이 있었지만, 동시에 성적이 내려가는 설정도 있었습니다. 모든 설정에서 두루 이기는 방법은 하나도 없었던 셈인데요. 이 대목은 처음 보면 좀 야속하게 느껴집니다. 복기를 했는데 오히려 못해지다니요.
하지만 운영 측면에서 보면 이 차이는 상당히 큽니다. 실패 원인을 글로 정리하는 일은 다음 시도의 방향을 좁히는 일이기도 하기 때문입니다. 좁히는 것이 적중하면 빨리 성공하지만, 빗나가면 여러 번의 시도를 같은 골목에서 허비하게 됩니다. 그래서 메모는 양날의 검처럼 행동합니다. 어떤 과제와 어떤 모델에서는 약이 되고, 다른 조합에서는 짐이 되는 것이죠.
저는 여기서 조금 조심해서 읽을 필요가 있다고 봅니다. 한두 설정에서 오른 숫자를 보고 이 방법이 정답이라고 말하기 어렵기 때문입니다. 반대로 한두 설정에서 내려간 숫자를 보고 메모 자체가 쓸모없다고 말하는 것도 성급합니다. 조건에 따라 결과가 갈린다는 사실 자체가, 우리가 지금까지 메모의 효과를 너무 낙관적으로 읽어왔을 수 있다는 신호이기 때문입니다.
여기서 재미있는 질문이 생깁니다. 무엇이 메모를 약으로 만들고, 무엇이 짐으로 만들까요. 연구진은 이 물음을 답하기 위해 반성의 효과를 따로 떼어내는 실험을 해봅니다.

반성을 꺼내 쓰고 다시 넣으면 무슨 차이가 생길까
연구진이 쓴 방법 중에는 replay라는 이름의 실험이 있습니다. 이미 나온 반성을 그대로 다시 쓰는 경우와 쓰지 않는 경우를 맞바꿔보면서, 반성 자체가 성공률을 어떻게 바꾸는지를 보는 방식인데요. 저는 이 설계를 읽으면서 무릎을 친 적이 있습니다. 반성을 잘 썼냐 못 썼냐를 따지기 전에, 반성을 쓰는 행위 자체가 탐색을 줄이는지를 물을 수 있기 때문입니다.
결과는 꽤 솔직했습니다. 반성을 쓰면 성공률이 내려가는 경우가 관찰됐고, 연구진은 이를 경험을 써먹는 일과 계속 탐색하는 일 사이의 trade-off로 풀어냅니다. 반성문을 받아든 에이전트는 지난 해석을 붙잡고 같은 방향으로 파고들지만, 덕분에 다른 버튼이나 다른 경로를 시도할 여지가 줄어드는 것이죠. 처음부터 다시 헤매는 재시도는 어수룩해 보이지만, 그 어수룩함 덕분에 뜻밖의 정답을 건지기도 합니다.
생각해보면 사람도 시험장에서 비슷한 경험을 합니다. 오답 노트만 붙잡고 있으면 새로운 유형에 약해질 때가 있죠. 노트에 적힌 풀이가 맞을 때는 속도가 붙지만, 노트가 틀렸을 때는 노트 없는 친구보다 더 오래 헤맵니다. 에이전트의 반성도 같은 구조로 읽힙니다. 글로 남긴 경험은 다음 시도를 빠르게 만들지만, 동시에 다음 시도를 좁게 만들기도 합니다.
그렇다면 우리는 메모를 버려야 할까요. 저는 그렇게 보지 않습니다. 진짜 문제는 메모 자체보다 메모를 언제 쓰고 언제 걷어낼지를 정하는 감각에 있기 때문입니다. 그리고 그 감각을 흉내 내는 장치가 바로 뒤에 등장합니다.
써먹을 때와 헤맬 때를 어떻게 가를 수 있을까
탐색과 활용이라는 말은 강화학습에서 오래된 주제입니다. 지금까지 쌓인 경험을 써먹을지, 아니면 새로운 가능성을 더 뒤져볼지를 매 순간 정해야 한다는 뜻인데요. 컴퓨터 조작에서도 같은 고민이 생깁니다. 반성이 그럴듯해 보이면 그대로 밀고 나갈지, 아니면 반성을 잠시 접어두고 다른 길을 더듬어볼지를 골라야 합니다.
이 선택이 어려운 이유는 예산이 유한하기 때문입니다. 시도가 무한하다면 둘 다 하면 됩니다. 먼저 써먹어보고 안 되면 헤매면 되죠. 하지만 시도 횟수가 정해져 있으면 둘 중 하나를 고르는 순간 다른 하나를 쓸 기회가 사라집니다. 그래서 남은 기회를 어디에 쓸지를 정하는 일이 실력의 일부가 됩니다. 몇 번 남았는지를 모르고 두는 수와, 남은 횟수를 세면서 두는 수는 다를 수밖에 없기 때문입니다.
저는 이 숫자보다 그 뒤의 구조를 더 눈여겨봅니다. 반성의 문장 자체를 더 잘 쓰는 것도 쓸모가 있지만, 반성을 포함한 여러 정책 중에서 무엇을 고르고 몇 번을 배정할지를 정하는 층위가 따로 있다는 발상이기 때문입니다. 정책을 고르는 일과 예산을 나누는 일을 따로 보지 않고 함께 풀어야 한다는 것이죠. 이 발상을 실제로 구현한 것이 다음에 다룰 VEX^2입니다.

남은 기회를 나눠 쓰는 일까지 모델에게 맡기면 어떨까
VEX^2는 이름 그대로 verbal exploration-exploitation 스케줄러입니다. 실패를 글로 정리하는 데서 멈추지 않고, 남은 시도 예산을 보면서 어떤 정책을 쓰고 몇 번을 쓸지를 언어 모델이 함께 정합니다. 저는 이 대목을 읽으면서 역할이 하나 올라갔다는 느낌을 받았습니다. 반성문을 쓰는 선수가 아니라, 남은 이닝을 보고 투수를 교체하는 감독 같은 역할이 생긴 셈이죠.
동작을 아주 단순하게 그리면 이렇습니다. 지금까지의 시도와 반성을 보고, 다음에는 지난 해석을 깊게 파는 쪽에 걸지 아니면 새로운 탐색에 걸지를 정합니다. 그리고 그 선택에 남은 횟수를 배분합니다. 예산이 넉넉할 때는 탐색에 조금 더 쓸 수 있고, 예산이 바닥에 가까워지면 지금까지 먹힌 쪽에 몰아줄 수 있는데요. 말로 하면 쉬워 보이지만, 매 시도마다 이 판단을 갱신해야 한다는 점에서 손이 많이 가는 일입니다.
여기서 한 가지 오해를 바로잡고 싶습니다. VEX^2는 반성문을 더 예쁘게 쓰는 기술이라기보다 운영의 재주에 가깝습니다. 문장을 다듬는 재주보다, 언제 그 문장을 믿고 언제 의심할지를 정하는 감각이 앞선다는 뜻이죠. 그래서 저는 이 방법을 메모 기술의 연장선이라기보다 메모를 쓰는 방법들을 고르는 한 층 위의 장치로 읽었습니다. 같은 반성을 갖고 있어도, 예산 배분이 다르면 결과가 달라질 수 있다는 것을 보여주기 때문입니다.
그렇다면 이 감독이 있는 팀과 없는 팀의 성적 차이는 실제로 얼마나 났을까요. 숫자는 다음 장면에서 다룹니다.
여섯 번의 시험에서 끝까지 플러스를 지킨 방법은 왜 하나였을까
평가의 결론은 꽤 또렷합니다. VEX^2는 기억 없는 재시도와 견줬을 때 여섯 가지 설정 모두에서 플러스의 성공률 변화를 관찰한 유일한 방법이었습니다. 세 가지 모델과 두 가지 과제라는 서로 다른 조건에서도 방향이 꺾이지 않았다는 뜻인데요. 다른 verbal memory 방법들이 어떤 설정에서는 오르고 어떤 설정에서는 내려갔던 것과 비교하면, 이 일관성이 눈에 띕니다.
저는 이 숫자를 그대로 믿기 전에 조건을 먼저 봅니다. 여섯 가지 설정이라는 말은 세 모델 곱하기 두 과제라는 뜻이고, 예산이 고정된 상태에서의 관찰이라는 단서가 붙어 있기 때문입니다. 예산을 풀면 순위가 달라질 수 있고, 모델이나 과제가 바뀌면 또 달라질 수 있습니다. 그럼에도 모든 설정에서 마이너스가 없었다는 기록은 가볍게 넘기기 어렵습니다. 반성의 내용을 고치는 대신 반성을 쓰는 타이밍과 비중을 조절한 쪽이 더 고르게 살아남았다는 해석이 가능하기 때문입니다.
개인적으로 인상 깊었던 점은, 이 방법이 반성을 버리는 대신 경험을 언제 믿을지를 조절하면서 탐색의 자리를 남겼다는 것입니다. 오답 노트를 찢어버리는 대신, 오답 노트를 펼치는 시간과 덮는 시간을 정한 셈이죠. 그래서 저는 이 결과를 반성 무용론이 아니라 반성 운영론으로 읽었습니다.
문제는 그다음입니다. 여섯 설정에서의 일관성이 현장의 배포 결정으로 바로 이어질 수 있을까요. 그 간격을 메우려면 시스템을 봐야 합니다.

같은 예산을 어디에 쓸지 고르는 일이 왜 실력일까
컴퓨터 조작 에이전트를 실제로 굴려보면 시도 한 번이 공짜가 아니라는 것을 금방 알게 됩니다. 모델 호출에 돈이 들고 시간이 들고, 화면을 잘못 건드리면 되돌리는 데 품이 듭니다. 그래서 몇 번 안에 끝내야 한다는 예산은 논문의 장치를 넘어 현장의 상수에 가깝습니다. 저는 그래서 VRL-Bench가 예산을 고정한 선택을 현장 친화적이라고 봤습니다.
이 관점에서 보면 VEX^2의 발상은 비용 구조와 잘 맞물립니다. 무작정 다시 시도하는 것은 탐색이 살아 있지만 예산을 허공에 쓸 때가 많고, 반성만 붙잡는 것은 예산을 아끼는 듯 보이지만 한 번 빗나가면 여러 번을 함께 날립니다. 남은 횟수를 보면서 둘을 섞는 스케줄러는 이 낭비를 줄이는 쪽에 가깝습니다. 예산이 줄수록 한 번의 선택이 무거워지는데, 그 무게를 매 시도마다 다시 재는 것이죠.
실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 스케줄러를 돌리는 데 드는 추가 호출 비용은 어떻게 될까요. 정책을 고르고 예산을 나누는 판단을 언어 모델이 맡는다면, 그 판단 자체가 시도 횟수와 토큰을 먹을 수 있기 때문입니다. 논문이 보여주는 성공률의 플러스가 그 운영 비용까지 포함한 플러스인지는 따로 따져봐야 합니다. 저는 이 지점을 앞으로 보고 싶은 것 중 하나로 적어두었습니다.
그렇다면 이 연구가 깔아둔 시험대는 얼마나 현장과 가까울까요. MiniWoB와 WebShop이라는 두 이름부터 들여다볼 필요가 있습니다.
단순한 버튼 과제와 쇼핑몰 과제가 말해주는 것은 무엇일까
MiniWoB는 작고 단순한 웹 위젯 과제들로 알려져 있고, WebShop은 쇼핑몰에서 조건에 맞는 상품을 찾아 사는 과제입니다. 하나는 버튼 누르기와 입력 같은 기본 동작을 보고, 다른 하나는 검색과 비교와 선택이 얽힌 긴 과정을 보는데요. 짧은 조작과 긴 여정을 함께 본다는 점에서 조합이 괜찮습니다.
그런데 여기서 조금 의심이 생깁니다. 이 두 과제가 실제 업무 화면의 복잡함을 얼마나 대신할 수 있을까요. 로그인이 필요하고 팝업이 뜨고 권한이 걸린 화면에서는 에이전트의 헤맴이 더 길어질 수 있기 때문입니다. 시도 횟수가 같아도 과제 길이가 다르면 예산의 체감이 달라지죠. 다섯 번의 기회가 짧은 과제에서는 넉넉하지만, 스무 단계짜리 구매 여정에서는 빠듯할 수 있습니다.
그럼에도 저는 이 구성을 시작점으로 받아들입니다. 예산이 고정됐을 때 메모 방법이 조건에 따라 뒤집힌다는 사실만으로도, 시험대가 할 일은 했다고 보기 때문입니다. 모든 현장을 담지 못해도, 낙관을 깨는 데는 충분했던 셈이죠. (참고로 MiniWoB와 WebShop은 컴퓨터 조작 연구에서 자주 쓰이는 공개 과제인데요. 그래서 서로 다른 메모 방법들을 같은 선에 세우기에는 무리가 적습니다.)
그렇다면 이 결과를 갖고 실무자는 무엇을 해야 할까요. 다음 장면에서는 배포 전에 던져볼 질문들을 정리해 보겠습니다.

배포 버튼을 누르기 전에 무엇을 물어봐야 할까
이 논문을 실무로 가져가면 저는 먼저 세 가지를 묻고 싶습니다. 첫째는 우리 과제의 한 번 시도가 얼마나 비싼가입니다. 호출 비용과 지연과 되돌리기 비용을 합쳐보면, 몇 번의 예산이 합리적인지가 정해지는데요. 예산이 정해지면 질문도 바뀝니다. 메모를 쓸지 말지를 따지기보다 메모를 언제 펼칠지를 따지게 되는데요.
둘째는 실패의 종류입니다. 버튼 위치를 못 찾는 실패와 상품 조건을 잘못 읽는 실패는 반성의 쓰임이 다릅니다. 전자는 다시 보면 풀릴 때가 많아서 탐색이 잘 먹히고, 후자는 해석이 꼬이면 계속 꼬여서 반성의 품질이 성패를 가릅니다. 우리 로그에서 어떤 실패가 많은지를 보면, 탐색과 활용 중 어디에 무게를 둘지가 어렴풋이 보입니다.
셋째는 반성을 믿어도 되는 구간입니다. 저는 로그를 볼 때 반성문이 구체적인 화면 근거를 짚는지부터 봅니다. 어느 버튼에서 막혔고, 무엇을 바꿔보겠다는 말이 화면 상태와 맞물리는지를 확인하는 것이죠. 근거 없는 반성은 다음 시도를 좁히기만 하고, 근거 있는 반성은 다음 시도를 날카롭게 만듭니다. VEX^2 같은 스케줄러가 있다면, 이 근거의 유무를 예산 배분의 신호로 쓸 수 있을 것 같습니다.
여기까지 읽으면 이런 반문이 생길 수 있습니다. 결국 시도 횟수를 늘리면 되는 것 아닌가요. 맞습니다, 예산을 늘리면 많은 문제가 풀립니다. 하지만 예산을 늘리는 쪽은 비용이 선형으로 오르고, 스케줄러를 다듬는 쪽은 같은 예산에서 성공률을 올릴 여지가 있습니다. 저는 그래서 예산 증액과 운영 개선을 함께 보는 편이 좋다고 봅니다.
제가 앞으로 보고 싶은 것은 그다음 장면입니다
정리하는 마음으로 이 연구가 남긴 것을 다시 세어보겠습니다. 먼저 VRL-Bench라는 공정한 시험지를 깔고, verbal memory 방법들이 조건에 따라 오르내린다는 사실을 보였습니다. 그리고 반성을 쓰는 행위 자체가 탐색을 줄일 수 있다는 replay 관찰을 통해, 경험을 써먹는 일과 계속 헤매는 일 사이의 trade-off를 드러냈습니다. 끝으로 남은 예산을 함께 보는 VEX^2가 여섯 설정 모두에서 플러스를 지켰다는 관찰을 덧붙였는데요. 이 흐름은 메모의 문장을 고치는 일에서 메모를 쓰는 운영을 고치는 일로 시선을 옮깁니다.
그렇다면 다음 연구는 어디로 가야 할까요. 제가 앞으로 보고 싶은 것은 세 가지입니다. 하나는 더 긴 과제와 더 지저분한 화면에서의 검증입니다. 로그인과 팝업과 권한이 얽힌 화면에서도 스케줄러의 플러스가 이어지는지를 보고 싶습니다. 다른 하나는 스케줄러 자체의 비용을 포함한 비교입니다. 판단에 쓰는 호출까지 예산에 넣었을 때에도 같은 결론이 나오는지를 확인해야 합니다. 마지막 하나는 반성의 근거를 재는 방법입니다. 화면 상태와 맞아떨어지는 반성과 그렇지 않은 반성을 가르는 신호가 있다면, 예산 배분은 훨씬 날카로워질 수 있기 때문입니다.
이 논문이 남기는 감각을 한 문장으로 줄이면 이렇습니다. 실패를 글로 정리하는 일은 여전히 쓸모가 있지만, 그 쓸모는 언제 펼치고 언제 접느냐에 달려 있다는 것입니다. 저는 그래서 다음에 에이전트가 같은 화면을 빙빙 돌 때, 반성문을 더 예쁘게 쓰라고 다그치기보다 남은 기회를 어디에 쓸지를 먼저 물어볼 것 같습니다. 여러분은 에이전트의 다음 한 번을 어디에 거시겠습니까.
