에이전틱 관측성의 병목인 '검증 격차'의 실체
엔지니어는 AI 에이전트가 생성한 루트 코즈 가설을 확인하기 위해 IDE를 떠나 브라우저를 열고 별도의 관측성 UI에 로그인하는 수동 과정을 반복한다. 에이전트는 알림을 쿼리하고 로그와 트레이스를 상관 분석하여 몇 분 만에 가설을 도출하지만, 사용자는 이 결과를 검증하기 위해 트레이스 워터폴을 직접 탐색하고 서비스 맵으로 영향 범위를 대조해야 한다. 에이전트가 쿼리 수행 시간은 단축시켰으나, 탭을 전환하며 컨텍스트를 유지하고 수동으로 데이터를 확인하는 '검증 격차(Verification Gap)'는 여전히 엔지니어의 몫으로 남는다.
이러한 외부 검증 루프는 에이전틱 자동화가 제공하는 속도 이점을 상쇄하는 결정적인 병목 지점이 된다. 엔지니어는 에이전트의 텍스트 출력물을 실제 대시보드와 비교하여 시각적으로 확인한 뒤에야 다시 IDE로 돌아와 대화를 재개하며, 이 과정에서 조사 맥락을 상실하는 경험을 한다. 특히 로컬 에이전틱 설정을 통해 제어권과 비용 효율성을 선택한 조직일수록, 벤더 호스팅 솔루션에 비해 낮은 사용성과 수동 검증에 의존하는 운영 부담을 더 크게 겪는다.
듀얼 응답 패턴을 통한 즉각적 검증 구조
Amazon OpenSearch Service MCP Apps는 모델 컨텍스트 프로토콜(MCP)을 확장하여 텍스트 요약과 인터랙티브 시각화 결과물을 동시에 반환하는 '듀얼 응답 패턴'을 구현한다. 사용자가 에이전트에게 조사를 요청하면 에이전트는 Amazon OpenSearch Service에 쿼리를 수행하며, 응답은 AI가 추론에 사용하는 구조화된 텍스트와 사람이 즉시 확인할 수 있는 대시보드 위젯 형태로 동시에 도착한다. 사용자는 별도의 브라우저 탭을 열거나 쿼리를 재실행할 필요 없이 대화 스레드 내에서 즉시 검증을 수행한다.
제공되는 시각화 아티팩트는 트레이스 워터폴, 서비스 토폴로지, 로그 패턴 뷰를 포함한다. 트레이스 워터폴은 요청 흐름을 시간 순으로 나열해 지연 지점을 식별하게 하며, 서비스 토폴로지는 서비스 간 의존 관계를 통해 장애 영향 범위를 시각화한다. 로그 패턴 뷰는 유사한 엔트리들을 그룹화하여 실패 시그니처를 빠르게 찾아내도록 돕는다. 사용자는 채팅창에 렌더링된 위젯에서 개별 스팬을 확장하거나 속성을 검사하며 에이전트가 제시한 원인을 시각적으로 확정한다.
로컬 MCP 서버와 OpenSearch UI의 아키텍처
로컬 MCP 서버는 사용자 머신에서 실행되며 에이전틱 IDE와 OpenSearch UI 애플리케이션 사이의 보안 브리지 역할을 수행한다. 이 서버는 AI 에이전트가 호출할 수 있는 관측성 도구들을 인터페이스 형태로 노출하며, 모든 도구 호출은 로컬 MCP 서버를 거쳐 OpenSearch UI 엔드포인트로 전달된다. 데이터 흐름은 'IDE $\rightarrow$ 로컬 MCP 서버 $\rightarrow$ OpenSearch UI 엔드포인트 $\rightarrow$ 데이터 소스' 순으로 진행되며, 응답은 역순으로 돌아와 IDE에 렌더링된다.
OpenSearch UI는 OpenSearch 도메인, 서버리스 컬렉션, CloudWatch, Amazon Managed Service for Prometheus와 연동되는 서버리스 인터페이스다. 로컬 MCP 서버가 도구 호출을 수신하면 설정된 AWS 자격 증명을 사용하여 인증을 진행하고, 요청을 OpenSearch UI 애플리케이션 엔드포인트로 HTTP API 호출 형태로 전달한다. OpenSearch UI는 연결된 데이터 소스에서 쿼리를 실행한 뒤 구조화된 텍스트 요약과 렌더링된 시각화 아티팩트를 동시에 생성하여 반환한다.
이 구조에서 사용자의 AWS 자격 증명, 정책, 도메인은 그대로 유지되므로 모든 데이터는 사용자의 AWS 계정 내에 머문다. 로컬 MCP 서버는 수신한 응답을 AI 에이전트용 텍스트 콘텐츠와 IDE 호스트용 시각화 콘텐츠로 나누어 패키징한다. IDE 호스트는 응답 내의 시각화 페이로드를 감지하여 이를 대화 스레드 내의 인터랙티브 위젯으로 즉시 렌더링함으로써 데이터 제어권과 사용 편의성을 동시에 확보한다.
결정론적 렌더링을 통한 신뢰성 확보
표준 MCP 도구 호출이 JSON-RPC 요청을 통해 텍스트 결과만 반환하는 것과 달리, MCP Apps는 시각화 페이로드를 위한 별도의 응답 채널을 추가했다. 기존 방식에서는 서버가 반환한 텍스트만을 에이전트가 추론 과정에 통합해 답변을 생성했으므로, 사용자는 AI의 해석이 정확한지 의심할 수밖에 없었다. MCP Apps는 AI가 추론에 활용할 텍스트 데이터와 인간이 확인할 시각적 증거라는 두 갈래 경로를 구축하여 AI 결론의 실제 근거를 눈으로 즉시 확인하게 한다.
OpenSearch MCP App은 시각화 결과물을 생성할 때 AI의 해석에 의존하지 않고 서버 측에서 실제 데이터 소스를 대상으로 코드를 실행한다. 이로 인해 렌더링된 출력물은 결정론적(Deterministic)인 값을 가지며, 사용자가 OpenSearch 대시보드에서 직접 쿼리를 실행했을 때와 동일한 결과를 보장한다. LLM이 데이터를 텍스트로 요약할 때 발생할 수 있는 환각이나 왜곡 문제를 원천적으로 차단하고, 실제 쿼리 결과가 렌더링된 차트를 통해 신뢰성을 확보한 것이다.
이러한 결정론적 렌더링은 텍스트 기반의 루트 코즈 가설 생성과 시각적 데이터 검증이 한 화면에서 동시에 이루어지게 한다. 사용자는 AI가 제시한 분석 내용과 실제 시스템 상태를 나타내는 위젯을 대조하며 즉각적인 피드백 루프를 형성한다. 결과적으로 데이터 확인 과정을 채팅창 내로 통합함으로써 AI 에이전트의 추론 결과와 실제 시스템 상태 사이의 간극을 좁히고 검증 시간을 획기적으로 단축한다.
트레이스 조사 워크플로의 실무적 변화
에이전트가 트레이스 조사 MCP App 도구를 호출하면, IDE에서 로컬 MCP 서버로 트레이스 ID나 서비스 이름, 시간 범위와 같은 파라미터가 전달된다. 로컬 MCP 서버는 AWS 자격 증명으로 인증 후 OpenSearch UI 엔드포인트에 요청을 전달하며, OpenSearch UI는 연결된 데이터 소스에서 매칭되는 스팬(Span)을 검색하고 응답을 조립한다. 이때 MCP 서버는 텍스트 요약과 시각화 아티팩트가 포함된 단일 응답을 IDE로 반환한다.
반환된 텍스트 부분에는 트레이스 ID, 총 소요 시간, 스팬 수, 임계 경로(Critical Path) 및 실패 발생 지점에 대한 분석 결과가 구조화되어 담긴다. 동시에 시각화 부분에는 스팬 계층 구조, 타이밍, 에러 주석이 포함된 인터랙티브 트레이스 워터폴이 IDE 내에 렌더링된다. 엔지니어는 텍스트 요약으로 맥락을 파악하고, 워터폴 차트에서 지연 지점과 에러 스팬을 시각적으로 즉시 확인하며 루트 코즈를 확정한다.
이러한 워크플로는 트리아지(Triage)부터 트레이스 분석까지의 전 과정을 IDE 내에서 완결시킨다. 실무자는 더 이상 데이터 소스를 찾기 위해 탭을 전환하는 대신, 텍스트 분석 결과와 시각화된 차트를 대조하며 AI의 추론이 실제 데이터와 일치하는지 판별하는 분석 작업에만 집중할 수 있다. AI의 해석에만 의존하지 않고 실제 쿼리 결과가 렌더링된 결정론적 차트를 통해 검증 시간을 단축하는 것이 실무적 핵심이다.




