계획이 어긋날 때 통째로 버리지 않는 법

확산 언어 모델로 에이전트 계획을 세우고 어긋난 부분만 골라 고치는 Plan-and-Patch를 구조와 수리 방식, 53.7%와 27.0%의 차이, 훈련 뒤 39-46% 속도 변화 중심으로 읽는다.

원문 논문 보기
'계획이 어긋날 때 통째로 버리지 않는 법' 기사 커버 이미지

Plan-and-Patch: Diffusion Language Models for Agentic Planning은 arXiv에 공개된 연구로 arXiv 번호 2610.10786으로 등록되어 있다. 원문 링크는 제목 아래에 걸어두었다.

이 연구가 내세우는 주장은 하나의 문장으로 정리된다. 긴 호흡의 에이전트 일을 위해서는 계획을 프로그램처럼 짜고 어긋난 부분만 앞뒤 문맥 안에서 골라 고치는 방식이 통째로 다시 쓰는 방식보다 낫다는 것인데, 이 글에서는 그 문제의식에서 출발해 확산 모델의 계획 방식과 부분 수리의 구조, 두 계획가의 대결 조건, 낯선 과제에서의 수리 성공률 차이, 훈련 뒤에 갈라진 속도, 그리고 운영 관점의 의미를 차례로 따라간다.

계획이 틀어질 때 왜 처음부터 다시 짤까

제가 이 논문에서 가장 흥미롭게 본 부분은 출발점의 솔직함이었다. 에이전트가 긴 일을 맡으면 처음 짠 계획이 끝까지 그대로 통하는 경우는 거의 없는데, 중간에 도구가 막히거나 결과가 예상과 달라지면 계획을 손봐야 한다. 그런데 우리가 쓰던 언어 모델은 글을 왼쪽에서 오른쪽으로 한 토큰씩 이어 쓰는 버릇이 있어서, 중간 한 칸이 어긋나면 그 뒤를 전부 다시 쓰는 쪽으로 기울기 쉽다. 멀쩡한 앞부분과 뒷부분까지 흔들리는 셈인데, 생각해보면 사람도 비슷하게 일하지 않는다. 요리하다 간을 잘못 맞췄다고 냉장고 정리부터 다시 하지 않듯이, 고장 난 대목만 손보면 되는 일이 많기 때문이다.

그렇다면 왜 에이전트는 통째로 다시 쓰는 쪽을 택해 왔을까. 이유는 모델의 글쓰기 순서에 있다. 왼쪽에서 오른쪽으로만 쓰는 모델은 앞 문장이 정해져야 다음 문장을 쓸 수 있고, 한 번 쓴 문장을 나중에 가운데만 도려내어 고치기가 구조적으로 어색하다. 앞에 쓴 내용이 뒤에 계속 영향을 주기 때문에, 중간을 바꾸면 뒤 전체를 다시 맞춰야 한다는 불안이 생긴다. 그래서 수리보다는 재생성이 기본값이 되었는데, 재생성은 매번 새로운 흔들림을 만든다. 잘 짜여 있던 뒷부분까지 바뀌고, 멀쩡하던 도구 호출 순서가 뒤집히며, 테스트에서는 통과하던 형식이 깨지기도 한다.

저는 여기서 멈칫했다. 저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 계획 수리도 같은 눈으로 봐야 하는데, 성공률이 몇 퍼센트 올랐는지만 보면 이야기의 절반을 놓치기 때문이다. 무엇을 보존하고 무엇을 다시 썼는지가 함께 보여야 수리의 성격을 알 수 있다. 앞뒤를 살린 채 가운데만 고치는 일과 전체를 새로 쓰는 일은 겉으로 보기에는 둘 다 고치기이지만, 운영에서 남기는 흔적이 전혀 다르지 않을까요.

왼쪽에서 오른쪽으로만 쓰는 글쓰기와 한 번에 펼치는 글쓰기

에이전트 계획을 이해하려면 먼저 글쓰기 순서의 차이를 봐야 한다. 우리가 익숙한 자기회귀 방식은 문장을 왼쪽에서 오른쪽으로 한 단어씩 이어 나간다. 첫 단어를 고르고, 그 다음 단어를 고르고, 다시 그 다음을 고르는 식인데, 이 방식은 매끄러운 문장을 뽑는 데에는 강하다. 다만 중간에 빈칸을 남겨두고 나중에 메우는 일에는 서툴다. 빈칸 앞뒤가 이미 정해져 있는데 가운데만 끼워 넣으려면 전체 흐름을 다시 맞춰야 하기 때문이다.

