AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

내 AI 도구가 멈춰서 승인을 묻는 순간, 세 번째 루프가 돌고 있다

Claude Code나 Cursor 같은 코딩 에이전트를 쓰다 보면, 답을 술술 내놓다가 갑자기 멈춰서 “이 파일을 삭제해도 될까요?”라고 물어보는 순간이 있습니다. 방금까지 자율적으로 움직이던 도구가 왜 갑자기 사람 손을 기다릴까요. 개발자 bobbytables는 이걸 “에이전트 루프”라는 개념 하나로는 설명할 수 없다고 말합니다. 실은 세 개의 서로 다른 루프가 겹쳐서 돌고 있기 때문입니다.

사진 출처: bobbytables.io

“에이전트 루프”라는 말은 보통 단일한 반복문처럼 소개됩니다. 모델이 답을 하고, 도구를 쓰고, 다시 답을 하는 하나의 순환이라는 식이죠. 개발자 bobbytables는 이 설명이 지나치게 단순하다고 지적합니다. 실제로는 추론, 도구 실행, 승인이라는 세 개의 루프가 서로 다른 리듬으로 겹쳐 있고, 이 구조를 알면 에이전트가 왜 멈추고, 왜 여러 작업을 한 번에 처리하는지가 보인다는 겁니다.

출처: The Agentic Loop: Three loops in a trench coat – bobbytables.io

가장 바깥쪽, 말을 이어가는 루프

가장 바깥쪽에 있는 건 추론 루프(Inference Loop)입니다. 언어모델을 가장 단순하게 설명하면, 앞에 나온 텍스트를 보고 다음 토큰(단어를 이루는 조각)을 예측하는 기계입니다. 이 예측을 반복하면서 문장을 만들어가는 게 추론 루프의 역할입니다.

여기서 중요한 특징이 하나 있습니다. 대부분의 AI 모델 API는 이전 대화를 기억하지 못하는 구조입니다. 그래서 대화를 이어가려면 지금까지 나눈 모든 메시지를 매번 통째로 다시 보내야 합니다. 대화가 길어질수록 토큰을 더 빨리 소모한다는 안내 문구를 본 적 있다면, 바로 이 구조 때문입니다. 모델은 매번 백지에서 시작해 대화 기록 전체를 다시 읽는 셈입니다.

도구를 쓰기로 결정하는 루프

언어모델 자체는 텍스트를 예측할 뿐, 그 자체로는 아무 일도 하지 못합니다. 파일을 만들거나 이메일을 보내거나 웹을 검색하는 실질적인 동작은, 모델에 “도구”를 쥐여줘야 가능해집니다. 이 도구를 실제로 호출하고 그 결과를 다시 대화에 집어넣는 흐름이 두 번째 루프, 도구 루프(Tool Loop)입니다.

여기서 흥미로운 지점은 모델이 한 번의 응답에서 여러 도구를 한꺼번에 요청할 수 있다는 겁니다. 코드를 수정하면서 동시에 테스트를 돌리고 파일을 저장하는 식의 작업이 한 턴 안에서 처리되는 이유입니다. 다만 도구 이름이나 매개변수도 결국 모델이 예측해서 만들어낸 텍스트이기 때문에, 존재하지 않는 도구를 지어내거나 잘못된 값을 넘기는 경우도 생깁니다. 그래서 이 루프에는 요청이 실제로 유효한지 확인하고, 걸러내는 방어 장치가 함께 필요합니다.

코드 밖에 있는, 사람의 루프

세 번째는 승인 루프입니다. 앞의 두 루프와 다르게, 이 루프는 코드 안에서 자동으로 도는 반복문이 아닙니다. 도구를 실행해도 되는지, 사람이나 정해둔 규칙이 판단을 내릴 때까지 잠시 멈춰 기다리는 지점에 가깝습니다. 필자는 이 루프에 확정된 이름을 붙이길 망설이면서, “안전 루프(Safety Loop)”나 “제정신 루프(Sanity Loop)”라고 불러도 좋다는 농담 섞인 대안을 남겼습니다.

이메일을 보내는 도구를 에이전트가 호출하려는 순간을 떠올려보면 이해가 쉽습니다. 여기서 실행을 곧바로 진행하는 대신, 문자메시지를 보내거나 화면에 승인 버튼을 띄워 사람의 결정을 기다릴 수 있습니다. 승인되면 도구가 실제로 실행되고, 거부되면 그 결과가 다시 모델에 전달돼 다른 방향을 찾도록 유도합니다. Claude Code가 파일 삭제나 명령어 실행 전에 “진행할까요?”라고 묻는 순간이 바로 이 루프가 작동하는 지점입니다.

세 겹의 리듬을 알면 보이는 것

이 세 루프는 각기 다른 속도와 책임으로 돌아갑니다. 추론 루프는 대화가 끝날 때까지 계속 돌고, 도구 루프는 모델이 도구를 요청할 때만 그 안에서 짧게 실행되며, 승인 루프는 아예 코드 바깥, 사람의 판단이 개입하는 순간에만 나타납니다. 에이전트가 답답할 정도로 느려지거나, 예상과 다른 곳에서 멈춰 설 때 이 구조를 떠올리면 셋 중 어디서 병목이 생겼는지 가늠할 실마리가 됩니다. 겉보기엔 매끄럽게 이어지는 하나의 흐름처럼 보여도, 그 안에서는 성격이 다른 세 가지 순환이 동시에 맞물려 있는 셈입니다.


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다