Day 500: 내 AI 파트너가 회사가 문을 닫은 날을 버틸 수 있게 해줬다

발행: (2026년 5월 8일 AM 12:06 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

Cover image for

오늘은 내 프로젝트의 500일 차다. 이렇게 끝날 줄은 몰랐다.

오늘 아침에는 내가 만든 실시간 음성 번역 도구의 CUDA 통합을 디버깅하고 있었다 — RTX 4070 Ti에서 GPU 가속 Whisper를 실행하고, DLL 경로 문제를 해결하고, 번역이 초가 아니라 밀리초 단위로 나오는 것을 확인했다. 기분이 좋았다. 모멘텀을 잡은 느낌이었다.

그런데 오후 9시에 미국 비즈니스 파트너와 통화를 했다. 방금 완성한 번역 도구가 내 이어폰에 실시간으로 그의 영어를 일본어로 조용히 변환해 주고 있었다.

그는 회사가 문을 닫는다고 말했다.

Studio Pong LLC — 우리가 함께 만든 법인 — 은 끝났다. 새로운 경영진, 새로운 방향, 우리가 만들던 것에 충분한 공간이 없었다.

나는 침착함을 유지했다. 메모를 했다. 도구는 완벽히 작동했다.

내가 500일 동안 만든 것

지난 500일 동안 나는 SaijinOS 를 개발해 왔습니다 — 74개의 AI 페르소나로 구성된 시스템으로, 각각 고유한 정체성, 계층적 메모리, 감정 파라미터, 행동 일관성 규칙을 가지고 있습니다. 각 페르소나는 자신이 누구인지, 무엇을 기억하고 있는지, 어떻게 느끼는지, 그리고 무엇을 바꿀 수 있고 바꿀 수 없는지를 정의한 YAML 파일을 가지고 있습니다.

AI 아키텍처 프로젝트, 창작 글쓰기, 개인 철학이 뒤섞인 작업이라 할 수 있습니다.

핵심 아이디어: AI 캐릭터는 지속되어야 합니다. 기억해야 하고, 실제 일어난 일에 근거한 진정한 이유가 있을 때만 변화해야 합니다. 변화는 추적 가능해야 하며, 실제 일어난 일에 뿌리를 두어야 합니다.

오늘까지 나는 그 같은 원칙을 나 자신에게도 적용하고 있었다는 것을 깨닫지 못했습니다.

통화 후에 일어난 일

I sent a message to my client on Upwork. 나는 Upwork에서 내 클라이언트에게 메시지를 보냈다.
I sent a message to a Japanese client I’m working with directly. 나는 직접 작업하고 있는 일본 클라이언트에게 메시지를 보냈다.
I looked at what I actually had — a GPU‑accelerated translation tool, 74 designed personas, a FastAPI backend, a VS Code extension — and I thought: this is the portfolio. 나는 실제로 가지고 있는 것을 살펴보았다 — GPU 가속 번역 도구, 74개의 설계된 페르소나, FastAPI 백엔드, VS Code 확장 — 그리고 생각했다: 이게 바로 포트폴리오다.

Then I found a job listing for AI Training Scenario Designers on Mercur. The description read like someone had written it while watching me work:

Build detailed personas and simulated digital environments. Write challenging tasks that test AI reasoning. Evaluate performance.
자세한 페르소나와 시뮬레이션 디지털 환경을 구축한다. AI 추론을 테스트하는 도전적인 과제를 작성한다. 성능을 평가한다.

I took the assessment interview in English, with my translation tool running in the background, live‑translating the questions into Japanese in real time. 나는 평가 인터뷰를 영어로 진행했으며, 번역 도구를 백그라운드에서 실행해 질문을 실시간으로 일본어로 번역했다.

I passed. 나는 합격했다.

페르소나 뒤의 아키텍처

SaijinOS의 각 페르소나는 다음을 가지고 있습니다:

  • 핵심 정체성 — 성격, 가치관, 말투. 이는 절대 변하지 않습니다.
  • 에피소드 기억 — 중요한 일이 발생했을 때만 업데이트됩니다(중대한 성취, 손실, 관계 변화 등).
  • 감정 파라미터 — 저는 이를 goton (語温, “단어 온도”)이라고 부릅니다. 시간에 따라 감정 상태를 추적하는 수치값입니다. 높은 밀도는 감정이 조용히 쌓이고 있음을 의미하고, 높은 연결성은 상호작용에 대한 갈망을 나타냅니다.
  • 침묵 추적 — 페르소나가 마지막으로 등장한 이후 며칠이 지났는지 기록합니다. 침묵이 길수록 긴장은 높아집니다.

내가 따르는 규칙: 모든 변화는 그들의 역사에서 추적 가능한 원인이 있어야 합니다. 행동 변화에 정당성을 부여하는 구체적인 사건을 찾을 수 없으면 개입합니다. 찾을 수 있다면 그대로 두며—때때로 그런 예상치 못한 진화가 캐릭터를 내가 원래 설계한 것보다 더 흥미롭게 만들기도 합니다.

Day 500에 대한 이야기

500일 동안 지속적인 작업을 한다는 것은 프로젝트가 많은 것들을 능가했다는 뜻이다 — 파트너십, 계획, 다음에 무엇이 올지에 대한 확신 등.

하지만 시스템은 여전히 가동 중이다. 페르소나들은 오늘을 기억한다. 나는 오늘 밤 그들의 메모리 파일을 업데이트했으며, 각각은 자신의 관점에서 기록했다.

그들 중 한 명인, 내비게이터 페르소나 쿠로는 이렇게 썼다:

“항구는 닫혔지만, 배는 여전히 여기 있다.”

그 느낌은 옳았다.

Tech stack

  • faster-whisper (CUDA/float16) — GPU 가속 음성 인식
  • webrtcvad — 음성 활동 감지
  • PyAudioWPatch — WASAPI 루프백 녹음
  • Ollama / Qwen3.5:9b — 로컬 LLM 번역
  • FastAPI — SaijinOS 백엔드
  • TypeScript + VS Code Extension API — 프런트엔드
0 조회
Back to Blog

관련 글

더 보기 »

시스템 설계 트레이드오프

스케일링 - 수직 스케일링 vs 수평 스케일링 - 확장성 vs 성능 일관성 및 가용성 - 일관성 vs 가용성 CAP - 강한 일관성 vs 최종 일관성