전체 글 67

STT는 성공했는데 AI 요약은 왜 실패할까: 비동기 파이프라인 장애 진단

회의 음성 파일을 업로드했습니다.잠시 후 녹취록은 정상적으로 생성됐지만 AI 요약은 계속 나타나지 않습니다.이 상황에서 가장 먼저 떠올리기 쉬운 결론은 다음과 같습니다.“STT는 성공했으니 파일에는 문제가 없다.”“요약 모델이 실패한 것 같다.”하지만 두 문장 모두 아직 입증되지 않은 가설입니다.실제 회의 처리 시스템에서 STT (Speech-to-Text, 음성 인식)와 AI 요약은 하나의 함수가 아니라 서로 다른 입력·실행 환경·상태·저장소를 가진 단계입니다.Media Upload → STT → Transcript Finalization → Summary Request → Queue → Summary Worker → LLM Provider → Result Store → Read APIS..

AI Agent 승인 정책 설계: 읽기·쓰기·중요·파괴 작업을 구분하는 방법

AI Agent에게 “지난 회의를 찾아 요약해 줘”라고 요청했습니다.Agent는 회의 목록을 조회하고, 대상 회의를 찾은 뒤 요약 작업을 요청할 수 있습니다. 여기까지는 비교적 자연스럽습니다.그런데 요청이 “다른 조직으로 옮겨 줘”, “외부 담당자에게 전송해 줘”, “이 회의를 영구 삭제해 줘”라면 이야기가 달라집니다.모두 같은 Tool Call이지만 결과의 영향은 같지 않습니다.조회 실패 → 다시 확인할 수 있음생성 중복 → 데이터 정리와 비용 발생잘못된 전송 → 외부 노출과 업무 사고영구 삭제 → 복구 불가능할 수 있음모델이 사용자의 의도를 잘 이해했다는 사실은 실행 권한을 얻었다는 뜻이 아닙니다.운영 가능한 AI Agent에는 다음 네 질문에 각각 답하는 통제가 필요합니다.인증 (Authen..

AI Agent · MCP 2026.07.29

AI PoC가 운영 단계에서 멈추는 이유: 인증, 권한, 복구와 관측성

회의 파일을 올리면 녹취록과 요약이 생성됩니다. 질문을 입력하면 사내 문서를 검색하고, AI Agent가 업무 Tool까지 호출합니다.개념 검증 (Proof of Concept, PoC) 시연은 성공했습니다.하지만 운영 전환 회의에서는 새로운 질문이 쏟아집니다.누가 어떤 데이터까지 볼 수 있는가?AI가 잘못된 대상을 변경하면 어떻게 막는가?처리 중 서버가 재시작되면 어디서 다시 시작하는가?답변 품질이 나빠졌다는 사실을 어떻게 감지하는가?모델 API가 느리거나 중단되면 무엇을 보여 주는가?사용자 한 명과 천 명의 비용 차이는 얼마인가?장애가 발생했을 때 누가 판단하고 복구하는가?이 질문들은 PoC의 부가 기능이 아닙니다. 실제 사용자가 있는 서비스라면 처음부터 존재했던 요구사항입니다. 다만 제한된 데이터와..

기술 인사이트 2026.07.29

자연어에서 MCP Tool Call까지: 통합 테스트 (Integration Test) 시나리오 설계

자연어에서 MCP Tool Call까지: 통합 테스트 (Integration Test) 시나리오 설계AI Agent에게 “내 최근 회의 요약을 보여줘”라고 요청했을 때 자연스러운 답변이 돌아왔다고 가정해 보겠습니다.겉으로는 성공처럼 보여도 내부에서는 다음과 같은 문제가 숨어 있을 수 있습니다.다른 사용자의 회의를 조회했다.목록에서 얻은 식별자가 아니라 모델이 만든 가짜 ID를 사용했다.요약 조회 전에 불필요한 변경 Tool을 호출했다.권한 오류를 “회의가 없습니다”로 잘못 설명했다.같은 요청을 재시도하면서 생성 Tool을 두 번 실행했다.사용자 승인 없이 삭제나 전송을 수행했다.따라서 MCP 기반 Agent의 품질은 최종 문장만으로 판단할 수 없습니다.자연어 요청 │ ▼의도·대상 해석 │ ..

멀티 LLM Agent Core 설계: GPT·Claude·Gemini를 교체 가능한 Provider로 연결하기

멀티 LLM Agent Core 설계: GPT·Claude·Gemini를 교체 가능한 Provider로 연결하기AI Agent를 처음 만들 때는 특정 모델의 SDK를 직접 호출하는 방식이 가장 빠릅니다.response = provider_sdk.generate( model=model_name, messages=messages, tools=tools,)문제는 두 번째 모델을 연결할 때 시작됩니다.System 지시를 넣는 위치가 다릅니다.Message와 콘텐츠 블록 (Content Block)의 구조가 다릅니다.도구 호출 (Tool Call)과 도구 결과 (Tool Result)를 연결하는 ID가 다릅니다.스트리밍 이벤트 (Streaming Event)의 시작·증분·완료 순서가 다릅니다.정상..

실시간 STT 설계: 48kHz 리샘플링, Partial·Final 자막과 환각 억제

실시간 STT 설계: 48kHz 리샘플링, Partial·Final 자막과 환각 억제파일 하나를 끝까지 받은 뒤 처리하는 STT(Speech-to-Text, 음성 인식)는 입력 형식을 정규화하고 모델을 한 번 실행하면 됩니다.실시간 STT는 다릅니다.브라우저와 장치마다 실제 Sample Rate(샘플링 레이트)가 다를 수 있습니다.작은 Audio Block(오디오 블록)을 끊김 없이 모아야 합니다.네트워크가 밀리면 오래된 음성이 쌓입니다.아직 말이 끝나지 않은 문장은 계속 바뀝니다.침묵과 배경음에서 그럴듯한 문장이 생성될 수 있습니다.연결이 재시작되면 중복 자막과 시간 역행이 발생할 수 있습니다.따라서 실시간 자막 품질은 모델 정확도만으로 결정되지 않습니다. 입력 Audio Contract(오디오 계약)..

MCP OAuth 2.1 인증 구조: Discovery, PKCE와 Resource Server 경계

MCP OAuth 2.1 인증 구조: Discovery, PKCE와 Resource Server 경계원격 MCP Server가 사용자별 문서, 회의, 업무 시스템이나 관리자 기능에 접근한다면 “로그인 화면을 붙였다”는 것만으로 인증 설계가 끝나지 않습니다.MCP Client는 다음 질문에 답할 수 있어야 합니다.이 MCP Server는 어떤 Authorization Server(인증 서버)를 사용하는가어떤 Endpoint와 기능을 지원하는가Client ID는 어떤 방식으로 등록하는가Authorization Code(인증 코드)를 어떻게 안전하게 교환하는가발급된 Token이 이 MCP Server를 위한 것인지 어떻게 확인하는가현재 Tool에 필요한 Scope(권한 범위)는 무엇인가MCP Authoriza..

AI Agent · MCP 2026.07.29

원격 MCP 파일 업로드 설계: 로컬 경로가 실패하는 이유와 Upload Ticket 패턴

원격 MCP 파일 업로드 설계: 로컬 경로가 실패하는 이유와 Upload Ticket 패턴AI Agent에게 “이 파일을 회의록으로 만들어 줘”라고 요청하면 사용자는 파일 경로를 알려 주는 것으로 충분하다고 생각할 수 있습니다.로컬 MCP Server에서는 다음 호출이 실제로 동작할 수 있습니다.{ "name": "document_create", "arguments": { "filePath": "/local/path/team-sync.mp3" }}하지만 같은 Tool을 원격 HTTP MCP Server에 연결하면 file not found가 발생할 수 있습니다. 파일이 사라진 것이 아니라 Client와 Server가 서로 다른 파일시스템을 사용하기 때문입니다.이 문제를 해결하는 안전한 방법 중..

AI Agent · MCP 2026.07.29

RAG 운영 설계: 멱등 인덱싱 (Idempotent Indexing)과 중복 Chunk 방지

검색 증강 생성 (Retrieval-Augmented Generation, RAG) 데모에서는 문서를 읽고 검색 단위 조각 (Chunk)으로 나눈 뒤 벡터 표현 (Embedding)을 저장하면 작업이 끝난 것처럼 보입니다.운영 환경에서는 같은 수집 작업이 반복됩니다.Worker가 Vector 저장 뒤 응답을 받기 전에 종료됩니다.Scheduler와 사용자의 수동 재처리가 동시에 실행됩니다.원본 문서가 수정됩니다.문서 해석기 (Parser) 또는 문서 분할기 (Chunker) 설정이 바뀝니다.Embedding 모델이 교체됩니다.삭제된 문서의 예전 Chunk가 검색됩니다.같은 파일이 다른 이름이나 경로로 다시 들어옵니다.이 상황에서 매 실행마다 새 UUID를 만들고 Vector Database에 insert..

AI Agent 보안 설계: Prompt Injection, Tool 권한과 데이터 유출을 막는 8개 경계

일반적인 Chatbot은 잘못된 답을 만들 수 있습니다. Tool을 사용하는 AI Agent는 잘못된 답에 그치지 않고 파일을 읽고, 메시지를 보내고, 업무 상태를 바꾸거나 외부 시스템을 호출할 수 있습니다.이때 가장 위험한 오해는 다음과 같습니다.System Prompt를 강하게 작성하면 Agent의 보안 정책도 강해진다.System Prompt는 모델의 행동을 유도하는 중요한 장치지만, 인증·권한·승인·네트워크 통제와 같은 보안 경계를 대신할 수 없습니다.OWASP는 Prompt Injection(프롬프트 주입)이 민감정보 노출, 허가되지 않은 기능 접근과 외부 시스템의 임의 작업으로 이어질 수 있다고 설명합니다. 또한 RAG(Retrieval-Augmented Generation, 검색 증강 생성)..

보안 2026.07.29