클로드 페이블의 끊임없는 능동적 문제 해결
새로운 AI 모델인 클로드 페이블 5(Claude Fable 5)는 단순한 코드 수정을 넘어 스스로 테스트 환경을 구축하고 브라우저를 조작하는 등 목표 달성을 위해 매우 능동적으로 행동합니다. 이번 사례에서는 가상 환경의 의존성을 분석하는 것에 그치지 않고, 자체적으로 파이썬 스크립트를 이용해 사파리 창을 띄우고 스크린샷을 촬영하는가 하면, HTML 템플릿을 수정해 키보드 이벤트를 발생시켰습니다. 코딩 에이전트의 자율성과 문제 해결 능력이 한 단계 진화했음을 보여주는 중요한 사례입니다.
사이먼 윌리슨(Simon Willison)의 웹로그 구독 후원: AWS — AI로 무언가를 구축하고 있다면, 6월 17일에 열리는 AWS Summit NYC가 필요한 곳입니다. 200개 이상의 세션이 준비되어 있으며 완전히 무료입니다. 여기서 등록하세요.
클로드 페이블은 끊임없이 능동적입니다 2026년 6월 11일
클로드 페이블 5(Claude Fable 5)를 며칠간 사용해 본 결과, 이를 설명하는 가장 좋은 방법은 '끊임없이 능동적(relentlessly proactive)'이라는 표현인 것 같습니다. 이 모델은 엄청나게 다양한 기법을 알고 있으며, 목표를 달성하기 위해 그중 거의 모든 것을 활용합니다.
하나의 예를 들어 설명해 보겠습니다. 오늘 저는 Datasette Agent를 다루다가 점프 메뉴 채팅 프롬프트에 불필요한 가로 스크롤바가 생기는 버그를 발견했습니다. 저는 스크린샷을 찍었습니다.
그런 다음 datasette-agent 체크아웃 폴더에서 새로운 클로드 세션을 시작하고, 스크린샷을 드래그 앤 드롭한 뒤 다음과 같이 지시했습니다. "여기에 가로 스크롤바가 생기는 이유를 파악하기 위해 dependencies(의존성)를 먼저 살펴보세요."
저는 원인이 Datasette Agent의 의존성(아마도 Datasette 자체)에 있을 것이라는 직감이 들었습니다. 그리고 페이블이 가상 환경의 site-packages에 설치된 파일을 검사하거나 디스크의 로컬 체크아웃을 참조하여 의존성 코드를 파고드는 데 능하다는 것을 알고 있었습니다. 의존성부터 살펴보라고 한 것은 좋은 선택이었습니다.
그 후로 잠시 집안일에 신경을 쓰느라 컴퓨터에서 자리를 비웠습니다. 몇 분 후에 돌아와 보니, 제 컴퓨터가 제가 평소 쓰는 파이어폭스(Firefox)에서 브라우저 창을 열고 문제의 대화 상자로 이동하고 있었습니다. 저는 클로드 코드(Claude Code)에 브라우저 자동화를 사용하라고 지시한 적도 없고, 창 내에서 마우스 움직임이나 키보드 단축키를 트리거할 수 없다고 확신했기 때문에 대체 어떻게 된 일인지 놀랐습니다.
신기하게도 계속해서 탐색하는 것을 지켜보았고, 이번에는 파이어폭스 대신 사파리(Safari) 창을 여는 것을 보았습니다. 저는 클로드 터미널에서 다음 스냅샷도 캡처했습니다.
도대체 uv run --with pyobjc-framework-Quartz 명령어로 무엇을 하고 있었던 걸까요? 알고 보니 페이블이 브라우저 창의 스크린샷을 찍기 위해 자체적인 패턴을 만들어냈던 것입니다. 파이썬(Python)을 사용하여 제 컴퓨터에 있는 사용 가능한 모든 창을 반복(iterate)한 다음, 창 이름에 "textarea"와 같은 예상 문자열이 포함된 사파리 창을 필터링했습니다. 그리고 이를 통해 창 번호(예: 153551과 같은 정수)를 찾아낸 뒤, screencapture CLI 도구를 사용해 PNG 이미지를 캡처한 것입니다.
네, 스크린샷을 찍는 아주 영리한 방법입니다. 하지만 대체 무엇의 스크린샷을 찍고 있었던 걸까요? 알고 보니 버그를 재현하기 위해 자체적인 테스트용 HTML 페이지를 작성한 다음, 사파리를 열고 스크린샷을 찍고 있었습니다. 다음은 이것이 생성한 /tmp/textarea-scrollbar-test.html 페이지와 screencapture -x -o -l 153551 /tmp/safari-cases.png 명령으로 찍은 스크린샷입니다. (저는 열어둔 탭이 너무 많습니다!)
좋습니다. 테스트 페이지를 열고 스크린샷을 찍는 과정은 이해했습니다. 하지만 대체 어떻게 테스트하려던 모달 대화 상자(modal dialog)를 실행시켰을까요? 그것은 클릭이나 키보드 단축키를 통해서만 열 수 있는 기능인데, 사파리에서 이를 실행할 메커니즘이 보이지 않았습니다.
결국 저는 이 에이전트가 무엇을 했는지 알아냈습니다. 클로드는 애플리케이션의 소스 코드가 포함된 폴더에서 실행되고 있었습니다. 이 모델은 Datasette에 대해 충분히 알고 있어서 로컬 개발 서버를 실행할 수 있었습니다. 알고 보니 Datasette의 자체 템플릿을 수정하여 창이 열리자마자 올바른 키보드 단축키를 트리거하는 JavaScript를 추가했던 것입니다. 다음과 같은 코드를 추가했습니다.
창이 열리고 1.2초 후, 이 코드는 모달 대화 상자를 여는 단축키인 '/' 키 누름을 시뮬레이션합니다.
여기서 한 가지 과제가 더 남아있었습니다. 상황을 파악하기 위해 클로드는 페이지에서 직접 JavaScript를 실행하여 측정값을 가져와야 했습니다. 그래서 CORS를 통해 정보를 캡처하는 자체적인 맞춤형 웹 애플리케이션을 작성한 다음, 이를 로컬 서버로 실행하고 그곳에 POST 요청을 보낼 JavaScript가 포함된 페이지를 열었습니다! 다음은 이것이 작성한 파이썬 웹 앱입니다.