시스템 · 아키텍처

아키텍처 해설 — 데이터부터 봇 권한까지

데이터 흐름·증빙 매칭·3층 시스템 구조·봇 설계(권한=근거의 함수)를 도식으로 해설합니다.개요·기술스택LLM 운영·실험은 별도 탭에서.

데이터 흐름 — 변경 전 → 후

RAG가 답을 어떻게 끌어오는가. 예시 질문: “연말정산 AI는 어떻게 만들었어?”

변경 전 · 빈도 기반 RAG
질문
임베딩·키워드 검색
raw 일일로그
빈도순·노이즈 혼재
top-k
로컬 LLM 생성
⚠ 전자결재(정기 결재상신) 같은 빈도만 높은 노이즈가 상위로 → 답변이 핵심을 비껴가거나 자료량에 휘둘림(자료 불평등 → 중요도 괴리)
변경 후 · 큐레이션 KB 기반
질문
① 시맨틱 라우터
질문→KB 프로젝트(pgvector)
② 3-arm 검색 + 출처 prior
큐레이션 ×1.4 / raw ×0.75
③ KB 파생 중요도
빈도 아닌 큐레이션
큐레이션 우선 top-k
로컬 LLM 생성
✓ 라우터가 P009 ‘ONE AI·연말정산 AI’(cos 0.60) 매칭 → 권위 개요 주입 → 답변이 “SmartA 10 ONE AI 프로젝트의…”로 시작(프로젝트 정의로 grounding)

이미지 증빙 흐름 — 변경 전 → 후

답변을 뒷받침하는 시각 자료를 어떻게 고르는가. 예시: “노란우산 대시보드 작업?”

변경 전 · 엔티티 홉핑
답변
답변 엔티티 추출
엔티티 공유 이미지
간접 매칭
증빙 표시
⚠ 엔티티만 우연히 공유하면 떠서 자소서·인증서(취업서류)·학사 이미지가 엉뚱하게 증빙으로 노출(이미지풀 162개 중 160개가 지원서류)
변경 후 · 직접 유사도 + 시기 스코프
질문 임베딩
① 이미지 OCR 직접 유사도
cos + 임계값
② 시기 스코프
현직↔현직 증빙
③ 지원서류 제외
자소서·인증서 차단
피그마 작업 PDF
서술형 제목 = 증빙
문서 카드 📄
TEDGE_노란우산대시보드_동작설계.pdf(cos 0.77) 매칭 · 무관 질문엔 0건(틀린 증빙보다 없음). 데이터 출처: 2026더존백업/피그마 자료정리 29개

시스템 아키텍처

① 데이터층 — 큐레이션 → 인제스트 → DB
Google Sheets
_정제 · 분류 5시트
인제스트
kb_seed · kb_ingest · structured
DB (Postgres)
work_logs+pgvector · entities · kb_projects · kb_entity_factor
② 질의층 — 질문 → 답변
질문
시맨틱 라우터
KB 권위 개요
3-arm RAG
vector · keyword · entity + 출처 prior
RRF · MMR
로컬 LLM
gemma (LM Studio)
답변 검증
grounded · 결정적 기간
Generative UI
블록 합성
③ 휴먼·오케스트레이션 (피드백 루프)
빈도편향 패널
휴먼 보정 배율
QA·검수 봇
자율 품질 개선
성숙도 추이
방향성 추적
④ 배포·운영층 — 무중단 블루-그린 (프론트·백 양단)
Tailscale Funnel
공개 HTTPS 443
front-swproxy :3000
raw TCP 스위치
Next 인스턴스
3001 ⇄ 3002 (active/idle)
Next/API
→ 백엔드 호출
swproxy :5150
raw TCP 스위치
백엔드 인스턴스
5151 ⇄ 5152 (active/idle)

프론트·백엔드 모두 블루-그린: 빌드 후 idle 포트에 후보를 띄워 헬스 통과 시에만 스위치 프록시 업스트림을 원자적으로 전환(verify-before-switch). 실패 시 전환 안 함 → 현 인스턴스가 계속 서빙(다운타임 0). 기존 연결은 옛 인스턴스로 graceful drain.

핵심 차별점: 검색 코퍼스를 사람이 큐레이션한 KB로 두고, 빈도가 아니라 큐레이션이 중요도·라우팅을 구동 — RAG의 빈도 편향(popularity bias)을 정면 교정.

봇 설계 — 권한은 근거(grounding)의 함수

오케스트레이션 점수를 떨어뜨린 환각의 정체: “봇 ≠ LLM”의 혼동. ‘봇’은 역할 그릇일 뿐, 안에 든 게 코드면 행동 가능·블라인드 LLM이면 자문 전용이다. 못 보는 블라인드 LLM에게 코드수정·시스템 판단을 위임한 것이 없는 파일경로 환각의 근원이었다.

결정론 봇 (코드)

환각 0 · fail-safe

할 일 · 측정 · flag · 빌드/헬스/롤백 · 배포 · dedup · 휴리스틱 채점

권한 · 행동·게이트 권한 OK — 검증가능한 ground truth에만 작동

metrics · perf_bot · deploy · auto_apply 가드 · qa 휴리스틱

블라인드 LLM (도구 없음)

건넨 컨텍스트가 전부 · 그 밖은 환각

할 일 · 해석 · 재서술 · 우선순위 · 가설·질문 초안

권한 · 자문·초안까지만 — 행동/코드 권한 금지, 하류 검증 필수

reviewer · rag · 관장(advise) · persona · ui_reviewer · auto_apply 패치생성

에이전트 Claude (도구+코드접근)

Read/Grep/실행으로 실제로 봄

할 일 · 근거 있는 코드수정 · 진짜 상태판단 · grounded 분해

권한 · grounded 작업 위임 가능 — 비싸므로 선별 호출

headless_decompose(Claude) · 세션 Claude

권한 재분배 — 일 → 누구에게
측정 · 게이트 · 롤백 · 배포결정론 코드환각0·fail-safe
해석 · 질문 · 서사 초안블라인드 LLM(자문)싸고 병렬 · 항상 하류 검증
코드수정 · 실상태 판단 · grounded 분해에이전트 Claude유일하게 코드를 봄
최종 챗 답변 생성로컬 gemma프라이버시 + 제품 본체
임베딩로컬 bge-m3결정적·무한·품질차 무의미
클라우드 vs 로컬 — 성능별
로컬 gemma-4-E4B (LM Studio) · 무제한·프라이빗·약함
최종 답변 생성 · 대량 저위험 초안
로컬 bge-m3 (Ollama) · 결정적 임베딩
벡터 검색·라우팅 (전량 로컬)
클라우드 다중 폴백 (cerebras·groq·gemini·mistral / openrouter 과금 최후) · 빠르고 약간 영리·레이트리밋
품질 민감 해석 (자문 only)·fallback
에이전트 Claude · 느리나 grounded·고비용
코드·grounded 판단만 선별
설계 노트 · 펼쳐 보기 (전부 구현됨)
직접 동작을 확인해보세요 — 질문하면 위 파이프라인이 실시간으로 돕니다.
직접 질문해보기 →