<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>2mukee Lab</title>
    <link>https://2mukee.tistory.com/</link>
    <description>2mukee 연구소</description>
    <language>ko</language>
    <pubDate>Wed, 13 May 2026 16:29:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>2mukee</managingEditor>
    <image>
      <title>2mukee Lab</title>
      <url>https://tistory1.daumcdn.net/tistory/4186763/attach/36a19c5026164398878f08f6b947ed20</url>
      <link>https://2mukee.tistory.com</link>
    </image>
    <item>
      <title>무료 바이브코딩 조합</title>
      <link>https://2mukee.tistory.com/1147</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Gemini CLI&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;오픈소스 AI CLI 도구&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분당 60회, 일일 1000회 요청 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini 2.5Pro 모델을 포함한 고성능 모델에 접근 가능&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;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;a href=&quot;https://geminicli.com/docs/get-started/installation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://geminicli.com/docs/get-started/installation/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778504556768&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Gemini CLI installation, execution, and releases&quot; data-og-description=&quot;This document provides an overview of Gemini CLI&amp;rsquo;s system requirements, installation methods, and release types. Operating System: macOS 15+ Windows 11 24H2+ Ubuntu 20.04+ Hardware: &amp;ldquo;Casual&amp;rdquo; usage: 4GB+ RAM (short sessions, common tasks and edits) &quot; data-og-host=&quot;geminicli.com&quot; data-og-source-url=&quot;https://geminicli.com/docs/get-started/installation/&quot; data-og-url=&quot;https://geminicli.com/docs/get-started/installation/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cH5hQq/dJMb9jgBTyK/ijhnrK3JHzBQn3cDHHy8O0/img.png?width=1300&amp;amp;height=733&amp;amp;face=0_0_1300_733,https://scrap.kakaocdn.net/dn/vIQ4c/dJMb9iILzme/RlNOUMmW4IpiJr87yK50xK/img.png?width=1300&amp;amp;height=733&amp;amp;face=0_0_1300_733&quot;&gt;&lt;a href=&quot;https://geminicli.com/docs/get-started/installation/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://geminicli.com/docs/get-started/installation/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cH5hQq/dJMb9jgBTyK/ijhnrK3JHzBQn3cDHHy8O0/img.png?width=1300&amp;amp;height=733&amp;amp;face=0_0_1300_733,https://scrap.kakaocdn.net/dn/vIQ4c/dJMb9iILzme/RlNOUMmW4IpiJr87yK50xK/img.png?width=1300&amp;amp;height=733&amp;amp;face=0_0_1300_733');&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;Gemini CLI installation, execution, and releases&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This document provides an overview of Gemini CLI&amp;rsquo;s system requirements, installation methods, and release types. Operating System: macOS 15+ Windows 11 24H2+ Ubuntu 20.04+ Hardware: &amp;ldquo;Casual&amp;rdquo; usage: 4GB+ RAM (short sessions, common tasks and edits)&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;geminicli.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&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;프롬프트&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778504671301&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;~/.gemini/GEMINI.md&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1778504683018&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Gemini General Coding Rules

You are an experienced software engineer.

Your goals:

- minimize unnecessary token usage
- avoid unnecessary file reads
- preserve existing architecture and conventions
- make minimal, safe changes
- avoid speculation
- prioritize correctness over creativity

# General Rules

- Read only files relevant to the task.
- Do not scan the entire repository unless explicitly requested.
- Prefer targeted analysis over broad exploration.
- Keep responses concise and technical.
- Avoid repeating the user's request.
- Avoid unnecessary explanations.

# Implementation Rules

- Preserve existing patterns and structure.
- Avoid unrelated modifications.
- Prefer minimal diffs over large rewrites.
- Avoid introducing dependencies unless necessary.
- Avoid overengineering.

# Debugging Rules

When debugging:

1. identify the reproducible cause
2. explain the failure flow
3. propose the smallest safe fix
4. verify possible side effects

Do not guess.

# Refactoring Rules

When refactoring:

- preserve behavior
- improve readability
- reduce complexity carefully
- avoid architecture changes unless requested

# Architecture Rules

For design tasks:

- analyze the current structure first
- work within existing constraints
- prefer incremental improvements
- avoid unnecessary abstractions

# Code Style

- prefer explicit and readable code
- avoid unnecessary comments
- avoid unnecessary nesting
- preserve naming conventions

# Efficiency Mode

Default behavior:

- think before reading files
- think before generating code
- avoid large outputs
- prefer incremental steps
- prefer surgical edits&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;&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;&lt;b&gt;2. gemini code assistant&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VSCode 등 IDE에서 사용할 수 있는 제미나이 기반 AI 코드 어시스턴트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 완성, 생성, 리팩토링, 디버깅을 IDE를 통해 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인용 버전은 무료이고, Gemini 2.5 모델을 기반으로 동작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빠른 코드 제안&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루 6,000회까지 요청 무료&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;IDE에 확장으로 설치&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;프로젝트 루트에 GEMINI.md를 놓는 것을 추천&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;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. Cline&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VSCode와 통합된 오픈소스 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;구글 AI 스튜디오에서 프로젝트 생성 &amp;gt; API 키 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aistudio.google.com/app/projects?project=gen-lang-client-0058634447&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://aistudio.google.com/app/projects&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778506538140&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;로그인 - Google 계정&quot; data-og-description=&quot;이메일 또는 휴대전화&quot; data-og-host=&quot;accounts.google.com&quot; data-og-source-url=&quot;https://aistudio.google.com/app/projects?project=gen-lang-client-0058634447&quot; data-og-url=&quot;https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Faistudio.google.com%2Fapp%2Fprojects%3Fproject%3Dgen-lang-client-0058634447&amp;amp;dsh=S-468190877%3A1778506533447283&amp;amp;followup=https%3A%2F%2Faistudio.google.com%2Fapp%2Fprojects%3Fproject%3Dgen-lang-client-0058634447&amp;amp;passive=1209600&amp;amp;flowName=WebLiteSignIn&amp;amp;flowEntry=ServiceLogin&amp;amp;ifkv=AWa2Pau9RPsxSnrL3qiQHzzdTIf-SBEplAMwD8IYrHcGgW-HzIWC9ni-25c6rig3mFgiv9ll3dduXw&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://aistudio.google.com/app/projects?project=gen-lang-client-0058634447&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aistudio.google.com/app/projects?project=gen-lang-client-0058634447&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;로그인 - Google 계정&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이메일 또는 휴대전화&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;accounts.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VSCode에서 확장으로 설치&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;사이드바에서 Cline 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;API 라우터를 Google Gemini로 설정&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;모델은 Gemini Flash 계열로 선택 (무료 티어 존재)&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;</description>
      <category>Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1147</guid>
      <comments>https://2mukee.tistory.com/1147#entry1147comment</comments>
      <pubDate>Mon, 11 May 2026 22:40:41 +0900</pubDate>
    </item>
    <item>
      <title>개발자를 위한 AI 모델 별 프롬프트 가이드</title>
      <link>https://2mukee.tistory.com/1146</link>
      <description>&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;1. 역할(Role)을 먼저 지정한다&lt;/p&gt;
