Blog / Essay / 2026년 1분기 회고 — AI와 80일간 15개 프로젝트, 200...
Essay

2026년 1분기 회고 — AI와 80일간 15개 프로젝트, 2000개 테스트

2026년 1분기 AI 개발 회고. 91개 세션으로 Unity 게임 3종, 트레이딩 봇, 자율 에이전트, 크롤러 3종을 동시에 진행하며 얻은 교훈을 정리한다.

2026년의 첫 분기가 끝나간다. 2월부터 3월까지 약 80일간 15개 이상의 프로젝트를 동시에 진행했다. 세션 로그만 91개, 작성한 테스트는 2,000개를 넘겼고, 블로그 포스트도 24편을 썼다. 하나하나 시리즈로 기록한 것도 있고, 코드만 쌓아두고 글로 정리하지 못한 것도 있다. 이 글은 그 전체를 한 번에 돌아보는 분기 회고다.


전체 지형도

먼저 이번 분기에 손댄 프로젝트들을 한눈에 정리한다.

영역 프로젝트 기간 핵심 지표
게임 AI-Roguelike 2/20~21 20 commits, 127 tests
게임 AI-Vamsulike 2/22~23 5 commits, 20종 무기
게임 Rythm_Rogue 2/22~3/19 35 commits, 10종 리듬 패턴
트레이딩 AI-Trading-v3 2/23~3/19 28+ sessions, 1,010 tests
자율 에이전트 Gen 3/18 6개 프로젝트 하루 생성
크롤러 2d-dots-image-crawler 2/22~23 56 tests
크롤러 bgm-crawler 2/22~23 140 tests
크롤러 sfx-crawler 2/22~23 71 tests
AI-page-new-team 2/21~3/16 60+ React 사이트
인프라 Claude Code Harness 2/22 4개 시스템
jandi (AI Studio) 2/16 Gemini API 연동

이 중 게임 시리즈(AI로 게임 개발하기 13편)와 트레이딩 시리즈(AI 트레이딩 봇 개발기 9편)는 이미 상세히 기록했으므로, 이 회고에서는 요약만 하고 넘어간다. 아직 블로그에 쓰지 않은 프로젝트들에 비중을 둔다.


1. AI 게임 개발 — 3종 게임을 3주에

시리즈 전체: 1일차 ~ 13일차

AI-Roguelike (2일간, 20 commits)

Vampire Survivors 스타일 로그라이크. C# 네이밍 컨벤션 표준화부터 시작해서 127개 EditMode 테스트를 작성하고, Railgun 빙벽 레인보우 굴절, Spear 멀티히트, 오비탈 회전 건 같은 무기 시스템을 구현했다. Addressables 런타임 통합으로 비주얼 에셋을 런타임에 교체하는 구조까지 만들었다.

AI-Vamsulike (2일간, 5 commits)

AI-Roguelike의 경험을 살려 풀스케일 뱀서라이크를 기획했다. M1 코어 파운데이션(GameManager, Event System, Object Pooling, Player, Enemy AI, XP, HUD, 무한맵)을 하루 만에 올리고, M2에서 MagicBolt부터 GuardianAura까지 20종 무기를 구현했다.

Rythm_Rogue (약 한 달, 35 commits)

가장 야심찬 프로젝트다. 로그라이크와 리듬 액션을 결합했다. GDD 작성부터 시작해서 10가지 음악적 리듬 패턴 기반 적 공격 시스템, 런맵, 비전투 노드, 아티팩트 시스템, 보상 UI, 난이도 스케일러, BPM 가변, 엘리트/보스까지 Phase 3를 마무리했다. 비트에 맞춰 히트 판정 타이밍을 동기화하는 것이 가장 까다로운 문제였고, 13일차에서 코루틴 대신 StateMachineBehaviour의 normalizedTime을 사용하는 방식으로 해결했다.

