본 콘텐츠는 사용자의 편의를 고려해 자동 기계 번역 서비스를 사용하였습니다. 영어 원문과 다른 오류, 누락 또는 해석상의 미묘한 차이가 포함될 수 있습니다. 필요하시다면 영어 원문을 참조하시기를 바랍니다.
AI 에이전트는 웹과 상호작용해야 합니다. 그러려면 브라우저가 필요합니다. 사이트를 탐색하고, 페이지를 읽고, 양식을 작성하고, 데이터를 추출하고, 스크린샷을 찍어야 합니다. 일이 예상대로 작동하고 필요한 경우 사람이 개입할 수 있는 방법이 있는지 지켜봐야 합니다. 그리고 이 모든 작업을 대규모로 수행해야 합니다.
오늘, Cloudflare는 브라우저 렌더링의 이름을 Browser Run으로 변경하고, 이를 AI 에이전트 를 위한 브라우저로 만드는 주요 기능을 제공합니다. 브라우저 렌더링이라는 이름에는 해당 제품의 기능을 완전히 담을 수 없었습니다. Browser Run을 사용하면 Cloudflare의 전역 네트워크에서 전체 브라우저 세션을 실행하고, 코드 또는 AI로 세션을 구동하며, 세션을 기록 및 재생하고, 콘텐츠를 위한 페이지를 크롤링하고, 실시간으로 디버그하고, 에이전트가 도움을 필요로 할 때 사람이 개입할 수 있습니다.
새로운 기능:
라이브 뷰: 에이전트가 보고 수행하는 작업을 실시간으로 확인하세요. 올바르게 작동하면 즉시 알아내고, 작동하지 않을 때는 그 이유를 정확히 파악하세요.
휴먼 인 더 루프: 에이전트가 로그인 페이지나 예상치 못한 엣지 케이스와 같은 문제에 직면했을 때, 실패하는 대신 사람에게 작업을 넘길 수 있습니다. 사람이 개입하여 해결한 다음, 제어 능력을 다시 넘겨줍니다.
Chrome DevTools 프로토콜(CDP) 엔드포인트: Chrome DevTools 프로토콜은 에이전트가 브라우저를 제어하는 방법입니다. 이제 Browser Run을 통해 CDP가 직접 노출되므로 에이전트는 브라우저와 기존 CDP 스크립트가 Cloudflare에서 작동하도록 최대한 제어할 수 있습니다.
MCP 클라이언트 지원: Claude Desktop, Cursor, OpenCode 등의 AI 코딩 에이전트는 이제 Browser Run을 원격 브라우저로 사용할 수 있습니다.
WebMCP 지원: 웹을 사용하는 사람보다 에이전트가 많아질 것입니다. WebMCP를 사용하면 웹 사이트에서 에이전트가 검색하고 호출할 수 있는 작업을 선언할 수 있으므로 탐색의 안정성이 높아집니다.
세션 기록: 디버깅 목적으로 모든 브라우저 세션을 캡처합니다. 무언가 잘못되었을 때에도 문서 개체 모델 변경, 사용자 상호 작용, 페이지 탐색 등을 모두 기록합니다.
더 높은 제한: 30개에서 늘어난 120개의 동시 브라우저로 한 번에 더 많은 작업을 실행합니다.
Amazon에서 오렌지 라바 램프를 검색하여 옵션을 비교하며, 구매를 완료하기 위해 로그인이 필요한 경우, 인간에게 건네주는 AI 에이전트
웹을 검색할 때 에이전트에게 무엇이 필요하고 각 기능이 어떻게 적합한지 생각해 보겠습니다.
| 상담원에게 필요한 것 |
Browser Run(이전의 Browser Rendering) |
| 1) 온디맨드 브라우저 |
Cloudflare 전역 네트워크의 Chrome 브라우저 |
| 2) 브라우저 제어 방법 |
Puppeteer, Playwright, CDP (new), MCP Client Support (new) 및 WebMCP (new)를 사용하여 탐색, 클릭, 양식 작성, 스크린샷 등의 작업을 수행하세요. |
| 3) Observability |
라이브 뷰(신규), 세션 녹화(신규), 대시보드 재설계(신규) |
| 4) 인적 개입 |
인간의 순환(신규) |
| 5) 규모 |
Quick Actions의 경우 초당 요청 10회, 동시 브라우저 120개(4배 증가) |
첫째, 에이전트에는 브라우저가 필요합니다. 에이전트는 Browser Run을 이용해 Cloudflare의 전역 네트워크에서 헤드리스 Chrome 인스턴스를 온디맨드로 가동할 수 있습니다. 인프라를 관리할 필요도 없고, Chrome 버전을 유지할 필요도 없습니다. 브라우저 세션은 사용자와 가까운 곳에서 열리기 때문에 대기 시간이 짧으며 필요에 따라 확장 및 축소됩니다. Browser Run을 Agents SDK 와 페어링하여 웹을 탐색하고 모든 것을 기억하며 스스로 작동하는 장기 실행 에이전트를 구축하세요.
에이전트에 브라우저가 표시되면 이를 제어할 수 있는 방법이 필요합니다. Browser Run은 Puppeteer와 Playwright를 사용한 기존의 고수준 자동화, 간단한 작업을 위한 Quick Actions 등 Chrome DevTools Protocol(CDP)과 WebMCP를 사용한 새로운 저수준 프로토콜 액세스와 같은 다양한 접근 방식을 지원합니다. 세부 사항을 살펴보겠습니다.
Chrome DevTools Protocol(CDP)는 브라우저 자동화를 지원하는 저수준 프로토콜입니다. CDP를 직접적으로 노출한다는 것은 에이전트 도구의 생태계가 성장한다는 것을 의미하며, 기존 CDP 자동화 스크립트는 Browser Run을 사용할 수 있습니다. Chrome DevTools를 열고 페이지를 검사하면 CDP가 실행되고 있습니다. Puppeteer, Playwright, 대부분의 에이전트 프레임워크는 이를 기반으로 구축됩니다.
Browser Run의 모든 방식은 실제로 이미 CDP를 이용하고 있습니다. 새로운 점은 Cloudflare에서 이제 엔드포인트로 직접 CDP를 노출한다는 것입니다. CDP는 브라우저를 통해 가능한 대부분의 제어 권한을 에이전트에 제공하기 때문에 이는 에이전트에 중요합니다. 에이전트 프레임워크는 이미 CDP를 기본적으로 사용하고 있으며 이제 Browser Run에 직접 연결할 수 있습니다. 또한 CDP는 JavaScript 디버깅과 같이 Puppeteer 또는 Playwright를 통해 사용할 수 없는 브라우저 액션을 지원합니다. 또한 고위 수준 라이브러리를 거치는 대신 원시 CDP 메시지로 작업하므로 보다 토큰 효율적으로 브라우저를 제어하기 위해 모델에 메시지를 전달할 수 있습니다.
자체 호스팅 Chrome에 대해 실행되는 CDP 자동화 스크립트가 이미 있는 경우, 단 한 줄의 구성 변경으로 Browser Run에서 스크립트가 작동합니다. WebSocket URL이 Browser Run을 가리키도록 하고 자체 브라우저 인프라 관리를 중지합니다.
// Before: connecting to self-hosted Chrome
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:9222/devtools/browser'
});
// After: connecting to Browser Run
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-rendering/devtools/browser',
headers: { 'Authorization': 'Bearer <API_TOKEN>' }
});
또한 CDP 엔드포인트를 사용하면 Browser Run에 더 쉽게 액세스할 수 있습니다. 이제 Cloudflare Worker를 작성할 필요 없이 모든 언어와 환경에서 연결할 수 있습니다. (이미 Workers를 사용하고 있다면 아무 것도 변경되지 않습니다.)
MCP 클라이언트에서 Browser Run 사용
이제 Browser Run에 Chrome DevTools 프로토콜(CDP)이 제공되므로 Claude Desktop, Cursor, Codex, OpenCode 등의 MCP 클라이언트는 Browser Run을 원격 브라우저로 사용할 수 있습니다. Chrome DevTools 팀의 chrome-devtools-mcp 패키지 는 AI 코딩 어시스턴트가 Chrome DevTools의 모든 기능에 액세스할 수 있도록 해주는 MCP 서버로, 안정적인 자동화, 심층적인 디버깅, 성능 분석을 제공합니다.
다음은 Claude Desktop에 대해 Browser Run을 구성하는 방법의 예입니다.
{
"mcpServers": {
"browser-rendering": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-rendering/devtools/browser?keep_alive=600000",
"--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\"}"
]
}
}
}
다른 MCP 클라이언트의 경우, MCP 클라이언트로 Browser Run 사용에 대한 문서를 참조하세요.
인터넷은 인간을 위해 구축되었으므로 오늘날 AI 에이전트로서의 탐색은 신뢰할 수 없습니다. 미래에는 인간보다 에이전트가 웹을 사용하는 것이 더 많을 것으로 예상됩니다. 이러한 상황에서는 사이트는 에이전트 친화적이어야 합니다.
그래서 Chromium 146+에 상륙한 Google Chrome 팀의 새로운 브라우저 API인 WebMCP에 대한 지원을 시작합니다. WebMCP를 사용하면 웹 사이트에서 AI 에이전트에 직접 도구를 노출하여 각 페이지에서 에이전트가 발견하고 호출할 수 있는 작업을 선언할 수 있습니다. 이를 통해 에이전트가 웹을 보다 안정적으로 탐색할 수 있습니다. 상담원이 사이트 사용 방법을 알아내야 하는 대신, 웹 사이트에서 상담원이 도구를 찾고 이용할 수 있도록 도구를 공개할 수 있습니다.
이를 가능하게 하는 두 가지 API:
오늘날 여행 예약 사이트를 방문하는 에이전트는 UI를 보고 이를 파악해야 합니다. WebMCP를 사용하면 사이트에 "출발지, 목적지, 날짜를 사용하는 search_flights 도구가 있습니다"라고 선언합니다. 에이전트는 느린 스크린샷-분석-클릭 루프를 반복할 필요 없이 직접 이를 호출합니다. 따라서 UI가 잠재적으로 변경되더라도 탐색이 더 신뢰할 수 있게 됩니다.
도구는 사전 로드되지 않고 페이지에서 검색됩니다. 이는 가능한 모든 사이트에 대해 MCP 서버를 미리 로드하는 것이 가능하지 않고 컨텍스트 윈도우가 비대해진 웹 롱테일에서 중요합니다.
WebMCP를 사용하여 Chrome DevTools 콘솔을 통해 호텔 예약, listTools()로 사용 가능한 도구 검색
새로운 브라우저 기능이 안정적인 Chrome에 출시되기 전에 테스트해 볼 수 있도록 Chrome 베타를 실행하는 브라우저 인스턴스가 포함된 실험적인 풀을 운영하고 있습니다. 저희는 최근 CLI에서 직접 브라우저 세션을 관리할 수 있는 Wrangler 브라우저 명령을 출시하여 터미널에서 직접 브라우저 세션을 생성하고 관리하고 볼 수 있도록 했습니다. WebMCP 지원 브라우저에 액세스하려면 다음 Wrangler 명령을 사용하여 실험적 풀에서 세션을 생성하세요.
npm i -g wrangler@latest
wrangler browser create --lab --keepAlive 300
CDP와 WebMCP는 새롭지만, Browser Run을 통해 전체 브라우저 자동화를 위해 이미 Puppeteer, Playwright 또는 Stagehand 를 사용할 수 있습니다. 그리고 스크린샷 캡처, PDF 생성, 마크다운 추출과 같은 간단한 작업을 위한 빠른 작업 엔드포인트가 있습니다.
또한 최근에는 한 번의 API 호출로 전체 사이트를 크롤링할 수 있는 /crawl 엔드포인트 가 출시되었습니다. 시작 URL을 지정하면 페이지가 자동으로 발견되고 스크래핑된 다음 원하는 형식(HTML, Markdown, 구조화된 JSON)으로 반환되며, 크롤링 깊이와 범위를 제어하고 변경되지 않은 페이지를 건너뛰고 특정 위치를 지정하는 추가 매개변수가 있습니다. 포함하거나 제외할 수 없습니다.
저희는 의도적으로 /crawl을 잘 작동하는 크롤러로 만들었습니다. 즉, 즉시 사이트 소유자의 기본 설정을 존중하고, 고유한 봇 ID로 서명된 에이전시이며, Web Bot Auth를 사용하여 암호로 서명되고, 사용자 지정 불가능한 User-Agent이며, robots.txt와 AI Crawl Control을 따릅니다. Cloudflare의 봇 보호 또는 캡차를 우회하지 않습니다. 사이트 소유자는 해당 콘텐츠에 액세스할 수 있는지 여부를 선택하며 /crawl 은 이를 준수합니다.
# Initiate a crawl
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \
-H 'Authorization: Bearer <apiToken>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://blog.cloudflare.com/"
}'
첫 시도가 항상 제대로 되지는 않습니다. 우리는 자동화가 실패했을 때 왜 실패했는지 알 수 없다는 고객의 이야기를 계속 들었습니다. 따라서 상황을 관찰할 수 있는 여러 가지 방법을 추가하여 에이전트가 관찰하는 내용을 실시간으로 그리고 사후에 정확히 확인할 수 있도록 했습니다.
라이브 뷰를 통해 상담원의 브라우저 세션을 실시간으로 시청할 수 있습니다. 에이전트를 디버깅할 때나 긴 자동화 스크립트를 실행 중일 때, 어떤 일이 일어나고 있는지 그 순간에 정확히 볼 수 있습니다. 여기에는 페이지 자체는 물론 문서 개체 모델, 콘솔, 네트워크 요청이 포함됩니다. 예상한 버튼이 없거나, 페이지에 인증이 필요하거나, 캡차가 표시되는 등 문제가 발생하는 경우 즉시 포착할 수 있습니다.
라이브 뷰에 액세스하는 방법에는 두 가지가 있습니다. 코드에서 검사하려는 브라우저의 session_id를 얻고 Chrome의 응답에서 devtoolsFrontendURL을 엽니다. 또는 Cloudflare 대시보드에서 Browser Run 섹션의 새로운 라이브 세션 탭을 열고 활성 세션을 클릭하면 됩니다.
실시간 브라우저 활동을 보여주는 호텔 예약 AI 에이전트의 라이브 뷰
시간이 되실 때 라이브 뷰가 유용하지만, 모든 세션을 시청할 수는 없습니다. Session Recordings 는 문서 개체 모델 변경, 마우스 및 키보드 이벤트, 페이지 탐색 등을 구조화된 JSON으로 캡처하므로 사용자는 세션이 끝난 후 세션을 재생할 수 있습니다.
브라우저를 시작할 때 recording:true 를 전달하여 세션 기록을 활성화하세요. 세션이 닫힌 후 실행 탭에서 Cloudflare 대시보드의 기록에 액세스하거나 API를 통해 기록을 검색하고 rrweb-player로 재생할 수 있습니다. 다음으로, 기록 중 어느 시점에 문서 개체 모델 상태와 콘솔 출력을 검사할 수 있는 기능을 추가할 것입니다.
Sentry Shop을 브라우징하고 카트에 보머 재킷을 담는 브라우저 자동화의 세션 기록 재생
이전에는 Browser Run 대시보드에 브라우저 세션의 로그만 표시되었습니다. 스크린샷, PDF, 마크다운, 크롤링에 대한 요청이 표시되지 않았습니다. 새롭게 디자인된 대시보드가 이러한 상황을 바꿉니다. 새로운 Runs 탭에는 모든 요청이 표시됩니다. 엔드포인트를 기준으로 필터링하고 대상 URL, 상태, 기간 등의 세부 정보를 볼 수 있습니다.
Browser Run 대시보드 단일 보기에 브라우저 세션과 빠른 작업(예: PDF, 스크린샷, 크롤링)을 표시하는 실행 탭 및 진행 상황을 표시할 수 있도록 크롤링 작업이 펼쳐져 있음
요원은 훌륭하지만, 완벽하지는 않습니다. 때때로 개입할 인간이 필요합니다. Browser Run은 인간이 라이브 브라우저 세션을 제어하고, 자동화가 할 수 없는 것을 처리한 다음, 세션을 계속할 수 있는 인간 더 루프 워크플로우를 지원합니다.
자동화가 한계에 부딪혔을 때 재시작할 필요가 없습니다. 휴먼 인 더 루프를 사용하면 페이지에 직접 개입하여 클릭, 입력, 탐색, 자격 증명 입력 또는 양식 제출을 할 수 있습니다. 이를 통해 상담원들이 처리할 수 없는 워크플로우를 이용할 수 있습니다.
오늘부터 모든 활성 세션에 대한 라이브 뷰 URL을 열어 참여할 수 있습니다. 다음으로, 에이전트가 도움이 필요하다는 신호를 보내고, 사람이 들어오도록 통지하고, 문제가 해결되면, 에이전트에게 제어권을 다시 넘길 수 있는 핸드오프 흐름을 추가할 예정입니다.
Amazon에서 오렌지 라바 램프를 검색하여 옵션을 비교하며, 구매를 완료하기 위해 로그인이 필요한 경우, 인간에게 건네주는 AI 에이전트
많은 고객이 더 많은 속도를 위해 제한을 높여달라고 요청합니다.
기본 동시 브라우저 제한을 30개에서 120개로 4배 늘렸습니다. 모든 세션을 통해 글로벌 웜 인스턴스 풀의 브라우저에 즉시 액세스할 수 있으므로 브라우저가 가동될 때까지 콜드 스타트를 기다리지 않아도 됩니다. 3월에는 또한 Quick Actions의 제한을 초당 10개의 요청으로 늘렸습니다. 더 높은 제한이 필요한 경우 요청 시 이를 이용할 수 있습니다.
휴먼 인 더 루프 핸드오프: 현재 라이브 뷰를 통해 브라우저 세션에 개입할 수 있습니다. 이제 머지않아 에이전트가 도움이 필요할 때 신호를 보낼 수 있으므로 사람이 들어오면 이를 알리는 알림을 구축할 수 있습니다.
세션 기록 검사: 이미 타임라인을 스크러빙하고 모든 세션을 재생할 수 있습니다. 곧 여러분은 문서 개체 모델 상태와 콘솔 출력도 검사할 수 있게 될 것입니다.
추적 및 브라우저 로그: 코드를 계측하지 않고 디버깅 정보에 액세스합니다. 콘솔 로그, 네트워크 요청, 타이밍 데이터. 고장 난 경우 원인을 알 수 있습니다.
Workers에서 직접 제공하는 스크린샷, PDF, 마크다운: REST API 를 통해 수행할 수 있는 동일한 간단한 작업이 Workers 바인딩에서도 제공됩니다. env.BROWSER.screenshot() API 토큰 없이도 작동합니다.
Browser Run은 오늘부터 Workers Free 요금제와 Workers Paid 요금제 모두에서 사용할 수 있습니다. 라이브 뷰, 휴먼, 세션 레코딩, 더 높은 동시성 제한 등 오늘 출시된 모든 제품은 사용할 준비가 되었습니다.
이미 브라우저 렌더링을 사용하고 있었다면, 새로운 이름과 더 많은 기능을 제외하고는 모든 것이 동일하게 작동합니다.
시작하려면 문서 를 확인하세요.