&lt;pre id=&quot;code_1778502975844&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;당신은 대규모 트래픽 환경의 백엔드 시니어 엔지니어다.
NestJS + TypeScript + PostgreSQL 기반으로
유지보수성과 테스트 용이성을 우선시한다.&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;2. 목표를 단일 문장으로 명확하게 표현한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503032688&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;JWT 기반 인증 시스템을 구현하되,
Refresh Token Rotation까지 포함해라.&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;3. 기술 스택을 강제한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503082715&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;조건:
- Runtime: Node.js 22
- Framework: NestJS
- ORM: Prisma
- DB: PostgreSQL
- Package Manager: Yarn Berry
- node_modules 사용 금지&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;4. 코드 스타일을 강제한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503095682&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;규칙:
- 함수는 최대 30줄
- early return 사용
- class보다 함수형 선호
- any 금지
- interface보다 type 우선
- snake_case 파일명 사용&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;5. 출력 형식(Output Format)을 강제한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503121775&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 형식으로 출력:
1. 디렉토리 구조
2. 파일별 코드
3. 동작 흐름
4. 장점
5. 단점&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;6. 하지 말아야할 것도 써야한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503135643&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;금지:
- 추상적인 설명
- 생략된 코드
- pseudo code
- TODO 주석
- any 타입&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;7. 예시 입력과 출력을 제공한다&lt;/p&gt;
&lt;pre id=&quot;code_1778503182084&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;예시 응답 스타일:

# auth_service.ts
```ts
export class AuthService {}
```


---

# 8. 단계별 사고 강제

복잡한 작업은 무조건 단계 분리.

### 예시
```text
순서대로 진행:
1. 요구사항 분석
2. 아키텍처 설계
3. 디렉토리 구조 생성
4. 타입 정의
5. 구현
6. 테스트 코드 작성
```&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;&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;&lt;b&gt;실무에서 많이 사용하는 패턴&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 아키텍트 모드&lt;/p&gt;
&lt;pre id=&quot;code_1778503209220&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;당신은 시니어 소프트웨어 아키텍트다.

목표:
대규모 트래픽 환경에서 동작 가능한
실시간 채팅 시스템 설계.

조건:
- NestJS
- Redis Pub/Sub
- WebSocket Gateway
- Horizontal Scaling 고려
- 장애 복구 고려

출력:
1. 전체 구조
2. 패킷 흐름
3. 서버 간 통신 구조
4. Redis 사용 이유
5. 장애 상황 대응
6. 프로젝트 구조&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;2. 리팩토링 모드&lt;/p&gt;
&lt;pre id=&quot;code_1778503220020&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 디버깅 모드&lt;/p&gt;
&lt;pre id=&quot;code_1778503228826&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 문제를 분석해라.

증상:
- SQLite transaction deadlock 발생

환경:
- React Native
- expo-sqlite
- Jest 테스트 환경

분석 순서:
1. 원인 후보
2. 재현 가능성
3. 로그 기반 추론
4. 해결책
5. 예방 방법&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;&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;&lt;b&gt;권장 프롬프트 패턴 (단계 분리)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778503373527&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. 요구사항 분석만 해라
2. 승인 후 아키텍처 설계
3. 승인 후 구현
4. 마지막에 테스트 작성&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;&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;&lt;b&gt;클로드 코드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 잘 먹히는 것&lt;/p&gt;
&lt;pre id=&quot;code_1778503290695&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 아키텍트 모드 예시 (긴 구조 설명 / 계층 분리 / 아키텍쳐 Reasoning / &quot;절대 하지마&quot; 준수)&lt;/p&gt;
&lt;pre id=&quot;code_1778503482341&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;당신은 대규모 분산 시스템을 설계하는 시니어 소프트웨어 아키텍트다.

목표:
100만 동시 접속을 처리 가능한 실시간 채팅 시스템 설계.

환경:
- Node.js 22
- NestJS
- Redis Pub/Sub
- PostgreSQL
- WebSocket Gateway
- Kubernetes

중요 요구사항:
- 수평 확장 가능해야 함
- 세션 스티키 최소화
- 장애 복구 고려
- Redis 장애 시 대응 전략 포함
- 메시지 유실 방지 전략 포함
- 채팅방 shard 전략 포함

출력 형식:
1. 전체 시스템 아키텍처
2. 패킷 흐름
3. 서버 간 메시지 흐름
4. Redis 역할
5. DB 저장 전략
6. 장애 상황 시나리오
7. 프로젝트 구조
8. 트래픽 병목 예상 지점
9. 확장 전략
10. 장단점

절대 하지 말 것:
- 추상적인 설명
- pseudo code
- TODO&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;3. 리팩터링 모드 예시 (코드 스멜 분석 / SRP 분석 / 책임 분리 reasoning)&lt;/p&gt;
&lt;pre id=&quot;code_1778503558169&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 코드를 리팩토링해라.

