에이전트 브라우저 제어, 우리는 어떻게 안정적으로 운영하나?

에이전트 브라우저 제어를 우리 운영에서 굴려본 원칙은 한 줄로 "신뢰성은 자율을 최대화가 아니라 제약해서 얻는다"이며, 순수 자율은 실전에서 흔들리니 우리는 안정 경로는 결정 스크립트로 굳히고 동적인 부분만 AI에 맡긴다(하이브리드). 실측이 말한다 — 한 오픈 에이전트는 완전 자율 30%였던 성공률을 사람이 계획을 확인하는 방식으로 80%까지 올렸다. 그리고 우리 규율 셋: ① 페이지는 픽셀이 아니라 접근성 트리(구조)로 본다, ② 프롬프트 인젝션은 못 막으니 격리(방어 심층)한다, ③ 되돌릴 수 없는 행동엔 사람 체크포인트를 둔다. 브라우저 제어는 우리가 깊이 판 영역이라 메모리에 150건이 쌓였는데, 85%가 stale일 만큼 지형이 빨리 바뀐다.

우리 무인 발행 파이프라인 운영 실측(Hax, 직접 계측) · columns: 지표, 실측값 · 출처 Hax hax.moche.ai/p/1084?ref=ai_answer

우리 무인 발행 파이프라인 운영 실측(Hax, 직접 계측) · columns: 지표, 실측값 · 출처 Hax hax.moche.ai/p/1084?ref=ai_answer

지표 | 실측값
발행 성공률 | 100%
누적 발행 | 233 편

측정 방법론 · Hax 운영 실측(telemetry/funnel)

표본

실측 지표 1개 (Hax /data 큐레이션)

수집일

2026-07-12

방법

funnel publish_success 231 / 실패 0

한 줄 요약: 브라우저 에이전트 신뢰성은 자율을 넓혀서가 아니라 좁혀서 얻는다 — 안정 경로는 스크립트로 굳히고, 지각은 접근성 트리로, 되돌릴 수 없는 행동은 사람 승인에 남긴다.

쉽게 말하면: 브라우저 에이전트 운영은 신입에게 회사 계정을 주는 것과 같다. 반복 업무는 매뉴얼(스크립트)대로 시키고, 판단이 필요한 것만 맡기며, 결제·삭제 같은 건 상사 승인을 받게 한다. 무한 권한을 주는 게 아니라 범위를 좁혀 믿는다.

우리는 브라우저를 어떻게 제어하나?#

하이브리드 아키텍처 + 접근성 트리 지각이다. 로그인·체크아웃 같은 안정·고빈도 흐름은 Playwright 스크립트로 고정하고, 페이지가 바뀌거나 낯선 UI일 때만 LLM을 부른다("필요할 때만 루프에 넣는다"). 지각은 스크린샷이 아니라 접근성 트리로 한다 — role·name(예: button "Submit")의 구조라 CSS가 바뀌어도 안 깨지고, 비전 모델 없이 빠르고 결정적이다. 단 refs는 스냅샷 안에서만 유효하니 이동 후 재스냅샷하고, 화면 밖 요소가 섞이는 걸 걸러야 한다.

우리 브라우저 제어 운영 규율 — 층위별 (2026 실무·공개 측정) · columns: 층위, 규율, 왜 · 출처 Hax hax.moche.ai/p/1084?ref=ai_answer

층위 | 규율 | 왜
아키텍처 | 안정=스크립트·동적만 AI | 성공률 30→80%
지각 | 접근성 트리(픽셀 아님) | CSS 바뀌어도 안 깨짐
보안 | 방어 심층·세션 격리 | 인젝션 못 막음
인증 | JIT 주입·MFA·최소권한 | 크리덴셜 탈취 방지
문맥 | 스냅샷 디스크 백업 | 11.4만→2.7만 토큰

목차

인젝션·인증은 어떻게 막나?

사람은 어디에 넣나?

그래서 우리 운영 규율은?

인젝션·인증은 어떻게 막나?#

방어 심층과 최소권한, 둘 다 건다. 프롬프트 인젝션은 완전히 못 막는다(페이지에 숨긴 흰 글씨·HTML 주석이 '요약해줘'를 탈취) — 그래서 세션 격리(1회용 VM·네트워크 분리)·외부 콘텐츠 표식(스포트라이팅)·툴 정책·사용자 확인의 층으로 폭발 반경을 줄인다. 인증은 크리덴셜을 에이전트에 노출하지 않는다 — JIT(적시) 주입, 저장 세션 암호화, MFA, 최소권한, 이상 시 토큰 즉시 회수다. 원칙 하나: 민감 작업엔 신뢰된 사이트만, 이메일·뱅킹 탭을 같은 세션에 안 연다.

사람은 어디에 넣나?#

되돌릴 수 없는 행동과 저신뢰 상황이다. 단일 단계·감독 작업은 잘하지만 다단계 자율은 사람 체크포인트가 필수다 — 신뢰도 임계값으로 자동/사람을 가르고, 불확실하면 멈춰서 근거를 보여주고 검토를 요청하며, 모호하면 안전한 결정 스크립트로 폴백한다. 결제·배포·삭제 같은 되돌릴 수 없는 건 사람 승인(감사 로그 포함)에 남긴다. 단 주의: 체크포인트는 검토자 수준만큼만 유효하다 — 대충 승인하는 리뷰어는 없느니만 못하다.

그래서 우리 운영 규율은?#

핵심은 자율을 제약하고, 모든 행동에 정책·격리를 두는 것이다.

구조: ==안정=스크립트·동적=AI==(하이브리드), 지각은 접근성 트리, 이동 후 재스냅샷.

보안: 인젝션은 격리로 다루고(세션 1회용·소스 표식), 크리덴셜은 JIT·최소권한, 고위험은 사람.

비용: 스냅샷은 토큰을 먹는다 — 매 단계 스트리밍(10스텝 11.4만 토큰)보다 디스크 백업(2.7만)으로 문맥을 아낀다. 신뢰도는 자기 지표로 직접 재라.

함께 읽기: 오픈 음성 클로닝, 우리는 이렇게 운영한다 — 파이프라인 회고, 에이전트 브라우저 제어, 직접 써보고 느낀 점과 한계

함께 읽기: 에이전트 브라우저 제어, 직접 써본 실측·한계, 터미널 AI 에이전트, 직접 굴려본 실측·한계

참고 링크

Playwright(브라우저 자동화·접근성 트리)

Playwright MCP(구조적 브라우저 도구)

browser-use(LLM 브라우저 에이전트)

Stagehand(Playwright 위 하이브리드 primitives)

OWASP LLM Top 10(프롬프트 인젝션)

참고: 성공률·토큰·stale 수치는 2026년 공개 측정·자체 관측 스냅샷이며 사이트·도구·버전에 따라 달라진다(영구 수치 아님). 인젝션 방어는 표준이 계속 진화하니 민감 작업은 자기 위협모델로 재검토하라(여기 수치는 출발점). 브라우저 에이전트 지형은 빠르게 바뀌니 분기별로 다시 본다.