반면 확산 언어 모델은 다른 몸짓으로 글을 쓴다. 처음에는 자리에 마스크를 듬뿍 깔아두고, 그 마스크를 여러 개씩 한꺼번에 벗기면서 내용을 채운다. 병렬 unmasking이라는 표현이 바로 이 모습을 가리키는데, 왼쪽부터 차례로 쓰는 대신 전체 윤곽 안에서 여러 자리를 동시에 열어젖히는 셈이다. 그래서 앞뒤가 정해진 가운데 빈칸을 메우는 일이 상대적으로 자연스럽다. 앞 문장과 뒷 문장이 고정된 버팀목처럼 남아 있고, 그 사이에 들어갈 내용만 맞추면 되기 때문이다.

여기서 재미있는 질문이 생깁니다. 순서대로 쓰는 글이 매끄럽다면, 한 번에 펼치는 글은 어색하지 않을까. 처음에는 저도 그렇게 의심했는데, 계획처럼 뼈대가 분명한 글에서는 오히려 반대 현상이 나타난다. 계획은 소설이 아니라 시공 순서도에 가깝기 때문에, 전체 단계 수와 각 단계의 역할이 먼저 잡히면 가운데를 채우기가 수월하다. 1단계와 5단계가 정해져 있을 때 3단계를 맞추는 일은 백지에서 1단계를 짓는 일보다 훨씬 쉽다. 조건이 많을수록 자유도는 줄지만 정답의 윤곽은 또렷해지기 때문이다.

여러 단계를 잇는 프로그램 모양 계획에서 가운데 어긋난 부분이 표시된 그림
여러 단계를 잇는 프로그램 모양 계획에서 가운데 어긋난 부분이 표시된 그림

프로그램처럼 생긴 계획이 필요한 까닭

Plan-and-Patch가 말하는 계획은 막연한 다짐이 아니라 프로그램처럼 생긴 구조물이다. 하위 목표와 도구 사용, 중간 결과의 확인이 단계별로 얽혀 있어서, 어느 단계에서 무엇을 부르고 무엇을 받아야 하는지가 또렷하게 적힌다. 긴 호흡의 에이전트 일에서는 이런 뼈대가 있어야 중간 점검이 가능한데, 단계가 뭉뚱그려져 있으면 어디서 어긋났는지를 알 수 없기 때문이다. 어디서 어긋났는지 모르면 고칠 수도 없고, 그래서 구조화된 계획은 수리의 전제 조건에 가깝다.

생각해보면 사람도 비슷하게 배웁니다. 막연하게 열심히 하겠다는 다짐은 점검할 방법이 없지만, 월요일 오전에 재료를 주문하고 화요일에 시제품을 조립한다는 일정은 어긋난 지점을 바로 보여준다. 에이전트 계획도 마찬가지인데, 단계와 도구가 이름으로 적혀 있어야 실패의 주소가 생긴다. 3단계의 검색 결과가 비어서 4단계의 요약이 흔들렸다는 식으로 말이죠. 주소가 있어야 수리반을 보낼 수 있고, 주소가 없으면 집 전체를 허물고 다시 지을 수밖에 없다.

저는 이 대목에서 논문의 순서 감각이 좋다고 봤다. 계획을 잘 세우는 법부터 말하지 않고, 계획이 자주 어긋난다는 사실부터 받아들이기 때문이다. 긴 일에서는 처음부터 완벽한 계획을 뽑는 것보다 어긋난 뒤에 빨리 바로잡는 능력이 더 자주 쓰인다. 완벽한 설계도 한 장보다 고치는 손이 빠른 편이 현장에서는 낫다. 그렇다면 다음 질문은 자연스럽다. 고치는 손은 어떻게 빨라질 수 있을까. 이 질문이 다음 장면으로 이어진다.

왼쪽에서 오른쪽으로 쓰는 방식과 마스크를 한 번에 푸는 방식을 나란히 비교한 도식
왼쪽에서 오른쪽으로 쓰는 방식과 마스크를 한 번에 푸는 방식을 나란히 비교한 도식

통째로 고치지 않고 아픈 부분만 도려내는 법