목표:
- 책임 분리
- 유지보수성 향상
- 테스트 용이성 향상
- 타입 안정성 강화

분석 순서:
1. 현재 코드의 문제점
2. 코드 스멜 분석
3. 책임 분리 전략
4. 구조 개선 방향
5. 최종 코드

규칙:
- any 금지
- 함수 길이 최대 30줄
- early return 사용
- 중복 제거
- 계층 분리 유지

절대 하지 말 것:
- 과도한 추상화
- 동작 변경
- 불필요한 디자인 패턴 추가&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;4. 디버깅 모드 예시 (왜 그렇게 의심하는지 / 어떤 흐름으로 좁혀 가는지)&lt;/p&gt;
&lt;pre id=&quot;code_1778503732526&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 장애를 분석해라.

증상:
- WebSocket 연결이 간헐적으로 끊김
- CPU usage 급증
- Redis reconnect 반복 발생

환경:
- NestJS
- Redis Cluster
- Kubernetes

분석 순서:
1. 가능한 원인 후보
2. 우선순위 높은 원인
3. 로그 기반 추론
4. 재현 가능성
5. 병목 가능성
6. 해결 방법
7. 예방 방법

추론 과정을 단계별로 설명해라.&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;&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;&lt;b&gt;제미나이&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 잘 먹히는 것&lt;/p&gt;
&lt;pre id=&quot;code_1778503310210&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 아키텍트 모드 예시 (문서화 / 비교 설명 / 요약 / 표 정리에 강함)&lt;/p&gt;
&lt;pre id=&quot;code_1778503443948&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;실시간 채팅 시스템 설계를 도와줘.

기술 스택:
- NestJS
- Redis Pub/Sub
- PostgreSQL
- Kubernetes

다음 항목 위주로 설명:
- 메시지 흐름
- Redis 사용 이유
- WebSocket 확장 방식
- DB 저장 전략
- 서버 증설 시 변화

표와 다이어그램 느낌으로 정리해줘.
가능하면 단계별 흐름으로 설명해줘.

각 기술 선택 이유를 비교 형태로 설명해줘.&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;3. 리팩터링 모드 예시 (변경점 비교 / diff 스타일 설명 / 읽기 쉬운 요약)&lt;/p&gt;
&lt;pre id=&quot;code_1778503581172&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 디버깅 모드 예시 (체크 리스트 / 문서형 정리 / 운영 가이드 느낌)&lt;/p&gt;
&lt;pre id=&quot;code_1778503781352&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 장애 상황을 분석해줘.

증상:
- Redis reconnect 반복
- websocket disconnect 발생

확인해야 할 항목을 체크리스트 형태로 정리해줘.

가능한 원인을:
- 네트워크
- Redis
- Kubernetes
- 애플리케이션 레벨

로 분류해서 설명해줘.&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;&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;&lt;b&gt;코덱스&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 잘 먹히는 것&lt;/p&gt;
&lt;pre id=&quot;code_1778503333791&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 아키텍트 모드 예시 (구현 중심 / 코드 연결 / 실제 파일 생성 강점)&lt;/p&gt;
&lt;pre id=&quot;code_1778503513383&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;실시간 채팅 서버 아키텍처를 설계해라.

환경:
- Node.js 22
- NestJS
- Redis
- PostgreSQL

다음을 포함해라:
- 실제 디렉토리 구조
- gateway 코드 예시
- Redis adapter 예시
- Docker 구성
- Kubernetes deployment 예시
- websocket 인증 흐름
- 메시지 persistence 구조

최종 결과는 production-ready 수준이어야 한다.

생략 없는 코드 작성.&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;3. 리팩터링 모드 예시 (실제 코드 변환 / 테스트 포함 생성 / 구현 연결 강점)&lt;/p&gt;
&lt;pre id=&quot;code_1778503711510&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 코드를 production-ready 수준으로 리팩토링해라.

요구사항:
- Jest 테스트 유지
- 타입 안정성 강화
- 의존성 분리
- 성능 저하 금지

출력:
1. 리팩토링된 전체 코드
2. 테스트 코드
3. 변경 포인트
4. 성능 영향 분석

코드는 생략 없이 작성.&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;4. 디버깅 모드 예시 (실전 구현 연결 강점)&lt;/p&gt;
&lt;pre id=&quot;code_1778503806824&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;다음 문제를 해결해라.

문제:
Redis reconnect 반복으로 websocket disconnect 발생.

환경:
- NestJS
- ioredis
- Kubernetes

다음을 포함해라:
- 원인 분석
- 실제 로그 예시
- 재현 코드
- 수정 코드
- retry 전략 개선 코드
- health check 예시
- timeout 설정 예시

