Codex의 작동 원리: OpenAI는 AI가 Mac을 직접 제어하도록 어떻게 설계했나

Codex의 작동 원리: OpenAI는 AI가 Mac을 직접 제어하도록 어떻게 설계했나

min read

OpenAI가 “(거의) 모든 것을 위한 Codex”를 공개했을 때, 테크 업계는 주목했다. AI가 코드를 작성하고 이메일을 초안해 온 지는 오래지만, Codex가 이제 macOS를 “직접 보고, 클릭하고, 자신만의 커서로 타이핑하여” 조작할 수 있다는 주장은 근본적으로 다른 역량을 의미한다.

클라우드 기반 언어 모델과 로컬 운영체제 사이의 간극을 메우는 일은 유독 까다롭기로 유명하다. 수십 년간 자동화는 단 하나의 UI 요소가 바뀌면 즉시 망가지는, 까다로운 애플리케이션 프로그래밍 인터페이스(API)나 DOM 스크래핑 스크립트에 의존해 왔다.

핵심 엔지니어링 통찰은 이것이다. Codex는 코드 수준의 통합을 포기하고 픽셀 수준의 실행을 선택했다. 멀티모달 비전을 저수준 커널 이벤트 주입과 결합함으로써, OpenAI는 그래픽 사용자 인터페이스(GUI) 자체를 보편적 API로 바꿔놓았다.

이것을 가능하게 하는 기술적 아키텍처를 살펴보자.

Mac 네이티브 에이전트의 아키텍처

AI가 인간의 개입 없이 애플리케이션을 테스트하거나 프론트엔드 디자인을 반복 개선하려면, 지속적인 인지-추론-실행(Perceive-Reason-Act) 루프가 필요하다. Codex가 macOS에서 각 단계를 어떻게 구현하는지를 보자.

1. 인지: 시맨틱 비전과 그라운딩 엔진

AppleScript 같은 전통적인 자동화 도구는 UI 접근성 트리를 읽어 들인다. 이 접근법은 빠르지만, UI 요소에 적절한 접근성 태그가 없는 커스텀 Electron 앱, 웹 캔버스, 게임에서는 실패한다.

OpenAI는 Codex가 앱을 “보면서” 사용한다고 밝혔는데, 이는 컴퓨터 비전(Computer Vision)에 의존한다는 뜻이다. Mac에서 실행되는 호스트 애플리케이션이 데스크톱의 고해상도 프레임을 고빈도로 캡처한다. 그다음 멀티모달 모델이 시맨틱 세그먼테이션을 통해 이 프레임들을 해석한다. 즉 HTML 태그를 찾는 게 아니라, 버튼·검색창·메뉴 같은 인터페이스 요소의 형태와 문맥을 시각적으로 인식한다.

macOS를 위한 인지-추론-실행 루프를 보여주는 Codex 아키텍처 다이어그램.

여기서 핵심 엔지니어링 과제는 그라운딩(Grounding)이다. AI가 대상을 식별하고 나면, 시맨틱 객체를 화면 상의 정확한 픽셀 좌표로 매핑하는 계산을 수행한다. “닫기 버튼을 클릭하라”는 명령을 디스플레이 해상도와 스케일링 팩터에 맞춰 정확한 (x, y) 좌표로 변환하는 식이다.

단계 작동 내용 기술
프레임 캡처 데스크톱의 고빈도 스크린샷 호스트 애플리케이션
시맨틱 파싱 코드가 아닌 시각적 외관으로 UI 요소 식별 멀티모달 비전 모델
그라운딩 시맨틱 대상을 픽셀 좌표로 매핑 좌표 회귀 모델
액션 디스패치 합성된 입력 이벤트를 OS에 주입 시스템 프레임워크 훅

2. 실행: OS 수준 이벤트 주입

어디를 클릭할지 아는 것은, 소프트웨어가 실제로 그 동작을 일으킬 수 있을 때만 의미가 있다. Codex는 물리적 하드웨어를 완전히 우회한다.

macOS를 네이티브 수준에서 다루기 위해, Codex는 거의 확실히 Apple의 가장 깊은 시스템 프레임워크인 Quartz Event Services접근성 API를 활용한다.

Codex가 클릭을 결정하면, 가상 CGEventmouseDown 이후 mouseUp — 를 합성하여 macOS 시스템 이벤트 큐에 직접 주입한다. 운영체제의 관점에서 이 합성 이벤트는 물리적인 트랙패드 누름과 구별할 수 없다. 그래서 Codex는 모든 애플리케이션을 조작할 수 있다. 인간이 클릭할 수 있는 것이라면 Codex도 클릭할 수 있다.

3. 격리: “유령 커서” 메커니즘

어쩌면 가장 기술적으로 야심 찬 주장은 Codex가 “컴퓨터를 장악하지 않은 채 백그라운드에서 실행된다”는 것이다. 매크로 레코더를 써본 사람이라면, 전통적 자동화가 마우스 커서를 완전히 가로챈다는 것을 안다.

동시 실행을 달성하려면, 시스템은 AI의 입력을 사용자의 물리적 입력과 격리해야 한다. 가능한 두 가지 구현 방식이 있다.