이 연구가 제안하는 수리 방식은 말 그대로 아픈 부분만 도려내는 일이다. 계획 전체를 새로 뽑는 대신, 멀쩡한 앞부분인 prefix와 뒷부분인 suffix를 그대로 두고, 어긋난 가운데 영역만 다시 만든다. 앞뒤 문맥을 조건으로 걸고 가운데를 채우기 때문에, 앞부분의 도구 호출 기록과 뒷부분의 목표 구조가 그대로 살아남는다. 불필요한 변화를 만들지 않겠다는 선택인데, 저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. 무엇을 다시 쓰지 않았는지가 수리의 품질을 정하기 때문이다.

왜 이런 보존이 중요할까요. 에이전트 계획에서는 한 줄의 순서가 바뀌는 것만으로도 실행이 어긋나기 때문이다. 예를 들어 수요일 오후 창고 장면을 떠올려보자. 1단계에서 부품 목록을 받아오고, 2단계에서 불량품을 가려내고, 3단계에서 포장 박스를 호출하는 순서가 정해져 있는데, 2단계만 실패했다고 1단계부터 다시 짜면 멀쩡하던 목록 불러오기가 다른 방식으로 바뀌면서 뒤가 전부 흔들릴 수 있다. 목록 형식 하나가 달라지면 가려내는 기준도 다시 맞춰야 하고, 포장 호출도 덩달아 바뀐다. 그래서 고장 난 2단계만 앞뒤에 맞춰 다시 끼우는 편이 전체를 흔들지 않는 길이다. 앞뒤가 버팀목이 되어주면 가운데는 훨씬 안정적으로 들어맞는다.

문제는 그다음입니다. 앞뒤를 고정하면 가운데가 더 잘 맞을까, 아니면 오히려 옴짝달싹 못 하게 될까. 일반적인 상식으로는 조건이 많아지면 생성이 어려워질 것 같지만, 이 연구가 보여주는 방향은 반대다. 앞뒤가 분명할수록 가운데가 가야 할 길이 좁혀지기 때문에, 모델이 헤맬 여지가 줄어든다. 특히 확산 모델처럼 전체 윤곽 안에서 여러 자리를 함께 보는 방식에서는 이런 조건이 힘으로 작용한다. 왼쪽에서 오른쪽으로만 쓰는 버릇에서는 가운데 수리가 어색한 일이지만, 마스크를 함께 벗기는 버릇에서는 가운데 수리가 본업에 가까워지지 않을까요.

앞뒤를 고정한 채 가운데만 다시 만드는 수리 과정을 보여주는 확대도
앞뒤를 고정한 채 가운데만 다시 만드는 수리 과정을 보여주는 확대도

같은 크기 다른 방식으로 붙은 두 계획가

비교 조건을 분명히 해둘 필요가 있는데, 이 연구는 비슷한 크기의 두 계획가를 맞붙였다. 확산 쪽 계획가는 DreamReasoner-8B이고, 자기회귀 쪽 계획가는 Qwen3-8B이다. 이름에서 드러나듯 둘 다 8B급이라서 크기에서 오는 힘의 차이를 어느 정도 덜어내고 글쓰기 방식의 차이를 보려는 배치다. 같은 일을 시키고 같은 잣대로 재는데, 글을 쓰는 순서만 다른 셈이죠. 이런 맞춤 대결은 해석을 깔끔하게 만든다. 차이가 나면 크기 탓으로 돌리기 어렵기 때문이다.

여기서는 조금 조심해서 읽을 필요가 있다. 모델 이름이 다르다는 것은 학습 데이터와 다듬는 과정도 다르다는 뜻이기 때문이다. 크기만 같다고 모든 조건이 같은 것은 아니죠. 그럼에도 이 대결이 의미 있는 이유는 질문이 분명하기 때문이다. 낯선 과제에서 아무런 추가 훈련 없이 수리를 시켰을 때, 가운데를 메우는 몸짓에 익숙한 쪽이 실제로 더 잘 버티는지를 묻는다. 크기가 아니라 버릇을 묻는 질문인데, 이런 질문에는 이런 대결이 어울린다.

실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 8B급에서의 차이가 더 큰 크기에서도 그대로 이어질까. 저는 이 질문을 절반만 들고 가려 한다. 크기 경쟁이 아니라 방식의 성질을 보는 실험이기 때문에, 숫자를 그대로 외워서 다른 크기에 붙이면 안 된다. 다만 방향은 기억해둘 만하다. 가운데를 고치는 일이 잦은 에이전트라면, 가운데 고치기에 익숙한 몸을 가진 쪽이 유리할 수 있다는 방향이죠. 그렇다면 낯선 과제에서의 수리 점수는 어떻게 갈렸을까. 이제 숫자를 들여다볼 차례다.

