Huny's Dev Blog
huny.dev

Gemini Computer Use 정식 출시: 클릭 제안과 실행 승인을 분리하기

2026년 10월 30일 Computer Use GA를 계기로 모델과 실행기의 책임을 구분한다. 로컬 정책 테스트 10개와 브라우저 세션·화면 캡처의 한계로 승인·재시도·결과 확인 경계를 정리한다.

Hun Jang
Hun Jang Oct 31, 2026

화면 조작과 승인 경계를 표현한 생성형 개념 이미지다. 실제 제품 화면이 아니다.

Computer Use가 정식 출시되면 브라우저 업무를 곧바로 무인 실행해도 될까? 먼저 구분할 것은 모델의 동작 제안과 애플리케이션의 실행 권한이다. 클릭을 잘 예측하는 모델과 안전하게 클릭하는 서비스는 같은 결과물이 아니다.

Google은 2026년 10월 30일 Gemini Computer Use를 Interactions와 GenerateContent API에서 정식 출시했다. 브라우저 자동화 도입을 검토할 계기는 생겼지만, GA를 실행 성공이나 승인 생략의 보장으로 읽어서는 안 된다. 공식 변경 기록

모델이 클릭을 제안하고, 실행기는 실제로 누른다

공식 가이드는 browser·mobile·desktop 환경을 다룬다. 화면을 전달하면 모델이 UI 동작을 반환하고, 클라이언트가 실행한 뒤 새 화면을 보내는 반복 구조다. 실제 입력과 스크린샷 수집은 개발자의 실행기가 맡는다. Gemini 3.8 Flash의 모델 페이지에도 Computer Use 지원이 명시되어 있다. Computer Use 가이드 · 모델 지원 정보

안전 판단에서 require_confirmation이 나오면 사용자 확인을 거쳐야 한다. 차단된 동작은 실행하지 않는다. 격리된 환경과 민감한 업무에 대한 감독도 필요하다. 정규화된 좌표를 실제 화면 크기로 변환하는 책임 역시 실행기에 있다. 공식 실행·안전 지침

여기서부터는 이 구조를 바탕으로 한 실무 설계 제안이다. 모델 응답을 마우스 함수에 바로 연결하지 말고, 그 사이에 독립적인 정책 검사를 둔다. “모델이 허용했다”와 “이 서비스가 허용한다”를 별도 조건으로 취급하는 방식이다.

승인 함수를 네트워크 없이 먼저 시험한다

예제 실행에는 Python 3.9 이상이 필요하다. 다음은 Gemini 응답 파서가 아니라 애플리케이션 내부의 축약 정책 예제다. API별 응답을 검증·정규화하는 어댑터 뒤에서 사용한다. allowed는 이 예제의 내부 값이며 SDK 응답을 그대로 복사한 스키마가 아니다.

origin_allowed, screen_current, destructive 같은 값은 모델의 자기 평가만으로 채우면 안 된다. 실행기의 실제 URL, 화면 버전, 서비스 정책으로 판단해야 한다.

위 코드를 로컬 Python에서 실행해 10 policy checks passed를 확인했다. Gemini API 호출이나 실제 브라우저 제어는 수행하지 않았다. 따라서 이 결과는 정책 분기의 동작만 검증한다. 모델 성능이나 서비스 전체의 안전성을 입증하지 않는다.

실서비스에서는 승인 여부를 오래 유지되는 불리언 하나로 저장하지 않는다. 승인한 대상·동작·입력값·화면 버전과 유효기간을 묶는다. 화면이나 대상이 바뀌면 기존 승인을 재사용하지 않는 편이 안전하다.

브라우저 세션 분리와 시스템 격리는 다르다

Playwright의 browser.new_context()는 독립된 비영속 브라우저 컨텍스트를 만든다. 공식 문서상 이 컨텍스트는 브라우징 데이터를 디스크에 기록하지 않는다. Playwright BrowserContext

다만 이를 운영체제 수준의 샌드박스와 동일하게 보아서는 안 된다. 브라우저 세션 분리는 쿠키와 세션을 나누는 설계 수단이고, 호스트 파일·네트워크 권한을 제한하는 일은 별도다. 테스트용 계정과 최소 권한 실행 환경을 함께 준비한다.

이 글에서 제안하는 도입 순서는 다음과 같다.

  1. 외부 전송이 없는 합성 화면에서 클릭·입력·스크롤을 확인한다.
  1. 창 크기 변경과 페이지 이동 후 이전 좌표가 재사용되지 않는지 확인한다.
  1. 승인 거부·시간 초과·알 수 없는 동작이 들어오면 실행되지 않는지 시험한다.
  1. 결제·삭제·메시지 전송은 테스트 계정에서도 별도 승인 경계를 둔다.
  1. 완료 문장 대신 대상 화면이나 서비스의 읽기 결과로 실제 상태를 확인한다.

특히 마지막 단계가 중요하다. 제출 직후 통신이 끊겼다고 다시 클릭하면 중복 등록이 발생할 수 있다. 재시도 전 상태 조회가 가능한 업무부터 자동화하는 것이 낫다.

모델보다 캡처 경로가 문제일 수도 있다

Google의 공식 참조 구현에는 일부 운영체제에서 OS가 그린 기본 select 메뉴를 Playwright 스크린샷으로 잡지 못하는 문제가 기록되어 있다. 사람이 보는 화면과 모델에게 전달되는 화면이 같다고 가정하면 안 된다. 공식 참조 구현의 알려진 문제

또한 확인 시점의 참조 저장소 README는 Preview 명칭과 3.6 Flash 기본값을 남겨 두고 있다. 저장소 예제를 가져올 때는 최신 가이드의 모델·SDK·응답 구조와 대조해야 한다. 이 글은 해당 참조 구현을 실행한 체험기가 아니다.

GA 이후의 첫 작업은 자동 클릭 수를 늘리는 것이 아니다. 실행할 수 없는 상황을 먼저 정의하고, 승인과 결과 확인을 모델 바깥에서 검증하는 것이다. 이 경계가 준비되어야 모델을 바꾸더라도 자동화의 책임 범위가 유지된다.

추천 글