엔비디아(NVIDIA)는 대규모 언어모델(LLM) 기반 에이전트 개발을 획기적으로 간소화할 수 있는 새로운 프레임워크 'NOOA'(NVIDIA-labs OO Agents)를 공개했습니다. NOOA는 에이전트의 복잡한 구성 요소를 파이썬(Python) 클래스 하나에 통합하여 정의할 수 있게 함으로써, 개발자들이 더 직관적이고 효율적으로 에이전트를 구축하고 관리할 수 있도록 돕습니다.
NOOA의 핵심은 파이썬 클래스의 필드를 에이전트의 '상태'로, 메서드를 '기능'으로, 독스트링(docstring)을 LLM에 전달할 '프롬프트'로, 그리고 타입 어노테이션(type annotation)을 '입출력 계약'으로 활용하는 방식입니다. 일반 파이썬 코드가 포함된 메서드는 그대로 실행되며, 본문이 비어있는 메서드는 LLM이 직접 코드를 생성하고 실행하는 '생성 메서드'가 됩니다. 이를 통해 개발자는 프롬프트, 도구 스키마, 콜백, 워크플로를 별도로 연결하는 번거로움을 줄일 수 있으며, 실제 파이썬 객체를 JSON 변환 없이 메서드 인수로 전달하고 타입 검증 실패 시 자동 재시도하는 기능도 제공합니다. Anthropic, OpenAI, Ollama 등 LiteLLM이 지원하는 다양한 모델을 선택할 수 있어 모델 독립적인 개발이 가능합니다.
이 프레임워크는 에이전트 개발의 복잡성을 줄여 생산성을 높이는 데 크게 기여할 것으로 보입니다. 에이전트도 일반 파이썬 코드처럼 테스트, 리팩터링, 버전 관리가 가능해지며, 결정론적 코드와 LLM의 생성 능력을 한 클래스 안에서 유연하게 조합할 수 있습니다. 또한, LLM이 생성한 코드가 파일 삭제나 정보 유출 같은 위험한 동작을 할 수 있음을 인지하고, 컨테이너, 가상 머신(VM), 엔비디아 오픈셸(NVIDIA OpenShell)과 같은 운영체제 수준의 샌드박스(sandbox)에서 실행할 것을 권장하여 보안에도 신경 썼습니다. NOOA는 LLM 호출과 코드 실행, 메서드 호출을 기본 추적하며, 브라우저 기반 트레이스 뷰어도 제공하여 개발자가 에이전트의 동작을 쉽게 디버깅할 수 있도록 지원합니다.