Chrome용 Claude를 보완하는 Tap: 손과 근육 기억
요약
Chrome용 Claude의 추론 능력과 Tap의 결정론적 재현 능력을 결합한 새로운 브라우저 자동화 워크플로우를 소개합니다. Chrome용 Claude가 탐색과 판단을 담당한다면, Tap은 반복적인 작업을 JSON 계획으로 컴파일하여 토큰 소모 없이 실행합니다.
핵심 포인트
- Chrome용 Claude는 실시간 추론과 탐색에 최적화된 '손' 역할을 수행함
- Tap은 반복 작업을 .tap.json으로 컴파일하여 토큰 없이 실행하는 '근육 기억' 역할임
- 두 도구는 대체 관계가 아닌 Claude Code 내 MCP 서버로서 상호 보완적임
- 반복적인 브라우저 자동화 작업에서 모델 토큰 비용과 리소스를 획기적으로 절감 가능
요약 (TL;DR). Chrome용 Claude (Claude for Chrome)는 진정으로 훌륭한 대화형 브라우저 어시스턴트입니다. 사용자가 로그인한 본인의 Chrome에서 페이지를 탐색하고, 양식을 채우며, 일회성 작업을 처리합니다. 하지만 이 도구는 실행될 때마다 작업을 매번 추론합니다. 즉, 매주 반복하는 작업이라도 실행할 때마다 모델 토큰 (model tokens)을 소비하며, 실행을 위해 컴퓨터가 깨어 있어야 합니다. Tap은 나머지 절반입니다. 브라우저 흐름 (browser flow)이 작동하는 것을 확인하면, Tap은 이를 .tap.json 계획으로 컴파일하여 로컬 스케줄에 따라 LLM 토큰 소모 없이 결정론적으로 재현합니다. 이들은 동일한 Claude Code 내의 두 가지 MCP 서버입니다. Chrome용 Claude가 처음으로 방법을 찾아내는 '손'이라면, Tap은 그 이후로 영원히 무료로 수행하는 '근육 기억 (muscle memory)'입니다.
이것은 대결 구도의 글이 아닙니다
대부분의 "X 대 Y" 브라우저 자동화 비교는 동일한 작업을 수행하려는 도구들을 맞붙입니다. 이것은 다릅니다. Chrome용 Claude와 Tap은 동일한 Claude Code 세션 내에서 두 개의 별개 MCP 서버로서 공존하며, 동일한 작업의 서로 다른 두 단계에 능숙합니다. 만약 당신이 하나를 사용하고 있다면, 다른 하나는 아마도 대체재가 아니라 당신에게 부족했던 나머지 절반일 것입니다.
그러니 각 도구에 대해 공정하게 살펴보겠습니다.
Chrome용 Claude가 진정으로 잘하는 것
Chrome용 Claude는 사용자가 실제로 로그인한 Chrome을 제어합니다. 이는 다음과 같은 일련의 작업 유형에 적합한 설계입니다:
- 탐색 (Exploration). "이 대시보드를 열고 무엇이 있는지 알려줘." 페이지가 새롭고 구조를 알 수 없을 때, 모델이 보고 반응하기를 원할 때 적합합니다. 대화형 추론 (Interactive reasoning)이 바로 여기서 필요한 것입니다.
- 일회성 작업 (One-off tasks). "이 양식을 한 번만 채워줘", "이 관리자 패널에서 내보내기 버튼을 찾아줘", "이 리스팅이 처리되었는지 확인해줘". 한 번 수행하고 다시는 하지 않을 작업들입니다. 한 번의 모델 패스 (model pass) 비용은 무시할 수 있는 수준입니다.
- 흐름 중간에 판단이 필요한 모든 것. "이것들에 답장하되, 불만 사항처럼 보이는 것은 건너뛰어." 결정은 모델이 처음 보는 콘텐츠를 바탕으로 실시간으로 이루어져야 합니다.
이 모든 것을 고려할 때, 사용자의 브라우저 세션 내에서 페이지를 탐색하며 사고하는 어시스턴트가 올바른 도구입니다. Tap은 그러한 어시스턴트가 되려고 시도하지 않습니다.
경계선: 당신이 반복하는 작업
여기에 실제 격차가 발생하는데, 이는 Chrome용 Claude의 결함이 아니라 그것이 가진 본질적인 특성 때문입니다. 대화형 어시스턴트 (Interactive assistant)는 매 실행 시마다 작업에 대해 추론 (Reasoning)을 수행하는데, 이는 어시스턴트가 적응력을 유지하는 방식이기 때문입니다. 처음 한 번은 훌륭합니다. 하지만 50번째 실행할 때는 비용이 많이 듭니다.
정말로 지루하고 실제적인 잡무를 생각해 보십시오: 매주 월요일마다 세 개의 대시보드에 로그인하여 이번 주의 수치를 노트에 기록하는 것. 단계는 절대 변하지 않습니다. 하지만 이를 추론 어시스턴트에게 맡기면 다음과 같은 일이 발생합니다:
- 매주 월요일 실행 시, 지난 월요일에 이미 결정했던 단계들을 다시 결정하는 데 모델 토큰 (Model tokens)을 소비합니다. Chrome용 Claude의 헤비 유저들은 이를 체감합니다. 브라우저 작업은 일반적인 채팅보다 구독 한도를 더 빠르게 소진시키는데, 각 작업이 전체 에이전트 루프 (Agent loop)를 형성하기 때문입니다.
- 작업은 Chrome이 열려 있고 컴퓨터가 깨어 있는 동안에만 실행됩니다. 예약된 브라우저 작업이라 할지라도, 내부적으로는 여전히 "깨어나서 다시 추론하라"는 방식입니다.
- 워크플로 (Workflow)를 저장하는 것이 도움이 되긴 하지만, 저장되는 것은 본질적으로 재사용 가능한 프롬프트 (Prompt)일 뿐입니다. 어시스턴트는 여전히 매 실행 시 이를 다시 해석합니다. 단계는 기억되지만, 추론 (Reasoning) 과정은 컴파일 (Compile)되어 사라지지 않습니다.
이 중 그 어느 것도 Chrome용 Claude가 잘못하고 있는 것이 아닙니다. 대화형 어시스턴트가 대화형 어시스턴트답게 행동하고 있는 것입니다. 단지 _반복_되는 사례에는 다른 형태가 필요하다는 뜻입니다.
Tap이 추가하는 것: 실행 과정을 컴파일하고, 무료로 재생하기
Tap의 전체 전제는 이미 작동하도록 만든 브라우저 흐름(Flow)은 다시 유도(Re-derive)하는 것이 아니라, _컴파일 (Compile)_할 수 있어야 하는 대상이라는 점입니다. 대화형 어시스턴트를 포함하여 당신이 원하는 어떤 방식으로든 수행한 첫 번째 성공적인 실행은 .tap.json 계획이 됩니다. 즉, 작고 명시적인 단계들의 목록입니다. 그 이후에는:
- 재생(Replay)에는 LLM 토큰 비용이 들지 않습니다. 계획(Plan)은 기계적인 데이터입니다. 이를 실행하는 것은 모델을 호출하지 않습니다. 월요일에 수행하는 2번째부터 200번째까지의 데이터 추출 작업은 무료입니다.
- 로컬에서 비대면으로 실행됩니다. 컴파일된 계획은 에이전트를 깨우거나 채팅 세션을 열어두지 않고도 로컬 스케줄에 따라 실행될 수 있습니다. 실행할 때마다 지불하거나 감독해야 하는 추론(Reasoning) 과정이 없습니다.
- 자체적인 검증 기능을 포함합니다. 각 계획은 무엇이 "실제로 성공했는지"를 정의할 수 있습니다(반드시 존재해야 하는 값, 올바른 내용을 담고 있어야 하는 페이지 등). 따라서 조용히 실패한 실행이 빈 결과로 남아서 정상처럼 보이는 대신, 실제 오류로 드러나게 됩니다.
- 자격 증명(Credentials)이 기기를 절대 벗어나지 않습니다. Tap의 확장 프로그램은 실제 Chrome에 이미 있는 세션을 재사용합니다. 아키텍처상 신뢰 경계(Trust boundary)를 넘나드는 일은 없습니다.
Tap이 의도적으로 하지 않는 것은 애초에 작업을 파악하는 역할을 수행하는 것입니다. Tap은 자체적인 모델을 가지고 있지 않습니다. 지능은 컴파일 시점에 연결된 에이전트에 존재하며, 이것이 바로 Chrome용 Claude 또는 Claude Code 자체가 투입되는 지점입니다.
이들이 결합되는 방식
두 기능 모두 Claude Code 내부의 MCP 서버이기 때문에, 하나의 세션 내에서 구성됩니다. 자연스러운 역할 분담은 다음과 같습니다:
Chrome용 Claude는 문제를 해결하는 '손'입니다. Tap은 이를 무료로 반복하는 '근육 기억(Muscle memory)'입니다.
흐름은 다음과 같습니다:
- 대화형으로 탐색합니다. Chrome용 Claude(또는 브라우저를 제어하는 Claude Code)를 사용하여 전체적인 추론(Reasoning)과 함께 실시간으로 작업을 한 번 성공시킵니다. 이 단계는 두뇌가 필요한 부분입니다.
- 컴파일합니다. 작업이 성공하면 그 흐름을 Tap 계획으로 캡처합니다. 방금 작업을 수행한 에이전트는 이를 명시적인 단계로 기록하는 방법도 알고 있습니다. 이것이 바로 컴파일입니다.
- 무료로 재생합니다. 그 이후부터 계획은 결정론적(Deterministically)으로, 토큰 비용 없이 원하는 스케줄에 따라 실행됩니다. 추론 비용은 매주 지불하는 것이 아니라 단 한 번만 지불하면 됩니다.
어시스턴트를 은퇴시키는 것이 아닙니다. 이미 해결된 문제를 다시 해결하기 위해 비용을 지불하는 것을 중단하는 것입니다.
작업별 선택 방법
- 이것이 일회성 또는 탐색적 작업인가요? → 대화형 어시스턴트 (Interactive assistant). 다시는 실행하지 않을 무언가를 컴파일(compiling)하느라 애쓰지 마세요.
- 매 실행마다 콘텐츠에 대한 새로운 판단이 필요한가요? → 대화형으로 유지하세요. 결정 사항이 오늘 페이지에 적힌 내용에 따라 달라진다면 컴파일할 수 없습니다.
- 단계가 안정적이며 반복적으로 실행할 예정인가요? → 먼저 대화형으로 한 번 작동하게 만든 다음, 이를 Tap 플랜으로 컴파일(compile)하세요. 첫 실행 이후의 모든 실행은 무료입니다.
- 스케줄에 따라 자동으로 실행되기를 원하시나요? → Tap을 사용하세요. 컴파일된 플랜은 에이전트를 깨우지 않고 실행되지만, 대화형 작업은 세션이 활성화되어 있어야 합니다.
대부분의 실제 워크로드(workloads)는 혼합된 형태입니다. 진정으로 대화형이 필요한 탐색 단계가, 반복적이지 않아야 할 반복적인 핵심 작업 위에 놓여 있는 식입니다. 각 도구를 그 단계에 적합한 용도로 사용하세요.
솔직한 경계
공정성을 유지하기 위해, Tap이 아닌 두 가지를 명시합니다.
컴파일은 반복할 때만 이득이 됩니다. 실행 과정을 플랜으로 만드는 데는 처음에 한 번의 대화형 패스(interactive pass) 비용이 듭니다. 두 번만 실행할 작업이라면 그럴 가치가 없습니다. 그냥 두 번 모두 대화형으로 진행하세요. Tap은 매주, 매일 또는 특정 트리거(trigger)에 따라 실행되는 흐름에서 제값을 합니다. 경제성이 핵심입니다. 첫 번째 실행이 비용이 많이 드는 단계이며, Tap은 이를 분할 상환(amortize)할 수 있을 때만 의미가 있습니다.
Tap은 브라우저가 실행되는 곳에서 실행됩니다. 설계 단계부터 로컬(local) 방식입니다. 세션은 사용자의 실제 기기에 있는 실제 Chrome에서 실행됩니다. 수십 개의 병렬 헤드리스(headless) 세션을 띄우는 클라우드 규모의 오케스트레이션(orchestration)이 필요하다면, 그것은 다른 도구의 역할입니다. Tap은 "내가 이미 사용 중인 브라우저에서, 내가 이미 하고 있는 일들을 자동화한다"는 그룹을 위한 것입니다.
설정 (Setup)
Tap은 Claude Code에 이미 있는 다른 것들과 함께 MCP 서버로 설치됩니다:
/plugin marketplace add LeonTing1010/taprun
/plugin install tap@taprun
v0.x 버전 동안은 모든 기능이 무료입니다. 설치가 완료되면 Tap은 네 가지 메타 동사(capture / verify / mark / run)와 저장된 모든 플랜을 호출 가능한 리소스(resource)로 노출합니다. AI는 capture 시점에만 참여하며, 재생(replay)은 기계적이고 토큰(token)이 소모되지 않습니다.
그러면 워크플로우(workflow)는 위와 같습니다. 대화형 어시스턴트(interactive assistant)가 브라우저 작업을 수행하도록 하고, 다음 주에 당신이 똑같은 일을 다시 하려 한다는 것을 깨닫는 순간 — 그것을 컴파일(compile)하여, 반복되는 작업에 비용을 지불하는 것을 멈추십시오.
원문은 taprun.dev에서 처음 게시되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기