AI Infrastructure · Agent Systems Engineer

에이전트를 굴리는
인프라를 짓고,
그 위에 제품을 올립니다.

멀티모델 오케스트레이션 엔진, 컨트롤 플레인, 내구성 워크플로 — 에이전트를 실제 프로덕션으로 굴릴 때 필요한 것들을 직접 설계해 운영합니다. 그리고 그 인프라 위에서 결제까지 붙은 제품을 혼자 출시했습니다. 인프라만 만든 사람도, 제품만 만든 사람도 아닙니다.

박근민 · Park Geunmin rmsals1745@gmail.com github.com/rmsals1745 인천 · 서울 (수도권) · 원격 가능
700+4개월간 생산한 커밋
(자작 스웜 파이프라인 경유)
5실전 운용 중인
LLM 프로바이더
40+자작 에이전트 스킬
설계·운영
1,464단일 모노레포
관리 파일 수
01

이 서비스들이 증명하는 것

기술 나열 대신, 만든 것에서 역산한 역량입니다. 각 항목마다 근거가 되는 실물이 아래 섹션에 있습니다.

01

믿을 수 없는 출력을 믿을 수 있게 만듭니다.

AI 산출물은 그럴듯하게 틀립니다. 저는 사람이 매번 들여다보지 않아도 되도록, 모델끼리 서로를 검증하게 만드는 구조를 짭니다.

근거 — justswarm · 구현 모델과 검수 모델을 다른 프로바이더로 분리하고, 산출물을 낸 모델은 검수에서 자동 제외. 실제 52 런 중 17 런에서 수정 요구가 나왔고, 검수를 우회한 자동 승인은 0건.

02

돈이 걸린 코드를 다룹니다.

결제는 실패하면 사용자가 실제로 손해를 봅니다. 기능이 되는지가 아니라 어떻게 망가지는지를 먼저 세는 습관이 있습니다.

근거 — 인생딸깍 · 돈은 빠지고 크레딧은 안 오르던 결제 복귀 유실을 3중 안전망으로 차단. 환불 판정을 잔액 추정에서 원장 실측으로 교체. 가격 정본을 서버로 단일화해 프론트·서버 불일치를 구조적으로 제거.

03

안 보이는 시스템을 보이게 만듭니다.

자동화는 안 보이면 관리되지 않습니다. 무엇이 언제 왜 돌았는지 드러나는 계층을 항상 같이 짓습니다 — 이게 없으면 사람이 계속 들여다보게 되고, 자동화한 의미가 사라집니다.

근거 — 실행 가시성 계층 · justlink · justgraph · 작업 중인 외부 호출과 경과 시간을 CLI 하단에 상시 노출. 에이전트 작업 상태를 대시보드로 가시화. 관측 수집기는 콜백 하나로 자동 수집되어 노드가 계측을 몰라도 됩니다.

04

사람이 자리에 없어도 계속 돌게 만듭니다.

기계는 꺼지고 프로세스는 죽습니다. 그 전제를 설계에 넣지 않으면 자동화는 조용히 멈춰 있습니다.

근거 — Hermes · justgraph · 에이전트가 필요 없는 잡을 OS 스케줄러로 분리해 게이트웨이 장애와 무관하게 동작시키고, 놓친 실행은 기계가 켜지는 순간 따라잡게 했습니다. 결재에서 멈춘 워크플로는 며칠 뒤 다른 프로세스가 그 자리에서 재개합니다.

05

규칙과 규제를 판정 가능한 코드로 옮깁니다.

현업의 리스크는 대개 법·고시·사내 규정처럼 글로 된 규칙에서 옵니다. 그걸 사람이 매번 읽는 대신 게시 전에 걸러지게 만듭니다.

근거 — 컴플라이언스 사전점검 3건 · 전자상거래 고시·식약처 지침 등 공개 근거를 판정 규칙으로 옮기고, 허용 표현이 인접하면 위반을 놓치던 오탐을 잡아 회귀 57/57 통과.

06

혼자 끝까지 갑니다.

기획에서 멈추지도, 프로토타입에서 멈추지도 않습니다. 결제·약관·심사 요건처럼 개발자가 보통 남에게 넘기는 구간까지 직접 붙였습니다.

근거 — 4개월 700+ 커밋 · 기획 → 설계 → 구현 → 결제 연동 → 배포 → 규제 서류까지 한 사람이 완주한 제품이 있고, 그 과정을 굴리기 위한 인프라도 같은 사람이 지었습니다.

02

에이전트 인프라

