손기연

AI 개발 하네스

AI로 일하는 순서

코드를 짜기 전에 지형을 훑고, 계획을 문서로 남기고, 구현한 뒤에는 그 코드를 쓰지 않은 컨텍스트가 리뷰합니다. 각 단계는 스킬로 고정돼 있고 단계마다 산출물이 파일로 남습니다. 사내 4개 저장소와 오픈소스 2개에서 이 방식으로 일하고 있습니다.

계획

기반

무엇을 건드릴지 정하고, 위험하면 승인을 받는다

작업

처리

고정된 결정 규칙으로 코드를 쓴다

검증

확인

코드를 쓰지 않은 컨텍스트가 리뷰한다

세 축 아래에서 실제로 도는 다섯 단계

축 스킬 8
단계하는 일남는 산출물사람 개입
탐색explore-workflow영향 범위와 기존 패턴, 최근 이력을 모아 지도로 만든다.explore-notes/자동 진행
계획plan-workflow · spec-workflow-global범위·접근·완료 기준을 정하고 위험도를 매긴다.plan-drafts/ (상세 + 공유용 요약)위험도 HIGH·CRITICAL만 사람 승인
작업coding-conventions-js · -swift테스트 여부·파일 위치·검증 명령을 같은 기준으로 판단해 구현한다코드 + 완료 보고자동 진행
검증review-mr (GitHub은 review-pr 어댑터)diff를 확신도로 걸러 초안을 만든다.glb-reviews/ · .gh-reviews/게시 전 사람 승인
반영apply-review받은 코멘트를 하나씩 판정해 맞는 것만 고친다코드 + 판정 근거자동 진행

이 순서를 그렇게 정한 이유

리뷰는 코드를 쓰지 않은 컨텍스트가 한다

코드를 작성한 컨텍스트가 그대로 리뷰하면 작성할 때의 가정이 판정에 섞여 대부분 통과시킵니다. 그래서 리뷰는 diff와 SPEC, 계획 초안만 입력으로 받는 새 에이전트가 맡습니다.

게이트는 위험한 계획에만 건다

모든 계획에 승인을 걸면 내용을 안 보고 승인하기 시작합니다. 레이어를 교차하거나 되돌리기 어려운 변경처럼 신호가 잡힌 계획만 사람에게 올리고, 나머지는 그대로 진행합니다.

확신이 낮은 지적은 올리지 않는다

발견한 것을 다 올리면 리뷰가 노이즈가 되고, 노이즈가 쌓이면 리뷰 자체를 안 읽게 됩니다. 기준 미만은 초안 단계에서 떨어뜨립니다.

산출물을 파일로 남긴다

세션이 끊기면 그때까지의 맥락이 통째로 사라집니다. 탐색 노트·계획·리뷰를 저장소 안 고정 경로에 같은 이름으로 남겨서, 다음 세션이 그 파일부터 읽고 이어갑니다.

얼마나 쓰고 있나

저장소 6곳 집계
커밋
184

2026년 4월부터 5개월째 갱신 중

계획 문서
24

착수 전 범위와 완료 기준을 남긴 건수

리뷰 회차
18

MR·PR 12건, 재리뷰 포함

스킬 수정
14

쓰다 걸린 마찰 22건 중 반영한 수

마지막 항목이 나머지 셋보다 중요하다고 봅니다. 스킬을 만든 것보다, 쓰다 걸린 마찰을 기록해 두고 스킬을 고쳐 온 기록이 남아 있다는 쪽이 확인 가능한 사실이라서 그렇습니다.

어느 스킬을 어디까지 만들었나

하네스 스킬 22종 중 축을 이루는 8
  • explore-workflow직접 제작탐색 깊이와 fan-out 판정을 담당
  • plan-workflow직접 제작위험도 분류와 조건부 승인 게이트
  • coding-conventions-js직접 제작팀 저장소의 프론트 컨벤션 스킬을 만들었다. 개인판은 vue·react 판을 프레임워크 무관으로 통합한 것
  • apply-review직접 제작받은 코멘트를 판정해 맞는 것만 반영
  • review-mr사내 원작 기반사내 동료가 만든 484줄 스킬에서 시작해 2,548줄로
  • spec-workflow-global사내 원작 기반Vue 전용이던 것을 프레임워크 무관으로 재설계
  • humanizer오픈소스 적응blader/humanizer (MIT) 한국어 적응판
  • task-observer오픈소스 적응Eoghan Henn (CC BY 4.0) 한국어 적응판

오픈소스를 옮긴 두 종은 원저작자와 라이선스를 스킬 문서에 적고, 별도 동기화 파일로 upstream 변경을 추적합니다. 사내 원작에서 출발한 두 종은 원본이 사내 저장소에 있어 링크를 걸 수 없습니다.