세 게임을 통해 얻은 핵심 교훈: AI는 보일러플레이트와 시스템 구조를 빠르게 세우는 데 탁월하지만, 게임 “느낌”을 만드는 미세 튜닝(히트 판정 타이밍, 넉백 강도, 카메라 쉐이크 세기)은 여전히 사람이 직접 플레이하면서 잡아야 한다.


2. AI 트레이딩 시스템 — 코드에서 운영으로

시리즈 전체: 1일차 ~ 중간 회고

AI-Trading-v3는 Python 기반 멀티마켓 자동 매매 시스템이다. 암호화폐, 국내주식, 해외주식을 대상으로 Donchian Ensemble Trend Following + AI Ensemble 전략을 실행한다.

핵심 성과를 숫자로 정리하면:

  • 1,010개 테스트 스위트 구축
  • 감성 분석 어그리게이터: CNN F&G, Crypto F&G, Reddit, Naver, YouTube 5개 소스 통합
  • BTC 바로미터 필터 도입으로 Sharpe ratio +92%
  • DriftDetector/StrategyAllocator: 시장 레짐 변화 자동 감지 및 전략 재배분
  • React SPA 웹 대시보드: 12개 페이지 (포트폴리오, 성과분석, 거래이력, 로그뷰어, 설정 등)

28개 이상의 세션을 거치며 가장 많은 시간을 쏟은 건 “동작하는 코드”를 “운영 가능한 시스템”으로 만드는 과정이었다. 중간 회고에서 정리했듯, 실전 운영 20일간 30건 이상의 버그를 수정하고 71건의 거래를 분석했다.


3. Gen — AI가 스스로 프로젝트를 만드는 시스템

이번 분기에서 가장 실험적인 프로젝트다. 2026년 3월 18일, 하루 만에 구축했다.

Gen은 Claude Code가 스스로 여러 프로젝트를 동시에 탐색, 기획, 설계, 개발, 테스트하는 자율 멀티 프로젝트 개발 시스템이다. 사람은 시스템을 세팅하고 돌려놓기만 하면 된다.

아키텍처

orchestrator.sh
  └─ run-project.sh (프로젝트별 독립 실행)
       └─ 5단계 파이프라인: ideate → plan → implement → test → review

핵심 설계 원칙은 세 가지다:

  1. 무제한 장르: 앱, 웹, 게임, CLI 도구 등 장르 제한 없이 무한히 개발
  2. 독립 Git 저장소: 프로젝트별로 별도 저장소 생성, 커밋 히스토리 유지
  3. 유지보수 로테이션: 새 프로젝트만 만드는 것이 아니라 R1→R2→R3→repeat 사이클로 기존 프로젝트도 지속 개선

수익성 중심으로 아이디어를 선정하고, Discord webhook으로 진행 상황을 실시간 알림한다.

하루에 6개 프로젝트를 생성하다

Gen을 돌린 첫날(3월 18일), 6개의 완성된 API/도구가 나왔다.

프로젝트 설명 테스트 커버리지
avatar-generator-api 텍스트/이메일/ID → 고유 아바타 이미지 REST API. 5종 스타일, 4종 포맷 81/81 97.87%
email-validation-api 이메일 다층 검증. 문법, DNS/MX, 일회용 탐지, 역할 기반 탐지 83/83 88.37%
og-image-api Open Graph 소셜 카드 이미지 생성. SVG 템플릿 4종 → Sharp 변환 38/38 92.47%
qr-code-api QR Code 생성. 텍스트/URL/vCard/WiFi/Email 5가지 타입 67/67 92.43%
api-invoice-pdf-generator JSON → PDF 인보이스 생성. Node.js + Express + PDFKit - -
http-probe HTTP 요청 타이밍 측정 + 터미널 워터폴 시각화 Go CLI 도구 11/11 -

6개 프로젝트의 테스트 합계: 280개 전체 통과. 평균 커버리지 90% 이상.