에이전트를 한 번 돌려보는 것과, 조직이 매일 그 위에서 일하게 만드는 것은 다른 문제입니다. 아래는 후자를 위해 지은 것들입니다. — 이름의 just- 접두는 제 영어 이름 Justin 에서 왔습니다. 한 계열로 묶어 두면 어디까지가 제가 지은 층인지 한눈에 보입니다.

justswarm

Orchestration Engine2026.04 –

목표 하나를 던지면 구현 워커와 검수 워커가 붙어 완결하는 멀티모델 오케스트레이션 엔진 · 설계·구현 단독

metrics/runs.jsonl — 실제 실행 기록
swarm_run_v6.py --profile glen --verifier mimo --spec chunk.md
기간2026-07-18 → 2026-08-09 · 총 52 런
판정approve 48 · revise 1 · reject 3
재작업17 런에서 수정 요구 19건16 런이 2회 이상 반복
검수자mimo 35 · kimi 7 · kai 5 (폴백 체인 실동작)
워커glen 38 · kai 5 · kimi 4 · mimo 3
자동승인 우회0건 — 셀프리뷰 가드 우회 없음

검수가 장식이 아니라는 증거 — 52 런 중 17 런에서 실제 수정 요구가 나왔고 16 런이 재작업을 거쳤습니다. 검수자가 3개 프로바이더에 걸쳐 분포한 것은 폴백 체인이 실제로 발동했다는 뜻입니다.

  • 구현/검수 역할 분리 — 구현 모델과 검수 모델을 서로 다른 프로바이더로 분리하고, 판정은 DECISION: approve|revise|reject 문법만 허용. 미준수 시 엔진이 재질의.
  • 셀프리뷰 차단 런타임 가드 — 그 라운드에 산출물을 낸 모델은 검수 후보에서 자동 제외. 후보가 소진되면 자동 승인 대신 사람 검수로 승계한다. AI 가 자기 결과를 통과시키는 구조적 실패를 원천 차단.
  • 다단 폴백 체인 — worker·verifier 각각 3단 승계. 프로바이더 장애 / 안전필터 거부 / 인코딩 손상을 서로 다른 실패로 분류해 라우팅한다. (검수 모델의 안전필터 거부가 reject 판정으로 둔갑하던 사고를 잡아낸 뒤 도입)
  • diff 가 유일한 진실 — 워커의 자기보고를 판정에서 배제. baseline → 검수 전 → 검수 반영 이정표 커밋으로 검수의 효과 자체를 감사 가능하게 설계.
Python · Claude Agent SDK · GLM 5.2 · MiMo v2.5-pro · DeepSeek · Kimi

justlink

Control Plane2026.04 –

에이전트 작업과 실행 상태를 다루는 컨트롤 플레인 · 486 커밋 / 1,464 파일

  • 이슈·프로젝트·회의 단위의 작업 관리와 실행 상태 실시간 가시화. 에이전트가 무엇을 왜 하고 있는지 사람이 볼 수 있게 만드는 계층.
  • git worktree 기반 격리 개발 워크플로 자동화 — 포트 자동 할당, dev 서버 라이프사이클, 좀비 프로세스 감사·철거까지 한 커맨드로.
  • pnpm 모노레포(TypeScript), Vitest + Playwright, Cloudflare Worker 모바일 뷰어(PWA/TWA)
TypeScript · React · Node 20 · pnpm · Playwright · Cloudflare Workers

실행 가시성 계층

Observability · DX2026.08 –

에이전트가 지금 무엇을 하고 있는지, 얼마를 쓰고 있는지를 상시 노출하는 계층

에이전트 CLI 하단 상태 트랙 — 모델·컨텍스트 사용량·세션 및 주간 한도·누적 비용, 그리고 현재 실행 중인 외부 호출과 경과 시간

실제 화면. 윗줄은 모델 · 컨텍스트 소모(21%) · 세션 한도(10%) · 주간 한도(55%) · 누적 비용($14.82), 아랫줄은 지금 돌고 있는 외부 호출과 경과 시간입니다.

  • "멈춘 건가, 일하는 중인가"를 없앴습니다 — 에이전트가 외부 도구를 부르면 응답이 올 때까지 화면이 조용합니다. 그 몇 분 동안 사람은 계속 들여다보게 되고, 그러면 자동화한 의미가 사라집니다. 훅이 도구 호출의 시작·종료를 가로채 기록하고 상태줄이 어떤 호출이 몇 초째 진행 중인지를 실시간으로 그립니다.
  • 비용을 사후가 아니라 지금 봅니다 — 컨텍스트 소모율, 세션·주간 사용 한도, 누적 요금을 한 줄에 상주시켜 예산 초과를 결제 후가 아니라 진행 중에 알게 했습니다.
  • 계측이 작업 코드를 오염시키지 않습니다 — 추적은 전부 훅 계층에서 일어나고 실제 작업 스크립트는 자신이 관측되고 있다는 사실을 모릅니다. 같은 원칙을 justgraph 관측 수집기에도 적용했습니다.
  • 여러 프로필(계정)·여러 세션이 동시에 도는 환경을 전제로 설계 — 어느 프로필의 어떤 세션이 무엇을 점유 중인지 구분됩니다.