방식 작동 원리 트레이드오프
타깃 윈도우 라우팅 macOS는 특정 프로세스 식별자(PID)로 이벤트를 보낼 수 있다. Codex는 합성된 클릭을 전역 하드웨어 커서를 우회해 타깃 애플리케이션의 이벤트 루프로 직접 전달한다. 오버헤드가 낮다. 정확한 윈도우 타깃팅이 필요하다.
가상 프레임버퍼 시스템이 헤드리스 가상 데스크톱 레이어를 띄운다. Codex는 이 보이지 않는 워크스페이스 안에서 “보고” 작동하는 동안, 사용자는 주 워크스페이스에서 방해받지 않고 계속 작업한다. 메모리 사용량이 높다. 더 강력한 격리를 보장한다.

가상 프레임버퍼 방식은 Anthropic이 자체 Computer Use 역량을 공개했을 때 관찰된 메커니즘과 일치하며, 이것이 데스크톱 AI 에이전트를 위한 업계 표준 패턴으로 자리잡고 있음을 시사한다.

전망: 포스트-API 시대

다운스트림 파급 효과는 기술적 구현을 훨씬 넘어선다. OS 수준에서 비전-투-액션 파이프라인을 해결함으로써, OpenAI는 전통적 API를 선택 사항으로 만들었다. 우리는 대형 액션 모델(LAM, Large Action Model)의 시대에 진입하고 있다.

실용적 함의를 생각해보자.

  • 레거시 소프트웨어 통합: API가 없는 2008년산 엔터프라이즈 도구? Codex에게는 필요 없다. 애플리케이션을 열고, 인터페이스를 탐색하고, 데이터를 복사해 최신 대시보드에 붙여넣는다.
  • 플랫폼 제약: 공격적인 API 레이트 리미팅으로 개발자 접근을 제한하는 플랫폼? Codex는 웹 브라우저를 열고, 인간 사용자와 똑같이 인터페이스를 직접 구동한다.
  • 크로스 애플리케이션 워크플로: 이전에는 연결되지 않은 애플리케이션들 사이에 커스텀 미들웨어가 필요했던 작업들이 이제는 단 하나의 자연어 지시로 오케스트레이션될 수 있다.

소프트웨어 업계는 수십 년간 애플리케이션 사이에 다리를 놓아왔다. Codex가 macOS GUI를 마스터하면서, 이제 애플리케이션들은 서로 대화할 필요가 없어졌다. AI가 우리를 대신해 그것들을 사용한다.

FAQ

Codex는 macOS에서 화면을 어떻게 “보나요”?

Codex는 데스크톱의 고빈도 스크린샷을 캡처하는 호스트 애플리케이션을 사용합니다. 멀티모달 비전 모델이 이 프레임들에 시맨틱 세그먼테이션을 수행해, 버튼·메뉴·텍스트 필드 같은 UI 요소를 기저 코드나 접근성 태그가 아닌 시각적 외관을 기준으로 식별합니다.

Codex는 클릭과 키 입력을 시뮬레이션하기 위해 어떤 macOS 프레임워크를 사용하나요?

Codex는 거의 확실히 Apple의 Quartz Event Services와 접근성 API에 연동합니다. 가상 CGEvent(mouseDown과 mouseUp 등)를 합성해 macOS 시스템 이벤트 큐에 주입하며, 이 입력은 물리적 하드웨어 이벤트와 구별할 수 없게 만듭니다.

Codex는 어떻게 커서를 가로채지 않고 백그라운드에서 작동할 수 있나요?

시스템은 아마도 타깃 윈도우 라우팅 — 이벤트를 특정 프로세스 식별자(PID)로 직접 전송 — 이나, AI가 독립적으로 작동하는 보이지 않는 데스크톱 워크스페이스를 생성하는 가상 프레임버퍼 중 하나를 사용할 것입니다. 사용자의 물리적 커서는 영향을 받지 않은 채 유지됩니다.

대형 액션 모델(LAM)이란 무엇이며, LLM과 어떻게 다른가요?

대형 액션 모델(Large Action Model)은 대형 언어 모델(LLM)의 역량을 텍스트 생성에서 실제 작업 실행으로 확장합니다. LLM이 응답을 생성하는 반면, LAM은 비전을 통해 환경을 인지하고 어떤 동작을 취할지 추론하며, 시스템 수준 입력 주입을 통해 그 동작을 실행합니다. Codex는 LAM 개념의 실용적 구현을 보여줍니다.

share this article

written by

Z

SectoJoy

author role

author bio

related articles

PromptKit iOS 마스터하기: Panic의 SSH 클라이언트부터 AI 기반 바이브 코딩까지

PromptKit iOS 마스터하기: Panic의 SSH 클라이언트부터 AI 기반 바이브 코딩까지

PromptKit iOS는 모바일 개발의 두 가지 프론티어를 보여줍니다. Panic의 Prompt 3을 통한 전문가급 원격 서버 관리와 AI로 구동되는 ‘바이브 코딩’ 워크플로우입니다. SSH 터미널로 백엔드 인프라를 다루든, Claude 3.5 Sonnet과 자연어로 Swift 코드를 생성하든 iOS는 2026년 고속 앱 배포의 핵심 플랫폼이 되었습니다.
read more