Fable 를 이기는 AI 코딩: 전문가를 위한 Short Leash 방법론
The short leash AI coding method for beating Fable

저는 보안이 중요한 소프트웨어 개발자로서, AI 에이전트를 사용하여 고품질 코드를 작성하는 최선의 방법을 연구했습니다. 현재 유행하는 무인 자동화 방식은 코드를 이해하지 못하게 만들며, Fable 5 같은 최첨단 모델조차 비효율적인 코드를 생성합니다. 전문가들은 AI 를 항상 감시하고 변경 사항을 직접 검토하는 'Short Leash' 방식을 통해 AI 의 성능을 극대화하면서도 코드 품질을 보장할 수 있습니다.
AI 가 작성한 PR 은 인간이 보조한 AI 의 PR 이므로, 제출한 개발자는 마치 타인의 코드처럼 자신의 작업물을 줄 단위로 직접 검토해야 합니다.
HN 토론
246- sothatsit
이 'short leash' 방식은 오히려拐杖처럼 느껴지고, 애초에 AI 에게 문제를 충분히 상세하게 설명하지 못했거나 AI 의 출력을 검토하고 반복하지 않았다는 신호로 보입니다.
Fable 같은 훌륭한 모델을 구현 단계에서 손잡고 가르치는 것은 시간 낭비일 뿐만 아니라 Fable 을 낭비하는 행위입니다. 더 강력한 모델과는 점점 더 세밀한 논의를 할 수 있으며, 예전보다 훨씬 더 좋은 코드를 작성합니다. 설계와 구현을 논의하고, 이상해 보이는 부분을 질문하며, AI 의 응답을 실제로 읽어보는 과정 자체가 더 나은 해결책을 찾는 데 도움이 됩니다.
예를 들어, 한 번은 특정 문제를 위한 greedy solver 를 작성하고 싶었는데, Opus 와 아이디어를 논의하던 중 기존 MILP 라이브러리를 사용해 문제를 정확하게 해결하라고 제안했습니다. 저는 MILP 에 대해 들어본 적도 없었지만, 최종 구현 결과는 제가 혼자 했을 때보다 더 좋고 단순했습니다.
- chewbacha
사이드 프로젝트에서 이 방식을 두 주 동안 시도해 보았지만, 결국 코드베이스에 대한 정신적 모델 (mental model) 이 없는 상황에 처했습니다.
그 모델을 스스로 구축하지 않고는 만들 수 있는 방법이 없습니다. 저는 이제 그 사실에 전보다 더 확신을 갖게 되었습니다.
- jonplackett
저는 실제로 코딩할 수 있는 사람들이 실제로 중요한 일에 AI 를 사용하는 방식이 바로 이렇다고 생각했습니다.
제가 잘못 알고 있는 걸까요? 여러분들은 요즘 모든 것을 YOLO 방식으로 하고 있는 건가요?
- fny
AI 는 주니어에서 미드레벨 엔지니어와 같습니다. 이를 그렇게 대우한다면, paranoia 없이 vibe coding 과 엄격한 엔지니어링의 장점을 모두 얻을 수 있습니다.
처음부터 저는 Claude 를 격리된 VM 에서 yolo 모드로 실행해 왔습니다. 이는 엔지니어에게 자신의 노트북을 주는 것과 같습니다. Claude 는 PR 이 가능할 만한 수준까지 기능을 구현합니다. 저는 다른 엔지니어와 마찬가지로 diff 를 검토하고, 올바른 형태로 다듬은 후 다음 단계로 넘어갑니다.
경험이 부족한 엔지니어들도 제가 설명한 것과 같은 실수를 저지르며, 심지어 루트 권한이 아닌 상태에서 rm -rf 를 실행하는 경우도 보았습니다. 모든 권한을 차단하고 누군가를 마이크로매니징했다면 제 정신이 나가버렸을 것입니다.
- ramon156
'AI 로 X 를 하는 방법'에 대해 제가 가진 문제 중 하나는 모든 상황이 다르다는 것입니다. 예를 들어, 저는 Symfony 프로젝트를 3.1 에서 8.1 로 업그레이드하고 있습니다. 여기에는 명확한 경로가 있습니다.
- 주요 버전별 작성된 마이그레이션 가이드를 따릅니다.
- 모든 라우트, 인증 등을 테스트합니다. 이러한 테스트를 수동으로 큐레이션할 수도 있습니다. 어떤 것은 200 을, 어떤 것은 302 를 반환할 수 있습니다.
- 선택적으로 수동 테스트를 하지 않아도 되도록 안전망을 먼저 작성할 수 있습니다. 예를 들어 PHPStan 베이스라인 등을 사용할 수 있습니다.
라우트가 의도대로 e2e 기능적으로 작동하면 작업이 완료됩니다. 여기서는 스냅샷 테스트를 사용할 수도 있습니다.
이 부분에서는 AI 를 볼 필요가 없습니다. 끝에서 코드를 검토할 수는 있지만, 여기서 수동으로 승인할 필요는 없으므로 안전 기능은 꺼두어도 됩니다.