15P by GN⁺ 5시간전 | ★ favorite | 댓글 1개
  • 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.mdTODOS.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통합 정리

결론

  • 구체적인 설정은 모델이 발전하면서 바뀔 수 있지만, 좋은 컨텍스트 제공, 취향 인코딩, 저비용 검증, 더 많은 위임, 피드백 루프 닫기라는 원칙은 유효
  • 이 과정은 결국 협업자를 피드백 한 번에 하나씩 훈련시키는 것이며, 인간 팀과의 협업에도 동일하게 적용 가능
  • 개인 도구에 국한되지 않고, 에이전트 하네스 설계, 팀 규범 설정, 조직 인프라 구축에도 같은 원칙 적용 가능

댓글과 토론

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