AI 에이전트 워크플로우 진화: 이제 모델이 스스로 작업을 나눈다
에이전트 자동화는 "누가 작업 흐름을 짜는가"를 기준으로 세 단계로 발전해왔다. 첫 번째인 Ralph는 별도의 작업 구조 없이 같은 프롬프트로 반복 루프(bash loop)만 돌리며, 매 반복마다 새로운 문맥에서 다시 시작한다. 두 번째인 Code은 사람이 작업 흐름을 한 번 직접 짜두면 에이전트가 그 흐름을 따라 실행하는 방식이다. 세 번째 단계가 RLM(Recursive Language Model)으로, MIT CSAIL 연구진(Zhang, Kraska)이 발표한 개념이다.
이 방식에서는 모델 스스로 주어진 문맥을 하나의 환경으로 보고 작업을 잘게 나눈 뒤 자기 자신을 재귀적으로 호출해 처리한다. 즉 작업을 누가 나누느냐가 "아무도 안 함 → 사람 → 모델"로 옮겨가고 있다는 것이 핵심 주장이다. 글쓴이는 이 마지막 단계, 즉 모델이 스스로 작업을 나누는 기능을 recurse()라는 함수로 구현한 무료 오픈소스 라이브러리 bareagent를 만들었다고 밝힌다. recurse()는 작업을 분해(de)하고, 여러 하위 작업으로 나눠 동시에 처리()한 뒤, 검증(verify)하고 결과를 합치는(synthesize) 4단계로 동작한다.
모델에게는 spawn_child라는 도구가 주어지며, 작업을 더 나눌지 말지는 모델이 직접 판단한다. 나뉜 하위 작업(자식)마다 새로운 문맥 창을 받아 자신의 하위 작업만 처리하고, 결과는 {result, }(결과와 판정) 또는 처리 실패를 뜻하는 {incomplete} 형태로 반환된다. 이 라이브러리는 RLM 논문의 파이썬 REPL 방식 그대로가 아니라 그 개념(패턴)만 구현한 것이라고 글쓴이는 스스로 명확히 밝힌다.
핵심 포인트
- Ralph: 작업 구조 없이 같은 프롬프트를 반복 실행하며 매번 문맥을 초기화하는 방식
- Code: 사람이 미리 짠 작업 흐름을 에이전트가 따라가는 방식
- RLM: 모델이 스스로 작업을 나누고 재귀적으로 자신을 호출하는 방식(MIT CSAIL 논문)
- bareagent의 recurse()는 분해→분산처리→검증→합성 4단계로 이 패턴을 구현한 무료 오픈소스 JS 라이브러리
- 원 논문의 파이썬 REPL 방식이 아니라 RLM의 개념(패턴)만 구현했다고 저자가 직접 밝힘