Boris Cherny, Claude Code로 Claude 앱을 Swift로 다시 쓰게 시킨 2주짜리 실험
Boris Cherny on Trying to Get Claude Code to Rewrite the Claude App
TL;DR Highlight
Claude에 Electron 앱을 Swift로 픽셀 단위 비교하며 재작성시켰더니 2주째 안 끝났다
Who Should Read
에이전트에게 긴 작업을 맡기면서 결과를 어떻게 검증할지 고민하는 개발자
Core Mechanics
- 요즘 핵심 기술은 검증 설계
- Cherny는 요즘 중요한 기술이 프롬프트 엔지니어링보다 '너무 어려워 보이는 일'을 주는 것이라고 말했다.
- 그다음에 Claude가 작업 중에 스스로 결과를 검증하게 만드는 것이 중요하다고 했다.
- 검증은 사람들이 가장 많이 놓치는 단일 요소라고 했다.
- 실험은 Electron 앱의 Swift 재작성
- Claude 데스크톱 앱은 Electron으로 만들어져 있고, 그는 네이티브면 어떨지 보려 했다.
- Slack에서 도는 Claude Tag 세션을 시작했다.
- GitHub의 macOS 러너와 빈 Swift 코드베이스 접근 권한을 차례로 줬다.
- 프롬프트는 한 번, 지시는 단순
- Electron 앱을 Mac VM에서 실행해 스크린샷을 찍고, Swift 버전과 픽셀 단위로 비교하라고 했다.
- 끝날 때까지 멈추지 말라고 했다.
- 진행자가 이게 프롬프트의 전부냐고 묻자 그렇다고 답했다.
- 2주 넘게 아직 실행 중
- 인터뷰 시점에 약 14~15일째 계속 돌고 있었다.
- Gruber는 이 작업이 실패한 것 같다고 썼다.
Community Reactions
- 픽셀 비교 검증은 얕다는 의견
- 검증이 중요하다는 말엔 동의하지만 시각 비교만으로 좋은 앱이 나오긴 어렵다는 댓글이 있었다.
- 모델에 맡기기보다 루브릭처럼 검증 유형을 직접 지정하고, 사람이 확인하고 싶다는 의견이었다.
- LLM 시각 검증이 불안정했다는 경험
- 웹사이트 모바일 레이아웃을 LLM으로 검증해 봤더니 Claude 모델에서도 결과가 들쭉날쭉했다는 경험이 있었다.
- 그래서 CSS로 겹침 같은 결정적 검사를 먼저 하고, 그 뒤에 LLM을 쓰도록 바꿨다고 한다.
- 요구사항마다 검증을 붙이라는 경험
- 동작을 요구사항으로 정리하고 end-to-end 테스트를 늘리고 있다는 댓글이 있었다.
- 테스트에 추적성을 넣으면 얼마나 만들고 검증했는지 정직하게 보인다는 의견이었다.
- 비용과 디자인에 대한 반론
- 2주치 토큰 비용이 수만 달러일 수 있으니 숙련자를 고용하는 게 낫지 않냐는 의견이 있었다.
- 좋은 기술이 나쁜 제품 디자인을 보완하지 못한다는 의견도 있었다.
How to Apply
- 검증 방법을 프롬프트에 먼저 박기
- 오늘 에이전트에 긴 작업을 줄 때 '끝났다'의 판정 기준과 검증 명령을 먼저 적어라.
- 픽셀 비교 같은 한 가지 방식에만 의존하지 말고 기준을 2개 이상 써라.
- 결정적 검사를 LLM 판단 앞에 두기
- UI 검증 파이프라인에서 CSS·DOM 같은 규칙 기반 검사를 먼저 돌려라.
- 텍스트 깨짐처럼 규칙으로 못 잡는 것만 LLM에 맡겨라.
- 에이전트에 필요한 환경 권한 미리 확인시키기
- 장시간 작업 전에 러너·저장소 접근 가능 여부를 에이전트에게 먼저 물어봐라.
- 없는 권한은 작업 시작 전에 붙여라.
- 장기 실행에는 중간 점검 지점 두기
- 며칠 도는 작업이면 하루 단위로 결과와 비용을 확인하는 체크포인트를 정해라.
Try It
# Claude Code 또는 ChatGPT에 붙여넣기 (원문 방법의 간이 버전)
너는 {{작업}}을 수행한다. 시작 전에 아래를 먼저 해라.
1. 작업에 필요한 권한(저장소, 실행 환경, 러너)이 있는지 나에게 하나씩 확인해라.
2. 완료 판정 기준을 3개 이상 스스로 제안해라. 시각 비교 하나만 쓰지 마라.
3. 각 기준별로 실행할 검증 명령이나 테스트를 적어라.
그다음 작업을 진행하고, 매 단계마다 검증 결과를 표로 보고해라. 모든 기준이 통과하기 전에는 끝났다고 하지 마라.
이어서 해 볼 것: 검증 기준 중 결정적으로 확인 가능한 것과 LLM 판단이 필요한 것을 나눠 달라고 요청해 보기Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