# AI와 함께 일하며 복리처럼 쌓아 성장하는 법

> Clean Markdown view of GeekNews topic #29606. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=29606](https://news.hada.io/topic?id=29606)
- GeekNews Markdown: [https://news.hada.io/topic/29606.md](https://news.hada.io/topic/29606.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-05-18T09:45:02+09:00
- Updated: 2026-05-18T09:45:02+09:00
- Original source: [eugeneyan.com](https://eugeneyan.com/writing/working-with-ai/)
- Points: 20
- Comments: 1

## Topic Body

- AI와의 협업에서 **컨텍스트 제공, 취향 설정, 검증 자동화, 위임 확대, 피드백 루프**라는 다섯 가지 원칙을 체계적으로 정리한 실무 가이드  
- 모든 작업 산출물(코드, 문서, 분석, 결정)이 다음 세션의 **컨텍스트로 누적**되고, 교정 사항이 설정에 반영되어 미래 오류를 줄이는 복리 구조  
- `CLAUDE.md`, 스킬 파일, 가이드 등을 활용해 **모델의 행동과 워크플로를 코드처럼 관리**하는 구체적 방법 제시  
- 병렬 세션 운영, 모델 간 상호 검증, **원격 제어** 등으로 작업 처리량을 확장하는 위임 전략 포함  
- 이 원칙들은 AI뿐 아니라 **인간 팀 협업에도 동일하게 적용** 가능한 범용적 프레임워크  
  
---  
  
### 컨텍스트를 인프라로 구축  
  
- 모든 코드를 `~/src`에, 지식 작업을 `~/vault`(`projects/`, `notes/`, `kb/` 등)에 정리하면, 모델이 **`grep`이나 `glob`으로 컨텍스트를 검색**하기 쉬워짐  
- 조직의 컨텍스트(Slack, Drive, Mail 등)를 **MCP(Model Context Protocol)** 로 모델에 연결 가능  
  - 프로젝트별 `INDEX.md`를 유지하며, 각 항목에 URL, 담당자, 내용 설명을 **주석으로 기록**  
  - 단순 URL 목록은 모델이 모든 링크를 열어봐야 하므로, 주석을 달아두면 **컨텍스트 낭비를 방지**  
- 새 세션마다 모델은 백지 상태에서 시작하므로, 프로젝트별 `CLAUDE.md`를 **신입 온보딩 문서처럼** 작성해야 함  
  - 약어 용어집, 프로젝트 코드네임, 동명이인 구분 등을 포함  
  - `INDEX.md` → `TODOS.md` → 특정 주제 노트 순으로 **읽기 순서를 지정**  
- 메모리 레이어를 두 가지로 분리 운영  
  - `~/vault`: 프로젝트 상태, 산출물, 도메인 지식 등 **사실 정보(facts)** 저장  
  - `~/.claude`(`CLAUDE.md`, `skills/`, `guides/`): 선호도, 워크플로, 개인 취향 등 **설정(configuration)** 저장  
  
### 취향을 설정으로 인코딩  
  
- ## `~/.claude/CLAUDE.md` 활용  
  - 모든 세션 시작 시 Claude가 읽는 **행동 계약서** 역할  
  - 직접적으로 말하기, 동의하지 않을 때 반박하기, 불확실할 때 솔직히 말하기, 실패 시 근본 원인 조사 후 재시도, 작업 범위 밖 리포맷 금지 등 **행동 규칙** 포함  
  - 새로운 시스템이나 도메인의 핵심 용어가 나오면 1~2문장으로 설명하는 **teaching 섹션**도 설정 가능  
- ## 디렉터리별 스코프 구분  
  - **글로벌**(`~/.claude/CLAUDE.md`): 행동, 장기 목표, 학습 선호 등 모든 곳에 적용되는 설정  
  - **레포 루트**: 린팅, 네이밍, PR 컨벤션 등 레포별 규칙  
  - **프로젝트 디렉터리**: 디렉터리 구조, 도메인 지식 등 프로젝트 특화 컨텍스트  
  - Claude Code는 하위 디렉터리에서 시작하면 **트리를 올라가며 각 `CLAUDE.md`를 로딩**  
- ## CLAUDE.md가 길어질 때의 분리 전략  
  - 긴 `CLAUDE.md`는 매 세션마다 전체를 로딩하는 **컨텍스트 세금**이 됨  
  - `@import` 대신, `CLAUDE.md`에 "관련 시 읽기" 형태로 **가이드 파일 경로만 명시**하여 지연 로딩(lazy loading) 구현  
  - 예: 문서 작성 시 `~/.claude/guides/writing.md`, 평가 작업 시 `~/.claude/guides/evals.md` 등  
- ## 주 1회 이상 반복 작업은 스킬로 전환  
  - 스킬은 이름, 트리거, 절차를 담은 **마크다운 워크플로 파일**  
  - `/polish`: 아티팩트 diff를 보고, 메트릭이 있으면 eval 실행, 브라우저 렌더링이면 Chrome으로 확인, 아니면 코드 실행 후 출력/에러 확인 → 반복 후 **PR 초안 작성**  
  - `/write`: 아웃라인 인터뷰 → 리서치 서브에이전트 생성 → 초안 작성 → **적대적 비평가로 피드백** → 반복  
  - `/daily`: 캘린더, Slack, PR, 전일 로그를 읽고 **오늘의 우선순위 작성**  
  - `SKILL.md`는 워크플로와 라우팅에 집중하고, 템플릿·스크립트 등 지식은 별도 파일로 분리하여 **필요 시에만 로딩**  
- ## 스킬 부트스트래핑 방법  
  - 작업을 한 번 대화형으로 수행한 뒤, 모델에게 **스킬로 만들어 달라고 요청**  
  - 동일하거나 유사한 작업에 스킬을 실행하고, 출력 교정은 **같은 세션 내에서** 수행  
  - 모델에게 교정과 피드백을 바탕으로 스킬을 업데이트하도록 요청  
  - 원하는 출력의 **예시를 제공**하여 패턴(코드 구조, 문서 구조와 톤)을 추출하도록 할 수도 있음  
- ## 트랜스크립트를 통한 스킬 개선  
  - 첫 버전은 원본 세션에 **과적합(overfit)** 되는 것이 정상  
  - `SKILL.md`를 직접 편집하지 말고, 세션 내에서 교정하여 **before-and-after 쌍이 트랜스크립트에 축적**되도록 함  
  - 출력이 만족스러우면 모델에게 피드백을 스킬에 병합하도록 요청 → 수 라운드 후 스킬이 **수렴**  
- ## 모든 작업에 이 컨텍스트가 필요한 것은 아님  
  - 브레인스토밍, 탐색, 초안 작업에는 **심플 모드**(`CLAUDE_CODE_SIMPLE=1 claude`) 사용  
  - `CLAUDE.md`는 로딩되지만 에이전트 하네스(훅, 스킬, 도구 루프)는 비활성화 → 모델과 더 가깝게 사고 가능  
  
### 자율성을 위한 검증  
  
- ## 검증을 왼쪽으로 이동(shift left)  
  - 검증을 **사다리 구조**로 구성: 아래쪽은 저렴하고 결정적, 위쪽은 비용이 높고 판단이 필요  
  - 가장 아래 단계: 모델이 수정한 파일에 `ruff format`, `ruff check --fix`를 실행하는 **post-edit 훅** → 결정적이며 토큰 비용 없음  
  - 상위 단계: 테스트, eval, **LLM 리뷰** 등  
- ## 모델이 스스로 작업을 검증할 수 있도록 구성  
  - 시스템이 메트릭을 생산하면 모델이 **eval을 직접 실행**하여 최적화  
  - 브라우저 렌더링 출력이면 **Claude in Chrome**으로 검사  
  - Docker 이미지 빌드 시 에러를 읽고 Dockerfile을 수정 후 재빌드  
  - 대시보드 구축 시 툴팁 렌더링, 라벨 겹침, 수치와 내러티브 일치 여부를 **Chrome에서 확인**  
- ## 장시간 작업에는 모델이 모델을 감시  
  - 긴 세션은 오류가 누적되며 **드리프트** 발생 가능  
  - 해결책: 두 번째 세션을 프레시 컨텍스트로 실행하여 원본 스펙과 1차 세션의 최근 턴을 비교  
  - **tmux 두 패널** 구성: 하나는 1차 개발, 하나는 페어 프로그래머  
  - 공유 파일에 초기 지시와 후속 프롬프트를 추가하며, 페어 프로그래머가 주기적으로 확인  
  - **실행 드리프트(execution drift)**: 모델이 작업을 올바르게 수행하는지 — 에러 무시, 잘못된 메트릭 보고, 스펙 이탈 등 **전술적 점검** → 자주 확인  
  - **방향 드리프트(direction drift)**: 모델이 올바른 작업을 하고 있는지 — 원래 의도를 오해하고 잘못된 것을 만드는 **전략적 문제** → 가끔 확인  
  
### 위임을 통한 확장  
  
- ## 점점 더 큰 작업 단위를 위임  
  - 짧은 작업과 빠른 피드백의 **페어 프로그래밍** 방식은 빠른 반복, 탐색적 분석, 프로토타이핑에 적합  
  - 더 강력한 모델에게는 의도, 제약 조건, **성공 기준**을 사전에 설명하고 모델이 end-to-end로 실행하도록 위임해야 함  
  - 검증할 수 없는 것은 위임할 수 없으므로, **성공 기준과 메트릭 정의가 선행** 필요  
  - 예시: "eval 스위트별 격리 컨테이너를 빌드하고 스모크 테스트 → 전체 실행 → 메트릭과 트랜스크립트 로깅 → 서브에이전트로 정확성 확인 → n회 반복으로 **신뢰 구간** 산출 → 리포트 생성 후 Slack으로 결과 전송"  
- ## 병렬 세션 운영과 병목 파악  
  - 큰 작업 위임으로 동시에 **3~6개 세션** 병렬 실행 가능  
  - 병목이 "작업 수행"에서 **"명확한 스펙 작성과 빠른 출력 리뷰"** 로 이동 — 중간 단계가 비어가는 구조  
  - 병렬 세션이 같은 레포를 공유할 경우, **git worktrees**를 사용하여 각 세션이 독립적 체크아웃 확보  
- ## 세션 관찰 용이성 확보  
  - **stop hook**: 세션 완료 시 사운드 재생 (macOS에서 `afplay`로 Glass.aiff 재생)  
  - **tmux 윈도우 타이틀**: 상태 이모지(⏳ 작업 중, 🟢 완료)와 Haiku가 생성한 짧은 레이블로 각 패널 식별  
  - **Claude Code 상태 줄**: 컨텍스트 사용량과 현재 모드 표시  
- ## AFK 중에도 체크인 가능  
  - Claude Code의 **`/remote-control`** 기능으로, 이동 중 Claude 앱의 코드 탭에서 실행 상태를 확인하고 막힌 세션에 추가 컨텍스트나 새 지시를 제공 가능  
  - 세션이 몇 시간 동안 유휴 상태로 방치되는 것을 방지하되, 긴급한 경우에만 사용  
  
### 피드백 루프 닫기  
  
- ## 공개적으로 작업하여 컨텍스트를 풍부하게 유지  
  - 공유 문서, 레포, 채널에서 작업하면 모델을 포함한 **모든 팀원이 컨텍스트를 활용** 가능  
  - 간단한 테스트: "새 팀원이 공유된 컨텍스트만으로 지난주 내 작업을 **재현할 수 있는가?**" — 그렇지 않다면 중요한 컨텍스트가 머릿속에만 있는 것  
  - `CLAUDE.md`에 실질적 작업 완료 시 워크로그 채널에 **짧은 업데이트와 아티팩트 링크를 자동 게시**하도록 지시  
- ## 트랜스크립트를 마이닝하여 설정 업데이트  
  - 과거 세션 트랜스크립트를 모델에게 읽히면 **갭을 발견** 가능  
  - 약 2,500개의 과거 사용자 턴을 스캔한 결과, 상당 비율이 _"can you also…"_, _"did you check…"_, _"still wrong"_ 등의 표현을 포함  
  - 이는 모델이 **자발적으로 했어야 할 작업**이거나, 검증 단계가 누락/오작동한 것을 시사  
  - 교정은 세션 내에서 수행하여 트랜스크립트를 다음 `CLAUDE.md`나 스킬 업데이트의 **입력 데이터로 활용**  
- ## 주기적으로 리팩터링과 정리  
  - 설정이 늘어나면 서로 **겹치거나 충돌** 가능  
  - 모델이 규칙을 무시하면 다른 규칙과 모순 때문일 수 있으므로, 각 규칙이나 선호도는 **정확히 한 곳에만** 존재하도록 리팩터링(중요 지시는 메인 `CLAUDE.md`에 반복 가능)  
  - 흩어진 디렉터리별 `settings.json`을 `~/.claude`로 **통합 정리**  
  
### 결론  
  
- 구체적인 설정은 모델이 발전하면서 바뀔 수 있지만, **좋은 컨텍스트 제공, 취향 인코딩, 저비용 검증, 더 많은 위임, 피드백 루프 닫기**라는 원칙은 유효  
- 이 과정은 결국 **협업자를 피드백 한 번에 하나씩 훈련시키는 것**이며, 인간 팀과의 협업에도 동일하게 적용 가능  
- 개인 도구에 국한되지 않고, **에이전트 하네스 설계, 팀 규범 설정, 조직 인프라 구축**에도 같은 원칙 적용 가능

## Comments



### Comment 57685

- Author: xguru
- Created: 2026-05-18T11:50:54+09:00
- Points: 1

이 분 이력이 재미난데,   
[심리학 전공자에서 Coursera 데이터사이언스 강의로 공부](https://news.hada.io/topic?id=1626)  
동남아의 아마존이었던 Lazada 초기에 들어가서 VP 까지 승진함.  
Lazada가 알리바바에 인수됨.   
그이후 아마존으로 옮겨서 추천/LLM 수석 사이언티스트  
현재는 Anthropic 의 테크니컬 스태프
