에이전트 액션을 부여하기 전에 읽기 전용 분석 도구 구축하기
요약
AI 에이전트가 위험한 액션(쓰기)을 수행하기 전에, 먼저 읽기 전용 분석 도구를 구축하여 안전성을 확보해야 합니다. 이 가이드에서는 쿼리 계층에서 모델 출력을 신뢰하지 않고, 인증된 서버 컨텍스트를 통해 데이터를 검증하는 방법을 제시합니다. 또한, 데이터의 증거(evidence), 최신성, 권한 등을 추적하고, 다양한 실패 시나리오에 대한 계약 테스트 작성을 강조합니다.
핵심 포인트
- AI 에이전트는 읽기 전용 분석 도구부터 시작하여 안전성을 확보해야 합니다.
- 쿼리 계층은 모델 출력을 신뢰하지 않고, 서버 컨텍스트를 통해 데이터를 검증해야 합니다.
- 데이터의 증거(evidence), 최신성, 권한 등 메타 정보를 UI에 노출하고 추적해야 합니다.
- 쓰기 작업은 별도의 자격 증명과 명시적인 승인이 있는 독립된 도구로 분리해야 합니다.
분석 에이전트를 인상적으로 만드는 가장 빠른 방법은 광범위한 자연어 질문에 답하도록 하는 것입니다. 하지만 같은 경로 내보내기(path export), 변경(mutation), 또는 배포 권한을 부여하는 것은 위험하게 만들 수 있습니다.
먼저 좁고 읽기 전용인 슬라이스 하나를 출시하세요.
type MetricRequest = {
tenantId: string;
metric: "daily_active_users" | "activation_rate";
...
}
날짜, 최대 범위, 차원(dimensions), 및 메트릭 이름을 검증합니다. 모델을 신뢰하기보다는 인증된 서버 컨텍스트에서 `tenantId`를 파생하세요. 쿼리 계층은 열거형(enums)을 사전에 검토된 SQL 또는 시맨틱 모델에 매핑하며, 절대로 모델이 생성한 SQL을 수락하지 않습니다.
## 증거가 끝까지 이동하도록 만들기
백엔드는 정의 버전(definition version), 데이터 신선도(data freshness), 쿼리 ID(query ID), 및 경고를 반환합니다. 도구 어댑터는 이들을 보존합니다. UI는 답변 옆에 이들을 렌더링하고, 원본 차트 또는 쿼리 기록으로 연결되는 링크를 제공합니다.
필요한 UI 상태는 로딩(loading), 부분 결과(partial result), 오래된 데이터(stale data), 데이터 없음(no data), 금지됨(forbidden), 속도 제한(rate limited), 취소됨(cancelled), 및 증거 사용 불가(evidence unavailable)입니다. “행 없음(No rows)”은 “웨어하우스 실패(the warehouse failed)”와 다릅니다.
권한 부여 및 정규화(canonicalization) 후에만 캐싱하세요. 캐시 키에 테넌트(tenant), 메트릭, 차원, 날짜 범위, 정의 버전을 포함합니다. 공유 인프라에서 사용자 레벨의 행은 캐시하지 마세요.
## 이음새 테스트하기
알 수 없는 메트릭, 권한이 없는 테넌트, 역전된 날짜, 과도한 범위, 지원되지 않는 차원, 오래된 데이터, 중복 요청 ID, 시간 초과(timeout), 그리고 캐시 수명 주기 동안의 메트릭 정의 변경에 대한 계약 테스트(contract tests)를 작성하세요. 브라우저가 도구 인수를 편집하여 테넌트 신원을 변경할 수 없음을 확인하세요.
읽기 경로(read path)가 관찰 가능하고 올바르게 권한 부여된 후에만 액션을 고려해야 합니다. 쓰기는 별도의 자격 증명, 미리 보기(previews), Idempotency 키, 그리고 명시적인 승인이 있는 별도의 도구에 넣으세요.
공개된 [MonkeyCode repository](https://github.com/chaitin/MonkeyCode)는 모델 관리, AI 작업, 개발 환경, 그리고 팀 협업에 대해 설명합니다. 이는 이러한 종류의 통합을 위한 개발 워크스페이스로 평가될 수 있지만, 본 기사는 MonkeyCode와의 분석(analytics) 또는 MCP 통합을 주장하지 않습니다.
> 공시: 저는 MonkeyCode 프로젝트에 기여하고 있습니다. 아키텍처는 도구 독립적이며; 제품 컨텍스트는 공개 문서에서 가져옵니다.
읽기 전용(Read-only)은 장난감 같은 마일스톤이 아닙니다. 이는 팀이 부작용(side effects)으로 인해 모든 실수가 더 비싸지기 전에 신원, 증거, 최신성, 그리고 실패 의미론을 입증하는 곳입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기