본문으로 건너뛰기
AWS ML Blog조회 1

Amazon Bedrock AgentCore를 활용한 Recursive Language Model(RLM) 구현

Amazon Bedrock AgentCore와 Strands Agents SDK를 사용하여 긴 문서를 처리하는 Recursive Language Model(RLM) 구현 방법을 다룬다.

섹션별 상세

01
기존의 긴 컨텍스트 처리 방식은 모델의 입력 제한으로 인해 정보 손실이나 처리 실패가 발생한다. RLM은 문서를 모델 컨텍스트에 직접 넣지 않고, 외부 환경으로 간주하여 코드로 탐색하는 방식을 취한다. 이 구조는 루트 LLM이 코드 실행을 통해 문서를 슬라이싱하고, 필요한 부분만 서브 LLM에 전달하여 분석한다. 결과적으로 컨텍스트 윈도우 크기에 구애받지 않고 방대한 데이터를 처리할 수 있다.
02
Amazon Bedrock AgentCore Code Interpreter는 RLM 구현을 위한 핵심 실행 환경을 제공한다. 이 환경은 샌드박스 내에서 파이썬 코드를 실행하고, 세션 간 상태를 유지하여 작업 메모리 역할을 수행한다. 루트 LLM 에이전트는 이 환경에서 코드를 작성해 문서를 검색하고, 서브 LLM 호출 결과를 파이썬 변수로 저장한다. 이러한 구조는 루트 LLM의 컨텍스트 윈도우를 오케스트레이션에 집중하게 하여 효율성을 높인다.
python
response = client.start_code_interpreter_session(
    codeInterpreterIdentifier=code_interpreter_id,
    name="rlm-session",
    sessionTimeoutSeconds=3600
)

Amazon Bedrock AgentCore Code Interpreter 세션을 시작하는 코드

python
def llm_query(prompt: str) -> str:
    """Query a sub-LLM from within the sandbox."""
    response = bedrock_client.invoke_model(
        modelId=sub_model_id,
        body=json.dumps({
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 4096,
            "messages": [{"role": "user", "content": prompt}]
        })
    )
    result = json.loads(response['body'].read())
    return result['content'][0]['text']

샌드박스 내부에서 서브 LLM을 호출하여 분석을 수행하는 함수

python
agent = Agent(
    model="us.anthropic.claude-sonnet-4-5-20250929-v1:0",
    system_prompt=rlm_system_prompt,
    tools=[execute_python],
)

Strands Agent를 생성하고 execute_python 도구를 할당하는 코드

Recursive Language Model(RLM)의 아키텍처 다이어그램.
Diagram루트 LLM, REPL 환경(작업 메모리), 재귀적 호출 레이어의 상호작용을 시각화한다. 루트 LLM이 코드를 작성해 문서를 탐색하고, 서브 LLM을 호출하여 결과를 작업 메모리에 누적하는 흐름을 나타낸다.
03
LongBench v2 벤치마크를 통한 평가에서 RLM은 기존 방식보다 우수한 성능을 입증했다. 금융 문서 QA 작업에서 Claude Opus 4.6 모델에 RLM을 적용했을 때 정확도가 80.0%로 나타났다. 코드 저장소 이해 작업에서도 Claude Sonnet 4.5 모델이 RLM 적용 시 76.0%의 정확도를 기록했다. 모든 테스트 환경에서 RLM은 100%의 성공률을 달성하며 처리 안정성을 확보했다.

용어 해설

REPL 환경(REPL)
Read-Eval-Print Loop의 약자로, 코드를 대화형으로 실행하고 결과를 즉시 확인하는 환경이다. RLM에서는 문서 분석을 위한 작업 메모리 역할을 수행하며, 코드 실행 결과와 중간 데이터를 세션 내에 유지한다.
컨텍스트 윈도우(Context Window)
LLM이 한 번의 입력으로 처리할 수 있는 토큰의 최대 범위다. 이 범위를 초과하는 데이터는 모델이 처리할 수 없거나 정보 손실이 발생하며, RLM은 외부 환경을 활용해 이 제한을 우회한다.
에이전트(Agent)
LLM을 기반으로 도구를 사용하고 추론하여 복잡한 작업을 수행하는 시스템이다. RLM에서는 루트 에이전트가 코드를 작성하고 서브 LLM을 호출하여 분석을 오케스트레이션한다.

기술

  • Amazon Bedrock
  • Strands Agents SDK
  • Python
  • Claude Sonnet 4.5
  • Claude Haiku 4.5
  • Claude Opus 4.6

활용 사례

  • 금융 보고서 분석
  • 코드 저장소 이해
  • 의료 및 생명과학 연구
  • 법률 검토 및 규정 준수 감사
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 05. 22.수집 2026. 05. 22.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.