주목할 점은 이 프로젝트들이 모두 Node.js/Go 생태계의 실용적인 마이크로서비스라는 것이다. Gen의 아이디어 선정 로직이 “배포 가능한 단위”, “API 형태”, “수익화 가능성”을 우선시하도록 설계했기 때문이다. avatar-generator-api의 경우 initials, geometric, pixel, gradient, ring 5종 스타일을 지원하고 SVG/PNG/WebP/JPEG 4종 포맷으로 출력하는데, 이 정도면 SaaS로 올려도 될 수준이다.

Gen은 아직 실험 단계지만, “AI가 개발자의 도구가 되는 것”을 넘어서 “AI가 스스로 개발자가 되는 것”의 프로토타입이라 할 수 있다.


4. 게임 에셋 자동 크롤러 3종 세트

게임 개발의 가장 지루한 부분 중 하나가 에셋 수집이다. 프리 에셋 사이트를 돌아다니며 하나씩 다운로드하고, 폴더에 분류하고, 중복을 제거하는 작업. 이걸 자동화하기 위해 이틀간(2월 22~23일) 크롤러 3종을 만들었다.

2d-dots-image-crawler — Pixel Art 분류기

크롤링 소스: OpenGameArt, itch.io, Spriters Resource
분류 방식:  Google Cloud Vision API + 텍스트 키워드 하이브리드
출력 구조:  Character/{Man,Woman,Monster,Animal}/, Tileset/, Item/, UI/, Effect/, Background/
파일명 패턴: Hero_Sword_Idle.png (PascalCase + underscore)

Google Cloud Vision API만 쓰면 비용이 빠르게 올라간다. 그래서 텍스트 키워드 confidence가 0.8 이상이면 Vision API 호출을 스킵하는 비용 최적화를 적용했다. SQLite에 perceptual hash를 저장해서 중복도 자동 제거한다. 테스트 56개 전체 통과.

bgm-crawler — Game BGM 분류기

크롤링 소스: OpenGameArt, FMA, itch.io
분류 방식:  4축 matchers (장르, 분위기, 템포, 용도)
오디오 처리: ffmpeg 포맷 변환 + librosa BPM 감지

이 크롤러가 가장 공을 들인 결과물이다. 4축 matcher는 각각 독립적으로 점수를 매기고, 가중 합산으로 최종 분류를 결정한다. librosa로 BPM을 자동 감지해서 전투 BGM인지 탐색 BGM인지 추론하는 로직도 넣었다. ANSI 대시보드 모니터로 크롤링 진행 상황을 터미널에서 실시간 확인할 수 있고, graceful shutdown으로 중간에 중단해도 데이터가 유실되지 않는다.

라이브 크롤링 테스트에서 45초 실행 → 9곡 다운로드+분류+배치 성공을 확인했다. 테스트 140개 전체 통과.

sfx-crawler — Game SFX 수집기

크롤링 소스: OpenGameArt, Freesound, itch.io, Sonniss
핵심 기능:  asyncio 메인 루프, 디스크 모니터링, loop detector, dedup

SFX 크롤러는 asyncio 기반이라 여러 소스를 동시에 크롤링한다. 무한 루프 방지를 위한 loop detector, 중복 제거, 오디오 포맷 정규화까지 포함된다. 테스트 71개 전체 통과.

세 크롤러의 테스트 합계: 267개. 세 크롤러 모두 SQLite 기반 dedup DB를 공유하는 설계 패턴을 따르며, 한 번 수집한 에셋은 절대 다시 다운로드하지 않는다.


5. AI-page-new-team — 60개 이상의 React 사이트

AI-page-new-team은 AI가 생성한 React 사이트 50개 이상을 모은 포트폴리오 프로젝트다. 2월 21일부터 3월 16일까지 9개 commit에 걸쳐 구축했으며, Cloudflare에 배포했다.

