- 문제
- 애플리케이션마다 흩어진 모델 권한과 Upstream 장애 처리를 호출자마다 다시 구현해야 합니다.
- 설계 결정
- Gateway는 governed execution만 소유하고, 도구·메모리·업무 흐름은 호출자에게 남겼습니다.
devcy0922 / 10년차 개발자
Backend &
AI Platform Engineer
AI가 실제 업무를 수행할 수 있도록 실행 경계를 설계합니다. 모델을 연결하고, 권한을 제한하고, 결과를 검증하며 운영까지 책임집니다.
그룹웨어·B2B 서비스의 백엔드와 운영에서 출발해 Gateway, Agent Runtime, Verification, Serving으로 확장하고 있습니다.
대표 프로젝트
무엇을 만들었는지, 왜 그 경계로 나눴는지.
- 문제
- 모델 요청·업무 상태·로그의 수명과 장애 책임이 서로 다릅니다.
- 설계 결정
- LiteLLM·Temporal·Langfuse의 역할을 나누고 추론 런타임과 데이터 계층을 분리합니다.
- 문제
- 애플리케이션 배포와 공용 데이터의 수명을 분리해야 합니다.
- 설계 결정
- PostgreSQL·Redis·Kafka·Dagu를 공용 계층으로 관리하고 서비스별 책임을 명시합니다.
- 문제
- 감사 기간의 원천 시스템 상태를 재현 가능한 증적으로 묶되 원본을 변경해서는 안 됩니다.
- 설계 결정
- 수집·연결 상태·보고서 생성을 분리하고, 연결되지 않은 통제는 추정하지 않고 명시적으로 보류합니다.
- 문제
- 자연스러운 번역도 변수 누락과 품질 미달을 만들 수 있어 자동 생성만으로 배포할 수 없습니다.
- 설계 결정
- 검증 실패·LLM 장애·fallback을 모두 커밋 차단으로 처리하고 이 사이트에 실제 파이프라인을 적용했습니다.
- 문제
- 공유 Vector Store에서 다른 프로젝트의 문서가 섞이지 않는 Scope Invariant가 먼저 보장되어야 합니다.
- 설계 결정
- 외부 인증은 Gateway에 두고, 내부 토큰·저장소 조건·교차 프로젝트 테스트로 검색 범위를 이중 검증합니다.
설명을 넘어, 실행 경계를 직접 확인하세요.
권한이 없을 때 요청을 거부하고, 승인 전에는 변경을 막고, 실행하지 않은 검사는 성공으로 판정하지 않습니다.
공개용 브라우저 시뮬레이션입니다. 실제 모델 요청은 별도의 라이브 콘솔에서 전송합니다.
시스템을 설계하는 기준
- Problem자동화할 문제와 사용자의 일을 정의합니다.
- Boundary모델·도구·사람의 권한을 나눕니다.
- Execution실제 시스템과 실패 경로를 연결합니다.
- Verification응답이 아닌 실행 증거를 확인합니다.
- Operation장애 원인과 복구 조건을 남깁니다.
Engineering Notes
구현 뒤에 남은 판단과 트레이드오프.