무인 실행은(는) 무엇을 하나요?
이것은 "계획은 이거야, 실행해"를 위한 모드입니다. 키보드 앞에 아무도 없이 처음부터 끝까지 구현하고, 사람이 돌아왔을 때 검토 가능해야 합니다. 특정 시간대에 국한되지 않습니다. 질문에 답해줄 사람이 아무도 없는 모든 시간대에 적용됩니다.
승인된 계획을 전제로 함
이 모드는 '만들기 전에 제안하기' 원칙(코딩 프로세스 참조)을 포기하지 않습니다. 이는 승인 후에 일어나는 일입니다. 승인된 계획 내에서 가역적인 구현 세부 사항은 스스로 결정하고 각 가정을 기록하십시오. 문서화된 가정은 밤새 기다리며 보낸 세션보다 낫습니다. 이것이 양보의 전부입니다.
절대 단독으로 통과하지 못할 네 가지 체크포인트
단계가 가역적이더라도 이들은 여전히 체크포인트로 남습니다. 그 어느 것도 판단의 문제가 아닙니다.
- 범위. 승인된 계획이 이미 다루지 않은 모든 것: 새로운 기능, 아무도 요청하지 않은 리팩터링, 또는 어려워서 단계를 건너뛰는 것. 누락된 테스트 하네스 설정은 범위에 포함됩니다.
- 머신을 떠나는 모든 것: 외부 메시지, 게시, 또는 타사 서비스 호출. 리포지토리 내 작업(브랜치, 커밋, 푸시, PR)은 계획 내에 있지만, 외부 세계와 대화하는 것은 그렇지 않습니다.
- 비용이 드는 모든 것: 유료 API, 프로비저닝된 인프라, 계량되는 모든 것.
- 파괴적이거나 되돌릴 수 없는 모든 것: 데이터 손실, 공유 브랜치로의 강제 푸시, 프로덕션.
작업 지속성 유지
- 먼저 격리하십시오. 하네스가 이미 제공하지 않는 한 작업 트리(worktree)를 사용하십시오. 무인 실행은 정확히 다른 사람이 메인 체크아웃을 건드릴 수 있는 상황입니다.
- 각 논리적 단위 후에 커밋하고 푸시하십시오. 마지막에만 하는 것이 아닙니다. 푸시되지 않은 작업은 세션이 갑자기 종료되면 손실됩니다. 이 모드에서는 일반적인 "커밋 전에 묻기"를 무효화합니다.
- 커밋되지 않은 작업을 남기고 절대 일시 중지하지 마십시오. 에이전트가 사용량 제한을 노출하는 경우, 제한 근처에서 일시 중지하고 초기화를 기다린 후 재개하십시오.
- 모든 편집 후가 아니라 체크포인트에서 전체 게이트를 실행하십시오. 편집 중에는 방금 변경한 내용을 잡을 수 있는 가장 좁은 범위의 검사(한 패키지의 타입 검사 또는 하나의 테스트 파일)를 실행하십시오. 작업 단위가 완료되고 검토를 위해 푸시되기 전에 빌드, 린트, 전체 테스트 스위트 및 CI 게이트를 실행하십시오. 10분 전에 통과했고 건드리지 않은 코드에 대해 스위트를 다시 실행하는 것은 컴퓨팅 자원을 낭비하여 아무것도 배우지 못합니다.
위임 (에이전트가 하위 에이전트를 생성할 수 있는 경우)
- 기계적 작업은 저렴한 모델에 위임하십시오: 기존 구조 복제, 상용구, 문서 동기화, 반복적인 편집. 기본 모델은 정확성에 중요한 로직(스키마, 보안 경계, 핵심 서비스)과 판단이 필요한 결정에 유지하십시오.
- 동시성은 약 5개로 제한하십시오. 그 이상이면 감사가 더 이상 실질적이지 않고, 병렬 에이전트가 동일한 파일에서 충돌합니다.
- 위임된 모든 것을 감사하십시오. 읽지 않은 하위 에이전트의 출력을 절대 통합하지 마십시오. 그것이 의미가 있고, 규칙을 따르며, 빌드 및 테스트가 통과하는지 확인하십시오. 잘못된 경우, 격차를 판단하십시오: 작은 것은 직접 수정하고, 큰 것은 수정 사항과 함께 다시 보내십시오.
차단 항목
- 표면화하십시오. 추측하지 마십시오. 계획 단계에 명시적인 체크포인트가 있거나 실제 차단 항목(누락된 인프라, 실패한 가정)에 부딪히면, 설계를 변경하는 해결 방법을 발명하기보다 명확하게 플래그를 지정하십시오.
- 답변에 의존하지 않는 모든 것을 먼저 수행하십시오. 그래야 사람이 질문과 완료된 작업을 함께 보고 돌아오고, 질문만 있는 것이 아닙니다.
- 지연된 PR 리뷰도 차단 항목입니다. 플래그를 지정하고, 답변에 의존하지 않는 상위 단계를 로컬에서 계속 구축하십시오.
아무도 지켜보지 않을 때 UI 검증은 선택 사항이 아닙니다
브라우저에서 UI를 구동하는 것은 아무도 지켜보지 않을 때 가장 쉽게 생략되는 단계이며, 그 부재를 리뷰어가 diff에서 볼 수 없습니다. verify-ui를 따르십시오. 환경이 진정으로 기능을 실행할 수 없는 경우(누락된 자격 증명, 소유하지 않은 인프라), PR의 테스팅 섹션에 그 사실을 명시하십시오: 무엇이 차단했고 대신 무엇을 검증했는지 이름을 지정하십시오. 침묵은 "검증됨"으로 읽힙니다.
완료 시
작업 상태를 보고하십시오: 무엇이 출시되었는지(PR 및 브랜치), 무엇이 리뷰를 기다리고 있는지, 내린 모든 가정, 그리고 플래그가 지정된 모든 차단 항목. 세션이 종료되는 경우 docs/plans/에 핸드오프를 작성하십시오.