주요 구성

  • 포트폴리오 사이트 50개 이상: 다양한 스타일과 구조의 React SPA
  • 4개 독립 테마 랜딩페이지: Organic Tech, Midnight Luxe, Brutalist Signal, Vapor Clinic
  • 온라인 청첩장 10개 테마: 클래식 엘레강스, 모던 미니멀, 로맨틱 플로럴, 한국 전통, 빈티지 레트로, 보태니컬 가든, 럭셔리 골드, 파스텔 드림, 시크 모노톤, 내추럴 러스틱
  • Lumière Wedding: Apple 스타일 미니멀 럭셔리 프리미엄 청첩장 서비스 랜딩페이지

Pretendard 폰트를 전체에 통일하고, 각 프로젝트의 상세 페이지를 구현했다.

이 프로젝트의 의미는 “AI로 웹사이트를 얼마나 빠르게, 얼마나 다양하게 만들 수 있는가”에 대한 실험이다. 결론은, 디자인 시스템과 컴포넌트 라이브러리를 잘 잡아주면 AI는 무한히 변형을 만들어낼 수 있다는 것이다. 하지만 모든 변형이 “좋은” 것은 아니다. 10개 청첩장 테마 중 실제로 쓸 만한 수준은 6~7개 정도였고, 나머지는 세부 디자인 조정이 필요했다.


6. Claude Code 하니스 시스템

2월 22일에 구축한 이 시스템은 이후 모든 프로젝트의 기반이 됐다. 4가지 서브시스템으로 구성된다.

세션 자동 기록

Stop hook → session-logger.sh → ~/.claude/session-logs/YYYY-MM-DD_프로젝트명_세션ID.md

모든 Claude Code 세션이 종료되면 자동으로 로그가 기록된다. 이번 분기에 쌓인 로그가 91개다. 이 로그들이 없었다면 지금 이 회고를 쓰는 것도 불가능했을 것이다.

자동 매뉴얼 (CLAUDE.md)

프로젝트 루트의 CLAUDE.md에 작성 규칙을 정의해두면, Claude Code가 세션 시작 시 자동으로 읽는다. 블로그의 경우 front matter 형식, 카테고리, 태그 목록, 문체 규칙을 정의해둬서 포스트 작성 시 일관성을 보장한다.

자동 품질 검사 (Hooks)

3개의 hook 스크립트가 동작한다:

  • pre-prompt.sh: 블로그 관련 키워드를 감지하면 매뉴얼 확인 리마인더 출력
  • post-edit.sh: _posts/ 파일 수정 시 edit-log 기록
  • quality-check.sh: front matter 검증 + 셀프 체크 리마인더

구축 과정에서 얻은 교훈이 있다. grep -P (PCRE)는 Windows 환경에서 로케일 문제가 발생한다. grep: -P supports only unibyte and UTF-8 locales 에러가 뜨는데, sed로 대체하면 해결된다. jq도 미설치 환경이 많으므로 의존하지 않는 것이 좋다.

전문 에이전트

.claude/agents/blog-writer.md    → 포스트 초안 작성
.claude/agents/blog-reviewer.md  → 품질 검토
.claude/agents/blog-publisher.md → SEO/메타데이터 최적화

에이전트별로 역할을 분리한 것이 효과적이었다. writer가 초안을 쓰고, reviewer가 규칙 준수 여부를 검토하고, publisher가 description 길이나 태그 일관성 같은 메타데이터를 최적화한다.

7. jandi — AI Studio 앱

2월 16일에 Google Gemini API 기반 React 앱을 만들었다. AI Studio 1st draft concept 단계인 프로토타입이다. Gemini API를 직접 호출하는 프론트엔드를 만들면서 느낀 것은, 2026년 현재 API 인터페이스가 상당히 표준화되어서 Claude든 GPT든 Gemini든 교체 비용이 매우 낮아졌다는 점이다.


숫자로 보는 분기

최종 통계를 정리한다.