Python 훅 · CLI statusline 렌더러 · 도구 호출 인터셉트

justgraph

Durable Workflow2026.08 –

중단되고도 살아남는 자동화 워크플로

  • LangGraph 기반. 결재 인터럽트에서 멈춘 그래프를 완전히 다른 프로세스가 재개하는 것을 실증 — 며칠 뒤 기계를 껐다 켜도 그 자리에서 이어진다. 단발 cron 이 못 하는 런 사이 상태 누적을 해결.
  • 관측성은 상용 플랫폼 대신 자작 — 콜백 1개로 자동 수집(노드가 계측을 몰라도 됨), OTEL 스팬 규격, 보존정책 분리(전문 14일 · 요약 영구)
Python 3.12 · LangGraph · uv · Hetzner + systemd/cron

Hermes 상시 자동화 런타임

Always-on Automation2026.05 –

개발 기계가 대부분 꺼져 있다는 전제로 설계한 자동화 런타임 — 게이트웨이 · 훅 · 스케줄 · 원격 상주

등록된 자동화 스케줄 — OS 스케줄러로 분리된 잡
Get-ScheduledTask -TaskName "HermesCron_*"
HermesCron_SyncCronOutputsRunninglast 08-09 10:00
HermesCron_ApiKeyCheckReadylast 08-09 07:40
HermesCron_StudyDaemonReadylast 08-03 19:21
HermesCron_ProjectArchiverDisabledlast 08-05 06:56
HermesCron_TeamAutoAssignDisabledlast 08-05 19:55
… 외 7건

에이전트가 필요 없는 잡은 게이트웨이에서 떼어내 OS 스케줄러로 내렸습니다. 게이트웨이가 죽어도, 기계가 꺼져 있어도 살아남습니다.

  • 게이트웨이와 스케줄러 분리 — 에이전트가 필요 없는 반복 작업은 OS 스케줄러(StartWhenAvailable)로 내려, 게이트웨이 재시작·크래시와 무관하게 굴러가게 만듦. 놓친 실행은 기계가 켜지는 순간 따라잡는다.
  • 이벤트 훅 체계 — 세션 시작 시 작업 컨텍스트 주입과 자동 커밋·푸시, 종료 시 학습 개념 추출·축적, 프롬프트 단계에서 위임 규칙 강제, 외부 CLI·게이트웨이 호출 실시간 추적. 사람이 기억해야 할 일을 런타임이 대신 기억한다.
  • 크리덴셜 단일화 — 프로필마다 흩어져 있던 키를 시스템 경로 한 곳으로 모아, 키 교체 시 한 파일만 고치면 되도록 정리. 프로바이더 401/402 의 원인이 "충전 부족"이 아니라 stale 엔드포인트였던 사고를 계기로 재설계.
  • 원격 상주 — Hetzner 에 워커를 상주시켜 로컬 기계가 꺼져 있어도 메신저 → 서버 에이전트 → 커밋 push → 결재 흐름이 진행된다. 로컬·GitHub·클라우드 3중 백업 일일 자동화.
Python · Docker(Caddy · CouchDB) · systemd · cron · Windows 작업 스케줄러 · Telegram Bot API

juststandby

어느 기계에서든 전체 개발 환경 — 에이전트·스킬·크리덴셜 — 을 한 번에 복원. age 기반 암호화 볼트.

환경 재현성 · 761 files

devtutor

작업 세션에서 개념을 자동 추출해 지식 베이스로 축적. 로컬 서버 + Cloudflare + TWA 모바일 앱.

지식 파이프라인 · 586 files

Claude Code 스킬 40+

워크트리 오케스트레이션, 교차검수, 크론 점검, 스웜 위임 등 반복 업무를 커맨드로 고정.

DX · 훅 시스템 · MCP

