
Forward Implementation First가 하는 일
Forward Implementation First는 코딩 에이전트가 파이프라인 장부 관리에 갇히는 것을 방지하도록 설계된 에이전트 스킬입니다. 이 스킬은 요청된 제품을 구축하고, 영향을 받은 동작을 검증하며, 해시, 영수증, 잠금, 대시보드 또는 진행 상태 표시자를 반복해서 복구하는 대신 작업을 계속 진행하는 데 집중하도록 합니다.
이 프로젝트는 주로 YAML 프런트매터가 포함된 약 150줄 분량의 Markdown 스킬로 구성됩니다. Agent Skills 규약을 따르며, 모델, 도구, 도메인에 종속되지 않습니다.
이 스킬은 오케스트레이터가 순서가 지정된 단계의 메타데이터를 기록하는 장기 실행 워크플로에서 특히 유용합니다. 해당 메타데이터가 오래되면 에이전트는 불일치를 이전에 유효했던 출력이 잘못되었다는 증거로 오인할 수 있습니다. Forward Implementation First는 실제 정확성 작업과 관리 유지보수를 구분하는 의사 결정 규칙을 제공합니다.
핵심 분류
에이전트는 작업을 수행하기 전에 해당 작업을 세 가지 범주 중 하나로 분류합니다.
- 의미적 구현: 생산자, 소비자, 어댑터, 런타임 경로, 스키마, 픽스처 또는 최종 출력을 구축하거나 연결하는 작업입니다.
- 집중 검증: 동작, 스키마, 개수, 순서가 있는 샘플, 보존성, 일관성, 비절단성, 측정된 시간 또는 메모리를 통해 변경된 의존성 범위를 검사하는 작업입니다.
- 관리 장부 관리: 해시, 잠금, 영수증, 대시보드, 인증 표시자, 진행 메타데이터 또는 존재 여부만을 기록하는 레코드를 생성하거나 복구하는 작업입니다.
운영 규칙은 간단합니다. 의미적 구현과 집중 검증은 수행합니다. 사용자가 명시적으로 요청했거나 해당 아티팩트가 제품의 일부인 경우를 제외하고 관리 장부 관리는 건너뜁니다. 정확성을 보호하지 못하는 장부 관리 전용 의존성이 생산적인 작업을 막는다면 해당 의존성을 제거합니다.
파이프라인 장부 관리가 문제가 되는 이유
40단계가 41단계를 위한 파일을 생성하는 파이프라인을 생각해 보겠습니다. 오케스트레이터는 완료 표시자와 입력 해시가 포함된 JSON 레코드도 작성합니다. 생산자가 변경되면 기존 단계 출력이 여전히 올바른 경우에도 해시가 더 이상 일치하지 않을 수 있습니다.
명확한 정책이 없으면 에이전트는 이전의 여러 단계를 무효화하고, 41단계를 수동으로 실행하지 않으며, 관련 없는 표시자를 다시 생성하고, 복구된 메타데이터를 진척으로 보고할 수 있습니다. 각각의 국소적인 선택은 신중해 보일 수 있지만, 전체 결과는 요청된 출력을 개선하지 못한 채 시간을 소모합니다.
관리 메타데이터는 출력이 올바르다는 증거를 대신할 수 없습니다.
이 스킬은 에이전트가 메타데이터의 존재 또는 최신성을 증거로 취급하는 대신 결과를 검증하도록 요구함으로써 이러한 실패를 방지합니다.
스킬이 완화하지 않는 것
Forward Implementation First는 정확성을 무시하라는 지침이 아닙니다. 폐기 가능한 오케스트레이션 레코드와 제품을 실제로 보호하는 무결성 메커니즘 및 증거를 구분합니다.
- 제품 무결성은 여전히 필수입니다. 사용자가 검증하는 체크섬, 필수 서명, 출력 계약에 정의된 해시는 문서 작업이 아니라 제품 기능입니다.
- 입력 및 개정 식별 정보는 여전히 필수입니다. 에이전트는 어떤 버전 또는 대상을 수정하는지 알고 있어야 합니다.
- 결과 중심 테스트는 여전히 필수입니다. 벤치마크, 재현 절차, 테스트 및 엔드투엔드 실행은 여전히 필수적인 증거를 제공합니다.
- 커버리지는 결과를 보장하지 않습니다. 경로를 실행했다고 해서 그 경로가 올바른 답을 생성했다는 뜻은 아닙니다.
명령, 입력, 결과 및 확인된 기대값이 포함된 실행 레코드는 실제 증거가 될 수 있습니다. 해당 레코드가 없으면 에이전트는 그 레코드가 뒷받침했을 주장을 할 수 없습니다. 그러나 레코드가 없다고 해서 파이프라인 앞부분의 관련 없는 단계가 자동으로 무효화되는 것은 아닙니다.
설치
감지된 에이전트 스킬 디렉터리에 설치
저장소를 복제한 다음 포함된 설치 스크립트를 실행합니다.
git clone https://github.com/Vuk97/forward-implementation-first
cd forward-implementation-first
./install.sh
스크립트는 감지된 모든 지원 에이전트 스킬 디렉터리에 SKILL.md를 복사합니다. 문서에 명시된 대상 경로는 다음과 같습니다.
- Claude Code:
~/.claude/skills/forward-implementation-first/ - Codex:
~/.codex/skills/forward-implementation-first/ - 공유 규약:
~/.agents/skills/forward-implementation-first/
하나의 프로젝트에 설치
프로젝트 범위의 동작을 사용하려면 저장소 내의 .claude/skills/ 또는 .agents/skills/에 스킬 디렉터리를 복사합니다. 이렇게 하면 모든 작업 공간에 설치하는 대신 해당 프로젝트에 정책을 연결할 수 있습니다.
설치 후 에이전트를 다시 시작합니다. 기존 세션은 스킬을 자동으로 다시 불러오지 않습니다.
스킬은 제안이며, 모델이 이를 불러올지 결정합니다. 에이전트가 항상 적용되는 규칙이나 훅을 지원한다면 핵심 의사 결정 규칙도 그곳에 배치하세요.
기본 사용법
1단계: 다음 제품 관련 작업 식별
현재 파이프라인 커서 또는 완료되지 않은 다음 의존성에서 시작합니다. 제안된 작업이 구현을 변경하는지, 변경된 결과를 검증하는지, 아니면 오케스트레이션 메타데이터만 복구하는지 판단합니다.
제안된 작업: 41단계를 40단계에서 생성된 출력에 연결합니다.
분류: 의미적 구현.
결정: 작업을 수행합니다.
2단계: 변경된 의존성 범위 검증
구현 후에는 영향을 받았을 가능성이 있는 가장 작은 영역을 테스트합니다. 적절한 검사에는 스키마, 행 또는 항목 수, 순서가 있는 샘플, 보존 속성, 일관성, 잘림 감지, 엔드투엔드 동작, 측정된 리소스 사용량 등이 포함될 수 있습니다.
제안된 작업: 생성자를 변경한 후 41단계의 스키마, 출력 수,
순서가 있는 샘플 및 잘림이 없는지 확인합니다.
분류: 집중 검증.
결정: 검사를 수행하고 근거를 기록합니다.
3단계: 기본 목표로서의 장부 기록 거부
제안된 작업이 오래된 영수증이나 완료 표시를 다시 생성하는 것뿐이라면, 사용자가 해당 산출물을 요청했거나 그 자체가 제공물의 일부인 경우가 아니면 건너뜁니다.
제안된 작업: 변경되지 않은 12~40단계의 완료 영수증을 다시 생성합니다.
분류: 행정적 장부 기록.
결정: 명시적으로 요청되었거나 제품에 필요한 경우가 아니면 건너뜁니다.
4단계: 행정 전용 게이트 제거
오래된 표시가 다음의 유효한 단계 실행을 막지만 정확성을 보호하지 않는다면, 해당 단계를 수동으로 실행하고 출력을 검증한 다음 게시하고 커서부터 계속 진행합니다. 그런 후 동일한 장애가 반복되지 않도록 행정 전용 의존성을 제거합니다.
전진 커서 규칙 적용
완료된 단계는 실질적인 이유가 있을 때만 재실행하거나 롤백해야 합니다. 이 스킬은 다음과 같은 사유를 인정합니다.
- 단계 입력의 의미가 변경된 경우.
- 대상 또는 고정된 리비전이 변경된 경우.
- 출력이 잘못 구성되었거나, 잘렸거나, 보존 속성을 위반하거나, 일관되지 않거나, 소비자와 호환되지 않는 경우.
- 관찰된 실행 결과가 이전의 정적 결과를 반증하는 경우.
- 변경된 생성자의 선언된 의존성 범위에 해당 단계가 포함되는 경우.
메타데이터가 누락되었거나 오래되었다는 사실만으로는 충분하지 않습니다. 전체 이력을 다시 시작하는 대신 영향을 받는 가장 작은 의존성 범위를 재실행합니다.
복구 결정 예시
관찰: 40단계 영수증의 해시가 오래되었습니다.
출력 검사: 40단계 산출물은 올바르게 구성되어 있으며 41단계와 호환됩니다.
의존성 검사: 변경된 생성자는 40단계의 의미에 영향을 주지 않습니다.
조치: 40단계를 재실행하지 않습니다. 41단계로 계속 진행하고 결과를 검증합니다.
반대로 검증에서 잘못 구성되었거나 호환되지 않는 출력이 발견되면, 그 사유가 행정적인 것이 아니라 의미상의 문제이므로 재실행이 정당화됩니다.
서로 경쟁하는 진실을 만들지 않고 작업자 풀 사용
이 스킬은 병렬 작업에도 체계적인 접근 방식을 정의합니다.
- 컴파일러, 전체 테스트 모음, 대규모 데이터 작업, 벤치마크 또는 장시간 스캔과 같은 무거운 프로세스는 한 번에 하나만 실행합니다.
- 겹치지 않는 파일에 대한 가벼운 작업에는 병렬 레인을 사용합니다.
N명의 작업자 풀이 승인된 경우, 전체 웨이브가 끝날 때까지 기다리지 말고 작업이 완료되는 대로 레인을 보충합니다.- 모든 작업자를 계속 사용하기 위해 가치가 낮은 작업을 만들어 내지 않습니다.
- 무거운 실행, 게시, 커서 이동 및 최종 결론은 루트 레인에서 담당합니다.
- 병렬 작업자가 준비하고 검사하도록 하되, 그 결과를 사용하기 전에 검증합니다.
- 모든 레인을 기다리느라 전진을 막지 않습니다. 의존성에 도달하면 해당 레인의 결과를 사용합니다.
이 구조를 사용하면 여러 작업자가 서로 경쟁하는 진실의 원천이 되지 않으면서도 유용한 동시성을 확보할 수 있습니다.
고급 팁
항상 활성화된 구성으로 결정 규칙 이동
모델이 스킬을 로드하지 않기로 선택할 수 있으므로, 지속적인 규칙이나 훅이 있는 환경에서는 핵심 정책을 해당 위치에도 반복해서 명시해야 합니다. 즉, 각 작업을 분류하고 구현과 집중 검증을 수행하며, 요청되었거나 제품과 관련된 경우가 아니면 행정 작업을 피하도록 합니다.
제품 무결성 명시
어떤 해시, 서명, 매니페스트 또는 감사 기록이 출력 계약의 일부인지 문서화합니다. 이렇게 하면 에이전트가 실제 기능을 잘못 버리는 일을 방지하면서도 폐기 가능한 오케스트레이션 표시를 무시할 수 있습니다.
의존성 범위 선언
가능한 경우 생성자와 소비자의 관계를 명시적으로 만듭니다. 명확한 의존성 범위가 있으면 에이전트가 영향을 받은 단계만 재실행할 수 있으며, 불확실성에 따른 광범위한 무효화를 피할 수 있습니다.
단순한 존재가 아닌 근거 기록
명령, 입력, 결과 및 예상 조건을 식별하는 기록을 우선합니다. 존재만 표시하는 마커는 무언가가 실행되었다는 사실만 알려 주지만, 근거를 포함한 기록은 해당 작업이 성공했는지 확인하는 데 도움이 됩니다.
준비와 권한 분리
병렬 작업자를 사용해 파일을 검사하고 패치를 준비하거나 정보를 수집하되, 실행 권한과 결론은 루트 레인에서 담당합니다. 병합하거나 게시하기 전에 작업자 결과를 검증합니다.
스킬 사용 시점
Forward Implementation First는 다음과 같은 경우에 적합합니다.
- 순서가 있는 단계와 영속 커서가 있는 파이프라인.
- 후속 단계에서 소비하는 생성 산출물.
- 오케스트레이터가 생성한 매니페스트, 잠금 파일 또는 영수증이 있는 워크플로.
- 지속적인 사람의 감독 없이 계속 실행되는 작업.
- 여러 에이전트나 세션이 작업하는 저장소.
- ETL 파이프라인, 단계적 데이터 처리, 대규모 코드 마이그레이션, 빌드 및 릴리스 워크플로, 문서 생성, 일괄 분석 및 여러 날에 걸친 로드맵.
단일 실행 작업, 짧은 대화형 세션 또는 감사 추적 자체가 제공물인 워크플로에는 사용하지 않습니다. 사용자가 영수증을 소비하거나 검토자가 이를 확인해야 한다면, 해당 기록은 행정적 오버헤드가 아니라 제품의 일부입니다.
결론
Forward Implementation First는 코딩 에이전트에게 좁지만 실용적인 규율을 제시합니다. 제품을 구축하고, 영향을 받은 동작을 검증하며, 파이프라인 관련 서류 작업을 올바른 동작과 혼동하지 않는 것입니다. 포워드 커서 규칙은 불필요한 재실행을 제한하고, 워커 풀 지침은 안전한 병렬 처리를 지원합니다. 이 스킬을 설치하고 에이전트를 다시 시작한 다음, 항상 활성화되는 구성을 사용할 수 있다면 이를 통해 해당 의사 결정 규칙을 강화하세요.