production-ready 수준으로 작성.&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1146</guid>
      <comments>https://2mukee.tistory.com/1146#entry1146comment</comments>
      <pubDate>Mon, 11 May 2026 21:50:09 +0900</pubDate>
    </item>
    <item>
      <title>모든 셸에서 작동하는 기본 단축키와 기능</title>
      <link>https://2mukee.tistory.com/1145</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + W&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + U&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + Y&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + K&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + A / E&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ALT + B / F&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + C / D&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령 중단 EOF(파일 끝)으로 신호 전송&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;CTRL + D&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CTRL + L&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;화면 즉시 정리 (clear)&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;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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27903&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27903&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775920512410&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;삶을 더 편하게 만드는 Shell 트릭 | GeekNews&quot; data-og-description=&quot;다양한 키보드 단축키와 명령 조합을 활용해 셸 환경에서 작업 속도와 효율을 높이는 방법 정리CTRL + W, U, K, Y 등 기본 단축키로 줄 편집, CTRL + A/E, ALT + B/F로 커서 이동, reset으로 터미널 복구 가능&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27903&quot; data-og-url=&quot;https://news.hada.io/topic?id=27903&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FyRD4/dJMb8954LwW/K130feUAFeA435707zCETK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/d4WjLV/dJMb84XZS39/oIUP9HLrcT0dTenOL0PH9K/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27903&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27903&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FyRD4/dJMb8954LwW/K130feUAFeA435707zCETK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/d4WjLV/dJMb84XZS39/oIUP9HLrcT0dTenOL0PH9K/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;삶을 더 편하게 만드는 Shell 트릭 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;다양한 키보드 단축키와 명령 조합을 활용해 셸 환경에서 작업 속도와 효율을 높이는 방법 정리CTRL + W, U, K, Y 등 기본 단축키로 줄 편집, CTRL + A/E, ALT + B/F로 커서 이동, reset으로 터미널 복구 가능&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Computer Science/Linux</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1145</guid>
      <comments>https://2mukee.tistory.com/1145#entry1145comment</comments>
      <pubDate>Sun, 12 Apr 2026 00:17:14 +0900</pubDate>
    </item>
    <item>
      <title>.claude/ 폴더 구조 분석</title>
      <link>https://2mukee.tistory.com/1144</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;.claude/&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;프로젝트 루트의 폴더는 팀 단위 설정을 포함하여 Git에 커밋됨&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/)의 폴더는 개인 설정과 세션 기록을 저장하며, 자동 메모리 및 개인 명령을 포함&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;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;CLAUDE.md - 클로드의 지침서&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code 세션 시작 시 가장 먼저 읽는 파일로, 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;프로젝트 루트의 CLAUDE.md는 팀 공통 규칙&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;~/.claude/CLAUDE.md는 전역 개인 규칙&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하위 폴더의 CLAUDE.md는 폴더별 규칙 담당&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.md 파일을 병합하여 적용&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;200줄 이하 유지가 권장되며, 과도한 길이는 클로드의 준수율을 저하시킴&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;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;CLAUDE.local.md - 개인별 오버라이드&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;프로젝트 루트에 CLAUDE.local.md를 생성하면 클로드가 이를 함께 읽음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.gitignore에 자동 포함되어 저장소에 커밋되지 않음&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;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;rules/ - 모듈형 규칙 관리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CLAUDE.md가 커질 경우 .claude/rules/ 폴더로 분리해 관리&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;gt; code-style.md, testing.md 등으로 관리&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;yaml 프런트매터의 paths 필드를 사용하면 특정 경로에만 적용되는 규칙 지정 가능&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;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;&lt;b&gt;commands/ - 사용자 정의 슬래시 명령&lt;/b&gt;&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;gt; !git diff main ... HEAD&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;$ARGUMENTS 변수를 사용해 명령 실행 시 인자 전달 가능&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;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;skills/ - 자동 실행 워크 플로우&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;/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;각 스킬은 하위 폴더의 SKILL.md 파일로 정의되며, yaml 프런트매터로 트리거 조건과 허용 도구 지정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; security-review.md 스킬은 보안 관련 대화 시 자동 실행&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;스킬 폴더에는 DETAILED_GUIDE.md 등 보조 문서나 템플릿 파일 포함 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인 스킬은 ~/.claude/skills에 저장하여 전역적으로 사용 가능&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;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;agents/ - 전문 서브 에이전트&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.claude/agents/ 폴더에는 특정 역할을 수행하는 서브 에이전트 (persona) 정의&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;tools 필드로 접근 가능한 도구를 제한해 보안 및 역할 분리 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;model 필드로 작업에 맞는 클로드 모델 선택 가능&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;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;&lt;b&gt;settings.json - 권한 및 프로젝트 설정&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.claude/settings.json는 클로드의 명령 실행 권한과 파일 접근 범위를 정의&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;$schema 필드는 VSCode 등에서 자동 완성과 유효성 검사 지원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;allow 목록은 자동 승인 명령&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;deny 목록은 완전 차단 명령 지정&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;개인별 권한 변경은 .claude/settings.local.json에 저장되며, git에 포함되지 않음&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;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/ - 전역 설정 및 메모리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;~/.claude/CLAUDE.md는 모든 프로젝트에 공통 적용되는 개인 지침&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/projects/는 프로젝트 별 세션 기록과 자동 메모리 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; 클로드가 학습한 명령, 패턴, 구조적 통찰을 유지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; /memory 명령으로 조회 및 수정 가능&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/commands/&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;~/.claude/skills/&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;~/.claude/agents/&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;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;&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;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27941&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27941&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775919676628&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;.claude/ 폴더 구조 분석 | GeekNews&quot; data-og-description=&quot;.claude/ 폴더는 Claude Code의 핵심 제어 디렉터리로, 프로젝트별 규칙&amp;middot;명령&amp;middot;권한&amp;middot;메모리 상태를 관리함CLAUDE.md는 Claude의 행동 원칙과 프로젝트 규칙을 정의하는 중심 파일로, 여러 계층의 설정을 &quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27941&quot; data-og-url=&quot;https://news.hada.io/topic?id=27941&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/GlybH/dJMb8PGxhbS/Sv0xS7ovgNz8Oc4QbMTW10/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bizaCf/dJMb8VNwywl/2pyfImljQkzUNNp4her0u0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27941&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27941&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/GlybH/dJMb8PGxhbS/Sv0xS7ovgNz8Oc4QbMTW10/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bizaCf/dJMb8VNwywl/2pyfImljQkzUNNp4her0u0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;.claude/ 폴더 구조 분석 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;.claude/ 폴더는 Claude Code의 핵심 제어 디렉터리로, 프로젝트별 규칙&amp;middot;명령&amp;middot;권한&amp;middot;메모리 상태를 관리함CLAUDE.md는 Claude의 행동 원칙과 프로젝트 규칙을 정의하는 중심 파일로, 여러 계층의 설정을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1144</guid>
      <comments>https://2mukee.tistory.com/1144#entry1144comment</comments>
      <pubDate>Sun, 12 Apr 2026 00:13:54 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code로 생산성을 높이는 방법</title>
      <link>https://2mukee.tistory.com/1143</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Skill을 활용하여 PR 생성 전 과정 자동화&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 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;&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;로컬 프리뷰를 위해 작업 중인 내용을 벗어나 dev 서버를 종료하고 새 브랜치에서 재시작 하는 과정을&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SWC로 전환하여 서버 재시작을 1초 미만으로 단축&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;3. 에이전트 자체 UI 검증&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는 모든 UI 변경을 직접 로컬 프리뷰로 확인하여 개발자가 모든 기능의 병목이 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클로드 코드 프리뷰 기능을 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 프리뷰를 설정하고 세션 데이터를 유지하면서 UI가 실제로 어떻게 보이는지 직접 확인 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워크 플로에 통합하여 에이전트가 UI를 직접 검증해야만 &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;&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;stash&amp;nbsp;&amp;rarr;&amp;nbsp;checkout&amp;nbsp;&amp;rarr;&amp;nbsp;rebuild&amp;nbsp;&amp;rarr;&amp;nbsp;test&amp;nbsp;&amp;rarr;&amp;nbsp;switch&amp;nbsp;back&amp;nbsp;&amp;rarr;&amp;nbsp;pop&amp;nbsp;stash,&amp;nbsp;또는&amp;nbsp;수동&amp;nbsp;worktree&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;루프:&amp;nbsp;제약&amp;nbsp;이론의&amp;nbsp;적용&lt;/b&gt; &lt;br /&gt;각 단계가 서로 다른 종류의 마찰을 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;- /git-pr&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 변경을 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;- SWC&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;/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;/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;제거할&amp;nbsp;때마다&amp;nbsp;다음&amp;nbsp;병목이&amp;nbsp;즉시&amp;nbsp;드러나는,&amp;nbsp;제약&amp;nbsp;이론(Theory&amp;nbsp;of&amp;nbsp;Constraints)&amp;nbsp;의&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;- 작업의 본질이 변화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;코드를 쓰는 도구를 사용하는 것&quot;이 아니라,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작업 시작 &amp;rarr; 에이전트 코드 작성 &amp;rarr; 프리뷰 확인 &amp;rarr; diff 읽기 &amp;rarr; 피드백 또는 머지 &amp;rarr; 다음 작업의 타이트한 피드백 루프 &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;빠르면&amp;nbsp;주의력이&amp;nbsp;빠져나갈&amp;nbsp;틈이&amp;nbsp;없고,&amp;nbsp;속도&amp;nbsp;향상&amp;nbsp;자체가&amp;nbsp;게임이&amp;nbsp;됨 &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종적으로&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 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;&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;&lt;b&gt;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27817&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27817&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775919036875&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Claude Code로 생산성을 높이는 방법 | GeekNews&quot; data-og-description=&quot;AI 에이전트의 단순 반복 작업 자동화, 빌드 대기 시간 제거, 병렬 워크트리 시스템 구축 등 개발 인프라 개선을 통해 커밋 수가 급격히 증가한 6주간의 경험 정리/git-pr 스킬로 PR 생성 과정을 자&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27817&quot; data-og-url=&quot;https://news.hada.io/topic?id=27817&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FNJ4I/dJMb9iaSihE/BldiDJK81714UZrUsPtRYk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/c1dCHQ/dJMb9kT37WO/EziKB1UzIgbMBpCbxoqVKK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27817&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27817&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FNJ4I/dJMb9iaSihE/BldiDJK81714UZrUsPtRYk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/c1dCHQ/dJMb9kT37WO/EziKB1UzIgbMBpCbxoqVKK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;Claude Code로 생산성을 높이는 방법 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AI 에이전트의 단순 반복 작업 자동화, 빌드 대기 시간 제거, 병렬 워크트리 시스템 구축 등 개발 인프라 개선을 통해 커밋 수가 급격히 증가한 6주간의 경험 정리/git-pr 스킬로 PR 생성 과정을 자&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1143</guid>
      <comments>https://2mukee.tistory.com/1143#entry1143comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:58:10 +0900</pubDate>
    </item>
    <item>
      <title>멀티 AI 터미널 도구 3대장 비교 (클로드 코드, 제미나이 CLI, 코덱스 CLI)</title>
      <link>https://2mukee.tistory.com/1142</link>
      <description>&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;p data-ke-size=&quot;size16&quot;&gt;리팩터링 계획 수립 및 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;README, API 문서, 가이드 작성&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;/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;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;Codex - 정확한 구현, 스펙 준수, 테스트 생성&lt;/b&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;알고리즘 구현&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;/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;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;&lt;b&gt;Gemini CLI - 대규모 파일 스캔, 데이터 분석, 문서 비교&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 기반 UI 분석&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;/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;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;1. 초기 탐색, 대규모 분석, 문서 비교 &amp;gt; Gemini CLI&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 정확한 기능 구현, 버그 수정 및 테스트 생성 &amp;gt; Codex&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 리팩터링, 문서화, 구조 안정화 &amp;gt; 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;- 아이디어 정리 PRD 작성&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;- 초기 프로젝트 구조 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code 또는 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;- 핵심 기능 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;- 테스트 자동 생성, 버그 수정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;- 대규모 분석, 문서 비교, 리스크 탐색&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini CLI&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;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;&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;&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;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://yozm.wishket.com/magazine/detail/3669/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://yozm.wishket.com/magazine/detail/3669/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775918385961&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;멀티 AI 터미널 도구 3대장, 뭐가 다를까? 클로드코드 vs 코덱스CLI vs 제미나이CLI | 요즘IT&quot; data-og-description=&quot;단순 답변을 넘어 스스로 계획하고 실행하는 에이전틱 AI의 시대가 도래함에 따라, 터미널 기반 도구인 Claude Code, Codex CLI, Gemini CLI의 특성과 실무 활용법을 상세히 비교합니다. 사용자가 직접 운&quot; data-og-host=&quot;yozm.wishket.com&quot; data-og-source-url=&quot;https://yozm.wishket.com/magazine/detail/3669/&quot; data-og-url=&quot;https://yozm.wishket.com/magazine/detail/3669/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cqqm6m/dJMb9efe7no/TtGgCOrPiZO8CLKOd9BjsK/img.png?width=1024&amp;amp;height=460&amp;amp;face=0_0_1024_460,https://scrap.kakaocdn.net/dn/g7oQu/dJMb9bv3rDh/awsN8MkSwsWbKKbd4iMoSK/img.png?width=1024&amp;amp;height=460&amp;amp;face=0_0_1024_460,https://scrap.kakaocdn.net/dn/b6RO5E/dJMb9gxmzHe/gIvjcxQH333swTrkQJiK80/img.png?width=2636&amp;amp;height=920&amp;amp;face=0_0_2636_920&quot;&gt;&lt;a href=&quot;https://yozm.wishket.com/magazine/detail/3669/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://yozm.wishket.com/magazine/detail/3669/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cqqm6m/dJMb9efe7no/TtGgCOrPiZO8CLKOd9BjsK/img.png?width=1024&amp;amp;height=460&amp;amp;face=0_0_1024_460,https://scrap.kakaocdn.net/dn/g7oQu/dJMb9bv3rDh/awsN8MkSwsWbKKbd4iMoSK/img.png?width=1024&amp;amp;height=460&amp;amp;face=0_0_1024_460,https://scrap.kakaocdn.net/dn/b6RO5E/dJMb9gxmzHe/gIvjcxQH333swTrkQJiK80/img.png?width=2636&amp;amp;height=920&amp;amp;face=0_0_2636_920');&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;멀티 AI 터미널 도구 3대장, 뭐가 다를까? 클로드코드 vs 코덱스CLI vs 제미나이CLI | 요즘IT&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;단순 답변을 넘어 스스로 계획하고 실행하는 에이전틱 AI의 시대가 도래함에 따라, 터미널 기반 도구인 Claude Code, Codex CLI, Gemini CLI의 특성과 실무 활용법을 상세히 비교합니다. 사용자가 직접 운&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;yozm.wishket.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1142</guid>
      <comments>https://2mukee.tistory.com/1142#entry1142comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:49:58 +0900</pubDate>
    </item>
    <item>
      <title>랭체인과 랭그래프에 대한 이해</title>
      <link>https://2mukee.tistory.com/1141</link>
      <description>&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;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;이러한 구조는 복잡한 데이터 처리와 의사 결정을 요구하는 현대 애플리케이션에 적합&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;예를들어 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;이 글에서는 에이전트 기반 시스템의 개념과 이를 지원하는 주요 프레임워크인 랭체인과 랭그래프에 대해 알려줌&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;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;랭체인 - LLM 기반 애플리케이션 개발의 핵심&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;랭체인은 LLM 기반 애플리케이션 개발을 위한 오픈소스 프레임워크로,&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;예를들어, 벡터 데이터베이스에 데이터를 저장하거나 LLM 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;랭체인은 벡터 데이터베이스와 LLM API와 같은 다양한 도구와의 통합을 지원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뿐만 아니라 PDF 리딩, 데이터 추출, API 호출 등 다양한 기능을 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 개발자들은 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;랭체인은 다양한 언어와 플랫폼을 지원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬, Nodejs를 공식적으로 지원하며 Java 진영에서도 사용할 수 있는 포팅 버전이 존재&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;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;랭그래프 - 에이전트 간의 상호작용 관리&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;/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;여러 에이전트가 협력하여 작업을 수행해야하는 경우 랭그래프를 활용하면 효율적으로 관리 할 수 있음&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;이외에도 다양한 확장 기능을 제공&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;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;LLM 기반 에이전트 설계의 주요 고려사항&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM의 환각 현상을 줄이기 위해 레그 시스템을 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레그 시스템은 벡터 데이터베이스를 활용하여 관련 데이터를 검색하고, 이를 기반으로 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;에이전트 설계 시에는 데이터의 특성과 사용자의 요구를 고려하여 적절한 데이터 처리와 검색 전략을 채택해야함&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;또한 사용자 경험을 최적화 하기위해 UI/UX 요소를 고려해야함&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;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;&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;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://f-lab.kr/insight/agent-based-systems-and-llm-20260327&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://f-lab.kr/insight/agent-based-systems-and-llm-20260327&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775916728307&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;에이전트 기반 시스템과 LLM 활용: 랭체인과 랭그래프의 이해&quot; data-og-description=&quot;에이전트 기반 시스템과 LLM 활용에 대해 다루며, 랭체인과 랭그래프의 개념과 활용 사례를 소개합니다. 또한, 에이전트 설계 시 고려해야 할 요소와 기술적 접근 방식을 논의합니다.&quot; data-og-host=&quot;f-lab.kr&quot; data-og-source-url=&quot;https://f-lab.kr/insight/agent-based-systems-and-llm-20260327&quot; data-og-url=&quot;https://f-lab.kr/ai-blog/agent-based-systems-and-llm-20260327&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dRtCmu/dJMb9lMcE9c/VktOij4KJgDWUYMvH30jk0/img.jpg?width=1792&amp;amp;height=1024&amp;amp;face=0_0_1792_1024,https://scrap.kakaocdn.net/dn/cuOvR4/dJMb8PGxg4W/G9nDZdTJYym6PN5sXBMvb0/img.jpg?width=1792&amp;amp;height=1024&amp;amp;face=0_0_1792_1024&quot;&gt;&lt;a href=&quot;https://f-lab.kr/insight/agent-based-systems-and-llm-20260327&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://f-lab.kr/insight/agent-based-systems-and-llm-20260327&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dRtCmu/dJMb9lMcE9c/VktOij4KJgDWUYMvH30jk0/img.jpg?width=1792&amp;amp;height=1024&amp;amp;face=0_0_1792_1024,https://scrap.kakaocdn.net/dn/cuOvR4/dJMb8PGxg4W/G9nDZdTJYym6PN5sXBMvb0/img.jpg?width=1792&amp;amp;height=1024&amp;amp;face=0_0_1792_1024');&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;에이전트 기반 시스템과 LLM 활용: 랭체인과 랭그래프의 이해&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;에이전트 기반 시스템과 LLM 활용에 대해 다루며, 랭체인과 랭그래프의 개념과 활용 사례를 소개합니다. 또한, 에이전트 설계 시 고려해야 할 요소와 기술적 접근 방식을 논의합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;f-lab.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1141</guid>
      <comments>https://2mukee.tistory.com/1141#entry1141comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:20:22 +0900</pubDate>
    </item>
    <item>
      <title>TypeScript 6.0 발표</title>
      <link>https://2mukee.tistory.com/1140</link>
      <description>&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;- JavaScript 기반 현재 코드베이스의 마지막 릴리스이자, Go로 작성된 네이티브 포트인 TypeScript 7.0으로의 전환을 준비하는 브릿지 릴리스&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;- this를 사용하지 않는 함수의 컨텍스트 민감도 완화, #/로 시작하는 subpath imports 지원 등 타입 추론과 모듈 해석 개선 포함 &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;- strict 기본값 true 전환, target 기본값 es2025, types 기본값 [] 등 컴파일러 옵션 기본값의 대폭 현대화 &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;- ES5 타겟, AMD/UMD/SystemJS 모듈, --baseUrl, --moduleResolution node10 등 레거시 옵션 대거 폐기(deprecation) &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;- Temporal API, Map의 getOrInsert/getOrInsertComputed, RegExp.escape 등 최신 ECMAScript Stage 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;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27836&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27836&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775916478993&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;TypeScript 6.0 발표 | GeekNews&quot; data-og-description=&quot;JavaScript 기반 현재 코드베이스의 마지막 릴리스이자, Go로 작성된 네이티브 포트인 TypeScript 7.0으로의 전환을 준비하는 브릿지 릴리스this를 사용하지 않는 함수의 컨텍스트 민감도 완화, #/로 시&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27836&quot; data-og-url=&quot;https://news.hada.io/topic?id=27836&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/caoUxo/dJMb9frGBRv/Ti15PSOwYkW9XzxnMKiVj1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bH3epF/dJMb9cBJfYj/noaKwudzbr8EdExFqyKhy0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27836&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27836&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/caoUxo/dJMb9frGBRv/Ti15PSOwYkW9XzxnMKiVj1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bH3epF/dJMb9cBJfYj/noaKwudzbr8EdExFqyKhy0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;TypeScript 6.0 발표 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;JavaScript 기반 현재 코드베이스의 마지막 릴리스이자, Go로 작성된 네이티브 포트인 TypeScript 7.0으로의 전환을 준비하는 브릿지 릴리스this를 사용하지 않는 함수의 컨텍스트 민감도 완화, #/로 시&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/TypeScript</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1140</guid>
      <comments>https://2mukee.tistory.com/1140#entry1140comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:08:35 +0900</pubDate>
    </item>
    <item>
      <title>AI 에이전트 프로토콜 개발자 가이드</title>
      <link>https://2mukee.tistory.com/1139</link>
      <description>&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;MCP, A2A, UCP, AP2, A2UI, AG-UI 등 6가지 AI 에이전트 프로토콜을 하나의 시나리오로 묶어 각 프로토콜이 해결하는 문제를 실전 코드와 함께 설명하는 가이드 (Reference 참고)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글의 Agent Development Kit (ADK)를 활용하여 빈 LLM에서 출발,&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;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;&lt;b&gt;MCP (Model Context Protocol) - 도구, 데이터 연결&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;각 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;MCP 서버가 자신의 도구를 광고(advertise)하면 에이전트가 자동으로 디스커버리하는 구조로, 수백 개 서버에 단일 표준 연결 패턴 제공&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;MCP 서버는 해당 시스템을 만든 팀이 유지보수하므로, 에이전트 측에서 통합 코드를 작성하거나 업데이트 할 필요없이 항상 최신 도구 정의를 확보&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;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;A2A (Agent 2 Agent Protocol) - 에이전트 간 통신&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MCP가 데이터 접근을 해결한 뒤 남는 전문성(expertise) 문제를 다루는 프로토콜로,&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;각 A2A 에이전트는 `./well-known/agent-card.json`에 Agent Card를 게시해 이름, 능력, 엔드포인트를 공개하며,&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;새로운 원격 에이전트 추가 시 URL만 추가하면 되므로 수동 코드 변경이나 재배포 불필요&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;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;UCP (Universal Commerc Protocol) - 상거래 표준화&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강타입 요청 / 응답 스키마로 일관성을 유지하며, 하위 전송 계층이 REST, MCP, A2A, EP (브라우저 기반 임베디드 프로토콜) 중 어떤 것이든 동일한 패턴으로 동작&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;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;AP2 (Agent Payments Protocol) - 결제 인가, 감사 추적&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UCP가 주문 대상과 공급 업체를 처리한다면 AP2는 누가 구매를 승인했는지와 감사 추적을 담당&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UCP의 확장 (extension)으로 동작하여, 체크아웃 플로우에 암호화된 인가 증명 추가&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;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;A2UI (Agent to User Interface Protocol) - 동적 UI 구성&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;18개의 안전한 컴포넌트 프리미티브 (행, 열, 텍스트 필드 등)로 구성된 고정 카탈로그에서 선언적 JSON 형식으로 새로운 레이아웃 조합&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;UI 구조와 데이터를 분리하여, 컴포넌트 재전송 없이 데이터만 업데이트 가능&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;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;AG-UI (Agent-User Interaction Protocol) - 스트리밍 전달&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트는 기존 REST 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;AG-UI는 미들웨어로 동작하여 프레임워크 별 원시 이벤트를 표준화된 SSE 스트림으로 변환&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;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;&lt;b&gt;프로토콜 활용 팁&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;첫 날부터 6개 전부 필요하지 않으며, 대부분 MCP로 시작한 뒤 멀티 에이전트 통신, 상거래, 결제, 리치, UI, 스트리밍 등 요구사항 증가에 따라 점진적 추가&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;프로토콜로 빌드하기 전에 ADK 통합, 공식 SDK, 샘플 코드를 먼저 확인하여 직접 재구현하지 않도록 할 것&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;프로토콜들이 아직 성숙 중이지만, 잘 알려진 URL 디스커버리, 타입 지정 스키마, 표준 이벤트 스트림 등의 패턴을 일찍 채택하면 도구, 서비스, 에이전트 생태계와의 호환성 확보&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;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;&lt;b&gt;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27636&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27636&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775915495493&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AI 에이전트 프로토콜 개발자 가이드 | GeekNews&quot; data-og-description=&quot;MCP, A2A, UCP, AP2, A2UI, AG-UI 등 6가지 AI 에이전트 프로토콜을 하나의 레스토랑 공급망 에이전트 시나리오로 묶어, 각 프로토콜이 해결하는 문제를 실전 코드와 함께 단계별로 설명하는 가이드Google&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27636&quot; data-og-url=&quot;https://news.hada.io/topic?id=27636&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c9Dvdb/dJMb8SXyUUJ/9ZKi42upjHahKHczFC7NJK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/BxzNx/dJMb9b3Tc1b/KVTKfWU0ALbtKkKjLKghX1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27636&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c9Dvdb/dJMb8SXyUUJ/9ZKi42upjHahKHczFC7NJK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/BxzNx/dJMb9b3Tc1b/KVTKfWU0ALbtKkKjLKghX1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;AI 에이전트 프로토콜 개발자 가이드 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MCP, A2A, UCP, AP2, A2UI, AG-UI 등 6가지 AI 에이전트 프로토콜을 하나의 레스토랑 공급망 에이전트 시나리오로 묶어, 각 프로토콜이 해결하는 문제를 실전 코드와 함께 단계별로 설명하는 가이드Google&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1139</guid>
      <comments>https://2mukee.tistory.com/1139#entry1139comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:07:33 +0900</pubDate>
    </item>
    <item>
      <title>LLM으로 소프트웨어를 만드는 방법</title>
      <link>https://2mukee.tistory.com/1138</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하네스 도구 (Harness)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenCode / Pi&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;여러 회사의 다양한 모델 사용 가능&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;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;&lt;b&gt;복수 모델 사용의 필요성&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex 5.4는 꼼꼼하고 까다로워서 리뷰에 적합. Opus 4.6은 본인이 내렸을 결정과 잘 일치, Gemini 3 Falsh도 다른 모델이 놓친 해법을 제시하는 경우 있음&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;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;&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;아키텍트 &amp;gt; 개발자 &amp;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~3명의 리뷰어로 구성, 이들은 OpenCode 에이전트 (스킬 파일)로 설정됨&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;비싼 모델 (Opus)는 계획 수립에, 저렴한 모델 (Sonnet)은 코드 작성에 사용하여 토큰 절약&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;/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;스킬 파일은 직접 수작업으로 작성 (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;&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;&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;아키텍트 (Opus 4.6)은 유일하게 직접 대화하는 에이전트이며 가장 강력한 모델이어야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매우 구체적인 기능이나 버그 수정 목표를 제시하고, 목표, 제약, 트레이드 오프를 확정할 때까지 최대 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;결과물은 개별 파일과 함수 수준의 상당히 저수준의 계획&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;단순 프롬프팅이 아니라 LLM의 도움으로 계획을 형성하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM이 틀리거나 본인 방식과 다를 때 많이 교정하며, 이 것이 프로젝트를 &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;&quot;apporved&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;승인 후 아키텍트가 작업을 태스크로 분할하여 계획 파일에 상세히 기록하고 개발자를 호출&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;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;개발자 역할&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자는 더 약하고 토큰 효율적인 모델 (Sonnet 4.6) 사용 가능&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;/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;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;&lt;b&gt;리뷰어 역할&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 리뷰어가 독립적으로 계획과 diff를 검토하고 비평&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소 Codex를 항상 사용하고, 때로 Gemini 추가, 중요 프로젝트에는 Opus도 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피드백은 개발자에게 돌아가며, 리뷰어 간 불일치 시 아키텍트에게 에스컬레이션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Opus는 올바른 피드백을 선택하는데 뛰어나며, 너무 까다로운 (구현 대비 실질적 문제 가능성이 낮은) 피드백은 무시하기도 함&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;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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Reference&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27576&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://news.hada.io/topic?id=27576&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775914881425&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;내가 LLM으로 소프트웨어를 만드는 방법 | GeekNews&quot; data-og-description=&quot;LLM을 활용한 소프트웨어 개발에서 아키텍트-개발자-리뷰어 다중 에이전트 워크플로우를 통해 수만 줄 규모의 프로젝트를 낮은 결함률로 유지하는 구체적인 방법론 공유프로그래밍 자체보다 무&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=27576&quot; data-og-url=&quot;https://news.hada.io/topic?id=27576&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/crUXCf/dJMb9iIIdNL/5uxnFVlTDGQMt2FBzdr7C0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/btzBu1/dJMb84XZSNH/A98yznLOoKKsnF6VkNL0sk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=27576&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=27576&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/crUXCf/dJMb9iIIdNL/5uxnFVlTDGQMt2FBzdr7C0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/btzBu1/dJMb84XZSNH/A98yznLOoKKsnF6VkNL0sk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;내가 LLM으로 소프트웨어를 만드는 방법 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;LLM을 활용한 소프트웨어 개발에서 아키텍트-개발자-리뷰어 다중 에이전트 워크플로우를 통해 수만 줄 규모의 프로젝트를 낮은 결함률로 유지하는 구체적인 방법론 공유프로그래밍 자체보다 무&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/Development</category>
      <author>2mukee</author>
      <guid isPermaLink="true">https://2mukee.tistory.com/1138</guid>
      <comments>https://2mukee.tistory.com/1138#entry1138comment</comments>
      <pubDate>Sat, 11 Apr 2026 22:50:26 +0900</pubDate>
    </item>
  </channel>
</rss>