TL;DR
A YAGNI decision ladder forces a coding agent to climb fixed gates — does-it-need-to-exist, stdlib, native platform, existing dependency, one-liner — and only write new code when every gate answers no.
출처별 관점
research/2026-06-20-ponytail-claude-code-plugin
- 사다리는 코드 작성 전 반드시 통과하는 6단 관문이다: (1) 이게 존재해야 하나?(YAGNI) → (2) stdlib가 처리하나? → (3) 네이티브 플랫폼 기능이 있나? → (4) 기설치 의존성이 하나? → (5) 한 줄로 되나? → 모두 No일 때만 최소 신규 코드, ‘첫 hold되는 단에서 멈춘다’가 원칙 [1] [5].
- 모달 다이얼로그 예시가 압축판이다: 기본 에이전트는 @radix-ui/react-dialog(~30줄+의존성)로 가지만 사다리는 네이티브
- ‘게으르지만 무책임하지 않다’ — 보안·데이터 손실 방지·접근성·trust-boundary 검증은 절대 생략하지 않고, 생략한 것은 ponytail: 주석으로 업그레이드 경로를 남긴다 [1] [2].
- 안전성 실측에서 사다리 적용판은 path traversal/SQL injection 등 6개 adversarial 태스크 100% 통과한 반면 단순 ‘yagni-oneliner’ 프롬프트는 95%로 가드를 빠뜨려, ‘판단 없는 축약’과 ‘가드 유지 축약’의 차이를 보였다 [3].