← 대표 작업02 / CASE STUDY

공개 코드 · 셀프호스팅 프로토타입

Terracotta

모델 선택부터 도구 승인, 비용 기록, 셀프호스팅까지 연결한 개인 AI 작업실. 사용자가 무엇이 실행되는지 알 수 있는 제품을 만들었습니다.

역할제품 기획 · UI · 에이전트/API · 배포 구성
기간2026.07–
주요 도구TypeScript · React / Next.js · Cloudflare Workers · D1 · MCP · Docker
Terracotta 작업실: 대화, 모델 선택, 개인 가든
제품 화면 · 모델 호출에는 공급사 API 연결이 필요합니다.
도구 실행 전 승인
MCP

도구 · 인자 · 만료 조건 표시

컨테이너 이미지 발행
GHCR

GitHub Actions 실행 기록 공개

데이터 보존과 상태 확인
D1

로컬 볼륨 · 백업 절차

01 / PRODUCT

프로젝트 개요

사용자가 여러 AI 창을 오가며 맥락과 비용을 따로 관리하는 문제에서 시작했습니다. 모델 선호, 연결된 도구, 작업 기록을 한 화면과 하나의 데이터 흐름으로 연결했습니다.

02 / SYSTEM

시스템 구조

공급사의 모델 목록과 가격 정보, 실제 실행 사용량을 구분합니다. 모델 목록을 갱신하는 기능은 학습 artifact를 승격하는 모델 registry와 다른 역할입니다.

  1. 01라우터

    과제 · 모델 선호

  2. 02도구 루프

    MCP · 승인 대기

  3. 03교차 검토

    다른 공급사 모델

  4. 04원장

    사용량 · 실행 trace

03 / DELIVERY

배포와 검증

Docker 이미지와 Compose 구성, DB healthcheck, 데이터 백업·업데이트 절차를 제공합니다. 컨테이너 이미지는 GitHub Actions에서 GHCR로 발행하며 실행 기록을 공개합니다.

셀프호스트판은 개인용 프로토타입입니다. 공개 인터넷에서의 다중 사용자 운영과 고가용성을 입증하는 배포는 아닙니다.

  • 이미지 버전과 영속 데이터의 역할을 분리해 업데이트와 복원을 설명합니다.
  • 발행 전 lint·빌드·테스트를 실행하는 CI 의존성을 구성했습니다. 로컬 14개 테스트에서 D1 복원, 암호화 키, 공급사 504 대체 경로와 healthcheck 실패를 확인했습니다.

04 / TRADE-OFF

평가 결과

24개 태스크의 오프라인 정책 벤치마크에서 높은 가격의 단일 모델과 비교하면 비용이 낮아졌지만, 저가 모델 고정 정책보다 비쌌습니다. 라이브 API 호출로 측정한 절감률이 아닙니다.

품질 축은 직접 정의한 상수에 의존해 공개 성과에서 제외했습니다. 다음 검증은 실제 분류 결과, 사용자 과제 성공률과 비용을 함께 비교하는 일입니다.

ENGINEERING DECISIONS

설계 판단

01

쓰는 행동에는 명시적 승인

외부 상태를 바꾸는 도구는 실행 전 서비스·인자를 표시합니다. 승인 상태와 실행 흔적을 함께 남겨 에이전트의 행동을 추적하게 했습니다.

02

제품 상태를 컨테이너 수명과 분리

사용량, 설정, 승인 기록과 암호화 키를 영속 볼륨에 보관하고 앱과 데이터베이스를 함께 검사합니다.

03

측정하지 않은 품질 주장은 철회

정책 시뮬레이션의 직접 정의한 품질 상수를 모델 성능으로 볼 수 없어 품질 증가 주장을 제거했습니다. 비용도 비교 기준에 따라 해석합니다.

SCOPE & LIMITS

한계와 검증 범위

  • 실제 모델 응답에는 공급사 API가 필요합니다. 현재 구독·크레딧 UX는 프로토타입입니다.
  • 컨테이너 발행 이력은 서비스 가용성이나 대규모 모델 서빙 성과와 다릅니다.
다음 사례Meeting Assistant ↗

Contact

hyunaeee@gmail.com ↗

대한민국 · 한국어 / 영어

포트폴리오 PDF

역할, 설계 판단, 검증 결과와 자료 링크를 함께 담습니다.

인쇄 창에서 ‘PDF로 저장’을 선택하세요.