PostgreSQL + pgvector: 실전에서 ORM과 벡터 검색 붙이기
Prisma의 driver adapter, NestJS의 모듈 구조, PostgreSQL의 비동기 I/O와 UUIDv7, pgvector의 시맨틱 검색을 한 스택에 얹어본 기록. 각각이 무엇을 주고 어디서 부딪혔으며 어떻게 풀었는지 정리했다.
NestJS 태그가 붙은 글 5편
Prisma의 driver adapter, NestJS의 모듈 구조, PostgreSQL의 비동기 I/O와 UUIDv7, pgvector의 시맨틱 검색을 한 스택에 얹어본 기록. 각각이 무엇을 주고 어디서 부딪혔으며 어떻게 풀었는지 정리했다.
하나의 AI 파이프라인 위에 세 가지 전혀 다른 대화 경험을 얹는 아키텍처를 다룬다. 감독형(스토리), 목적형(토크룸), 관계형(캐릭터 챗) AI의 프롬프트 빌더 분기, 캐릭터 독립 엔티티 설계, 모드별 메모리 전략이 주제다.
AI 채팅 플랫폼의 전체 아키텍처를 설계하며 내린 판단들을 정리했다. NestJS 11 + Next.js 16 모노레포 구조, Render + Vercel + Upstash + Clerk + R2 로 짠 관리형 인프라 조합, 17개 테이블 스키마, 그리고 운영 가능성을 기준으로 삼은 트레이드오프를 다룬다.
한국어에는 자모 분리, 공백 삽입, 유니코드 정규화 차이처럼 이 언어에만 열려 있는 우회 경로가 있다. 4단계 정규화 파이프라인과 유니코드 자모 조합 알고리즘을 만들고, 입력과 출력 양쪽에 필터를 걸어 SSE 스트리밍 도중 실시간으로 걸러내기까지 어떻게 설계했는지 적었다.
AI 캐릭터의 한마디는 어떻게 만들어지는가. Target Resolution, Response Generation, State Update 3단계 파이프라인부터 스트리밍 JSON 추출, POST-based SSE, 멀티모델 오케스트레이션까지 핵심 대화 엔진의 설계를 기록했다.