컴퓨터 사용은 구조화 API보다 45배 더 비싸다
6 days ago
12
- 같은 관리자 패널 작업에서 비전 에이전트는 스크린샷과 클릭으로 UI를 조작했고, API 에이전트는 같은 애플리케이션 핸들러를 구조화 응답으로 호출해 인터페이스만 비용 차이의 변수로 둠
- 기본 프롬프트에서 API 에이전트는 8번의 호출로 작업을 끝냈지만, 비전 에이전트는 보이는 영역 아래에 있던 대기 중 리뷰 3개를 놓쳐 4개 중 1개만 승인함
- 14단계 UI walkthrough를 추가하자 비전 에이전트도 완료했지만, 실행에 약 14분과 약 50만 입력 토큰이 들었고 이런 구체적 안내 자체가 별도 엔지니어링 비용이 됨
- 전체 결과에서 Sonnet 기준 비전 경로는 평균 53단계, 1003초, 550,976 입력 토큰을 썼고, API 경로는 8호출, 19.7초, 12,151 입력 토큰으로 끝나 비용과 시간 변동성도 훨씬 작았음
- 비용 격차는 모델 성능보다 인터페이스 구조에서 나왔으며, Reflex 0.9처럼 이벤트 핸들러에서 HTTP 엔드포인트를 자동 생성하면 직접 만드는 내부 도구에서는 구조화 API 경로의 비용 계산이 유리해짐
벤치마크 목적과 실험 구성
- 비전 에이전트와 구조화 API 방식으로 같은 관리자 패널을 조작하게 해 브라우저 사용·컴퓨터 사용 방식의 비용을 측정함
- API를 제공하지 않는 웹앱을 AI 에이전트가 조작할 때 비전 에이전트가 기본 선택지가 되기 쉬움
- 팀마다 20개 이상의 내부 도구가 있는 상황에서 앱마다 MCP나 REST 표면을 작성하는 일은 별도 엔지니어링 프로젝트가 되므로, 많은 팀이 비전 에이전트를 선택함
- 테스트 앱은 고객, 주문, 리뷰를 관리하는 관리자 패널이며, react-admin Posters Galore demo를 모델로 삼음
- 두 에이전트는 같은 실행 중인 앱, 같은 Claude Sonnet, 같은 고정 데이터셋, 같은 작업을 사용했고, 인터페이스만 변수로 둠
- 작업은 “Smith”라는 이름의 고객 중 주문이 가장 많은 고객을 찾고, 그 고객의 가장 최근 대기 중 주문을 찾은 뒤, 대기 중 리뷰를 모두 승인하고 주문을 배송 완료로 표시하는 것임
- 이 작업은 세 리소스를 건드리고, 필터링·페이지네이션·엔티티 간 조회·읽기와 쓰기를 모두 포함해 일반적인 내부 도구 업무 형태와 비슷함
두 실행 경로
-
경로 A: Vision agent
- Claude Sonnet이 browser-use 0.12를 비전 모드로 사용해 UI를 스크린샷과 클릭으로 조작함
-
경로 B: API agent
- Claude Sonnet이 도구 사용 방식으로 앱의 HTTP 엔드포인트를 직접 호출함
- 각 도구는 앱 State의 하나 이상의 이벤트 핸들러에 매핑되며, 버튼 클릭이 호출하는 것과 같은 함수가 사용됨
- 에이전트는 렌더링된 페이지 대신 구조화된 응답을 받음
비전 에이전트가 기본 프롬프트로 실패한 이유
- 두 에이전트에 같은 여섯 문장 작업을 주고 실행함
- API 에이전트는 8번의 호출로 작업을 완료함
- 대기 상태로 필터링한 고객 리뷰를 나열함
- 각 리뷰를 승인함
- 주문을 배송 완료로 표시함
- 두 에이전트 모두 같은 애플리케이션 로직을 호출하지만, API 에이전트는 렌더링된 페이지를 보는 대신 구조화된 응답을 직접 읽음
- 비전 에이전트는 같은 프롬프트에서 대기 중 리뷰 4개 중 1개만 찾아 승인하고 다음 단계로 넘어감
- 남은 리뷰 3개는 리뷰 페이지의 보이는 영역 아래에 있었고, 에이전트에는 스크롤해야 한다는 신호가 없었음
- 이 실패는 모델의 추론 문제가 아니라, 렌더링된 페이지가 전체를 보여주지 않는다는 신호를 주지 못한 데서 생김
- API 에이전트는 UI가 호출하는 것과 같은 핸들러를 호출하지만, 응답에는 현재 렌더링된 행만이 아니라 핸들러가 반환한 전체 결과 집합이 포함됨
- API 에이전트는 픽셀에서 페이지네이션 컨트롤을 해석하지 않고, “50개씩 표시되는 4페이지 중 1페이지” 같은 정보를 직접 읽음
14단계 UI 안내를 추가했을 때의 결과
- 공정한 비교를 위해 비전 프롬프트를 명시적인 UI walkthrough로 다시 작성함
- 사이드바 항목, 탭, 폼 필드 등 에이전트가 각 단계에서 상호작용해야 할 UI 요소를 이름으로 지정함
- 기존에 에이전트가 스스로 찾지 못했던 탐색 과정을 14개의 번호 매긴 지시로 작성함
- 이 안내를 제공하자 비전 에이전트는 작업을 완료함
- 다만 실행에는 14분이 걸렸고, 약 50만 입력 토큰을 소비함
- 각 번호 지시는 토큰 수에는 드러나지 않지만 실제 엔지니어링 비용을 뜻함
- 내부 도구에 비전 에이전트를 배포하려면 이 수준의 구체적 프롬프트를 작성하거나, 에이전트가 조용히 작업을 놓칠 가능성을 받아들여야 함
실행 방식과 변동성
- API 경로는 5회, 비전 경로는 3회 실행함
- 비전 경로는 한 번 실행하는 데 14~22분이 걸리고 40만~75만 토큰을 소비해 3회로 제한함
- 비전 경로는 실행별 분산이 컸음
- 3회 실행에서 벽시계 시간은 749초부터 1257초까지 벌어짐
- 입력 토큰은 40만 7천부터 75만 1천까지 벌어짐
- 가장 짧은 실행은 43사이클, 가장 긴 실행은 68사이클이 걸림
- 스크린샷-추론-클릭 반복에는 비결정성이 충분히 있어, 단일 실행만으로는 대표적인 비용을 추정하기 어려움
- API 경로에는 이런 변동성이 없었음
- Sonnet은 모든 5회 실행에서 동일하게 8번의 도구 호출을 사용함
- 입력 토큰 수는 전체 5회 실행에서 ±27 범위로만 변함
- 구조화된 응답이 에이전트에 이탈할 이유를 주지 않아 같은 순서로 같은 핸들러를 호출함
전체 결과
지표
Vision agent (Sonnet)
API (Sonnet)
API (Haiku)
| 단계 / 호출 |
53 ± 13 |
8 ± 0 |
8 ± 0 |
| 벽시계 시간 |
1003초 ± 254초, 약 17분 |
19.7초 ± 2.8초 |
7.7초 ± 0.5초 |
| 입력 토큰 |
550,976 ± 178,849 |
12,151 ± 27 |
9,478 ± 809 |
| 출력 토큰 |
37,962 ± 10,850 |
934 ± 41 |
819 ± 52 |
- 숫자는 평균 ± 표본 표준편차(n−1)이며, API 경로는 n=5, 비전 경로는 n=3임
- 전체 실행 세부 정보는 저장소에서 확인 가능함
- Haiku는 비전 경로를 완료하지 못함
- 실패는 browser-use 0.12의 구조화 출력 스키마에 한정되며, Haiku가 비전 모드와 텍스트 전용 모드 모두에서 이를 안정적으로 생성하지 못함
- API 경로에서 Haiku는 8초 미만, 1만 입력 토큰 미만으로 완료했으며, 테스트한 구성 중 가장 저렴했음
구조적 비용 격차
- 비용 차이는 아키텍처에서 직접 나옴
- 보아야 행동할 수 있는 에이전트는 모델이 좋아져도 보는 비용을 항상 지불해야 함
- 더 나은 비전 모델은 스크린샷당 오류율을 낮출 수 있지만, 관련 데이터에 도달하기 위해 필요한 스크린샷 수를 줄이지는 않음
- 각 렌더링은 스크린샷이고, 스크린샷은 수천 입력 토큰이 됨
- 두 에이전트는 같은 애플리케이션 로직을 지나감
- 둘 다 UI와 같은 방식으로 필터링, 페이지네이션, 업데이트를 수행함
- 차이는 각 단계에서 무엇을 읽는지에 있음
- 비전 에이전트는 픽셀을 읽고, 모든 중간 상태를 렌더링해 해석해야 함
- API 에이전트는 같은 핸들러에서 나온 구조화 응답을 읽으며, 그 응답에는 UI가 표시하려던 데이터가 이미 들어 있음
- 더 나은 모델은 단계당 비용을 줄일 수 있지만, 단계 수는 인터페이스가 결정하므로 줄어들지 않음
API 엔지니어링 비용이 낮아질 때 바뀌는 판단
- 벤치마크는 Reflex 0.9 덕분에 저렴하게 실행됨
- Reflex 0.9에는 Reflex 애플리케이션의 이벤트 핸들러에서 HTTP 엔드포인트를 자동 생성하는 플러그인이 포함됨
- 구조적 논지는 Reflex에 의존하지 않지만, Reflex가 API 경로를 별도 코드베이스 없이 실행 가능하게 만듦
- API 표면의 엔지니어링 비용이 0에 가까워질 때 무엇이 가능해지는지가 핵심임
- 비전 에이전트는 여전히 직접 제어하지 않는 애플리케이션에 적합함
- 서드파티 SaaS 제품
- 레거시 시스템
- 수정할 수 없는 애플리케이션
- 직접 만드는 내부 도구에서는 비용 계산이 반대로 기울어짐
실험 범위와 주의점
- 비전 결과는 browser-use 0.12 비전 모드에 한정되며, 다른 비전 에이전트는 다르게 동작할 수 있음
- 경로 B 러너는 자동 생성 엔드포인트를 약 30줄 규모의 작은 REST 도구 표면으로 가공함
- 에이전트는 이를 list_customers, update_order 같은 도구로 봄
- 데이터셋은 고정되어 있고 작음
- 프로덕션 규모 데이터에서의 동작은 측정되지 않음
- 비전 에이전트는 LangChain의 ChatAnthropic을 통해 실행됨
- API 에이전트는 Anthropic SDK를 직접 사용해 실행됨
- 보고된 토큰 수는 캐시되지 않은 입력 토큰임
재현 자료
- 저장소에는 시드 데이터 생성, 패치된 react-admin 데모, 두 에이전트 스크립트, 원시 결과가 포함됨
-
Homepage
-
Tech blog
- 컴퓨터 사용은 구조화 API보다 45배 더 비싸다