22개 항목을 잽니다. 각 항목마다 그 값이 무엇을 뜻하는지, 어떤 요청을 보내 어떻게 정하는지, 개선하면 무엇이 달라지는지를 적었습니다. 배점과 계산식은 실제로 실행되는 코드에서 가져온 값입니다.
접근들어올 수 있는가
탐색안에서 움직일 수 있는가
발견길을 알려주는가
완수일이 끝났는가
계약호출할 수 있는가
에이전트는 왼쪽에서 오른쪽으로 나아갑니다. 앞 단계에서 막히면 뒤 단계는 측정 자체가 되지 않습니다 — 못 들어온 사이트의 완수율을 재는 일은 성립하지 않기 때문입니다.
실제 Muse 사용 사례로 보는 측정 항목
Meta는 2026년 9월 8일 개인 에이전트 Muse를 내놓았습니다. 먼저 Meta가 공식 발표에서 직접 보여 준 장면을 보고, 이어서 출시 뒤 2주 동안 나온 실사용 리뷰에서 그 장면이 실제로 어디서 끝나고 어디서 막혔는지를 봅니다. 일이 끝나느냐 막히느냐는 모델보다 웹사이트 쪽에서 갈렸습니다.
Meta가 직접 보여 준 장면
Meta 공식 시연2026.09.24 · Connect 2026
AI 안경으로 본 학교 준비물 목록을 그대로 주문
AI 안경을 쓰고 진열대의 상품, 벽의 전단지, 긴 학교 준비물 목록을 보며 물으면 Muse가 “행동한다”고 Meta는 소개했습니다. 같은 무대에서 월마트 · 베스트바이 · 세포라 · 웨이페어 등 제휴 매장과 Shopify 전체 카탈로그, Shop Pay · PayPal 결제를 발표했습니다.
사이트에 필요한 것
목록의 “3공 바인더 1인치”를 수백 개 상품에서 골라 가격 · 재고 · 도착일을 비교합니다. 상품 페이지가 원문 HTML과 Product 구조화 데이터로 이 값을 내놓아야 후보에 듭니다.
Meta는 Muse가 브라우저를 열고 양식을 채우며 사용자를 대신해 협상한다고 밝혔습니다. 예로 든 일은 차를 더 좋은 값에 팔기, 청구서 금액 낮추기, 생활이 바뀔 때마다 운동 계획 고치기입니다. Muse는 사용자마다 따로 둔 가상 머신(Muse Secure VM) 안에서 일합니다.
사이트에 필요한 것
견적 · 문의 · 해지 양식이 “사람인지 확인” 화면 없이 열려 있어야 하고, 예약 · 견적 같은 기능을 MCP나 API로 열어 두면 양식을 한 칸씩 흉내 낼 필요가 없습니다.
아마존은 Muse의 접속에 “허가받지 않은 AI 에이전트” 경고를 띄웠고, 타깃은 둘러보기는 허용하되 결제 클릭을 막았습니다. 어디서 막히든 사용자는 “여기서는 안 된다”는 답을 듣고, 사이트는 손님이 왔었다는 사실조차 모릅니다.
이 단계의 측정 항목
2
탐색안에서 움직일 수 있는가
아마존에 들어가지 못한 Muse는 검색엔진에서 상품 링크를 찾아왔습니다. 사이트 안을 걷지 못한 에이전트는 사이트 밖의 정보로 답을 만듭니다. 원문 HTML의 링크와 사이트 내 체류율을 재는 이유입니다.
이 단계의 측정 항목
3
발견길을 알려주는가
글루텐프리 맥주 식당을 찾던 Muse는 몇 년 전 문 닫은 식당을 추천했습니다. 영업 여부 · 메뉴 · 위치를 사이트가 기계용 안내와 구조화 데이터로 알려 주지 않으면, 에이전트는 오래된 외부 데이터를 믿습니다.
이 단계의 측정 항목
4
완수일이 끝났는가
식당 웹사이트에 해당 메뉴가 없자 Muse는 확인하지 않은 전화번호를 지어냈습니다. AOO는 답에 나온 금액 · 기간 · 전화번호가 사이트 본문에도 있을 때만 “완수”로 칩니다.
이 단계의 측정 항목
5
계약호출할 수 있는가
OpenTable 예약과 이사업체 견적 양식은 끝까지 처리됐습니다. 예약 · 견적 · 결제 같은 기능을 열어 둔 사이트에서 에이전트는 읽기를 넘어 일을 끝냅니다.
이 단계의 측정 항목
점수 읽는 법
100점은 작업 완수율 35 · 자체 출처 인용 20 · 안내 따라가기 20 · 자체 발견 15 · 응답 신뢰도 10으로 계산합니다. 카드 오른쪽 위의 배점은 그 항목이 어디에 얼마만큼 들어가는지를 뜻하고, “보고 전용”은 점수에 넣지 않고 리포트에만 보여 주는 항목입니다. 앞 단계에서 막히면 뒤 단계는 잴 수조차 없다는 점이 가장 중요합니다 — 못 들어온 사이트의 완수율은 존재하지 않습니다.
진입
접근
접근 30점의 절반
왜 재나
사람은 주소창에 도메인만 쳐도 브라우저가 알아서 www로, https로 넘어가 줍니다. 에이전트는 같은 요청을 보내도 리디렉션이 꼬여 있거나 응답이 없으면 거기서 포기합니다. 모든 측정의 출발점이라, 이 문이 열리지 않으면 나머지 항목은 잴 수조차 없습니다.
정의
에이전트가 홈페이지 응답을 받아낼 수 있는가. 리디렉션을 몇 번 거치는가.
측정 방법
에이전트 User-Agent로 도메인 루트에 GET 요청
리디렉션을 따라가며 홉 수를 기록하고 순환을 감지
홉 0회 100점 / 1–2회 90점 / 3회 이상 70점 / 4xx·5xx 10점 / 무응답·순환 0점
예시
좋은 예
example.com → https://www.example.com/ 으로 한 번 넘어가 200 응답. 90점.
나쁜 예
example.com → /ko → /ko/main → /ko/main?lang=ko → 다시 /ko 로 도는 순환. 사람의 브라우저는 쿠키 덕분에 빠져나오지만, 쿠키를 들고 다니지 않는 에이전트는 끝없이 돕니다. 0점.
개선 효과
여기서 0점이면 나머지 세 영역이 전부 0이 됩니다. 콘텐츠 품질과 무관하게 진단이 성립하지 않습니다.
이렇게 고치세요
루트 도메인에서 최종 주소까지의 리디렉션을 한 번으로 줄이세요.
언어·지역 이동을 쿠키가 아니라 URL 규칙(/ko, /en)으로 처리하세요.
example.com과 www.example.com이 둘 다 응답하게 하세요.
주의 apex(example.com)만 두고 www로만 서비스하는 경우가 흔합니다. AOO는 apex와 www를 모두 시도해 실제 서비스되는 쪽을 씁니다.
차단 여부
접근
접근 30점의 절반
왜 재나
검색 크롤러나 스크래퍼를 막으려고 넣은 robots.txt 규칙과 방화벽 설정이, 사용자를 대신해 온 AI 에이전트까지 막는 경우가 많습니다. 사이트 주인은 막았다는 사실조차 모르는 경우가 대부분입니다.
정의
robots.txt나 방화벽이 에이전트를 걸러내는가.
측정 방법
robots.txt를 읽어 에이전트 User-Agent에 대한 Disallow 규칙을 해석
홈페이지가 403·429를 돌려주면 방화벽 차단으로 판정 (0점)
Disallow 규칙만 있으면 70점, robots.txt 자체가 없으면 80점 상한
AI 회사별 크롤러 16종은 “AI 크롤러별 접근” 항목에서 따로 판정합니다
예시
좋은 예
robots.txt에서 /admin/ 같은 관리 경로만 Disallow하고, 공개 페이지는 모두 열어 둔 사이트.
나쁜 예
User-agent: * 아래 Disallow: / 한 줄. 개발 서버용 설정이 운영 서버에 그대로 올라간 경우가 흔합니다. AOO는 이 사이트를 진단하지 않고 “robots.txt 차단”으로 기록합니다.
개선 효과
차단을 풀면 진단이 시작됩니다. 지금은 점수가 아니라 존재 자체가 없는 상태입니다.
이렇게 고치세요
robots.txt를 열어 * 그룹에 Disallow: /가 있는지 확인하세요.
방화벽(WAF)의 봇 차단 규칙에서 AI 에이전트를 예외로 두세요.
학습만 막고 싶다면 전체 차단 대신 학습용 크롤러만 이름으로 막으세요 (“AI 크롤러별 접근” 참고).
실측 진단 자체가 막힌 36곳 중 27곳이 robots.txt로 스스로 막고 있었습니다. 대개 크롤러를 막으려다 에이전트까지 막은 경우입니다.
주의 403·429는 신뢰도 계산에서 아예 빼냅니다. 포함시키면 사이트 품질이 아니라 WAF 정책을 재게 되기 때문입니다.
AI 크롤러별 접근
접근
보고 전용
왜 재나
이제 “AI 에이전트”는 하나가 아닙니다. Meta, OpenAI, Google, Anthropic, Perplexity가 각각 모델 학습용 · AI 검색용 · 사용자 요청용 크롤러를 따로 운영하고, robots.txt도 이름별로 따로 해석됩니다. 학습을 막으려고 GPTBot을 막은 것은 괜찮지만, 같은 줄에 OAI-SearchBot까지 넣으면 ChatGPT 검색 답변에서 사이트가 빠집니다.
정의
robots.txt가 AI 회사별 크롤러 16종을 각각 허용하는지, 일부 제한하는지, 차단하는지. Meta(Muse) · OpenAI · Google · Anthropic · Perplexity · Apple · Common Crawl.
측정 방법
robots.txt를 크롤러 이름별 규칙 묶음으로 해석 (RFC 9309) — 이름이 적힌 묶음이 있으면 그것을, 없으면 * 묶음을 적용
사이트 루트(/)가 막히면 “차단”, 루트는 열렸지만 Disallow 규칙이 있으면 “일부 제한”
용도별로 분류: AI 검색 · 사용자 요청 · 모델 학습 · 링크 미리보기
Meta의 AI 검색·사용자 요청 크롤러가 막히면 “높음”, 다른 회사의 검색·요청 크롤러면 “보통” 발견 사항
예시
좋은 예
User-agent: GPTBot과 User-agent: meta-externalagent만 Disallow: /, 나머지는 허용. 모델 학습에는 쓰이지 않으면서 ChatGPT와 Meta AI의 답변에는 출처로 인용됩니다.
나쁜 예
보안 솔루션이 권한 “AI 봇 전체 차단” 목록을 그대로 붙여 meta-webindexer, OAI-SearchBot, PerplexityBot까지 막은 사이트. Muse 이용자가 이 브랜드를 물으면 다른 사이트의 설명이 답이 됩니다.
개선 효과
Meta AI, ChatGPT, Gemini, Claude, Perplexity가 “이 사이트를 읽어도 되는가”를 판단하는 첫 관문입니다. 학습은 막고 답변용 읽기는 허용하는 식의 세밀한 설정을 리포트에서 바로 확인할 수 있습니다.
지문이 있어도 본문이 살아 있으면 차단으로 세지 않습니다 — 가입 폼에 붙인 CAPTCHA와 챌린지 페이지는 다릅니다
예시
좋은 예
가입 폼에만 Turnstile을 붙이고 공개 페이지는 그대로 보여주는 사이트. 지문은 보이지만 차단으로 세지 않습니다.
나쁜 예
모든 페이지에 들어갈 때마다 Cloudflare 챌린지가 먼저 뜨는 사이트. 에이전트는 “Just a moment…” 페이지만 읽고 작업 10개를 모두 실패합니다.
개선 효과
차단 벽 하나가 나머지 모든 개선을 무의미하게 만듭니다. 에이전트 User-Agent를 허용 목록에 넣거나 챌린지 대상에서 빼는 것만으로 진단이 성립합니다.
이렇게 고치세요
봇 관리 설정에서 공개 정보 페이지를 챌린지 대상에서 빼세요.
알려진 AI 에이전트를 허용 목록에 넣으세요.
쿠키 배너는 본문 위에 겹쳐 띄우되, 본문 HTML 자체는 그대로 두세요.
실측 222곳 중 CAPTCHA 스크립트가 있는 곳이 18곳, 그중 실제로 본문을 막은 곳이 12곳이었습니다. 진에어·에어부산·에어로케이·에어서울은 재진단에서 점수가 절반 이하로 내려갔습니다 (진에어 50 D → 18 F).
주의 구현 첫 판에서 이 구분을 하지 않아, 가입 폼에 Turnstile을 붙인 정상 사이트를 차단된 것으로 보고했습니다. 지문이 있는 것과 막고 있는 것은 다릅니다.
주의 차단은 상시가 아닙니다. 같은 사이트를 몇 분 뒤 다시 재면 정상 페이지를 주는 경우가 있습니다 — 유한킴벌리는 스캔에서 챌린지를 내밀었지만 재진단 때는 71KB 정상 페이지를 줘 93 A를 유지했습니다. 진단서의 차단 표시는 "그 시점에 관측됨"이지 "항상 막힌다"가 아닙니다. 진단 쪽 동시 요청이 스스로 챌린지를 유발할 수도 있어 프로브 동시성을 3으로 낮춰 두었습니다.
응답 지연
접근
800ms 초과 −5 · 1800ms 초과 −10
왜 재나
사람은 2초쯤 기다려 주지만, 에이전트는 작업 하나에 수십 번 요청하므로 지연이 곱해집니다. 페이지당 2초면 작업 하나에 1분이 넘고, 시간 제한에 걸려 중간에 끊깁니다.
정의
요청을 보내고 첫 응답 헤더가 돌아오기까지의 시간.
측정 방법
홈페이지에 GET을 보내 헤더 수신 시점까지의 경과 시간을 측정
800ms 이하 통과 / 800–1800ms 경고 / 1800ms 초과 실패
예시
좋은 예
첫 바이트까지 250ms. CDN 캐시가 적용된 정적 페이지.
나쁜 예
홈페이지 첫 응답 2.4초. 방문자별 추천을 서버에서 매번 계산하느라 늦습니다.
개선 효과
에이전트는 한 작업에 수십 번 요청합니다. 지연이 쌓이면 작업이 시간 초과로 끊기고, 완수율이 그대로 떨어집니다.
이렇게 고치세요
공개 페이지는 CDN에서 캐시하세요.
개인화 영역은 페이지를 먼저 보낸 뒤 따로 불러오세요.
서버 응답 시간을 모니터링 지표에 넣으세요.
주의 실패가 아니라 비용이라 감점 폭을 작게 잡았습니다. 임계값은 AgentSpeed가 공개한 기준을 따랐습니다 — 이 값을 공개한 유일한 도구입니다.
본문 밀도
탐색
보고 전용
왜 재나
에이전트는 읽은 글자 수만큼 비용(토큰)을 씁니다. 스크립트와 스타일이 대부분인 페이지는 같은 정보를 얻는 데 몇 배 비싸고, 너무 길면 중간에 잘려 뒤쪽 정보를 놓칩니다.
정의
script·style을 걷어낸 뒤 남는 본문 텍스트가 전체 HTML 바이트에서 차지하는 비율.
측정 방법
홈페이지 원문 HTML을 파싱해 script·style·noscript·svg 제거
남은 본문 텍스트 바이트 ÷ 전체 HTML 바이트
예시
좋은 예
40KB HTML 중 본문 텍스트 30%.
나쁜 예
600KB HTML 중 본문 2% — 인라인 스크립트와 추적 코드가 대부분입니다.
개선 효과
에이전트가 한 페이지를 이해하는 데 드는 토큰을 좌우합니다. 밀도가 낮으면 같은 답을 얻는 데 더 비싼 사이트가 됩니다.
이렇게 고치세요
인라인 스크립트와 스타일을 외부 파일로 빼세요.
쓰지 않는 추적 태그를 정리하세요.
정책·요금 같은 텍스트 페이지는 가볍게 유지하세요.
실측 측정해 보면 격차가 큽니다 — 118KB를 보내면서 본문이 3%인 사이트가 있고, 11KB를 보내면서 본문이 0%인 자바스크립트 껍데기도 있습니다.
주의 조사한 어떤 도구도 이 값을 재지 않습니다. 아직 점수에 넣지 않고 관찰만 합니다 — 적정 구간을 정하려면 표본이 더 필요합니다.
신흥 표준 탐지
계약
하나당 3점 · 최대 9점
왜 재나
에이전트 생태계의 새 표준들입니다. 지금은 거의 쓰이지 않지만, 쓰고 있는 플랫폼이 자동으로 붙여 준 경우가 있어 알고 있으면 좋습니다.
신호 없이 AI 크롤러를 모두 Disallow로 막음 — 학습뿐 아니라 AI 답변에 나올 기회까지 잃습니다.
개선 효과
허용과 차단 사이의 중간 지대를 표현할 수 있습니다. 크롤링은 열되 학습은 막는 식의 의사를 기계가 읽는 형태로 남깁니다.
이렇게 고치세요
robots.txt에 Content-Signal 줄을 추가하세요.
“AI 크롤러별 접근” 규칙과 함께 쓰세요.
주의 점수에 넣지 않습니다. 이것은 사이트의 정책 선언이지 품질이 아니며, 학습을 막는 선택을 감점하는 것은 측정이 아니라 편들기입니다.
연동 표면 종합
계약
세로축 25%
왜 재나
연동 수단이 여러 개여도 에이전트는 가장 쓸 만한 하나를 씁니다. 약한 힌트를 여러 개 쌓는 것보다 제대로 된 하나가 낫다는 점을 점수에 반영했습니다.
정의
위 계약 항목들을 하나로 합친 0–100 값.
측정 방법
가장 강한 계약 하나가 기본 점수를 정합니다 (MCP 100 · ai-plugin 90 · OpenAPI 80 …)
나머지 계약은 각 가중치의 12%씩만 더합니다
구조화 데이터 +12, 마크다운 협상 +18, 구조화된 오류 +8
모두 합산해 100으로 자릅니다
예시
좋은 예
제대로 응답하는 MCP 엔드포인트 하나 — 기본 100점.
나쁜 예
껍데기 swagger.json, 빈 ai-plugin.json, 방치된 agents.json — 모두 약해 합쳐도 연동이라 보기 어렵습니다.
개선 효과
가장 강한 것 하나가 지배하는 구조입니다. MCP가 있으면 swagger.json이 있든 없든 연동된 사이트이고, 약한 힌트 다섯 개는 연동이 아니기 때문입니다.
이렇게 고치세요
가장 쓸모 있는 한 가지(보통 MCP나 잘 문서화된 OpenAPI)에 집중하세요.
정적 표면을 채점하는 도구와, 실제로 일을 시켜보는 진단
조사한 상용 도구 — Vercel·Ora의 is-agentic(118개 체크), Cloudflare Agent Readiness(20만 도메인), AgentSpeed, AgentGrade — 은 모두 사이트의 정적 표면만 채점합니다. 반대로 학계 벤치마크(WebArena·Mind2Web·WebVoyager·WebCanvas)는 에이전트를 채점하지 사이트를 채점하지 않습니다. 에이전트를 실제로 붙여 작업 완수율을 내고 그것을 사이트 점수로 환산하는 방식은 조사 범위에서 AOO뿐이었습니다.
다른 도구
AOO
무엇을 근거로 점수를 내는가
파일 존재 여부와 HTML 검사 — 실제 작업은 시켜보지 않음
10개 작업을 실제로 시키고, 답의 근거가 사이트 바이트에 있는지 대조
차단 요인
AgentSpeed만 CAPTCHA·쿠키벽·로그인벽을 보며, 여기에 가중치 70%를 검
2026년 8월 도입. 지문 존재와 실제 차단을 구분해 판정
프로토콜 디스커버리 배점
일부 도구가 크게 배점 — 채택률이 0%에 가까워 전원이 같이 실패
탐지는 하되 최대 9점. 변별력을 지키기 위해 의도적으로 작게
응답 지연
AgentSpeed만 측정 (<800ms 통과 / >1800ms 실패)
같은 임계값을 채택. 실패가 아니라 비용이므로 감점 폭은 작게
본문 밀도
측정하는 도구 없음
측정해 보고. 표본이 쌓이기 전까지 점수에는 넣지 않음
차단된 사이트 처리
대부분 표본에서 제외
차단 자체를 결과로 보고 차트에 남김 (현재 36곳)
일부러 넣지 않은 것
ACP (Agentic Commerce Protocol)
디스커버리 파일이 없어 탐지 자체가 불가능합니다. OpenAI가 2026년 3월 Instant Checkout을 접었고, 끝까지 연동한 가맹점은 30곳 미만이었습니다.
AP2 (Agent Payments Protocol)
HTTP 디스커버리 엔드포인트가 없습니다. UCP 매니페스트에 실린 capability로만 간접 확인됩니다.
NLWeb
선언 파일이 없어 /ask·/mcp를 블라인드로 찍어야 하는데, 두 경로 모두 흔해 오탐 위험이 큽니다.
agents.json · ai-plugin.json
전자는 2025년 2월 이후 방치, 후자는 ChatGPT 플러그인과 함께 폐기됐습니다. 지금 발견되면 준비된 것이 아니라 방치된 연동의 흔적입니다.