<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>WonderX</title>
    <description>주식회사 원더엑스(WonderX)가 운영하는 기술 블로그. AI 자동화, Claude Code, 정부과제·연구비로 AI 구독료를 처리하는 실무를 직접 해본 대로 기록한다.</description>
    <link>https://blog.wonderx.co.kr/</link>
    <atom:link href="https://blog.wonderx.co.kr/rss.xml" rel="self" type="application/rss+xml"/>
    <language>ko</language>
    <lastBuildDate>Thu, 17 Sep 2026 04:47:43 +0900</lastBuildDate>
    
    <item>
      <title>연구혁신비 신설로 AI 구독료 처리는 뭐가 달라지나, 그리고 여전히 안 되는 것</title>
      <link>https://blog.wonderx.co.kr/posts/research-innovation-expense-ai-subscription/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/research-innovation-expense-ai-subscription/</guid>
      <pubDate>Mon, 03 Aug 2026 21:00:00 +0900</pubDate>
      <description>2026년 4월 28일 국무회의를 통과한 「국가연구개발혁신법 시행령」 개정안은 연구혁신비를 신설했다. 직접비의 10% 이내, 최대 5,000만원까지 비목 구분 없이 쓸 수 있고 증빙은 카드 매출전표와 사용목적 입력으로 끝난다. 다만 건별 상한이 활동비 50만원이라서, ChatGPT Plus 한 계정 같은 소액 구독은 쉬워졌지만 팀 단위로 Claude Max 같은 상위 플랜을 여러 달 쓰는 경우는 여전히 정규 비목과 기존 증빙이 필요하다. 지난 4월 28일 국무회의에서 「국가연구개발혁신법 시행령」 개정안이 통과됐다. 연구비 자율성을 대폭 늘리는 내용이다. AI 구독료를 연구비로 처리하는 문제를 계속 들여다보고 있던 입장에서, 이 개정이 실제로 뭘 바꾸는지 정리해봤다. 결론부터 말하면 일부는 확실히 쉬워졌고, 핵심 문제는 그대로 남았다. 뭐가 바뀌었나 ① 연구혁신비 신설 가장 큰 변화다. 기존에는 연구재료 구입비·출장비·회의비를 비목별로 엄격히 구분해서 써야 했고, 간단한 회의 하나에도 내부결재와 회의록을 갖춰야 했다. 연구혁신비는 이걸 걷어낸다. 비목 구분 없이 자유롭게 사용 증빙은 카드 매출전표 + 사용목적 입력으로 완료 행정 부담이 확 줄어드는 구조다. 다만 한도가 있다. 항목 한도 총액 직접비의 10% 이내, 최대 5,000만원 건별 상한 (활동비) 50만원 건별 상한 (재료비) 300만원 ② 간접비가 네거티브 리스트로 기관이 쓰는 간접비 방식도 바뀐다. 기존에는 허용 항목으로 명시된 것만 쓸 수 있었다(포지티브). 개정 후에는 금지 항목이 아니면 다 쓸 수 있다(네거티브). 새로운 유형의 비용이 생겨도 규정을 고칠 때까지 기다릴 필요가 없어졌다는 뜻이다. AI 서비스 이용료가 대표적인 사례로 언급된다. ③...</description>
      
      
      <category>연구비</category>
      
      <category>정부과제</category>
      
    </item>
    
    <item>
      <title>정부과제로 AI 구독료 처리하는 법: 해외결제·증빙 문제 정리</title>
      <link>https://blog.wonderx.co.kr/posts/government-rnd-ai-subscription-guide/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/government-rnd-ai-subscription-guide/</guid>
      <pubDate>Fri, 31 Jul 2026 18:00:00 +0900</pubDate>
      <description>정부 R&amp;amp;D 과제비로 Claude·ChatGPT 같은 AI 구독료를 처리하려면 세 가지가 필요하다. 원화 세금계산서, 과제 전용으로 발급된 계정, 그리고 누가 언제 무엇을 썼는지 적힌 구독 이용확인서다. 해외 SaaS를 카드로 직접 결제하면 이 셋이 전부 비어서 정산에서 막힌다. 원더엑스는 구독을 대신 구매해 소프트웨어 이용권으로 공급하는 방식으로 이 문제를 풀고 있고, 아래는 실제 견적·결제·증빙을 진행하며 정리한 내용이다. 요즘 문의가 부쩍 늘었다. 내용은 거의 똑같다. “Claude를 팀에서 쓰고 싶은데, 과제비로 처리가 안 됩니다.” AI 코딩 도구가 R&amp;amp;D 현장의 필수품이 된 지는 한참 됐다. 그런데 정작 돈을 어떻게 쓸 것인가에서 막힌다. 카드로 긁으면 쓸 수는 있는데, 그게 과제비 정산으로 넘어가질 않는다. 실제로 견적을 내고 결제·계정 셋업·증빙까지 진행하면서 정리된 걸 적어둔다. 회사명이나 구체적인 금액은 뺐다. 문제 1. AI 구독료는 해외결제다 Claude, ChatGPT, Codex, Grok 전부 달러로 빠져나간다. 여기서 세 가지가 동시에 터진다. 세금계산서가 안 나온다. Anthropic이나 OpenAI는 국내에 간편사업자로 등록돼 있다. 부가세는 붙여서 받아가는데 세금계산서는 발행해주지 않는다. 카드 명세서 한 줄이 증빙의 전부다. 정산 담당자가 받아줄 리가 없다. 매달 금액이 달라진다. 환율 때문이다. 같은 $200 구독인데 이번 달과 다음 달 청구액이 다르다. 과제 예산은 원화로 잡혀 있는데 집행액이 매달 흔들리면 정산이 지저분해진다. 카드 관리가 안 된다. 법인카드로 걸어두면 과제 끝나고 해지하는 걸 잊는다. 반대로 카드 한도나 해외결제 차단에 걸려서 갑자기 구독이 끊기기도 한다. 학습 돌리다 계정이...</description>
      
      
      <category>연구비</category>
      
      <category>정부과제</category>
      
    </item>
    
    <item>
      <title>왜 우리 앱 아이콘은 얇아 보였을까: Fellow를 뜯어보고 메탈로 다시 그린 하루</title>
      <link>https://blog.wonderx.co.kr/posts/primeet-icon-redesign-metallic/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/primeet-icon-redesign-metallic/</guid>
      <pubDate>Wed, 10 Jun 2026 21:10:00 +0900</pubDate>
      <description>앱 아이콘 하나 바꾸는 데 하루를 썼다. 정확히는, “왜 우리 아이콘은 싸 보이지?”라는 찜찜함의 정체를 알아내는 데 하루를 썼다. 프라이밋(Primeet) 아이콘은 두 개의 원이 겹친 교집합 모양이다. ‘서로 다른 두 사람이 섞인다’는 뜻. 컨셉은 마음에 들었다. 그런데 홈 화면에 깔아두면 어딘가 빈약했다. 옆에 있는 Fellow(커피 기구 브랜드) 앱은 비슷하게 미니멀한데도 묵직하고 고급져 보이는데, 우리 건 자꾸 도망갔다. 같은 ‘동그라미 두 개’인데 뭐가 다른 걸까? 차이는 ‘선’이 아니라 ‘질량’이었다 AI한테 두 아이콘을 나란히 분해시켰다. 결론이 명쾌했다. 항목 기존 우리 아이콘 프리미엄 마크(Fellow 등) 선 두께 캔버스 대비 약 1.2% 8~14% 형태 빈 윤곽선(stroke) 채운 면 또는 두꺼운 링 핵심부 교집합이 그냥 비어 있음 강조 처리로 컨셉이 읽힘 60px 렌더 선이 0.7px → 사실상 소멸 작아져도 실루엣 유지 핵심은 두께가 아니라 질량감이다. 헤어라인 같은 얇은 선은 종이에 연필로 그린 스케치처럼 보이고, 두꺼운 링이나 채운 면은 금속 부품처럼 보인다. 우리 마크는 1.2% 두께라 64px 앱 아이콘에서 선이 1px도 안 되게 렌더돼 사라지고 있었다. 작은 화면에서 실루엣이 안 남으면, 뇌는 그걸 ‘저렴하다’고 읽는다. 게다가 ‘섞임’의 핵심인 교집합(두 원이 겹치는 렌즈 모양)이 아무 처리 없이 비어 있었다. 컨셉의 주인공을 빈칸으로 둔 셈이다. 골드 → 실버, 그리고 “흰 번짐 좀 지워줘” 방향을 잡고 시안을 뽑기 시작했다. 첫 라운드는 골드 메탈릭. 두께를 6~9%로 올리고, 금속 그라디언트와 드롭섀도를...</description>
      
      
      <category>side-project</category>
      
    </item>
    
    <item>
      <title>Claude Design 슬라이드, PDF로 추출하면 깨지는 이유: 원인 분석과 복붙 가능 예방 프롬프트</title>
      <link>https://blog.wonderx.co.kr/posts/claude-design-pdf-broken-fix/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/claude-design-pdf-broken-fix/</guid>
      <pubDate>Sun, 07 Jun 2026 23:00:00 +0900</pubDate>
      <description>요즘 파워포인트 안 열고 Claude.ai Design으로 프레젠테이션을 만드는 사람이 많아졌다. HTML/CSS 기반이라 디자인 자유도가 높고, AI가 레이아웃까지 즉석에서 잡아주니 PT 제작 시간이 확 줄어든다. 그런데 함정이 있다. “완성된 슬라이드를 PDF로 추출하면 왜 이렇게 깨지죠?” 임원 보고 전날 밤이었다. PDF를 열었더니 이런 일이 벌어져 있었다. 보라색 직사각형 블록이 제목 텍스트를 통째로 덮고 있다 버튼 뒤에 시안 색상 덩어리가 뭉텅이로 붙어 있다 장식용 배경 그리드가 전 슬라이드에 그대로 노출돼 있다 eyebrow 앞에 있어야 할 장식 pill이 흔적도 없이 사라져 있다 원인을 직접 분석해서 수정했다. 같은 상황 겪지 않도록 원인과 예방 프롬프트를 공개한다. 왜 PDF에서 깨지는가: 렌더러 간극의 문제 Claude Design이 생성하는 슬라이드는 브라우저 기반이다. Chrome, Safari 등 최신 브라우저는 CSS 최신 스펙을 대부분 지원한다. 문제는 PDF 변환 시 사용하는 렌더러가 10년 전 수준의 CSS만 처리한다는 점이다. 이 간극에서 모든 문제가 발생한다. 실제로 겪은 케이스 4가지다. 문제 1: 그라데이션 텍스트가 색상 블록으로 둔갑 원인은 background-clip: text다. 이 기법은 배경 그라데이션을 텍스트 형태로 잘라내서 컬러를 입힌다. 이때 텍스트 자체는 color: transparent로 투명하게 처리된다. PDF 렌더러가 background-clip: text를 무시하면 어떻게 되나. 투명한 텍스트 자리에 배경 박스만 남는다. 보라 그라데이션 제목이 보라색 직사각형 블록으로 둔갑하는 이유가 이것이다. 1 2 3 4 5 6 7 /* Claude Design이 생성하는 코드 (브라우저에선 정상) */ .hero-title { background: linear-gradient(135deg,...</description>
      
      
      <category>dev-log</category>
      
    </item>
    
    <item>
      <title>생각은 외주해도, 이해는 외주할 수 없다: Karpathy의 Sequoia 30분, 그리고 에이전트 시대의 사람 관리</title>
      <link>https://blog.wonderx.co.kr/posts/karpathy-sequoia-agent-era-management/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/karpathy-sequoia-agent-era-management/</guid>
      <pubDate>Thu, 21 May 2026 22:00:00 +0900</pubDate>
      <description>본업 쪽에 새로운 사람들이 합류할 예정이다. 경력직도 있고 주니어도 있다. 머리로는 환영인데, 매일 코드 한 줄 한 줄을 에이전트와 짜고 있는 입장에서, 6개월 전 머리로 그리던 팀 빌딩과 지금 그리는 팀 빌딩은 종류가 다르다. 사람을 들이는 건지, 사람과 그 사람이 데리고 올 에이전트 묶음을 함께 들이는 건지 모호하다. 그 와중에 Andrej Karpathy의 Sequoia 토크를 봤다. 30분짜리. 회의 가는 길에 켰는데, 도착해서 차에서 5분 더 보고 들어갔다. 한 문장이 박혔다 “You can outsource your thinking, but you can’t outsource your understanding.” 생각은 외주할 수 있다. 그런데 이해는 외주가 안 된다. 이 문장이 왜 이렇게 박혔냐면, 내가 매일 하는 일이 정확히 그 경계에 서 있기 때문이다. 코드는 Claude Code가 짠다. 설계 초안도 던져준다. 회의록 요약도 한다. 나는 검토하고, 머지하고, 다음 작업을 던진다. 효율은 미쳤다. 근데 이해는 누가 하는가. 이 코드가 왜 이렇게 짜여있는지, 이 의사결정이 왜 이쪽으로 갔는지, 다음에 비슷한 상황이 오면 같은 판단을 다시 할 수 있는지, 그건 외주가 안 된다. 외주 줬다고 착각하는 순간, 다음 분기에 내가 아무것도 못 하는 사람이 된다. 2월에 쓴 “생각의 외주화” 글이 Sarkar의 TED였다면, 이번 Karpathy 토크는 같은 진실의 엔지니어 버전이다. Sarkar는 “지적 관광객”이 된다고 했고, Karpathy는 더 단순하게 잘랐다. thinking ≠ understanding. 결국 같은 얘기인데, 엔지니어가 말하니 더 무겁다. Karpathy가 30분 동안 한 얘기...</description>
      
      
      <category>thoughts</category>
      
    </item>
    
    <item>
      <title>SpaceX·Anthropic IPO 앞두고, AI 65%를 48%로 줄였다</title>
      <link>https://blog.wonderx.co.kr/posts/spacex-anthropic-ipo-rebalancing/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/spacex-anthropic-ipo-rebalancing/</guid>
      <pubDate>Tue, 12 May 2026 09:30:00 +0900</pubDate>
      <description>SpaceX가 6월 Nasdaq 상장이라는 이야기가 정설이 됐다. Prediction market에서 IPO 확률이 71%를 넘긴 게 5월 초다. 목표 밸류 1.75조 달러, 조달 규모 최대 750억 달러. Anthropic도 4분기 IPO 라인업에 올라와 있다. 두 회사 모두 내 컨빅션 안에서 가장 중요한 흐름이다. 그런데 내 포트폴리오 안에 SpaceX는 0%, Anthropic도 0%였다. 이상한 상태였다. 들어가는 방식은 두 가지다. 상장 후에 직접 사는 것. 아니면 그 직전에 노출이 있는 ETF로 미리 진입하는 것. 나는 후자를 골랐다. 상장 직후 가격은 모른다. 다만 한 가지는 거의 확정이다. Nasdaq-100은 신규 상장 종목을 15일 안에 강제 편입한다는 룰이 있고, FTSE Russell·CRSP도 줄줄이 따라온다. 이 세 인덱스만 합쳐서 추종 자금이 600조 달러 단위다. 강제 매수 규모를 단순 계산해보면 300~500억 달러가 IPO 후 15일 안에 들어온다. 그 사이클 앞에 서고 싶었다. 5월 11일, 1차 리밸런싱을 실행했다. 컨빅션 4축을 다시 그렸다 내 포트폴리오의 4축은 이렇게 단순하다. AI 광범위: TIMEFOLIO·TSLA·NVDA·GOOGL AI 인프라: IREN·GEV·VRT GPU/반도체: SK하이닉스·SMH 디지털 자산: BTC 여기에 두 축이 비어 있었다. 우주, 그리고 Anthropic 직접 노출. AI 광범위 안에 NVDA·GOOGL이 Anthropic ecosystem 지분으로 묶여 있긴 한데, 그건 간접이다. 직접 베타는 따로 잡아야 한다. 문제는 자금이다. 새 돈을 더 넣는 게 아니라, 비대해진 칸에서 덜어내서 빈 칸을 채우는 게 리밸런싱의 본질이다. AI 광범위 비중이 65%까지 와 있었다. 너무 두꺼웠다. 거기서 잘라내기로 했다....</description>
      
      
      <category>life</category>
      
    </item>
    
    <item>
      <title>문상훈 「내가 한 말을 내가 오해하지 않기로 함」: 읽고 나서</title>
      <link>https://blog.wonderx.co.kr/posts/ooff-social-book-prep/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/ooff-social-book-prep/</guid>
      <pubDate>Sun, 10 May 2026 18:00:00 +0900</pubDate>
      <description>오늘 밤 독서 소셜링이 있었다. 신논현 어딘가, 처음 가보는 자리. 책을 미리 읽고 가는 게 좋을 것 같아서 읽었다. 문상훈, 「내가 한 말을 내가 오해하지 않기로 함」. 유튜브 채널 빠더너스를 운영하는 사람이 쓴 에세이집이다. 168쪽. 얇은 편인데 한 문장 끝날 때마다 멈추게 된다. 이슬아 작가가 추천사에서 “정교한 청승”이라고 썼다. 읽고 나니 그 말이 정확하다는 걸 알았다. 아무도 안 볼 거라 생각하니까 책에 이런 대목이 나온다. 누가 보여주기 위해 쓰는 일기. 아무도 안 볼 거라 생각하니 안 쓰게 되고, 누군가에게 “이거 아무한테도 안 보여줬어” 하면서 쓰는 일기. 읽다가 피식했다. 나도 2월부터 혼자 블로그를 시작했다. 3월까지는 얼핏 썼는데, 어느 순간부터 2달을 안 쓰고 있었다. 딱히 이유가 있었던 건 아니다. 굳이 이유를 대자면, 아무도 안 볼 것 같으니까. 책에 이런 문장이 있다. “오늘을 마지막 날처럼 살라는 건 알겠는데, 한 번도 상처받지 않고 살라는 말도 알겠는데, 아무도 보고 있지 않은 것처럼 춤추라는 건 너무 어렵다.” 맞다. 아무도 안 본다고 생각하면 오히려 더 못 하게 된다. 블로그도 그렇고, 일기도 그렇고. 이 글도 그렇고. 부끄럽고 싶다 이 챕터를 가장 오래 읽었다. “난 나이 들수록 부끄럽고 싶다. 아무리 생각해도 행복이 뭔지 설명하기 어려우니 행복했던 순간을 그대로 재현해보는 것으로 그 기분을 더듬는다. 청춘도 어느 계절을 콕 집어 청춘이라 하기가 어려우니 대충 그즈음의 마음만 기억하려는 것이다. 내 하루는 대체로...</description>
      
      
      <category>book</category>
      
    </item>
    
    <item>
      <title>카드뉴스 5장이 하나도 안 읽혔다. 정체성과 가독성 사이: 프라이밋 메이커스로그</title>
      <link>https://blog.wonderx.co.kr/posts/primeet-makers-log-readability/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/primeet-makers-log-readability/</guid>
      <pubDate>Sat, 09 May 2026 22:00:00 +0900</pubDate>
      <description>3주차 인스타 카드뉴스 5장을 다 만들고 폰으로 보는데, 가만히 보다가 깨달았다. 잘 안 읽힌다. 분명히 디자인은 깔끔하다. 베이지·다크·세리프·여백. Aesop, Nothing 무드. 의도한 대로 나왔다. 그런데 인스타에서 빠르게 스와이프하면서 보면, 헤드라인이 흐릿한 회색 배경처럼 지나간다. 멈춰서 볼 만한 위계가 없다. 이게 어디서 어긋난 건지 추적하는 데 한나절을 썼다. 왜 안 읽혔나 문제는 단순했다. 브랜드 가이드대로 한 거였다. 1 2 3 font-family: &apos;Noto Serif KR&apos;, serif; font-weight: 300; /* Light */ color: rgba(255,255,255,0.45); /* 본문 */ Noto Serif KR의 300 (Light) 웨이트는 한글로 보면 거의 손글씨에 가까울 정도로 얇다. 거기에 본문 색을 0.45 alpha로 깔면, 라이트박스 안에서는 멋있어 보이는데 1080x1350 사이즈로 폰에서 보면 그냥 안 보인다. 랜딩 페이지도 마찬가지였다. 검사해보니 font-weight: 200 이 19곳, 300이 19곳. 본문 색상은 --secondary (#6B6762) 또는 --soft (#9A9690). 폰트 사이즈는 0.85rem~0.9rem (~14px). 데스크탑에서는 무드가 살지만, 모바일 reading distance에서는 회색 안개가 깔린다. “premium 무드”와 “안 읽힘”이 같은 디자인 결정에서 나온다. 이게 함정이었다. 레퍼런스: 잘 보이는 카드뉴스의 공통점 내가 평소에 멈춰서 보던 카드뉴스들을 다시 봤다. LayerLab: 정보형 콘텐츠의 위계 LayerLab: 정보 위계가 분명한 구조 (1~3 번호, 각 항목 들여쓰기, 핵심 헤드라인 굵게) 굵은 sans-serif로 핵심 메시지를 박는다. 흰 베이지 배경에 까만 글자. 좌측 상단에는 LayerLab 로고를 검정 배경 박스로 박아서 시그니처 마크가 됐다. 번호로 매긴 항목들은 각자 들여쓰기와 화살표로...</description>
      
      
      <category>side-project</category>
      
    </item>
    
    <item>
      <title>메이커스로그 3편: 5분만에 카드뉴스 가독성 완벽 구축!</title>
      <link>https://blog.wonderx.co.kr/posts/makers-log-3/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/makers-log-3/</guid>
      <pubDate>Sat, 09 May 2026 22:00:00 +0900</pubDate>
      <description>2026년 5월 9일 작업 요약

📋 기획·콘텐츠

  wonderx-blog [acfe4ce] feat: 메이커스로그: 카드뉴스 가독성 리디자인 (정체성 vs 가독성)





  이 글은 Claude Code + makers-log 스크립트로 자동 생성된 초안입니다.

</description>
      
      
      <category>daily-log</category>
      
    </item>
    
    <item>
      <title>메이커스로그 2편: gstack으로 5분만에 개발 자동화 완벽 구축!</title>
      <link>https://blog.wonderx.co.kr/posts/makers-log-2/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/makers-log-2/</guid>
      <pubDate>Fri, 08 May 2026 22:00:00 +0900</pubDate>
      <description>2026년 5월 8일 작업 요약

📋 기획·콘텐츠

  primeet-pr [f0bb8f8] content: update captions for 커리어 인증 messaging + enhance screenshot.js
  primeet-pr [4920455] chore: add tools/render-card-news, prompts/real-photo-reboot, update reference images
  primeet-pr [db517ce] docs: add CLAUDE.md and document Google Drive asset path
  wonderx-blog [5b76aa3] feat: 썸네일 추가 + 제목 후킹 강화 (gstack으로 5분만에 개발 자동화 완벽 구축!)
  wonderx-blog [7729157] refactor: makers-log-2 → claude-code-automation-gbrain-setup (slug 개선 + 익명화)
  wonderx-blog [cb205c9] feat: 메이커스로그 2편: 집 맥 환경세팅 + gbrain Supabase 마이그레이션





  이 글은 Claude Code + makers-log 스크립트로 자동 생성된 초안입니다.

</description>
      
      
      <category>side-project</category>
      
    </item>
    
    <item>
      <title>gstack으로 5분만에 개발 자동화 완벽 구축!</title>
      <link>https://blog.wonderx.co.kr/posts/claude-code-automation-gbrain-setup/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/claude-code-automation-gbrain-setup/</guid>
      <pubDate>Fri, 08 May 2026 22:00:00 +0900</pubDate>
      <description>2026년 5월 8일 작업 요약 오늘은 코드 커밋보다 개발 환경 자동화에 집중한 날이다. 집 맥북을 새로 세팅하면서 회사 맥과 동일한 Claude Code + gstack 환경을 구축했다. 🔨 개발·인프라 primeet-* 레포 전체를 ~/workplace/primeet/ 아래로 정리 bun 설치 → gstack 셋업 (bash ~/.claude/skills/gstack/setup) /setup-gbrain 실행: 집 맥에 gbrain 로컬 PGLite 엔진 구성 /sync-gbrain 실행: gstack-artifacts GitHub 레포와 아티팩트 동기화 🧠 gbrain Supabase 마이그레이션 가장 큰 작업이었다. 기존에 로컬 PGLite로 돌리던 gbrain을 Supabase PostgreSQL로 이전했다. gbrain migrate --to supabase → 회사 맥 데이터(29 pages) 확인 기존 데이터 보존 선택 → gbrain init --supabase --url 로 config만 전환 이제 집 맥 ↔ 회사 맥이 같은 Supabase DB를 바라봄 gbrain embed --stale → OpenAI API로 82 chunks 임베딩 완료 ⚙️ Claude Code 자동화 SessionEnd 훅 추가 → 세션 종료 시 gbrain sync 자동 실행 기존 SessionStart 훅(gstack-session-update)과 함께 세션 시작/종료 양방향 싱크 완성 매 대화가 끝나면 자동으로 gbrain에 저장되고, 다음 세션에서 바로 이어받는 구조 📋 makers-log 자동화 시스템 이 메이커스로그 자체를 자동으로 만드는 시스템을 구축했다. ~/bin/makers-log Python 스크립트 작성 오늘 날짜 git 커밋 자동 수집 (전 레포 대상) 커밋을 개발/기획콘텐츠/인사이트로 자동 분류 GPT-4o-mini로 키워드 후킹 제목 자동 생성 DALL-E 3로 썸네일 자동 생성 Jekyll 블로그 초안 자동 생성 (_posts/) 텔레그램 봇으로 일일 요약 발송 cron...</description>
      
      
      <category>daily-log</category>
      
    </item>
    
    <item>
      <title>인스타 0에서 시작하기, 금지어 투성이인 서비스의 콘텐츠 전략: 프라이밋 메이커스로그</title>
      <link>https://blog.wonderx.co.kr/posts/primeet-makers-log-instagram/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/primeet-makers-log-instagram/</guid>
      <pubDate>Wed, 06 May 2026 21:00:00 +0900</pubDate>
      <description>인스타그램 계정을 만들고 첫 포스트를 올릴 준비를 했을 때, 가장 먼저 한 일은 금지어 목록을 정하는 거였다. 소개팅. 만남주선. 이성매칭. 1:1 매칭. 이 단어들은 쓰면 안 된다. 앱스토어 심사에서 막히고, PG사 결제 연동이 안 되고, 카카오채널 신청도 반려된다. 콘텐츠에서도 같은 키워드가 쌓이면 나중에 광고 집행할 때 문제가 생긴다. 근데 이 단어들을 빼면, 대체 무슨 말로 이 서비스를 설명하지? 설명하지 않는 전략 처음에는 “어떻게 하면 프라이밋을 제대로 설명할 수 있을까”를 고민했다. 그러다가 방향을 바꿨다. 설명하지 않는다. 인스타그램에서 잘 되는 콘텐츠가 “우리 서비스는 이런 기능이 있어요”가 아닌 건 누구나 안다. 근데 그게 단순히 마케팅 원칙이기만 한 게 아니었다. 프라이밋의 경우에는 설명할 수 없어서 설명하지 않는 방향이 맞았다. “결이 맞는 사람을 만나고 싶다”는 감정. “앱이 너무 많은 시대에 지쳤다”는 피로. “퇴근하면 혼자인 느낌”에 대한 공감. 이걸 건드리면 된다. 프라이밋이 뭔지 굳이 말 안 해도, 어떤 사람들이 이 콘텐츠에 멈출지 대략 안다. 12개 포스트, 4주 계획 톤앤매너를 먼저 정했다. 절제·암시·자신감. 설명보다 암시. 이모지 최소. 흥분 금지. CTA도 “지금 신청하세요”가 아니라 “합류를 고려하고 있다면”으로. 콘텐츠 유형은 세 가지로 분류했다. 브랜드(B): 프라이밋 직접 언급. 심사제, 매니저 운영, 얼리멤버. 12개 중 4개. 트렌드(T): 요즘 흐름·현상을 짚고 마지막에 브랜드 슬쩍. 직장인 커뮤니티 트렌드, 앱 피로도, 유료 커뮤니티 등. 4개. 라이프스타일(L): 공감과 감성. 어른 친구 사귀기 어려운 것, 퇴근...</description>
      
      
      <category>side-project</category>
      
    </item>
    
    <item>
      <title>소개팅앱이라는 말이 싫어서 직접 만들었다: 프라이밋 메이커스로그 1편</title>
      <link>https://blog.wonderx.co.kr/posts/primeet-makers-log-1/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/primeet-makers-log-1/</guid>
      <pubDate>Wed, 06 May 2026 18:00:00 +0900</pubDate>
      <description>“어디서 만났어?” 간단한 질문이다. 근데 나는 이 질문이 오면 항상 잠깐 멈췄다. 사실대로 말하면 되는데, “앱에서 만났어”, 그 말이 입 밖으로 잘 안 나왔다. 대신 이렇게 말했다. “지인 소개로.” 거짓말이다. 그런데 어쩔 수가 없었다. 그게 몇 번 쌓이다가 결국 직접 만들기로 했다. 나는 소개팅앱 하드유저였다 37살, IT 개발자, 서울 직장인. 트레바리 독서모임도 다니고, 언어교환 스터디도 나간다. 지적 활동에 관심 있는 사람을 만나고 싶었는데, 주변에서 자연스럽게 연결되는 경우가 생각보다 드물었다. 그래서 앱을 썼다. 꽤 오랫동안, 꽤 열심히. 결과는 나쁘지 않았다. 실제로 만났고, 몇 번은 제대로 만났다. 이 앱이 “작동하는” 건 분명했다. 문제는 따로 있었다. “어디서 만났어?” 의 불편함 만남이 연애로 이어지면 주변 사람들이 묻는다. 어디서 만났냐고. 나는 항상 “지인 소개”라고 했다. 앱이라고 말하기가 왜 그렇게 불편한지, 이유를 정확히 설명하기도 어려웠다. 그냥 그랬다. 직장 동료한테, 부모님한테, 오래된 친구한테, “소개팅앱 써서 만났어”라는 말을 꺼내는 게 자연스럽지 않았다. 흥미로운 건, 만났던 사람들도 똑같았다는 거다. “어디서 만났냐고 하면 어떻게 말해요?” 라고 물어봤더니, 나처럼 “지인이 소개해줬다고 한다”는 대답이 돌아왔다. 직장인, 전문직, 대학원생, 학력이나 직군에 상관없이 비슷했다. 앱이 나쁜 게 아니었다. 앱을 썼다는 사실 자체에 수치심이 붙어있는 거였다. 근데 이게 해결 가능한 문제인가? 처음에는 그냥 개인적인 불편함이라고 생각했다. 그러다가 관점을 바꿔봤다. “소개팅앱”이라는 카테고리 라벨 자체가 문제라면, 그 라벨 없이 같은 기능을 제공하면 어떨까? 트레바리를 생각해봤다. 독서모임이다. 근데...</description>
      
      
      <category>side-project</category>
      
    </item>
    
    <item>
      <title>Claude Code로 3D 포트폴리오 사이트 만들기: AI와 페어 프로그래밍한 후기</title>
      <link>https://blog.wonderx.co.kr/posts/claude-code-3d-portfolio-threejs-gsap/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/claude-code-3d-portfolio-threejs-gsap/</guid>
      <pubDate>Mon, 09 Mar 2026 11:00:00 +0900</pubDate>
      <description>“AI한테 포트폴리오 사이트 만들어달라고 하면 어느 수준까지 가능할까?” 솔직히 말하면 처음엔 기대를 낮게 잡았다. 레이아웃 정도 잡아주면 다행이겠지 싶었다. 결과는 달랐다. Three.js 기반 3D 배경, GSAP 스크롤 애니메이션, 한/영 실시간 전환, 반응형까지, 대화 몇 세션 만에 실제로 배포까지 완료됐다. 완성된 사이트: cv.wonderx.co.kr GitHub: github.com/wonderit/wonderx-cv 이 포스팅은 그 과정을 낱낱이 공개한다. 어디서 막혔고, Claude Code가 뭘 잘했고, 어떤 트러블슈팅이 있었는지까지. 왜 직접 만들었나: 기존 포트폴리오 툴의 한계 Notion, Linktree, Cargo 같은 도구들이 있다. 빠르고 편하다. 근데 커스터마이징의 벽이 존재한다. AI 연구자/CTO로서 단순 이력 나열 말고, 내 전문성이 시각적으로 드러나는 사이트를 원했다. 요구사항을 정리해보니 이랬다: 요구사항 기존 툴 직접 제작 3D 인터랙티브 배경 ❌ ✅ Three.js 스크롤 기반 애니메이션 △ 제한적 ✅ GSAP ScrollTrigger 한/영 실시간 전환 △ 일부만 ✅ 커스텀 i18n 논문 목록 + 인용수 ❌ ✅ 구조화 직접 설계 커스텀 도메인 + GA4 △ 유료 ✅ GitHub Pages 무료 직접 만들기로 결정. 문제는 시간이다. Three.js 풀로 짜면 며칠이다. 여기서 Claude Code가 들어온다. 기술 스택: 빌드 도구 없이 CDN만으로 의도적인 선택이었다. Vite, Webpack 같은 번들러를 쓰면 강력하지만 프로젝트 구조가 복잡해진다. 목표는 “유지보수 제로에 가까운 정적 사이트”였다. 1 2 3 4 5 index.html (단일 파일 기반) ├── Three.js r128 (CDN) ├── GSAP 3.12.5 + ScrollTrigger (CDN) ├── Space Grotesk (Google Fonts) └──...</description>
      
      
      <category>tutorial</category>
      
    </item>
    
    <item>
      <title>성공하려면 사라져라: 안광이 좋은 사람의 비밀</title>
      <link>https://blog.wonderx.co.kr/posts/success-disappear-eye-light/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/success-disappear-eye-light/</guid>
      <pubDate>Sat, 07 Mar 2026 13:22:09 +0900</pubDate>
      <description>소개팅 자리에서 이상형이 뭐냐는 질문을 받으면, 나는 늘 같은 대답을 했다. 안광이 좋은 사람. 상대는 보통 고개를 갸웃거렸다. 키나 얼굴이나 직업 같은 답을 기대했을 텐데, 눈빛이라니. 뭔가 멋있는 말을 하려는 건지, 진심인 건지 잘 모르겠다는 표정. 나는 진심이었다. 안광이라는 건, 눈이 크다는 뜻이 아니다. 어떤 사람은 말할 때 눈이 흔들린다. 상대의 반응을 살피느라 시선이 분주하다. 자기 이야기를 하면서도 ‘이게 맞는 말인지’ 확인하려는 눈빛. 그런 눈에는 광이 없다. 빛이 아니라 불안이 서려 있을 뿐이다. 반대로, 어떤 사람은 말할 때 눈이 고요하다. 자기가 무슨 말을 하는지 알고 있고, 그 말이 상대에게 어떻게 들릴지에 크게 휘둘리지 않는다. 틀려도 괜찮다는 여유. 그 여유가 눈에 빛으로 맺힌다. 나는 그 빛에 끌렸다. 항상. 최근에 유튜브에서 99%가 모르는 사실, 당신이 독하게 사라져야만 ‘진짜’ 성공하는 이유라는 영상을 봤다. 마인드트리거라는 채널이었다. 제목이 좀 세서 넘길 뻔했는데, 내용은 오히려 조용했다. 핵심은 단순했다. 보여주기를 멈춰라. 영상은 심리학 연구를 근거로 흥미로운 이야기를 했다. 목표를 주변에 공개하는 순간, 뇌는 이미 그걸 끝낸 것처럼 착각한다는 것이다. “나 다이어트 시작했어”, “나 이번에 창업해”, “나 책 쓸 거야.” 말하는 순간 사회적 인정을 미리 받아버린다. 그러면 실제로 행동할 동기가 줄어든다. 뇌가 이미 보상을 받았으니까. 그래서 영상의 결론은 이랬다. 조용히 사라지고, 조용히 움직여서, 결과로 증명하라. SNS에 자기 일상을 올리고, 댓글에 반응하고, 조회수에 일희일비하는 시간. 그 시간 동안 당신은...</description>
      
      
      <category>essay</category>
      
    </item>
    
    <item>
      <title>Gamma AI + Claude로 47장짜리 강의 PPT를 만들었다: AI가 AI를 지시하는 워크플로우</title>
      <link>https://blog.wonderx.co.kr/posts/gamma-ai-claude-47-slide-presentation-workflow/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/gamma-ai-claude-47-slide-presentation-workflow/</guid>
      <pubDate>Fri, 06 Mar 2026 20:00:00 +0900</pubDate>
      <description>3월에 국내 경영대학원 금융MBA에서 세미나를 하게 됐다. 주제는 “말하는 AI에서 ‘일하는’ 에이전트로: 2026 금융 AI의 실전 로드맵.” 대상은 금융권 현직 임원과 리더들. 1시간짜리 강의다. 문제는 발표 자료였다. 47장짜리 프레젠테이션을 처음부터 파워포인트로 만들면 이틀은 걸린다. 슬라이드 디자인, 레이아웃 잡기, 아이콘 찾기, 정렬 맞추기… 콘텐츠보다 꾸미기에 시간이 더 들어간다. 그래서 Gamma AI와 Claude를 조합했다. AI로 AI 강의 자료를 만든 셈이다. 이 메타적 상황이 꽤 재밌었다. 강의 내용 자체가 “AI를 실전에서 써라”인데, 강의 자료가 AI로 만들어졌으니까. Phase 1: Gamma AI로 10분 만에 초안 뽑기 Gamma AI(gamma.app)는 프레젠테이션 생성 AI 도구다. 주제와 대략적인 구조를 텍스트로 입력하면 슬라이드를 자동으로 만들어준다. 디자인 템플릿도 적용되고, 레이아웃도 알아서 잡아준다. 강의 주제와 핵심 키워드를 입력했더니 26장짜리 초안이 나왔다. 소요 시간 약 10분. 레이아웃은 꽤 깔끔했다. 하지만 내용이 얕았다. Gamma가 알아서 채운 텍스트는 일반적인 수준이었고, 금융 도메인에 특화된 깊이 있는 콘텐츠는 없었다. 여기서 Gamma만으로는 한계가 명확했다. 예쁜 껍데기는 만들어주는데, 알맹이는 내가 채워야 한다. Phase 2: Claude를 “콘텐츠 디렉터”로 투입 Gamma가 만든 26장 초안을 PDF로 추출했다. 그리고 Claude 데스크톱 앱에 이 PDF를 올렸다. 추가로 이전에 했던 강의 자료(59장짜리 PDF)도 함께 참조시켰다. 요청은 이랬다. “이 초안을 기반으로, 이전 강의에서 핵심 콘텐츠를 선별해서 통합하고, 47장 분량으로 확장해줘. 슬라이드마다 Gamma AI에 입력할 프롬프트를 markdown으로 작성해줘.” Claude가 만들어준 결과물은 이런 형태였다. 1 2 3 4...</description>
      
      
      <category>ai-automation</category>
      
    </item>
    
    <item>
      <title>코스피 6천, 50일 연속 상승, 그리고 나의 리밸런싱</title>
      <link>https://blog.wonderx.co.kr/posts/kospi-rebalancing-tesla-to-ai/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/kospi-rebalancing-tesla-to-ai/</guid>
      <pubDate>Thu, 05 Mar 2026 14:45:58 +0900</pubDate>
      <description>코스피가 6천을 찍었다. 50일 연속 상승. 삼성전자와 SK하이닉스의 합산 순이익이 257조를 넘기면서 반도체 슈퍼사이클이라는 단어가 다시 돌고 있다. 주변에서 반도체를 사야 하는 거 아니냐는 이야기가 들린다. 나도 흔들렸다. FOMO라는 건 알면서도 걸리는 병이다. 그런데 나는 이미 부동산에 자산의 80% 이상을 묶어둔 사람이다. 송파 아파트에 살고, 강남 오피스텔에서 월세가 나온다. 생활의 닻은 단단하다. 그래서 주식에서는 좀 더 과감해질 수 있다. 과감하되, 무모하지 않게. 코스피가 오르는 건 좋은 일이지만, 50일 연속 상승 뒤에 추격매수를 하는 건 내 방식이 아니다. 나는 내가 읽을 수 있는 흐름에만 돈을 넣는다. 3월 3일, 리밸런싱을 실행했다. 테슬라 200주 중 100주를 매도했다. 수익률 110%가 넘는 구간이었다. 아깝다는 생각이 들지 않았다고 하면 거짓말이다. 올해 상반기에만 로보택시가 7개 도시로 확장되고, 4월부터 사이버캡 양산이 시작된다는 뉴스가 연일 나온다. FSD v14도 출시됐다. 호재는 충분하다. 그런데도 팔았다. 한 종목이 포트폴리오의 절대적 비중을 차지하는 구조는, 수익이 날 때는 짜릿하고 빠질 때는 숨이 막힌다. 테슬라가 자동차 회사에서 AI 로보틱스 회사로 전환하는 과정이 성공할 수도 있다. 하지만 그 과정에서의 변동성까지 포트폴리오 전체로 감당하고 싶지는 않았다. 100주는 남겨뒀다. 그 정도면 여전히 충분한 베팅이다. 매도 자금의 행선지를 정하는 데 며칠이 걸렸다. 코스피 추격매수는 처음부터 배제했다. 원달러 1,460원대에서 원화 자산 비중을 크게 늘리는 것도 부담이었고, 무엇보다 반도체 슈퍼사이클의 꼭대기에서 올라타는 건 내가 잘 하는 게임이 아니다. 대신, 지금 세상이...</description>
      
      
      <category>life</category>
      
    </item>
    
    <item>
      <title>추리와 연결: 머더미스터리 두 판의 기록</title>
      <link>https://blog.wonderx.co.kr/posts/murder-mystery-review-deduction-and-connection/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/murder-mystery-review-deduction-and-connection/</guid>
      <pubDate>Tue, 03 Mar 2026 20:30:00 +0900</pubDate>
      <description>목요일 저녁, 낯선 사람 네 명과 테이블에 둘러앉았다. 각자 캐릭터 설명서를 받아 들고, 눈을 마주치고, 첫 마디를 꺼냈다. “저는 곽손자입니다.” 그 순간부터 나는 내가 아닌 다른 사람이 되었다. 머더미스터리. 줄여서 머미. 처음 이 장르를 알게 된 건 빠니보틀의 마피아 게임 영상이었다. 그 영상에서 만난 사람들과 ‘푸른 달의 비밀’이라는 머더미스터리를 함께한 적이 있다. 솔직히 기대 반, 걱정 반이었다. 방탈출은 좋아했지만 크라임씬 류의 추리 게임은 그다지였거든. 같이 가는 사람 바이 사람이라 퀄리티가 들쭉날쭉이었다. 에너지 없는 사람과 하면 침묵이 흐르고, 몰입을 깨는 사람과 하면 전체가 무너진다. 그런데 그날 함께한 사람들은 달랐다. 다들 에너제틱했다. 캐릭터에 진심이었고, 추리에 진심이었고, 무엇보다 이 시간을 즐기려는 태도가 있었다. 그래서 쏘빅에서 운영하는 ‘추리메이트’를 신청했다. 취미가 맞는 사람들끼리 모여서 머더미스터리를 하는 소셜링. 다짜고짜 결제 버튼을 눌렀다. 마음이 먼저 움직이면 손가락은 따라오는 법이다. 2/27: 오늘 내가 죽었다 5인 머더미스터리. 제목부터 심상치 않다. 누군가 죽었다. 그리고 우리 다섯 명 중 한 명이 범인이다. 각자에게 주어진 캐릭터 설명서에는 그날 밤 자신이 무엇을 했는지, 누구를 만났는지, 무엇을 숨기고 있는지가 적혀 있다. 진실과 거짓이 교묘하게 섞여 있다. 나는 곽손자 역할을 맡았다. 설명서를 읽으며 머릿속에 이 사람의 윤곽을 그렸다. 어떤 동기가 있고, 어떤 비밀을 품고 있는지. 첫 머미가 아니었기에 일차원적으로 추리하지는 않았다. 표면에 드러난 단서만 쫓으면 제작자의 함정에 빠진다는 걸 이미 배웠으니까. 그런데 반전은 항상 있더라....</description>
      
      
      <category>life</category>
      
    </item>
    
    <item>
      <title>블랙잭 나이트: 킹과 에이스, 그리고 새벽 국밥</title>
      <link>https://blog.wonderx.co.kr/posts/offnine-blackjack-party-sinsa/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/offnine-blackjack-party-sinsa/</guid>
      <pubDate>Mon, 02 Mar 2026 22:00:00 +0900</pubDate>
      <description>2월의 마지막 금요일이었다. 넷플연가. 연애의 참견. 그 이름의 독서 모임에서 시작된 인연이 있다. 불안형 애착과 회피형 애착이 뭔지, 사랑에도 패턴이 있다는 걸, 책 한 권 한 권 넘기며 배웠던 시간. 그때 함께했던 사람들의 단톡방에 파티 모집 글이 올라왔다. 오프나인. 블랙잭 컨셉 파티. 신사역 근처. 금요일 저녁, 시간이 됐다. 그냥 가기로 했다. 도착하니 초록색 펠트 천이 깔린 테이블이 여러 개 놓여 있었다. 진짜 카지노 테이블이었다. 칩도 있고, 트럼프 카드도 있었다. 누군가 셔플하는 소리가 음악 사이로 들렸다. 테이블에 앉으면 빙고 카드 한 장과 질문지 한 장이 놓여 있었다. ‘블랙잭 게임 1등할 것 같은 사람’, ‘가장 친해지고 싶은 사람’, ‘카지노에 가봤을 것 같은 사람’, ‘인스타 교환하고 싶은 사람’: 아홉 칸짜리 빙고. 각 칸에 해당하는 사람의 이름을 적어야 한다. 다른 테이블 사람들과 이야기하지 않으면 빙고를 완성할 수 없는 구조였다. 영리하다고 생각했다. 억지로 어색한 자기소개를 시키는 대신, 게임이라는 핑계를 만들어준 거다. 사람들은 빙고를 채우려고 자연스럽게 다른 테이블로 건너갔고, 웃으며 이름을 적었다. 첫인상 게임도 있었다. ‘이 사람을 트럼프 카드 속 리더십 있는 King, 포용적이고 잔잔한 Queen, 재밌는 Jack 중에 어느 이미지 타입에 가깝나요?’ 오른쪽으로 종이를 돌리면서, 각 사람에게 느낀 첫인상을 한 마디씩 남기는 방식이었다. 나는 종이를 받아들고 잠깐 멈칫했다. 누군가에 대한 첫인상을 한 줄로 요약한다는 건, 그 사람을 어떤 프레임에 가둔다는 뜻이기도 했다. 하지만 그게 이...</description>
      
      
      <category>social</category>
      
    </item>
    
    <item>
      <title>M3 Mac에서 FLUX 돌려서 이미지 생성 비용을 0원으로 만들었다</title>
      <link>https://blog.wonderx.co.kr/posts/flux-local-m3-mac-zero-cost-image-gen/</link>
      <guid isPermaLink="true">https://blog.wonderx.co.kr/posts/flux-local-m3-mac-zero-cost-image-gen/</guid>
      <pubDate>Sun, 01 Mar 2026 10:00:00 +0900</pubDate>
      <description>블로그 이미지 하나 생성하는 데 Gemini API로 $0.02~$0.134가 든다. 포스트 하나에 이미지 4장이면 최대 $0.54. 한 달에 20편 쓰면 $10.8. 별거 아닌 것 같지만, 로컬에서 공짜로 돌릴 수 있는데 굳이 돈을 낼 이유가 있을까? M3 Pro 36GB MacBook이 있다. FLUX.1 schnell이면 충분히 돌아갈 스펙이다. 해보자. 첫 번째 시도: stable-diffusion-cpp: 10분짜리 재앙 처음 시도한 건 stable-diffusion-cpp-python이다. FLUX GGUF 모델을 지원하고, Python 바인딩이 있어서 기존 봇 코드에 바로 붙일 수 있을 것 같았다. 모델을 다운받았다. flux1-schnell-Q4_0.gguf: 4비트 양자화로 약 6GB. 1 2 3 4 5 6 7 8 9 from stable_diffusion_cpp import StableDiffusion sd = StableDiffusion( diffusion_model_path=&quot;flux1-schnell-Q4_0.gguf&quot;, clip_l_path=&quot;clip_l.safetensors&quot;, t5xxl_path=&quot;t5xxl_fp16.safetensors&quot;, vae_path=&quot;ae.safetensors&quot;, ) output = sd.txt_to_img(prompt=&quot;a cat sitting on a desk&quot;, width=1024, height=576) 코드는 깔끔했다. 문제는 실행 시간이었다. 1 1024x576, 4 steps → 567초 (9분 27초) 거의 10분. 블로그 이미지 하나에 10분이면 4장에 40분이다. Gemini API는 5초면 끝나는 걸. 왜 이렇게 느릴까. Activity Monitor를 열어봤다. CPU 사용률 800%, GPU 사용률 0%. Metal.framework이 링크돼 있긴 한데, 실제 연산은 전부 CPU에서 돌고 있었다. stable-diffusion-cpp의 Metal 지원이 FLUX 모델에서는 제대로 작동하지 않는 것이다. 이건 아무리 최적화해도 답이 없다. mflux를 발견하다 방향을 틀었다. Apple Silicon에서 GPU를 제대로 쓰는 방법이 필요했다. 찾은 게 mflux다. Apple의 MLX 프레임워크 위에서 돌아가는 FLUX 전용 추론 엔진이다. MLX가 핵심이다. Apple이 직접 만든 머신러닝...</description>
      
      
      <category>dev-log</category>
      
    </item>
    
  </channel>
</rss>
