Open-source reference project

Enterprise
Agent Reference

고객 상황을 조사하고 정책 근거를 인용한 뒤, 민감한 쓰기 앞에서 멈추고 사람의 승인으로 재개하는 vertical slice입니다.

GitHub에서 코드 보기
01사용자
02FastAPI + Agent
03Records MCP
04Knowledge MCP
PostgreSQL
OpenSearch
6타입이 있는 MCP 도구
2전문 에이전트
21자격 증명 없는 단위 테스트
1승인된 end-to-end workflow

The workflow

하나의 경로를 끝까지 완성한다

01

조사

Records MCP가 tenant 소유권을 확인하며 고객과 사례를 읽습니다.

02

근거

Knowledge MCP가 정책 문서를 검색하고 버전과 섹션이 있는 citation을 반환합니다.

03

승인

후속 작업 생성 직전에 checkpoint를 남기고 정확한 도구 인자를 보여줍니다.

04

안전한 쓰기

동일 실행을 재개하고 소유권을 다시 확인한 뒤 멱등하게 한 번만 기록합니다.

Honest boundaries

현재 구현이
보장하지 않는 것

이 저장소는 production-minded reference이지 완성된 production 플랫폼이 아닙니다. 개발용 헤더 인증과 단일 데이터 서비스는 의도적으로 남겨둔 한계입니다.

  • OIDC/JWT와 정책 엔진 기반 RBAC
  • TLS와 workload identity
  • 관리형 고가용성 PostgreSQL·OpenSearch
  • 실제 임베딩과 hybrid retrieval
  • 백업·복구 훈련과 정식 threat model

Engineering notes

프로젝트를 해부한 10개의 글

각 글은 d2a97b2 커밋의 코드와 테스트에 연결됩니다.

01

Architecture

엔터프라이즈 AI 에이전트를 하나의 시스템으로 설계하기

모델 호출 하나를 제품으로 포장하는 대신 프런트엔드, API, 에이전트, MCP 서비스와 데이터 저장소의 경계를 나눈 이유를 설명합니다.

9분
02

Architecture

AI 에이전트의 서비스 경계를 어디에 그어야 할까

Streamlit, FastAPI, 에이전트 런타임과 MCP 서비스가 서로 무엇을 알아야 하는지 실제 프로젝트의 의존성 경계로 설명합니다.

8분
03

Agent Engineering

범용 도구 대신 좁고 타입이 있는 MCP 도구를 선택한 이유

에이전트에게 SQL, HTTP, 파일 시스템을 열어주지 않고 업무 동작 여섯 개만 제공한 설계와 그 효과를 살펴봅니다.

9분
04

Security

멀티테넌트 격리를 프롬프트가 아닌 코드에서 강제하기

tenant ID가 요청 헤더에서 데이터베이스 조건과 검색 필터까지 어떻게 전달되고, 교차 tenant 조회가 어디서 차단되는지 추적합니다.

10분
05

Security

민감한 쓰기 작업에 Human-in-the-Loop를 적용하는 방법

후속 작업 생성 직전에 실행을 멈추고 정확한 인자를 승인받은 뒤 동일한 상태에서 재개하는 전체 흐름을 설명합니다.

10분
06

Agent Engineering

중단된 AI 에이전트를 안전하게 재개하는 체크포인트 설계

대화 기록, 승인 상태, LangGraph 실행 상태를 구분하고 동일한 thread에서 실행을 재개하는 구조를 살펴봅니다.

9분
07

Operations

승인된 작업을 한 번만 실행하고 감사 기록으로 남기기

승인 UUID, 데이터베이스 unique constraint와 감사 이벤트를 결합해 중복 쓰기를 막고 실행 결과를 추적하는 방법을 설명합니다.

9분
08

Evaluation

인용 가능한 RAG에서 검색 결과를 신뢰하지 않는 방법

tenant 필터, 허용된 검색 조건, 메타데이터 기반 인용과 hostile document 테스트를 결합한 지식 검색 경계를 설명합니다.

10분
09

Operations

Chain-of-Thought 없이 에이전트 진행 상황을 SSE로 전달하기

긴 실행 동안 사용자를 기다리게 하지 않으면서도 내부 reasoning은 노출하지 않는 이벤트 계약과 SSE 선택 이유를 설명합니다.

8분
10

Evaluation

LLM 자격 증명 없이 엔터프라이즈 에이전트의 경계를 테스트하기

모델 답변의 문체보다 tenant 격리, 도구 제한, 승인, 멱등성, 인용과 장애 처리를 자동 테스트하는 전략을 정리합니다.

10분