본문 바로가기

AWS

[AWS] Amazon OpenSearch Agentic Search 구축 가이드

개요

Amazon OpenSearch Service에 Agentic Search 기능이 2025년 11월 말 정식 출시되었습니다. 이 기능은 자연어 기반 질문을 지능형 에이전트가 해석·계획·실행하여 OpenSearch 검색 결과를 반환하는 기능입니다. 기존 DSL 쿼리를 작성할 필요 없이 직관적인 검색 경험을 제공합니다.

이 글은 Agentic Search를 설정 및 실행하는 방법에 대해 단계별로 정리합니다.

[AWS] Amazon OpenSearch Agentic Search 구축 가이드
[AWS] Amazon OpenSearch Agentic Search 구축 가이드

1. Agentic Search 이해

1-1. 핵심 개념

  • Agent 기반 자연어 검색: 질문을 분석하고 최적의 검색 쿼리를 자동 생성/실행
  • OpenSearch DSL을 직접 작성할 필요 없음
  • Reasoning Summary: 에이전트가 선택한 전략과 쿼리 실행 과정을 설명 형태로 제공

에이전트는 두 가지 타입이 있습니다.

  • Conversational Agents: 다중 턴/문맥 기반 상호작용
  • Flow Agents: 단발성 검색에 최적화된 에이전트

2. 사전 준비

2-1. OpenSearch 버전

Agentic Search는 OpenSearch v3.3 이상에서만 지원됩니다. 클러스터가 해당 버전 이상인지 확인합니다.

2-2. 리전 확인

Agentic Search 기능은 **모든 상용 AWS 리전 및 AWS GovCloud(US)**에서 사용 가능합니다.

2-3. 권한

  • OpenSearch API 호출 권한
  • OpenSearch Dashboards 접근 권한
    IAM 정책이 필요합니다. 프로젝트에 맞게 권한을 부여해야 합니다.

3. Agentic Search 설정

3-1. OpenSearch Dashboard에서 설정

  1. OpenSearch Dashboards에 로그인합니다.
  2. AI Search 또는 Agentic Search 관련 메뉴를 찾습니다.
    (버전/플러그인 설치 여부에 따라 메뉴 위치가 다를 수 있습니다)
  3. 에이전트를 생성(Create Agent)합니다.
    • 이름/설명 입력
    • 에이전트 유형 선택 (Conversational or Flow)
  4. 검색 템플릿이나 기본 전략을 설정할 수 있습니다.
    (일반 옵션은 UI에서 선택/적용합니다)

3-2. API 기반 설정

Agentic Search 설정은 OpenSearch API로도 가능하며, 기본 흐름은 아래와 같습니다.

  1. 에이전트 생성이 API 호출로 검색 에이전트를 생성합니다.
    1. POST /_plugins/_agentic_search/agents { "name": "my-agent", "type": "flow" // 또는 "conversational" }
  2. 에이전트 설정 업데이트기본 전략, 타임아웃, 로그 옵션 등을 포함할 수 있습니다.
    1. PUT /_plugins/_agentic_search/agents/my-agent { "settings": { "search_strategy": "hybrid" // 예시 설정 값 } }
  3. 에이전트로 검색 실행자연어 검색을 실행하면 자동으로 계획/실행 결과가 반환됩니다.
    1. POST /_plugins/_agentic_search { "agent": "my-agent", "query": "최근 매출 추세 보여줘" }

참고: 실제 API 경로/요청 포맷은 OpenSearch 공식 문서를 참조해 최신 스키마를 확인해야 합니다.

4. 에이전트 실행 결과 확인

4-1. 검색 결과

Agentic Search는 결과와 함께 Reasoning Summary를 제공합니다.

  • 사용자 질문 의미 해석
  • 선택한 전략 정보
  • 생성된 쿼리 정보
    이 정보를 통해 검색이 어떤 방식으로 이루어졌는지 투명하게 확인할 수 있습니다.

4-2. 에러/예외 처리

  • 쿼리 계획 실패 시 에러 메시지를 확인합니다.
  • 설정된 시간 제한/전략 조건을 수정하여 재실행합니다.

5. 운영 고려사항

5-1. 리소스 비용

Agentic Search 자체엔 기능 사용 요금이 없으며, OpenSearch Service 표준 사용 요금이 적용됩니다.
검색량에 따라 노드 수/인스턴스 유형을 적절히 조정해야 비용을 최적화할 수 있습니다.

5-2. 검색 전략 튜닝

  • Conversational은 복잡한 상호작용에 유리
  • Flow는 단순/고속 검색에 유리
    사용 패턴에 따라 최적 전략을 선택해야 합니다.

5-3. 보안

엔드포인트 접근 제어/HTTPS 설정/사용자별 권한을 최소 권한으로 설계합니다.

6. 예시 흐름 코드

아래는 Python에서 에이전트를 통해 검색을 실행하는 간단 예시 코드입니다.

import requests

endpoint = "https://my-opensearch-domain.com/_plugins/_agentic_search"
payload = {
  "agent": "my-agent",
  "query": "한국 AWS 매출 데이터 최근 추세"
}
response = requests.post(endpoint, json=payload, auth=('user','pass'))
print(response.json())

실제 환경에서는 IAM 인증(예: AWS SigV4) 기반 호출을 적용해야 합니다.

7. 정리

Agentic Search는 자연어 기반 검색을 검색 전략 자동 생성/실행 형태로 제공함으로써 DSL 쿼리 작성 부담을 크게 줄여줍니다. Conversational/Flow 에이전트를 용도에 맞게 생성하고 API/대시보드로 설정함으로써 바로 활용 가능합니다.