최근 대규모 언어모델(LLM)이 단순히 텍스트를 생성하는 것을 넘어, 복잡한 작업을 스스로 계획하고 실행하는 에이전트(agent)로 진화하고 있습니다. 이러한 진화의 핵심에는 LLM이 코드를 활용해 다양한 도구 호출을 조합하고 조율하는 방식인 '코드모드(Codemode)'가 있습니다. 코드모드는 기존의 명령줄 인터페이스(CLI)나 셸 스크립트(bash) 환경을 넘어서, LLM을 제어하는 하네스(harness) 내부에서 직접 코드를 실행하여 더욱 유연하고 강력한 작업 처리 능력을 제공합니다.
코드모드의 대표적인 구현 사례는 Pi(파이) 에이전트에서 찾아볼 수 있습니다. Pi는 자바스크립트(JavaScript)를 실행하는 별도의 샌드박스 환경을 통해 코드모드를 지원합니다. 이 샌드박스는 네트워크, 파일 시스템 접근을 제한하고 RAM도 통제하여 보안성과 안정성을 확보합니다. 코드모드를 사용하면 LLM 컨텍스트(context)에 모든 중간 결과를 넣지 않고도 병렬 호출, 반복 처리, 호출 간 상태 보존이 가능해집니다. 예를 들어, 수백 개의 GitHub 이슈를 병렬로 분석하거나, 게임 디버깅처럼 연속적인 상호작용이 필요한 복잡한 시나리오를 효과적으로 처리할 수 있습니다. 또한, 이미지 생성이나 분류 모델 호출과 같은 내부 모델 API도 코드모드를 통해 직접 활용할 수 있어, 에이전트의 기능 확장이 용이합니다.
코드모드는 LLM 에이전트의 잠재력을 극대화하는 중요한 전환점입니다. 기존 CLI 방식은 실행 가능한 프로그램 조합에 적합했지만, 이미지 페이로드 전달이나 하위 에이전트 제어처럼 하네스가 직접 관여해야 하는 작업에는 한계가 있었습니다. 코드모드는 이러한 한계를 극복하고, LLM이 마치 프로그래밍 언어 런타임의 한 참여자처럼 동작하게 함으로써 더욱 정교하고 자율적인 에이전트 시스템 구축을 가능하게 합니다. 아직 구조화된 결과, 대용량 바이너리 지원, 여러 서버에 걸친 도구 검색, 실행 내구성 등 해결해야 할 과제들이 남아있지만, 하네스 내부에서 유용한 작업 조합 패턴으로서 앞으로 LLM 에이전트 개발의 핵심 트렌드가 될 것으로 예상됩니다.