같은 지시를 받고 다르게 움직이는 순차형과 병렬형 계획가의 모습
같은 지시를 받고 다르게 움직이는 순차형과 병렬형 계획가의 모습

훈련 없이 고쳐보기만 시켰을 때 벌어진 일

가장 눈에 띄는 장면은 과제 전용 훈련 없이 수리를 시킨 대목이다. Natural Plan이라는 과제 묶음에서 확산 계획가는 53.7%의 수리 성공률을 기록했고, 자기회귀 계획가는 27.0%에 머물렀다. 거의 두 배에 가까운 차이인데, 숫자 자체보다 조건이 중요하다. 따로 가르치지 않은 낯선 과제에서, 어긋난 계획을 받아 가운데만 고쳐보라고 했을 때의 점수이기 때문이다. 처음 보는 일터에 들어가서 고장 난 기계만 골라 고치는 시험에 가깝다.

이 차이를 어떻게 읽어야 할까. 표면적으로 보면 단순합니다. 실제로는 그렇지 않습니다. 수리 성공률이 두 배라는 것은 단순히 맞춘 개수가 많다는 뜻을 넘어서, 앞뒤를 살리면서 가운데를 맞추는 일이 체질적으로 다르다는 신호이기 때문이다. 왼쪽에서 오른쪽으로만 쓰는 쪽은 가운데를 고치라는 지시를 받아도 결국 뒤를 다시 쓰는 쪽으로 흐르기 쉽다. 그러다 보면 멀쩡하던 뒷부분까지 새로 지어지면서 실패의 씨앗이 늘어난다. 반면 마스크를 함께 벗기는 쪽은 앞뒤를 버팀목으로 삼아 가운데만 맞추는 데에 익숙하다. 조건이 곧 힘이 되는 셈이죠.

개인적으로 인상 깊었던 점은, 이 차이가 훈련 없이 더 또렷하게 드러났다는 것이다. 가르치지 않았을 때의 점수는 모델이 원래 가진 몸짓을 보여준다. 훈련 뒤의 점수는 가르침의 효과까지 섞여서 몸짓의 차이가 가려질 수 있는데, 낯선 상태에서의 53.7%와 27.0%는 버릇의 차이를 그대로 보여준다. 물론 여기서 성급하게 일반화하면 안 된다. 하나의 과제 묶음에서 본 경향이 모든 종류의 계획에 통한다고 말할 수는 없기 때문이다. 그럼에도 에이전트처럼 중간 점검이 잦은 일에서는 이 장면이 꽤 오래 기억에 남는다. 현장에서는 낯선 실패가 매일 나오니까요.

낯선 과제에서 수리 성공률이 두 막대로 갈라지는 개념도
낯선 과제에서 수리 성공률이 두 막대로 갈라지는 개념도

훈련을 마친 뒤에 속도가 갈라진 지점

이야기는 훈련 뒤에 다른 방향으로 이어진다. ALFWorld와 TextCraft라는 에이전트 과제 묶음에서 과제 전용 훈련을 마친 뒤에는 두 계획가의 계획 생성 성공률이 비슷한 수준으로 모였다. 가르치고 나면 둘 다 계획을 짜는 일 자체는 비슷하게 해낸다는 뜻인데, 저는 이 대목이 오히려 논문을 정직하게 만든다고 봤다. 확산 방식이 모든 면에서 앞선다는 식으로 밀어붙이지 않았기 때문이다. 생성의 성공률에서는 비겼다고 분명히 말한 뒤에, 갈라진 지점을 따로 짚는다.

갈라진 지점은 계획을 뽑는 데 걸리는 시간이다. 평균 계획 생성 latency가 확산 쪽에서 자기회귀 쪽보다 39%에서 46%만큼 줄었다. 범위로 적힌 이유는 과제 묶음마다 줄어든 폭이 조금씩 달랐기 때문인데, ALFWorld와 TextCraft라는 서로 다른 일터에서 비슷한 방향의 이득이 나왔다는 점이 눈에 띈다. 거의 절반에 가까운 단축이니 체감이 작지 않다. 에이전트가 한 번 움직일 때마다 계획을 뽑아야 한다면, 이 단축은 걸음마다 쌓인다.

