name: failure-recovery description: 에이전트가 잘못된 결과를 냈을 때의 디버깅 및 재시도 프로토콜. 단순 재실행이 아닌 원인 분석 후 처방한다.
Failure Recovery Skill
에이전트 결과물이 기대와 다를 때, "다시 해"가 아닌 원인 진단 -> 처방 -> 재시도 사이클을 따른다.
1. 실패 분류 및 처방
| 유형 | 증상 | 처방 |
|---|---|---|
| 방향 오류 | 요구사항과 전혀 다른 결과 | 요구사항을 재정의하고 배경 컨텍스트 보강 |
| 패턴 불일치 | 동작은 하지만 기존 코드와 스타일이 다름 | 참조할 기존 파일 경로를 명시적으로 전달 |
| 부분 구현 | 일부만 되고 나머지가 빠짐 | 작업을 더 작은 단위로 재분해 |
| 타입/런타임 에러 | 빌드 실패, 런타임 크래시 | 에러 메시지 + 관련 타입/인터페이스를 함께 전달 |
| 반복 실패 | 같은 에러를 2회 이상 반복 | 접근 방식 자체를 변경하거나 사용자에게 에스컬레이션 |
2. 재시도 프로토콜
Step 1: 진단 (바로 "다시 해" 금지)
실패 진단:
- 기대한 결과: [구체적으로]
- 실제 결과: [구체적으로]
- 차이 원인: 방향 오류 / 패턴 불일치 / 부분 구현 / 에러
Step 2: 처방
- 방향 오류 -> 요구사항 문서를 수정하고 재전달
- 패턴 불일치 -> "X파일의 패턴을 따라서" 참조 경로 추가
- 부분 구현 -> 빠진 부분만 별도 작업으로 분리
- 에러 -> 에러 메시지 + 관련 타입/인터페이스를 함께 전달
Step 3: 재시도
- 처방 내용을 프롬프트에 반영하여 재호출
- 동일 실패 2회 반복 시 -> 접근 방식 자체를 변경하거나 사용자에게 에스컬레이션
3. 에스컬레이션 기준
다음 중 하나라도 해당하면 사용자에게 판단을 요청한다:
- 동일 유형 실패가 2회 반복
- 처방 후에도 새로운 유형의 에러 발생
- 아키텍처/설계 수준의 변경이 필요한 경우