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줄+의존성)로 가지만 사다리는 네이티브 (포커스 트랩·Escape·::backdrop, 2022년부터 전 브라우저 지원)로 8줄·0 의존성을 만든다 [1].
  • ‘게으르지만 무책임하지 않다’ — 보안·데이터 손실 방지·접근성·trust-boundary 검증은 절대 생략하지 않고, 생략한 것은 ponytail: 주석으로 업그레이드 경로를 남긴다 [1] [2].
  • 안전성 실측에서 사다리 적용판은 path traversal/SQL injection 등 6개 adversarial 태스크 100% 통과한 반면 단순 ‘yagni-oneliner’ 프롬프트는 95%로 가드를 빠뜨려, ‘판단 없는 축약’과 ‘가드 유지 축약’의 차이를 보였다 [3].

관련 개념