에이전트 런타임 아키텍처
PRX 에이전트 런타임은 모든 자율 에이전트 동작을 구동하는 핵심 실행 엔진입니다. 에이전트 세션의 생명주기를 관리하고, 도구 디스패치를 조정하며, 스트리밍 응답을 처리하고, 리소스 제한을 적용합니다.
아키텍처 개요
런타임은 각 에이전트 세션이 격리된 실행 컨텍스트에서 실행되는 이벤트 기반 아키텍처를 기반으로 구축됩니다. 주요 구성 요소는 다음과 같습니다:
- Session Manager -- 활성 에이전트 세션을 생성하고 추적합니다
- Agent Loop -- LLM 응답을 처리하고 도구 호출을 실행하는 중앙 디스패치 루프
- Memory Layer -- 턴 간 컨텍스트 리콜 및 압축을 제공합니다
- Tool Registry -- 사용 가능한 도구와 권한 정책을 관리합니다
┌─────────────────────────────────────────┐
│ Session Manager │
│ ┌───────────┐ ┌───────────┐ │
│ │ Session A │ │ Session B │ ... │
│ │ ┌───────┐ │ │ ┌───────┐ │ │
│ │ │ Loop │ │ │ │ Loop │ │ │
│ │ │ Memory│ │ │ │ Memory│ │ │
│ │ │ Tools │ │ │ │ Tools │ │ │
│ │ └───────┘ │ │ └───────┘ │ │
│ └───────────┘ └───────────┘ │
└─────────────────────────────────────────┘실행 모델
각 에이전트 세션은 요청-응답 주기를 따릅니다:
- 사용자 입력 수신 -- 텍스트 메시지, 도구 결과 또는 시스템 이벤트
- 컨텍스트 구성 -- 시스템 프롬프트, 메모리, 대화 기록 조합
- LLM 추론 -- 설정된 프로바이더에서 응답 스트리밍
- 도구 디스패치 -- LLM이 도구 호출을 생성하면 샌드박스에서 실행
- 루프 또는 반환 -- 도구가 호출된 경우 루프를 계속하거나, 최종 응답을 반환
설정
런타임 동작은 config.toml에서 조정할 수 있습니다:
toml
[agent]
max_turns = 50
max_tool_calls_per_turn = 10
session_timeout_secs = 3600
stream_buffer_size = 64
[agent.limits]
max_concurrent_sessions = 8
max_memory_mb = 512프로세스 격리
에이전트 세션은 장애 격리를 위해 별도의 프로세스에서 선택적으로 실행할 수 있습니다. 프로세스 격리 실행 모델에 대한 자세한 내용은 Session Worker를 참조하세요.
관련 페이지
- Agent Loop -- 도구 디스패치, 스트리밍, 메모리 리콜
- Sub-agents -- 동시성 제어로 자식 에이전트 생성
- Session Worker -- 프로세스 격리 세션 실행