그렇다면 왜 이런 속도 차이가 날까. 이유는 글쓰기 순서로 돌아간다. 왼쪽에서 오른쪽으로 쓰는 방식은 단계가 길어질수록 차례를 기다리는 시간이 늘어난다. 스무 단계를 쓰려면 스무 번의 차례가 필요하기 때문이다. 반면 여러 자리를 함께 열어젖히는 방식은 차례를 묶어서 처리할 수 있어서 단계가 길어져도 기다림이 같은 비율로 늘지 않는다. 계획처럼 길고 뼈대가 분명한 글에서는 이 묶음 처리의 이득이 커진다. 한 번의 기다림으로 여러 자리를 함께 정할 수 있으니까요. 그래서 성공률은 비슷해졌는데 속도는 갈라진 것인데, 이 갈라짐은 우연이 아니라 몸짓에서 온 것이다.

빠르다는 말이 싸다는 말과 같은 뜻일까

여기서 한 가지 오해를 미리 걷어낼 필요가 있다. latency가 줄었다는 말이 곧바로 비용이 줄었다는 뜻은 아니기 때문이다. 시간과 비용은 닮았지만 같은 잣대가 아니다. 어떤 방식은 wall clock 시간은 짧아도 한 번에 많은 계산을 쏟아붓고, 어떤 방식은 시간은 길어도 계산을 조금씩 나눠 쓴다. 처리량과 지연, FLOPs와 체감 속도가 따로 노는 경우가 많아서, 39%에서 46%라는 숫자를 그대로 돈으로 환산하면 어긋난다. 저는 이 숫자보다 그 뒤의 조건이 더 중요하다고 봅니다. 무엇을 재었는지를 알아야 숫자가 말이 되기 때문이다.

이 연구가 잰 것은 평균 계획 생성 latency라는 점에 주목해야 한다. 전체 에이전트 실행 시간이 아니라 계획을 뽑는 구간의 평균 기다림이다. 이 구간이 짧아지면 에이전트의 다음 행동이 빨리 정해지고, 도구 호출 사이의 멈칫거림이 줄어든다. 특히 실패 뒤에 수리가 자주 일어나는 일에서는 이 효과가 곱절로 쌓인다. 고칠 때마다 기다림이 짧으면 복구가 빨라지고, 복구가 빨라지면 전체 일의 리듬이 산다. 반대로 계획 짜는 시간이 전체 실행에서 작은 조각에 불과한 일에서는 이 이득이 전체 체감으로 크게 번지지 않을 수도 있다.

좋은 건 알겠는데, 이걸 실제로 어떻게 서빙할까요. 이 질문이 운영자의 자리에서는 가장 먼저 나온다. 병렬로 마스크를 벗기는 방식은 차례를 묶는 대신 한 번에 펼쳐 보는 메모리를 더 쓸 수 있고, 배치로 묶을 때의 효율도 다르게 걸린다. 그래서 latency가 줄었다는 결과는 출발점이지 결론이 아니다. 어떤 하드웨어에서, 어떤 배치 크기에서, 어떤 길이의 계획을 뽑을 때 그 단축이 유지되는지를 따로 물어야 한다. 저희 팀이 새로운 구조를 볼 때 늘 함께 보는 대목이 바로 여기다. 숫자의 방향은 반갑게 받되, 그 숫자가 우리 일터에서도 같은 모양으로 나올지는 따로 확인해야 하지 않을까요.

살아 있는 에이전트 순환에서 기다림이 줄어드는 모습을 담은 장면
살아 있는 에이전트 순환에서 기다림이 줄어드는 모습을 담은 장면

이 결과를 너무 크게 읽으면 놓치는 것들

이제 논문을 좋아하는 마음은 잠시 접어두고, 너무 크게 읽지 않기 위한 점검을 해보려 한다. 첫째로 물을 점은 과제 묶음의 성격이다. Natural Plan에서의 수리 성공률 차이는 분명하지만, 그 묶음이 모든 종류의 에이전트 실패를 대표하지는 않는다. 계획의 길이나 도구의 얽힘, 실패가 일어나는 위치가 달라지면 수리의 난이도도 달라진다. 가운데만 고치면 되는 실패가 많은 묶음에서는 부분 수리가 유리해 보이고, 앞 설계부터 틀린 실패가 많은 묶음에서는 통째로 다시 짜는 편이 나을 수도 있다.

