한방에 빌드를 만들어낼 수 있습니까? 3. 일일 빌드를 하고 있습니까? 4. 버그 추적시스템을 운영하고 있습니까? 5. 코드를 새로 작성하기 전에 버그를 수정합니까? 6. 일정을 업데이트하고 있습니까? 7. 명세서를 작성하고 있습니까? 8. 조용한 작업 환경에서 일하고 있습니까? 9. 경제적인 범위 내에서 최고 성능의 도구를 사용하고 있습니까? 10. 테스터를 별도로 두고 있습니까? 11. 프로그래머 채용 인터뷰 때 코딩 테스트를 합니까? 12. 무작위 사용편의성 테스트를 수행하고 있습니까? @nacyotkim 19
프로젝트 기여를 위한 룰을 가지고 있나요? 4. 잘 갖춰진 커맨드라인 환경을 제공하나요? 5. 테스트를 하고 있나요? 6. 브라우저 테스트를 하고 있나요? Y. Ultrathink하고 있나요? c. Hook을 활용하고 있나요? 9. 커스텀 커맨드를 사용하고 있나요? jk. CI를 사용하고 있나요? 11. 이슈 관리와 PR을 통해 협업하고 있나요? jx. git worktree를 사용하고 있나요? @nacyotkim 21
아니라, 일을 직접 하는 에이전트. • 신뢰관계를 구축하는 시간이 필요함 • 아주 쉽고 짧은 작업부터 • README 수정, 오타 고치기, 프로젝트 분석 • 어렵고 긴 작업까지 확장해나가기 • 대규모 리팩토링, 기능 해결, 어려운 이슈 디버깅. • 이제 사람의 역할은? 계획, 코드 리뷰, QA, 환경 관리, 책임 등 @nacyotkim 23
핵심은 테스트 • 문제를 해결했는지, 실패했는지 명확한 피드백을 전달 • 테스트도 에이전트가 짜고, 스스로 루프에 갇힘(!) • 가끔 풀다가 포기함 • "못 풀었다" 보고, 주석 처리, 테스트 삭제, 조작(!) • 기능 테스트 필수 / 회귀 테스트 권장 @nacyotkim 33
피드백 루프에 집어넣기 • Claude Code는 이미지 파일을 실행중에 읽어올 수 있음 • Playwright 사용한 스크린샷 • 네트워크 호출 내역, JavaScript 디버깅 정보 등을 STDOUT으로 제공 • 어떻게 문제를 텍스트와 이미지로 전달할 것인가? @nacyotkim 35
metathink: 3//// • ultrathink: 73888 • 최대 토큰 수(20만)에서 추론 토큰 수를 미리 점유하는 방식 • 환경변수로도 설정 가능 • MAX_THINKING_TOKENS=15000 • 10000 ~ 20000정도를 추천 @nacyotkim 38
알고리즘 주입 • PreToolUse: 툴을 사용하기 전 • PostToolUse: 툴을 사용한 다음(LLM에 전송 전) • Notification: 알림 발생 시점 • Stop: 작업 종료시 • 예: 작업 종료 후 회귀 테스트 실행 •회귀 테스트 실패하면 디버깅 메시지 전달 • SubagentStop: 서브 에이전트 작업 종료시 @nacyotkim 40
잘 따르지 않음 • 프롬프트들 중에서, 사용자 프롬프트가 가장 영향력이 강함 • 예) 룰에 있지만, 한번 더 강조: "개발 가이드라인에 계획을 세워주세요" • 예) 역시 룰에 있지만, "실패하는 테스트는 한 번에 하나씩만 문제를 해결해야합니다." • $ARGUMENTS로 인자를 받아서 처리 가능 @nacyotkim 44
이런 명령어가? • 하나의 저장소를 브랜치 별로 나눠서 사용 • 병렬로 사용하려면 브랜치 별로 작업 환경을 구축이 필요 • 저장소 단위로 한방 셋업을 할 수 있으면 매우 편리함 • 반드시 병렬 작업을 위한 것만은 아님(다중 컨텍스트 유지) • stash나 임시 커밋보다 온전히 컨텍스트 보존 가능 @nacyotkim 52
프로젝트 기여를 위한 룰을 가지고 있나요? 4. 잘 갖춰진 커맨드라인 환경을 제공하나요? 5. 테스트를 하고 있나요? 6. 브라우저 테스트를 하고 있나요? Y. Ultrathink하고 있나요? c. Hook을 활용하고 있나요? 9. 커스텀 커맨드를 사용하고 있나요? jk. CI를 사용하고 있나요? 11. 이슈 관리와 PR을 통해 협업하고 있나요? jx. git worktree를 사용하고 있나요? @nacyotkim 55
있나요? ;. ✅ 프로젝트 기여를 위한 룰을 가지고 있나요? D. ✅ 잘 갖춰진 커맨드라인 환경을 제공하나요? R. ✅ 테스트를 하고 있나요? U. ✅ 브라우저 테스트를 하고 있나요? Y. ✅ Ultrathink하고 있나요? c. ✅ Hook을 활용하고 있나요? h. " 커스텀 커맨드를 사용하고 있나요? !j. ✅ CI를 사용하고 있나요? !!. " 이슈 관리와 PR을 통해 협업하고 있나요? !3. " git worktree를 사용하고 있나요? @nacyotkim 57
되어 있는 일을 하는 걸 말합니다. 자동차 공장이면 자동차를 만드는 것이 A 작업이 되겠죠. B 작업은 A 작업을 개선하는 걸 말합니다. 제품을 만드는 싸이클에서 시간과 품질을 개선하는 것이죠. 제품 을 만드는 시스템을 잘 설계하는 것도 포함되겠죠. C 작업은 B 작업을 개선하는 것입니다. 개선 싸이클의 시간과 품질을 개선하는 것입니다. 개선하는 인프라 스트럭춰를 설계하는 것이 포함될 것입니다. 한마디로 개선하는 능력을 개선하는 걸 말합니다. @nacyotkim 64
문제를 풀었을까? • 이 테스트가 있었다면 의도대로 풀었을까? • 이 파일을 읽었다면 잘 했을까? • 이 명령어를 활용했다면, 한 방에 됐을 텐데? • 문제를 어떻게 나눠야 더 문제를 잘 풀까? • 작업 교훈을 정리하고, 잘 통하는 방법을 다시 프로젝트에 내제화 @nacyotkim 65