AI 시스템의 진짜 난이도는 모델을 부르는 데 있지 않습니다.
“이 결과를 믿어도 되는가” 를 사람 없이 판정하는 구조를 짜는 데 있습니다.

03

그 인프라로 만든 제품

인프라는 제품을 내기 위한 것입니다. 아래는 위 파이프라인을 실제로 통과해 나온 결과물입니다.

인생딸깍 (inlifeclick)

Payment-enabled SaaS2026.06 –

AI 에이전트의 노동을 크레딧으로 파는 범용 콘텐츠·마케팅 자동화 서비스 · 기획·설계·구현·결제·배포 전 과정 단독

인생딸깍 서비스 로그인 화면 — 이용약관·개인정보처리방침·청약철회 환불규정·대표자 표기

실서비스 진입 화면. 이용약관 · 개인정보처리방침 · 청약철회·환불규정 · 대표자 표기까지 갖춘 상태 — 토이 프로젝트가 아니라 결제를 받을 수 있는 형태로 끝냈습니다.

  • 상담형 에이전트가 사용자 의도를 인터뷰하고, 하나의 씨앗에서 블로그·인스타그램·쓰레드·X 를 동시에 생성 (OSMU). 업종·버티컬을 가리지 않는 범용 도구.
  • 결제 — 포트원 V2, 빌링키 정기결제 + 크레딧 충전팩 4단. 상품표를 서버 단일 정본화해 프론트·서버 가격 불일치 사고를 구조적으로 제거.
  • 환불 정산 정밀화 — "잔액 추정" 휴리스틱이 크레딧을 따로 산 사용자를 미사용으로 오판하던 버그를 원장 실측(결제 시각 이후 소비량 합산)으로 교체.
  • 결제 복귀 3중 안전망 — 결제사가 리다이렉트 파라미터를 해시 앞에 붙이면 주문이 pending 으로 남아 돈은 빠지고 크레딧은 안 오르던 사고를 해시뒤 → 해시앞 → 로컬 30분 복구로 차단.
Cloudflare Pages Functions · D1 (마이그 12차) · React · Capacitor · PortOne V2

규제 컴플라이언스 사전점검 플러그인 3건

AX Hackathon 20262026.07

게시·등록 전에 규제 위반을 잡아내는 도메인 특화 검사기 — 커머스 / 헬스케어 / 트래블 3개 기업편

  • 입점 상품등록 컴플라이언스 — 혼용률·시험성적서·전자상거래 고시 9항목·택갈이 신호·광고 표현
  • 의료·건강 광고문구 사전점검 — 의약품 오인·기능성 초과·의료기기 오인·최신 개정 금지표현. 공개 근거 3축(기업 공식 · 언론 · 법정 고시)으로 규칙 설계.
  • 화이트리스트 오탐 발견·수정 — 허용 표현이 인접하면 위반을 억제하던 false negative 를 잡고 회귀테스트 57/57 통과
04

기술 스택

Agent Systems

멀티에이전트 오케스트레이션, 구현/검수 분리, tool-calling, 판정 프로토콜 설계, 프로바이더 폴백 체인, MCP 서버, Claude Agent SDK, LangGraph (체크포인트 · HITL 인터럽트)

LLM Providers

Claude · GLM(z.ai) · DeepSeek · Kimi(Moonshot) · MiMo · Gemini — 장애 / 안전필터 거부 / 인코딩 손상을 서로 다른 실패 모드로 분류해 운용

Full-stack

TypeScript, React, Node 20, pnpm 모노레포, Vite, Capacitor, Python 3.12

Infra & Ops

Cloudflare Workers / Pages / D1 / KV, Hetzner + Docker(Caddy · CouchDB) + systemd + cron, Playwright, Vitest, 3중 백업 체계

Commerce

포트원 V2, 빌링키 정기결제, 크레딧 원장, 환불 정산, 통신판매업 · PG 심사 요건

Generative Media

ComfyUI 로컬 추론(Z-Image-Turbo · LoRA · ControlNet · VideoX-Fun), Whisper STT, TTS 파이프라인

05

배경

개발 이전에 B2B 컨설팅·영업을 했습니다. 니즈 발굴 → 문제 인식 → 해결책 제시 → 반론 처리 → 클로징 → 사후관리까지 현장에서 굴린 경험이 있습니다. 그래서 고객 앞에 직접 설 수 있는 엔지니어입니다 — 요구사항을 통역해서 받는 게 아니라 직접 캐내고, 만든 것을 직접 설명합니다. 지금은 그 상담 플레이북을 AI 에이전트의 대화 설계에 그대로 이식하고 있습니다.