둘째로 물을 점은 성공의 정의다. 계획 생성 성공률이 비슷해졌다는 말과 수리 성공률이 두 배라는 말은 같은 성공을 재는 것이 아니다. 하나는 처음부터 계획을 뽑아내는 시험이고, 다른 하나는 어긋난 계획을 받아 고치는 시험이다. 두 시험의 채점 조건과 허용된 시도가 어떻게 정해졌는지를 알아야 숫자의 무게를 알 수 있다. 점수만 외워서 다른 일터에 그대로 붙이면 어긋나기 쉬운데, benchmark 숫자를 볼 때마다 조건을 함께 읽어야 하는 이유가 바로 여기 있다.

셋째로 물을 점은 비교 대상의 폭이다. 8B급 두 모델의 대결은 글쓰기 방식의 차이를 보기에 좋은 배치이지만, 세상의 모든 자기회귀 계획가가 같은 점수를 낼 것이라는 뜻은 아니다. 학습 내용과 다듬기 방식, 계획 형식에 대한 익숙함이 달라지면 점수는 움직인다. 그럼에도 저는 이 한계를 이유로 결과를 가볍게 보지는 않는다. 낯선 과제에서 53.7%와 27.0%로 갈라진 장면은 조건을 좁혀 읽어도 남는 질문이 있기 때문이다. 가운데를 메우는 몸짓이 수리에 어울린다는 질문인데, 이 질문 자체는 과제 묶음이 바뀌어도 계속 물을 만하지 않을까요. (참고로 저는 숫자를 볼 때면 항상 조건부터 다시 읽는 편인데, 이번에도 예외가 아니었습니다.)

그래서 에이전트의 다음 설계도는 어디로 향할까

마지막 장에서는 논문이 남긴 빈칸을 정리해보려 한다. 계획과 행동을 나누는 plan-and-act라는 뼈대는 이제 꽤 익숙해졌는데, 이 연구는 그 뼈대 위에 어떤 계획가를 앉힐지를 묻는다. 처음부터 끝까지 순서대로 쓰는 계획가와, 윤곽 안에서 여러 자리를 함께 보는 계획가를 같은 자리에 앉혀본 셈이다. 결과는 한쪽의 완승이 아니라 역할의 갈라짐에 가깝다. 낯선 실패 앞에서는 고치는 손이 갈라졌고, 가르친 뒤에는 뽑는 속도가 갈라졌다.

제가 앞으로 보고 싶은 것은 세 가지인데, 첫째는 실패의 주소가 더 다양해졌을 때의 모습이다. 가운데 한 군데만 아픈 실패가 아니라 여러 군데가 동시에 어긋난 실패, 앞 설계부터 다시 봐야 하는 실패까지 섞어놓으면 부분 수리의 이득이 어디까지 이어질지 궁금하다. 둘째로 보고 싶은 것은 도구와의 만남이다. 계획만 잘 뽑는 것과 도구를 부르면서 끝까지 밀고 가는 것은 다른 일인데, 수리된 계획이 실제 실행 성공으로 얼마나 이어지는지를 더 촘촘히 보고 싶다. 셋째로 보는 것은 기다림의 분포인데, 평균 latency가 줄었다는 말 뒤에 가려진 긴 꼬리가 있는지, 가장 느린 경우도 함께 빨라졌는지를 확인하고 싶다. 평균은 친절하지만 가끔은 거짓말을 하니까요.

돌아보면 처음 질문은 단순했다. 어긋난 계획을 매번 처음부터 다시 써야 하는가. 답도 단순해졌다. 앞뒤가 멀쩡하다면 가운데만 골라 고치는 편이 낫고, 그 일에는 함께 펼쳐 보는 몸짓이 어울린다는 것이다. 53.7%와 27.0%라는 짝지은 숫자와 39%에서 46%라는 속도 범위는 그 답을 숫자로 말해준다. 앞으로 에이전트가 더 오래 일하고 더 많은 도구를 만질수록, 계획을 뽑는 힘만큼이나 고치는 손의 모양이 중요해질 것 같다. 그렇다면 사람의 역할은 무엇일까. 저는 실패의 주소를 정확히 찍어주는 일, 즉 어디가 아픈지를 빨리 알려주는 설계가 다음 차례라고 봅니다.

참고 자료

  1. Plan-and-Patch: Diffusion Language Models for Agentic Planning · arxiv.org

    리뷰 원문