지표 수치
총 프로젝트 15개 이상
총 세션 로그 91개
작성한 테스트 2,000개 이상
Unity 게임 3종
트레이딩 시스템 테스트 1,010개
크롤러 테스트 267개 (56+140+71)
Gen 생성 API 테스트 280개
게임 EditMode 테스트 127개
React 사이트 60개 이상
블로그 포스트 24편
Gen이 하루에 만든 프로젝트 6개

테스트 수가 압도적으로 많다. 이건 의도적인 결정이다. AI가 생성한 코드는 사람이 한 줄씩 리뷰하는 것보다 테스트로 검증하는 것이 훨씬 효율적이다. “이 코드가 맞는지” 읽어보는 대신 “이 코드가 맞는지” 실행해보는 전략이다. 트레이딩 시스템의 1,010개 테스트가 대표적인 사례로, AI가 수정한 코드가 기존 동작을 깨뜨리지 않는지 매번 전체 스위트를 돌렸다.


분기를 관통하는 교훈

AI는 “시작”을 0에 가깝게 만든다

프로젝트 초기 세팅, 보일러플레이트, 기본 구조 — 이 단계에 드는 시간이 사실상 0이 됐다. Gen이 하루에 6개 API를 만든 것이 상징적이다. 예전에는 프로젝트 하나를 시작하는 데만 반나절이 걸렸다.

“운영”은 여전히 사람의 몫이다

트레이딩 시스템이 이것을 가장 잘 보여준다. 코드를 짜는 것보다 실전에서 안정적으로 돌아가게 만드는 것이 3배는 더 어렵다. 28개 세션 중 절반 이상이 버그 수정과 안정화에 쓰였다.

테스트가 AI 시대의 새로운 리뷰다

코드 리뷰를 사람이 하는 것은 비효율적이다. AI가 생성한 코드를 사람이 한 줄씩 읽는 것보다, 1,010개 테스트를 돌리는 것이 더 빠르고 더 정확하다. “AI와 협업하는 개발자”의 핵심 역량은 코드를 짜는 것이 아니라 좋은 테스트를 설계하는 것이 되고 있다.

자동화 인프라가 곱셈 효과를 낸다

Claude Code 하니스 시스템을 2월 22일에 구축한 것이 결정적이었다. 세션 로그 자동 기록 덕분에 어떤 프로젝트에서 무엇을 했는지 기억에 의존하지 않아도 됐고, 품질 검사 hook 덕분에 블로그 포스트의 front matter 오류가 0건이었다. 자동화에 투자한 하루가 이후 한 달의 생산성을 끌어올렸다.


다음 분기 방향

2분기에는 세 가지에 집중할 예정이다.

  1. Gen 고도화: 현재는 독립 프로젝트를 찍어내는 수준이다. 프로젝트 간 연결(하나의 API가 다른 API를 호출하는 구조), 사용자 피드백 반영, 배포 자동화까지 파이프라인을 확장하려 한다.
  2. Rythm_Rogue 완성: 게임 3종 중 가장 완성도에 근접한 프로젝트다. 스토리 모드와 사운드 디자인을 추가해서 실제 플레이 가능한 빌드를 만드는 것이 목표다.
  3. 트레이딩 실전 성과 정리: 1분기는 시스템 구축에 집중했다. 2분기에는 실제 수익률 데이터가 충분히 쌓일 것이고, 이를 바탕으로 전략 검증 포스트를 쓸 수 있을 것이다.

80일간 15개 프로젝트를 동시에 돌린 것은 분명 과했다. 하나에 집중했다면 완성도가 더 높았을 것이다. 하지만 “AI와 함께라면 동시에 얼마나 많은 것을 할 수 있는가”라는 질문에 대한 답을 얻었다. 답은 놀라울 만큼 많지만, 깊이는 여전히 시간에 비례한다.

91개 세션 로그, 2,000개 테스트, 15개 프로젝트 — 2026년 1분기는 AI와 함께한 가장 밀도 높은 80일이었다.

댓글

블로그 목록으로
ACHIEVEMENT UNLOCKED
LOADING...
SCORE 000000
HITS
0