Created
March 2, 2026 07:27
-
-
Save Jonghakseo/56a9cdce67ea4fdfc787a84311ecc68a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 서종학 (JongHak Seo) — Comprehensive Profile | |
| > 이 문서는 서종학에 대한 포괄적인 프로필 문서입니다. | |
| > LLM이 이 문서를 읽고 서종학에 대한 질의응답을 수행할 수 있도록 구조화되어 있습니다. | |
| --- | |
| ## 1. 기본 정보 (Basic Information) | |
| | 항목 | 내용 | | |
| |---|---| | |
| | **이름** | 서종학 (JongHak Seo) | | |
| | **이메일** | unqocn@gmail.com | | |
| | **GitHub** | [github.com/Jonghakseo](https://github.com/Jonghakseo) — 237 followers · 52 repos · ⭐4,839 (Chrome Extension Boilerplate) | | |
| | **블로그** | [nookpi.tistory.com](https://nookpi.tistory.com) — 기술 블로그 "엘레베이터에 낀 남자" (2019~현재) | | |
| | **LinkedIn** | [linkedin.com/in/jong-hak-seo-9142ba200](https://linkedin.com/in/jong-hak-seo-9142ba200) — ~500 connections, ~796 followers | | |
| | **위치** | Seoul, Korea | | |
| | **현 직장** | Creatrip (크리에이트립) — Tech Lead | | |
| | **좌우명** | "The only way to go fast is to go right" | | |
| | **스스로를 한 마디로** | "창의적이고 임기응변이 뛰어난, 현실감각이 있는 엔지니어" | | |
| --- | |
| ## 2. 경력 요약 (Career Summary) | |
| ### 2.1 경력 타임라인 | |
| | 기간 | 조직 | 역할 | 비고 | | |
| |---|---|---|---| | |
| | 2025.05 ~ 현재 | **크리에이트립 (Creatrip)** | **Tech Lead** | 11명 엔지니어 조직, AI 도입 주도 | | |
| | 2023.12 ~ 2025.05 | 크리에이트립 (Creatrip) | Frontend Lead | — | | |
| | 2021.12 ~ 2023.12 | 크리에이트립 (Creatrip) | Frontend Engineer | — | | |
| | 2023.05 ~ 2023.11 | Casemark AI | Chrome Extension Consultant (파트타임) | Creatrip 재직 중 겸직 | | |
| | 2019.09 ~ 2021.12 | Slogup | Frontend Engineer | 커리어 시작 | | |
| ### 2.2 학력 | |
| - **경희대학교** 경영학과 학사 (비CS 전공, 비AI 전공) | |
| ### 2.3 한 줄 소개 | |
| DragGPT(2023) → RAG 코드 리뷰(2023) → **멀티에이전트 AI 워크스페이스 단독 구축**(2025, 85K LoC, 1,364 커밋) → 다수의 AI 프로젝트 주도 운영(2026). | |
| 에이전트를 가장 많이 사용하는 파워유저이자, **에이전트가 잘 작동하기 위한 구조를 직접 설계한 엔지니어**. 비개발 직군이 데이터 조회·분석·고객 응대를 자연어로 자립 수행할 수 있는 사내 AI 워크스페이스를 14개월간 혼자서 설계·구축·운영. | |
| --- | |
| ## 3. 핵심 역량 (Core Competencies) | |
| ### 3.1 AI/에이전트 시스템 설계 및 구축 | |
| - 85,000 LoC 멀티에이전트 AI 워크스페이스를 14개월간 단독 설계·구축·운영 | |
| - 3개 추론 에이전트(Data, Browser, GitHub) 설계 및 프로덕션 운영 | |
| - 50+ 도구 통합, MCP 서버 구현, 벡터+그래프 듀얼 메모리 시스템 | |
| - 7개 LLM 동시 운영 (GPT-4.1~5.2, Claude Sonnet/Opus 4.6, Gemini 2.5 Pro/Flash) | |
| - AI SDK(Vercel) 기반 벤더 락인 없는 멀티모델 아키텍처 | |
| ### 3.2 풀스택 엔지니어링 (Frontend + Backend + Infra) | |
| - **Frontend**: React, Next.js, Tailwind CSS, Apollo Client, XState | |
| - **Backend**: NestJS, Drizzle ORM, PostgreSQL | |
| - **Infra**: AWS ECS, Terraform, Docker, GitHub Actions, Turborepo | |
| - 결제 시스템(6개 PG사), Lexical 에디터, Core Web Vitals 최적화 등 프로덕션 엔지니어링 | |
| ### 3.3 오픈소스 프로젝트 운영 | |
| - [Archive] ⭐4,839 Chrome Extension Boilerplate | |
| - GitHub에서 인기 있는 크롬 확장프로그램 보일러플레이트 중 하나 | |
| - 4년간 310+ 커밋 유지보수, Discord 커뮤니티, JetBrains 오픈소스 라이선스 | |
| ### 3.4 기술 리더십 및 팀 문화 구축 | |
| - 팀 LLM 가이드라인 동의·실천, TFT(Tool For Thought) 프레임워크 설계·전파 | |
| - 코드 리뷰 프로세스 혁신 (인간 2명 필수 → AI 통과 + 인간 옵셔널) | |
| - AGENTS.md 거버넌스 주 유지보수자 (32 커밋, #1 committer) | |
| - Dev Talk 밋업 주최, 팀 세미나 다수 발표 | |
| ### 3.5 크로스팀 커뮤니케이션 | |
| - CX팀 워크플로우 관찰 → Zendesk AI 앱으로 병목 해소 | |
| - 마케팅·운영·HR 등 비개발 직군의 니즈를 기술로 변환 | |
| - 47장 슬라이드 외부 대상 발표 (비기술 직군 포함 청중에게 AI 활용 가치 전달) | |
| --- | |
| ## 4. AI/에이전트 프로젝트 상세 (AI/Agent Projects — Detailed) | |
| ### 4.1 AI Platform (ai.creatrip.com) — 사내 멀티에이전트 AI 워크스페이스 | |
| > **sole architect · 1,364 커밋 (ai-platform 레포 전체 커밋의 76%, 1,364 / 1,789) · 85,000 LoC TypeScript** | |
| > 14개월간 단독 설계·구축 (2025.01 ~ 현재) | |
| > 사내 구성원 대부분이 일상적으로 사용 중 — 마케팅, CX, 운영, HR, 개발 전 직군이 활용 | |
| > 20개국 이상, 14개 언어 규모의 글로벌 서비스를 지원 | |
| #### 4.1.1 풀어야 했던 문제 (비즈니스 병목) | |
| 비개발 직군이 데이터 조회·분석·고객 응대를 위해 매번 개발팀에 의존하는 구조가 양쪽 모두의 병목. 마케팅팀은 GA4 데이터를 직접 볼 수 없고, CX팀은 고객 정보 조회에 개발팀 요청이 필요했으며, 운영팀은 매출 데이터 확인에 매번 SQL을 의뢰해야 했음. 단순 챗봇이 아니라, 사내 모든 데이터 소스를 자연어로 연결하는 통합 AI 워크스페이스가 필요했음. | |
| #### 4.1.2 멀티모델 엔진 아키텍처 | |
| - **7개 LLM 동시 지원**: GPT-4.1, GPT-5.2 (low/mid/high), Claude Sonnet 4.6, Claude Opus 4.6, Gemini 2.5 Pro, Gemini 2.5 Flash | |
| - **자동 모델 선택**: 메시지 난이도를 분석하여 적절한 모델 티어를 자동 배정 — 단순 질문에 고비용 모델을 낭비하지 않는 구조, 비용 효율과 응답 품질의 균형 | |
| - **AI SDK(Vercel) 채택**: 벤더 락인 없는 멀티모델 LLM 애플리케이션 구축을 위한 통합 프로바이더 추상화 | |
| - **PostgreSQL + Drizzle ORM**: 1인 개발로 생산성을 고려한 설계 결정 | |
| - **인프라**: AWS ECS (Terraform), Docker 배포, PostgreSQL 15+ 테이블 | |
| #### 4.1.3 3개 전문 추론 에이전트 | |
| | 에이전트 | 핵심 구조 | 하는 일 | | |
| |---|---|---| | |
| | **Data Agent** | `AgentLoop` 클래스 — 구조화된 추론 루프 (think → critique → tool call → reflect → next step) | BigQuery 자연어 쿼리 실행, dry-run 비용 추정, 데이터 분석, 시각화 | | |
| | **Browser Agent** | `ReasoningLoop` 클래스 — 다각도 조사 + 출처 인용 | 웹 검색, 페이지 읽기, 스크린샷 캡처, YouTube 트랜스크립트, 멀티앵글 리서치 | | |
| | **GitHub Agent** | Claude Code SDK 기반 — 서브에이전트 위임으로 코드베이스 탐색 | MCP 도구를 활용한 GitHub 작업, 코드 분석, PR 리뷰 지원 | | |
| #### 4.1.4 50+ 통합 도구 생태계 | |
| - **Slack** (12개 도구): 채널 히스토리, 스레드, 검색, DM 등 | |
| - **Google**: Gmail, Google Calendar, GA4 | |
| - **프로젝트 관리**: Jira, Notion, Airtable | |
| - **데이터**: BigQuery, GraphQL | |
| - **디자인**: Figma | |
| - **개발**: GitHub, 코드 샌드박스 | |
| - **기타**: 웹 검색, 파일 내보내기 등 | |
| - 각 도구는 AI 미들웨어를 통해 호출 로깅·결과 트렁케이션이 자동 적용 | |
| #### 4.1.5 MCP 서버 구현 | |
| - SSE 기반 스트리밍 세션 (heartbeat/polling) | |
| - **도구 정책 엔진**: 사용자별 allow/deny 정책으로 도구 접근 제어 | |
| - 외부 MCP 클라이언트용 API 키 관리 | |
| - PostgreSQL 기반 세션 영속화 | |
| #### 4.1.6 에이전트 메모리 시스템 (프로덕션 운영 중) | |
| - **mem0ai** 라이브러리 — **벡터 + 그래프 듀얼 저장소** | |
| - Python 사이드카 서비스로 운영 | |
| - 대화에서 사용자별 사실(fact) 자동 추출 → 관련 메모리를 프롬프트에 주입 | |
| - 메모리 시각화 UI (네트워크 그래프) | |
| - 사용할수록 더 잘 작동하는 개인화 경험 — 비기술 직군일수록 체감하는 가치 | |
| #### 4.1.7 페르소나 추출 시스템 | |
| - Cron 기반으로 활성 사용자의 대화 이력을 분석 | |
| - 추출 항목: 관심사, 업무 패턴, 전문 분야, 선호 도구, 커뮤니케이션 스타일 | |
| - 사용자별 이력과 함께 영속화 — 개인화된 응답 품질 향상 | |
| - 반복 설명이 필요 없는 경험 구현 | |
| #### 4.1.8 Deep Research & 회의 인텔리전스 | |
| - **Deep Research**: 백그라운드 잡 시스템으로 장시간 리서치 수행 (~3분), 완료 시 Slack 알림, 실패 복구 메커니즘 | |
| - **회의 인텔리전스**: 실시간 오디오 녹음 + STT (gpt-4o-transcribe, 화자 분리), 자동 요약 생성, Notion 연동 | |
| #### 4.1.9 Skills & Library 시스템 | |
| - 사용자가 직접 프롬프트 템플릿을 생성하여 `/prefix`로 호출 | |
| - 공개 공유 + 리뷰/평점 시스템 | |
| - Slack에서 `!prefix`로 트리거 — 기존 업무 흐름을 바꾸지 않고 AI를 이식 | |
| #### 4.1.10 커스텀 UI DSL | |
| 채팅 메시지 내에 렌더링되는 커스텀 DSL: | |
| - 인라인 슬라이더/캐러셀 | |
| - 바/파이 차트 | |
| - 코드 비교 뷰 | |
| - 비개발 직군도 결과를 즉시 이해할 수 있는 UI | |
| #### 4.1.11 AI 미들웨어 | |
| - LLM 호출 로깅 (모든 호출 기록) | |
| - 도구 호출 로깅 | |
| - 도구 결과 자동 트렁케이션 (50+ 도구 응답을 적정 크기로 절삭) | |
| - 사용량 기반 속도 제한 (rate limiting) | |
| - 대화 자동 압축 (긴 대화를 요약하여 토큰 효율 유지) | |
| #### 4.1.12 안전장치 및 모니터링 | |
| - 사용량 제한(rate limiting), 도구 호출 모니터링 | |
| - **HITL(Human In The Loop)**: 에이전트의 판단이 불확실할 때 사용자에게 확인 요청 | |
| - 에이전트 피드백 시스템 — 구조화된 피드백 수집·저장·활용 | |
| - 사용자별·모델별·도구별 사용 패턴 추적 | |
| #### 4.1.13 멀티 플랫폼 | |
| 3개 플랫폼에서 접근 가능: | |
| 1. **웹**: ai.creatrip.com | |
| 2. **Electron 데스크톱 앱**: ai-platform-electron (sole creator, 14 커밋) | |
| 3. **Chrome Extension**: ai-platform-chrome-extension (sole creator, 15 커밋) | |
| #### 4.1.14 도메인별 AI 솔루션 요약 | |
| | 도메인 | 해결한 문제 | AI 솔루션 | | |
| |---|---|---| | |
| | **데이터 분석** | 비개발 직군이 BigQuery 데이터에 접근 불가 | 자연어로 쿼리 실행 + dry-run 비용 추정 + 시각화 (Data Agent) | | |
| | **리서치** | 20개국 시장 조사에 시간 소요 | 멀티앵글 웹 리서치 + 출처 인용 (Browser Agent) | | |
| | **회의 생산성** | 회의록 작성에 시간 낭비 | 실시간 녹음 + STT(화자 분리) + 자동 요약 + Notion 연동 | | |
| | **개인화** | 반복적인 업무 패턴 재설명 | 사용자별 업무 패턴·선호 자동 학습 (페르소나 추출) | | |
| #### 4.1.15 결과 | |
| 비개발 직군이 데이터 조회·분석·리서치를 자연어로 자립 수행. 개발팀에 대한 반복 요청 대폭 경감. 3개 플랫폼에서 전 직군이 AI에 접근하는 환경을 1인으로 구현. | |
| --- | |
| ### 4.2 AI 에이전트 개발 환경 구축 — 개발팀의 일하는 방식을 바꾸다 | |
| > 20인 개발팀에서 코드 리뷰, 버그 탐지 등 반복 업무가 개발 속도의 병목. | |
| > 단순히 LLM을 호출하는 것이 아니라, 팀 전체가 신뢰하고 일상적으로 사용할 수 있는 에이전트 시스템이 필요했음. | |
| #### 4.2.1 TFT(Tool For Thought) 프레임워크 | |
| - AI를 실행기가 아닌 **사고 도구**로 활용하는 인터랙션 패턴 | |
| - 5단계 사이클: **Frame → Decide → Implement → Verify → Reflect** | |
| #### 4.2.2 AI 스킬 시스템 | |
| - 14개 AI 스킬 직접 설계: commit, create-pr, design-polishing, browser, find-route, i18n-generator, ga-event-guide, testing-guidelines, verify, naming-conventions, tailwind-migration-guide, graphql-dev-guidelines, preview-web-tsx, bug-triage-trace 등 | |
| - 전체 28개 스킬 시스템의 주 기여자 | |
| #### 4.2.3 Claude Code 커스텀 훅 | |
| - 8개 커스텀 훅 (primary author, 22/32 commits — 69% 기여) | |
| - 세션 컨텍스트 자동 로드, 워크스페이스별 상태 추적, 위험 명령 차단, 자동 린트/포맷 | |
| #### 4.2.4 ai-pr-review-action 기여 | |
| - 개인 프로젝트 `gpt-pr-github-actions`(RAG 기반 PR 리뷰, ⭐7)에서 출발 → Creatrip의 `ai-pr-review-action` v2(TypeScript)로 발전 | |
| - v2 구현은 팀원 A가 주도 구축 (665 커밋 vs JongHak 18 커밋) | |
| - JongHak은 이미지 업로드 도구, 환경 변수 패스스루, 리팩토링에 기여 (18 커밋) | |
| - Claude + Azure OpenAI 교차 모델 검증 아키텍처 | |
| #### 4.2.5 AGENTS.md 거버넌스 | |
| - 계층적 에이전트 거버넌스의 주 유지보수자 및 확장자 | |
| - 17개 AGENTS.md로 루트 → 도메인 → 서비스 → 패키지 수준 규칙 체계화 | |
| #### 4.2.6 코드 리뷰 프로세스 혁신 | |
| - **도입 전**: 인간 리뷰어 2명 승인이 PR 머지의 필수 조건 → 리뷰 지연이 주요 병목 | |
| - **1단계**: 인간 리뷰어 1명 + AI 리뷰 통과 | |
| - **2단계(현재)**: AI 리뷰 통과 시 인간 리뷰는 옵셔널로 전환 | |
| - 팀의 맥락을 구조화·저장한 후, 치명적 런타임 에러와 누락된 처리 포인트를 선제적으로 탐지 | |
| - 팀 내 AI 리뷰에 대한 신뢰가 쌓여 리뷰 정책 자체가 변경된 사례 | |
| #### 4.2.7 생산성 실증 | |
| - 2026년 1-2월 개인 커밋 **1,649건** — 2024년 연간(1,619건)을 2개월 만에 달성 | |
| - AI 도구 환경이 실제로 생산성을 바꾸고 있다는 증거 | |
| #### 4.2.8 5개 AI 코딩 도구 통합 | |
| - Claude, Cursor, Windsurf, Codex, Gemini 5개 AI 코딩 도구에서 동일한 규칙 체계가 작동하는 환경 구축 | |
| --- | |
| ### 4.3 Zendesk AI 앱 — CX 업무 자동화 | |
| > sole creator · 23 커밋 · 전체를 단독 설계·구현 | |
| #### 문제 | |
| CX 팀이 매일 수백 건의 고객 티켓을 처리하면서 요약·번역·분류를 수작업으로 진행. 20개국 고객 대응이라 다국어 처리 필수. | |
| #### 구현 — GPT-4.1 기반 End-to-End CX 자동화 | |
| - 티켓 자동 요약 — 긴 고객 대화를 핵심 이슈로 압축 | |
| - 다국어 번역 — 14개 언어 고객 티켓 실시간 번역 | |
| - AI 기반 답변 제안 (Reply Suggestions) — 이전 유사 티켓 패턴 학습하여 응답 초안 생성 | |
| - LLM 기반 필드 자동 채우기 (Automatic Field Population) — 분류, 우선순위, 담당자 AI 자동 추천 | |
| - 티켓 자동 분류 시스템 (Ticket Classification) | |
| #### 결과 | |
| CX 담당자의 티켓 처리 효율 향상. 요약·번역·분류의 수작업 제거. CX팀의 기존 워크플로우(Zendesk)를 바꾸지 않고 AI를 이식한 사례. | |
| --- | |
| ### 4.4 MCP 프록시 (ai-creatrip-mcp, npm 패키지) | |
| > sole creator · 10 커밋 · npm 패키지로 배포 | |
| #### 문제 | |
| 다양한 MCP 서버(Slack, Jira, Notion, DB, GA4 등)를 외부 AI 도구(Claude Desktop, Cursor 등)에서 개별 연결하는 것은 설정이 복잡하고 보안 관리가 어려움. | |
| #### 구현 | |
| - ai.creatrip.com에 연결하여 동적 설정 주입 | |
| - 여러 MCP 서버를 단일 SSL 보안 인터페이스로 통합하는 프록시 | |
| - 비동기 병렬 서버 연결 | |
| - SSE 스트리밍 (안정성/타임아웃 핸들링) | |
| - npm 패키지 `ai-creatrip-mcp`로 배포 | |
| --- | |
| ### 4.5 기타 AI 레포 (Creatrip org) | |
| | 레포 | 역할 | 커밋 수 | 설명 | | |
| |---|---|---|---| | |
| | **ai-platform-electron** | sole creator | 14 | Electron 데스크톱 앱 | | |
| | **ai-platform-chrome-extension** | sole creator | 15 | 브라우저 확장 | | |
| | **agent-storage** | primary (14/20) | 14 | 에이전트 파일 저장소 | | |
| | **creatrip-claude-plugins** | sole creator | 24 | TFT 프레임워크 플러그인 | | |
| | **gpt-chatbot** | contributor | 6 | 초기 RAG 챗봇에 평가 시스템 + 데이터 전처리 기여 | | |
| | **ai-creatrip-mcp** | sole creator | 10 | MCP 서버 프록시 (npm 패키지) | | |
| --- | |
| ## 5. 프로덕션 엔지니어링 (Production Engineering) | |
| ### 5.1 결제 시스템 — 6개 PG사 통합 | |
| - **206 커밋, #1 human contributor** (AI 세션 봇의 자동 커밋을 제외한 기준) | |
| - **Stripe 결제 시스템 구축**을 중심으로 6개 PG사 통합에 기여 | |
| - Stripe, Payple, LinePay, JKO Pay, Eximbay, Iamport | |
| - 멱등성(idempotent) 환불 처리 | |
| - PG 호출을 트랜잭션 외부로 분리하여 타임아웃 원천 차단 | |
| - 결제 스냅샷 검증 시스템 구축 | |
| ### 5.2 Lexical 리치 텍스트 에디터 | |
| - **118 커밋, #1 contributor** | |
| - Froala → Lexical 전환 | |
| - Froala→Lexical HTML 변환기 구현 | |
| - TikTok/Twitter 임베드 지원 | |
| - 테이블 툴바 | |
| ### 5.3 상태 관리 마이그레이션 | |
| - **Recoil → Zustand** 전체 마이그레이션 | |
| - Admin 전체 상태 관리 전환 | |
| - 972개 파일 변경, 3,616 insertions / 6,658 deletions | |
| ### 5.4 스타일 시스템 마이그레이션 | |
| - **styled-components → Tailwind CSS v4** 전환 | |
| - 42 커밋, pioneer(선구자)이자 리더 | |
| - **Shadow DOM + adoptedStyleSheets** 통합 — Tailwind CSS와 Shadow DOM 통합을 직접 구현 | |
| ### 5.5 커스텀 ESLint 플러그인 | |
| - **33개의 커스텀 ESLint 규칙** 직접 개발 (#1 contributor) | |
| - 구현된 규칙들: | |
| - `graphql-require-id-field` — GraphQL 쿼리에 id 필드 강제 | |
| - `no-unnecessary-hook-return-type` — 불필요한 훅 리턴 타입 방지 | |
| - 디자인 시스템 규칙 등 | |
| ### 5.6 성능 최적화 | |
| - **Core Web Vitals 양호 비율 5% → 90%** (Google Search Console Mobile 기준, 2025) | |
| - 개선 전략: | |
| - SSR 전환 | |
| - SWR 캐싱 | |
| - CDN 최적화 | |
| - CLS(Cumulative Layout Shift) 방지 | |
| - 다각도 성능 개선 | |
| ### 5.7 CI/CD 최적화 | |
| - **Blacksmith 러너 마이그레이션** — GitHub Actions CI 러너 전환 | |
| - **Turbo 로컬 리모트 캐시 구축** 및 설정 최적화 | |
| - CI 최적화: | |
| - 경로 트리거 (path-based triggers) | |
| - 동시성 제어 (concurrency control) | |
| - ESLint 캐시 | |
| --- | |
| ## 6. 오픈소스 활동 (Open Source) | |
| ### 6.1 chrome-extension-boilerplate-react-vite | |
| > **⭐4,839 stars · 643 forks** — GitHub에서 인기 있는 Chrome Extension 보일러플레이트 중 하나 | |
| - **기술 스택**: React + TypeScript + Vite + Turborepo + Tailwind + Manifest V3 | |
| - **커스텀 HMR 플러그인** 직접 개발 — Chrome Extension 환경에서의 핫 리로드 문제 해결 | |
| - Awesome Vite 등재 | |
| - 자체 Discord 커뮤니티 운영 | |
| - 310+ 커밋, 4년간 지속 유지보수 (2022~2026) | |
| - JetBrains 오픈소스 라이선스 획득 | |
| - 해외 후원 경험 | |
| ### 6.2 DragGPT (⭐57, Chrome Web Store 출시) | |
| - 텍스트 드래그 선택 → ChatGPT 즉시 응답 Chrome Extension | |
| - XState + Streaming으로 복잡한 비동기 상태 관리 | |
| - 다국어 README (EN/KO/JA/ZH-CN) | |
| - AI 인터페이스에 대한 초기 탐색(2023)으로, 이후 사내 AI 도구 설계의 출발점이 됨 | |
| ### 6.3 react-code-finder-extension (⭐28, 1,000+ 사용자) | |
| - React 컴포넌트 → 소스 코드 위치 즉시 이동 | |
| - Cursor, Windsurf IDE 지원 | |
| ## 7. 기술 스택 (Tech Stack) | |
| ### 7.1 AI / Agent | |
| | 기술 | 상세 | | |
| |---|---| | |
| | **LLM API** | OpenAI API (GPT-4.1~5.2), Claude API (Sonnet 4.6/Opus 4.6), Gemini API (2.5 Pro/Flash) | | |
| | **Agent SDK** | Claude Code Agent SDK, AI SDK (Vercel) | | |
| | **RAG / Vector** | LangChain, ChromaDB, OpenAI Embeddings | | |
| | **Memory** | mem0ai (벡터 + 그래프 듀얼 저장소) | | |
| | **Orchestration** | MCP Server/Client, Agent Loop, Reasoning Loop, SSE Streaming | | |
| | **Observability** | OpenTelemetry, LangSmith | | |
| | **Patterns** | RAG, Vector+Graph Memory, Agent Orchestration, Tool Use/Function Calling | | |
| ### 7.2 Frontend | |
| TypeScript, React, Next.js, Tailwind CSS, Apollo Client, GraphQL, XState, Zustand | |
| ### 7.3 Backend | |
| NestJS, Drizzle ORM, Sequelize, Mongoose, Kysely, PostgreSQL, Redis, Bull, Elasticsearch, gRPC | |
| ### 7.4 Infra / DevOps | |
| AWS ECS, Terraform, Docker, GitHub Actions, Turborepo, pnpm, Vite | |
| ### 7.5 Browser Extension | |
| Chrome Extension MV3, Custom HMR Plugin, Shadow DOM, adoptedStyleSheets | |
| ### 7.6 Testing | |
| Jest, Vitest, Playwright, React Testing Library | |
| --- | |
| ## 8. AI 엔지니어링 철학 (AI Engineering Philosophy) | |
| > 14개월간 전사 AI 도구를 1인으로 설계·운영하면서 체득한 원칙들. 이론이 아니라, 프로덕션에서 검증된 경험에 기반. | |
| ### 8.1 컨텍스트 엔지니어링 — 에이전트가 올바르게 추론하기 위한 구조 | |
| ai-platform의 `AgentLoop`와 `ReasoningLoop`를 설계하면서 체득한 핵심 원칙 — 에이전트에 전체 컨텍스트를 넘기면 비용과 환각이 비례 증가. 이를 해결하기 위한 다층적 컨텍스트 제어: | |
| - **도구 결과 자동 트렁케이션**: 50+ 도구 응답을 미들웨어에서 자동으로 적정 크기로 절삭 | |
| - **대화 자동 압축**: 긴 대화를 요약하여 토큰 효율 유지 | |
| - **자동 모델 선택**: 메시지 난이도 분석 → 적절한 모델 티어 배정으로 비용 대비 품질 최적화 | |
| - **계층적 AGENTS.md**: 17개 거버넌스 문서로 스킬 단위의 컨텍스트 범위를 통제 | |
| - **14개 전문 스킬 설계**: 범용 에이전트보다 좁은 범위의 전문 스킬이 비용·환각 면에서 유리함을 실운영에서 검증 | |
| ### 8.2 멀티모델 검증 — 단일 모델을 신뢰하지 않는 구조적 접근 | |
| - ai-platform에서 **7개 LLM을 동시 운영**하며 용도별 최적 모델 배정 | |
| - `ai-pr-review-action`에서 Claude ↔ Azure OpenAI **교차 모델 검증**으로 false-positive 필터링 패턴 적용 | |
| - AI 코드 리뷰와 병합 후 버그 탐지에서 이 패턴을 적용하여 개발자 피로도를 방지 | |
| ### 8.3 에이전트 메모리 — 벡터 + 그래프 듀얼 메모리 (프로덕션 운영 중) | |
| 실제 프로덕션에서 운영 중인 메모리 시스템: | |
| - **mem0ai** 라이브러리 기반 벡터 + 그래프 듀얼 저장소 — Python 사이드카 서비스로 운영 | |
| - 대화에서 사용자별 **사실(fact) 자동 추출** → 관련 메모리를 프롬프트에 주입 | |
| - **페르소나 추출**: Cron 기반으로 사용자의 관심사·업무 패턴·전문 분야·선호 도구·커뮤니케이션 스타일을 자동 분석·영속화 | |
| - 메모리 시각화 UI (네트워크 그래프)로 관리 | |
| - Claude Code 훅에서 워크스페이스별 세션 컨텍스트를 파일 기반으로 저장·로드 | |
| - 커스텀 pi extension 메모리 시스템 구현 후 사용 | |
| ### 8.4 품질 평가 — 다층적 품질 측정 체계 | |
| - **DataAgent 일관성 검증**: 에이전틱 루프의 결과 일관성을 측정하기 위해 **병렬 테스트(n=5)** 방식을 설계 — 특정 테이블에 대한 쿼리 호출 여부 등 최소 목표 달성을 확인 | |
| - **OpenTelemetry + LangSmith**: 에이전트 실행을 모니터링하고, 사용 패턴을 파악하여 개선 효과를 측정 | |
| - **LLM/도구 호출 로깅**: ai-platform의 AI 미들웨어에서 모든 LLM 호출과 도구 호출을 로깅 | |
| - **사용량 분석**: 사용자별·모델별·도구별 사용 패턴 추적 | |
| - **교차 모델 검증 + 개발자 피드백 루프**: 에이전트 품질을 정량적·정성적으로 측정하고 개선하는 체계 운영 | |
| - **평가 시스템 구축 경험**: 초기 RAG 챗봇(`gpt-chatbot`)에서 평가 시스템 + 데이터 전처리 파이프라인 직접 구현 | |
| --- | |
| ## 9. 발표 및 활동 (Talks & Activities) | |
| ### 9.1 Creatrip Dev Talk (2025.10) | |
| - **47장 슬라이드**, 외부 참석자 대상 밋업 발표 | |
| - 주제: **"AI와 함께 성장하는 크리에이트립"** | |
| - 내용: LLM 번역 파이프라인, AI 플랫폼 아키텍처(AgentLoop/ReasoningLoop/메모리), 조직 문화 | |
| - 비기술 직군을 포함한 청중에게 AI 활용 가치를 전달 | |
| - 발표 자료: [https://creatrip-devtalk-session1.surge.sh](https://creatrip-devtalk-session1.surge.sh) | |
| ### 9.2 블로그 | |
| - **nookpi.tistory.com** (2019~현재) | |
| - 블로그명: "엘레베이터에 낀 남자" | |
| - 주요 포스트: AI 챗봇 구축기, Core Web Vitals 최적화 등 | |
| - 62+ 확인된 포스트 | |
| ### 9.3 팀 세미나 | |
| - Signals, React + xState, AI 활용 등 다수 발표 | |
| - 팀 내 AI Best Practice 전파 | |
| ### 9.4 번역 기여 | |
| - TypeScript 공식 사이트 한글화 기여 | |
| ### 9.5 LinkedIn | |
| - ~500 connections, ~796 followers | |
| - Tech Lead at Creatrip | |
| --- | |
| ## 10. 크리에이트립 컨텍스트 (Creatrip Context) | |
| ### 10.1 회사 개요 | |
| - **한국 여행 플랫폼**: 외국인 대상 한국 여행 서비스 | |
| - 20개국 이상, 14개 언어 지원 | |
| - 연간 수백만 해외 사용자 | |
| ### 10.2 개발 조직 | |
| - 프로덕트팀 **20인** (엔지니어 **11명**) | |
| - JongHak은 Tech Lead로 기술 방향성 결정 | |
| ### 10.3 기술 스택 | |
| - **NestJS + Next.js + Apollo Federation GraphQL + Turborepo 모노레포** | |
| - 5개 마이크로서비스 | |
| ### 10.4 AI 레포 현황 | |
| - Creatrip org 내 AI 관련 레포 **18개** | |
| - JongHak이 **10개** 주도 | |
| --- | |
| ## 11. 성격 및 가치관 (Personality & Values) | |
| ### 11.1 좌우명 | |
| > "The only way to go fast is to go right" | |
| ### 11.2 블로그명 | |
| > "엘레베이터에 낀 남자" (nookpi.tistory.com) | |
| ### 11.3 오픈소스에 대한 열정 | |
| - 4,839스타 프로젝트를 4년간 지속 유지보수 | |
| - JetBrains 오픈소스 라이선스 획득 | |
| - 해외 후원 경험 | |
| - Discord 커뮤니티 운영 | |
| ### 11.4 조직 문화 구축 | |
| - 팀 LLM 가이드라인에 동의하고 이를 실천·확산 | |
| - TFT(Tool For Thought) 프레임워크 설계·전파 | |
| - 코드 리뷰 프로세스 혁신을 통해 팀 신뢰 축적 | |
| ### 11.5 교육 · 공유 | |
| - 블로그 62+ 확인된 포스트 | |
| - 밋업 발표 (47장 슬라이드, 외부 대상) | |
| - 팀 세미나 다수 발표 | |
| - TypeScript 한글화 | |
| ### 11.6 AI에 대한 관점 | |
| - AI를 실행기가 아닌 **사고 도구(Tool For Thought)**로 활용 | |
| - TFT 프레임워크의 핵심 철학: Frame → Decide → Implement → Verify → Reflect | |
| - 에이전트를 가장 많이 사용하는 파워유저이면서, 에이전트가 잘 작동하기 위한 구조를 직접 설계한 엔지니어 | |
| ### 11.7 1인 개발 역량 | |
| - 85,000 LoC AI 플랫폼을 14개월간 1인 구축 | |
| - ai-platform 레포 전체 커밋의 76% (1,364 / 1,789)를 혼자 수행 | |
| - 웹 + 데스크톱 + 크롬 확장 3개 플랫폼 1인 구현 | |
| ### 11.8 비전공자 출신 실전 역량 | |
| - 경희대 경영학과 출신 (비CS, 비AI 전공) | |
| - 2023년부터 AI 도구를 직접 만들기 시작하여 3년간 프로덕션급 AI 시스템을 구축·운영한 실전 경험 | |
| --- | |
| ## 12. FAQ (Frequently Asked Questions) | |
| ### Q: 서종학은 어떤 사람인가요? | |
| **A:** Creatrip의 Tech Lead로, 85,000줄 규모의 멀티에이전트 AI 워크스페이스를 14개월간 1인으로 설계·구축한 풀스택 엔지니어입니다. 4,839스타의 오픈소스 프로젝트를 4년간 유지보수하고 있으며, AI 에이전트 시스템과 풀스택 프로덕션 엔지니어링 양쪽에 깊은 역량을 가지고 있습니다. 비개발 직군이 자연어로 데이터를 조회하고 업무를 수행할 수 있는 환경을 만들어, 조직 전체의 생산성을 바꾸는 것에 관심이 있습니다. | |
| ### Q: 가장 대표적인 프로젝트는? | |
| **A:** ai-platform (ai.creatrip.com) — 3개 추론 에이전트(Data, Browser, GitHub), 50+ 통합 도구, MCP 서버, 벡터+그래프 메모리를 갖춘 사내 AI 워크스페이스. 85,000줄 TypeScript, 1,364 커밋(ai-platform 레포의 76%). 사내 구성원 대부분이 마케팅, CX, 운영, HR, 개발 전 직군에서 일상적으로 사용 중. | |
| ### Q: AI/ML 전공자인가요? | |
| **A:** 아닙니다. 경희대 경영학과 출신이지만, 2023년부터 AI 도구를 직접 만들기 시작하여 3년간 프로덕션급 AI 시스템을 구축·운영한 실전 경험을 보유하고 있습니다. DragGPT(2023) → RAG 코드 리뷰(2023) → 멀티에이전트 AI 워크스페이스(2025)로 빠르게 역량을 확장했습니다. | |
| ### Q: 어떤 AI 기술을 다룰 수 있나요? | |
| **A:** 프로덕션에서 사용한 경험 기준: | |
| - **LLM API**: OpenAI (GPT-4.1~5.2), Claude (Sonnet/Opus 4.6), Gemini (2.5 Pro/Flash) | |
| - **Agent SDK**: Claude Code SDK, AI SDK (Vercel) | |
| - **RAG/벡터**: LangChain, ChromaDB, OpenAI Embeddings | |
| - **메모리**: mem0ai (벡터+그래프 듀얼 저장소) | |
| - **통합**: MCP Server/Client, SSE Streaming | |
| - **모니터링**: OpenTelemetry, LangSmith | |
| - **패턴**: Agent Orchestration, Tool Use/Function Calling, RAG, 교차 모델 검증 | |
| ### Q: 팀 리더십 경험은? | |
| **A:** Creatrip에서 Frontend Engineer(2021.12~2023.12) → Frontend Lead(2023.12~2025.05) → Tech Lead(2025.05~현재)로 성장. 11명 엔지니어 조직에서: | |
| - 기술 방향성 결정 및 AI 도입 주도 | |
| - 코드 리뷰 프로세스 혁신 (인간 2명 필수 → AI 통과 + 인간 옵셔널) | |
| - TFT 프레임워크 설계·전파 | |
| - AGENTS.md 거버넌스 체계화 | |
| - Dev Talk 밋업 주최 및 외부 발표 | |
| - 팀 내 AI Best Practice 전파 | |
| ### Q: 가장 어려웠던 기술 문제는? | |
| **A:** DataAgent의 에이전틱 루프 결과 일관성과 측정. | |
| - **문제**: 1회 측정에 시간과 비용이 많이 들고, 에이전틱 루프의 결과물 일관성을 보장하기 어려웠음 | |
| - **해결**: 병렬 테스트(n=5) 코드로 최소한의 목표 달성 확인 (특정 테이블에 대한 쿼리 호출 여부 등), OpenTelemetry 기반 LangSmith로 모니터링 + 사용 패턴 파악 | |
| - **결과**: 데이터 에이전트 사용 빈도나 대화 흐름상의 만족도로 개선 여부를 측정 가능하게 됨 | |
| ### Q: 오픈소스 활동 규모는? | |
| **A:** 총 스타 ~5,000+. 대표 프로젝트: | |
| - chrome-extension-boilerplate-react-vite: ⭐4,839, 643 forks, 4년 유지보수 | |
| - DragGPT: ⭐57, Chrome Web Store 출시 | |
| - react-code-finder-extension: ⭐28, 1,000+ 사용자 | |
| - gpt-pr-github-actions: ⭐7, RAG 기반 PR 리뷰 | |
| - GitHub 팔로워 237명, 52개 레포 | |
| ### Q: 어떤 AI 에이전트 프레임워크를 사용하나요? | |
| **A:** 외부 에이전트 프레임워크 대신 자체 AgentLoop/ReasoningLoop를 설계·구현하여 사용. AI SDK(Vercel) 기반으로 벤더 락인 없이 멀티모델을 유연하게 지원하기 위한 설계 결정. | |
| ### Q: 프론트엔드 엔지니어인가요, AI 엔지니어인가요? | |
| **A:** 풀스택 엔지니어이자 AI 엔지니어입니다. 커리어는 Frontend Engineer로 시작했지만(Slogup, Creatrip), Tech Lead가 된 이후 백엔드, 인프라, AI 시스템까지 풀스택으로 확장했습니다. AI Platform은 프론트엔드(React, Electron, Chrome Extension), 백엔드(NestJS, PostgreSQL), 인프라(AWS ECS, Terraform)를 모두 포함하며, 이 모든 것을 1인으로 구축했습니다. | |
| ### Q: 회사에서 AI 도입은 본인이 시작한 건가요? | |
| **A:** 네. 2023년 DragGPT와 RAG 코드 리뷰에서 시작하여, 2025년 본격적으로 ai-platform을 1인 구축하며 사내 AI 도입을 주도했습니다. 현재 Creatrip org 내 AI 관련 레포 18개 중 10개를 주도하고 있습니다. | |
| ### Q: 결제 시스템 기여는? | |
| **A:** '26 Stripe 결제 시스템 구축에 관여, 타 PG결제시 동시성 이슈에 대한 멱등성 처리 등에 기여했습니다. | |
| ### Q: Core Web Vitals 수치의 출처는? | |
| **A:** Google Search Console 기준. 개선 전 5%, 개선 후 90%. | |
| ### Q: AI 코드 리뷰가 실제로 버그를 잡았나요? | |
| **A:** 네. 단순한 휴먼 에러부터, 팀의 맥락을 구조화하여 저장하고 관리하기 시작한 후로: | |
| - 운영 상황에서 치명적인 런타임 에러 탐지 | |
| - 함께 처리해줘야 하는 누락된 포인트들을 선제적으로 발견 | |
| - 이런 성과가 쌓이면서 팀 내 AI 리뷰에 대한 신뢰가 형성되어 리뷰 정책 자체가 변경됨 | |
| ### Q: Slogup에서 무엇을 했나요? | |
| **A:** 2019.09 ~ 2021.12 Frontend Engineer로 근무. 커리어의 시작점. | |
| ### Q: Casemark AI에서 무엇을 했나요? | |
| **A:** 2023.05 ~ 2023.11 Chrome Extension Consultant (파트타임). Creatrip 재직 중 겸직. 미국 변호사를 위한 AI 익스텐션 컨설팅 및 PoC 담당. | |
| --- | |
| ## 13. 한계 및 성장 영역 (Limitations & Areas for Growth) | |
| - **정규 ML/AI 교육 부재**: 경영학 전공으로, 머신러닝 이론(수학적 기초, 모델 학습/파인튜닝)에 대한 정규 교육은 받지 않음. API 활용과 시스템 설계에 강점이 있으나, 모델 내부 동작에 대한 깊이는 ML 전공자 대비 제한적 | |
| - **대규모 사용자 대상 AI 제품 경험 부재**: 사내 도구(수십~수백 명 규모) 경험은 풍부하나, 수백만~수천만 사용자 대상의 AI 제품을 직접 설계·운영한 경험은 아직 없음 | |
| - **외부 에이전트 프레임워크 미사용**: LangGraph, AutoGen, CrewAI 등 커뮤니티에서 널리 사용되는 프레임워크 대신 자체 구현(AgentLoop/ReasoningLoop)을 선택. 범용 프레임워크의 트레이드오프에 대한 실전 경험은 제한적 | |
| - **형식적 평가 체계 미성숙**: 자체 모니터링(LangSmith, 병렬 테스트)은 운영 중이나, RAGAS/DeepEval 같은 체계적 eval 프레임워크는 아직 미도입 | |
| --- | |
| ## 부록: AI 에이전트 시스템 진화 타임라인 (Chronological Evolution) | |
| | 시기 | 프로젝트 | 핵심 기술 | 의의 | | |
| |---|---|---|---| | |
| | **2023 초** | DragGPT | ChatGPT API, XState, Streaming | AI 인터페이스에 대한 초기 탐색. Chrome Extension + AI의 첫 조합 | | |
| | **2023 중** | gpt-slack-bot | OpenAI API, Slack, 스레드 메모리 | 대화형 AI 봇의 기초. in-memory 캐시 기반 대화 관리 | | |
| | **2023 하** | gpt-pr-github-actions | LangChain, ChromaDB, RAG | 벡터 검색 + RAG 첫 도입. 개인 실험 → 조직 표준의 시작점 | | |
| | **2025.01~** | ai-platform (ai.creatrip.com) | 7 LLMs, 3 Agents, 50+ tools, MCP, mem0ai | 85K LoC 멀티에이전트 워크스페이스 1인 구축 | | |
| | **2025** | Zendesk AI 앱 | GPT-4.1, Zendesk API | CX 도메인 특화 AI 솔루션 | | |
| | **2025** | MCP 프록시 (ai-creatrip-mcp) | MCP, SSE, npm | LLM-도구 통합 레이어 | | |
| | **2026** | TFT 프레임워크 | Claude Code, AGENTS.md, 14 Skills | 팀 전체의 AI 활용 방식을 구조화 | | |
| | **2026** | ai-pr-review-action 기여 | Claude + Azure OpenAI, 교차 검증 | 코드 리뷰 프로세스 혁신, 리뷰 정책 변경 | | |
| | **2026.01~02** | 생산성 폭증 | 전체 AI 도구 생태계 | 2개월 1,649커밋 (2024년 연간 수준을 2개월 만에 초과) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment