OpenRath: 에이전트 시스템을 위한 세션 중심 런타임 상태 (Session-Centered Runtime State)
요약
OpenRath는 파편화된 에이전트 시스템의 상태 관리 문제를 해결하기 위해 세션 중심의 런타임 모델을 제안합니다. 세션을 일급 객체로 취급하여 에이전트의 실행 상태를 분기, 검사, 재생 및 조합할 수 있는 PyTorch 스타일의 프로그래밍 모델을 제공합니다.
핵심 포인트
- 세션을 일급 런타임 값으로 정의하여 상태 관리의 일관성 확보
- 분기, 병합, 재생을 외부 추적이 아닌 명시적 런타임 연산으로 처리
- 대화 기록, 도구 효과, 메모리 이벤트 등을 통합하는 세션 추상화
- 샌드박스, 도구, 에이전트 등 구성 요소를 통한 감사 가능한 시스템 구축
현대적인 에이전트 시스템은 종종 파편화된 런타임 상태(runtime state)로 인해 어려움을 겪습니다. 대화 기록(transcripts), 도구 효과(tool effects), 메모리 이벤트(memory events), 워크스페이스 배치(workspace placement), 분기 기원(branch provenance), 그리고 재생 증거(replay evidence) 등이 각각 별도로 기록되어 검사하거나 재현하기가 어려워집니다. OpenRath는 멀티 에이전트(multi-agent), 멀티 세션(multi-session) 시스템을 위한 PyTorch 스타일의 프로그래밍 모델을 통해 이 문제를 해결합니다. 이 비유는 텐서 계산(tensor computation)이 아닌, 중앙의 일급(first-class) 런타임 추상화(runtime abstraction)의 역할에 관한 것입니다. 핵심 추상화는 에이전트와 워크플로(workflows) 사이에서 전달되는 런타임 값인 세션(Session)입니다. 세션은 분기 가능(branchable)하고, 검사 가능(inspectable)하며, 재생 가능(replayable)하고, 백엔드 인식(backend-aware)이 가능하며, 조합 가능(composable)합니다. 세션은 대화 청크(conversation chunks), 샌드박스 배치(sandbox placement), 계보 메타데이터(lineage metadata), 토큰 사용량(token usage), 대기 중인 작업(pending work), 그리고 도구 증거(tool evidence)를 기록하는 동시에, 메모리 상호작용이 런타임 기록에 진입하는 위치를 정의합니다. 이러한 상태는 프로그램 실행에 사용되는 것과 동일한 값에 의해 전달되므로, 포크(fork), 병합(merge), 재생(replay)은 외부 추적(external traces)으로부터 재구성된 상태가 아니라 명시적인 런타임 연산(runtime operations)이 됩니다. OpenRath는 추가적으로 샌드박스(Sandbox), 도구(Tool), 에이전트(Agent), 메모리(Memory), 워크플로(Workflow), 그리고 셀렉터(Selector)를 정의하며, 셀렉터는 제어 흐름(control flow)을 런타임 라우팅 결정(runtime-routed decisions)으로 전환합니다. 본 보고서는 프로그래밍 모델, 아키텍처, 감사된 마일스톤(audited milestones), 그리고 증거 프로토콜(evidence protocol)을 제시합니다. 본 논문의 주장은 통제된 런타임 속성에 국한되며, 광범위한 정량적 비교, 라이브 제공자 품질(live-provider quality), 선택적 백엔드 가용성(optional-backend availability), 그리고 메모리 품질은 후속 평가로 남겨둡니다. 핵심 논지는 세션(Session)이 에이전트 시스템에 감사 가능한 조합(auditable composition)을 위한 일급 런타임 값(first-class runtime value)을 제공한다는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기