최근 대규모 언어 모델(LLM)의 활용이 증가하면서, 복잡한 작업을 수행하기 위한 에이전트 프레임워크의 중요성이 커지고 있습니다. 이러한 흐름 속에서 러스트(Rust) 언어로 개발된 재귀적 언어 모델(RLM) 프레임워크인 '타이니 에이전트(TinyAgents)'가 공개되어 주목받고 있습니다. 이 프레임워크는 LLM이 스스로 하위 에이전트를 정의하고 조정하는 방식으로 작동하며, 기존 에이전트 프레임워크의 한계를 극복하려는 시도를 담고 있습니다.
타이니 에이전트는 MIT CSAIL의 연구 논문 'Recursive Language Models'에서 제시된 아이디어를 기반으로 합니다. 기존 에이전트 프레임워크들이 모든 정보를 하나의 거대한 컨텍스트 창에 밀어 넣어 모델이 처리하도록 하는 반면, RLM은 긴 프롬프트를 모델이 탐색하고 분해하여 재귀적으로 하위 모델을 호출하는 방식으로 접근합니다. 이는 '컨텍스트 로트(context rot)' 문제를 완화하고, 실제 유효 컨텍스트가 원시 컨텍스트 창의 한계를 뛰어넘도록 돕습니다. 타이니 에이전트는 이러한 RLM 실행 모델을 러스트 환경에 맞춰 구현했으며, 에이전트가 다른 에이전트를 호출하는 '하위 에이전트(Sub-agents)', 재귀 호출 깊이 추적, 그래프 내 그래프 실행, 그리고 모델이 스스로 워크플로우를 작성하고 컴파일하여 실행하는 '자기 저작(Self-authoring)' 기능 등을 제공합니다.
이 프레임워크는 랭그래프(LangGraph)와 랭체인(LangChain)에서 영감을 받았지만, 러스트 기반의 트랜스파일러를 통해 온디맨드(on-demand) LLM 그래프를 구축할 수 있게 합니다. 또한, 제공자 중립적인 모델 호출, 유형화된 도구(typed tools), 미들웨어, 구조화된 출력, 스트리밍, 사용량/비용 회계, 재시도 및 제한, 응답 캐싱, 메모리/임베딩 등 다양한 기능을 포함합니다. 특히, .rag(선언적 설계도)와 .ragsh(명령형 REPL) 두 가지 언어를 통해 동일한 런타임에서 그래프와 하네스(harness) 유형을 구성할 수 있어 유연성을 더합니다. 타이니 에이전트는 현재 오픈휴먼(openhuman) 프로덕션 환경에서 사용되고 있으며, 복잡한 LLM 기반 시스템을 구축하려는 개발자들에게 견고하고 효율적인 대안을 제시할 것으로 기대됩니다.