세 줄 요약

오픈워커는 로컬에서 도는 모델 독립(BYOK) 데스크톱 에이전트다. 파일·터미널·25종 이상의 커넥터를 오가며 "완성된 결과물"을 만드는 것이 목표. ✔ 원문

쓰기·전송·셸 명령은 승인 게이트를 거치고, 무인 실행조차 스스로 행동하지 않고 받은편지함에 승인을 대기시킨다 — 하네스 우선 설계의 교과서적 구현. ✔ 원문

"모델은 갈아끼우는 부품, 신뢰성은 하네스가 만든다"는 2026년의 명제를 코드로 읽을 수 있는 MIT 참고서로 접근하는 게 가장 남는 독법이다.

무엇이 나왔나

WHAT SHIPPED

앤드류 응과 로힛 프라사드가 공개한 오픈워커는 "질문에 답하는 AI"가 아니라 "일을 끝내는 AI"를 표방하는 데스크톱 앱이다. 원하는 결과를 말하면 작업을 단계로 쪼개고, 데스크톱·파일·연결된 앱을 오가며 일하다가, 중대한 실행 직전에는 멈춰서 승인을 받고, 최종적으로 할 일 목록이 아닌 완성된 결과물을 내놓는다. ✔ 원문

포지션은 세 가지다. 오픈소스(MIT, 전체 코드 공개), 로컬 우선(에이전트 루프·대화·토큰·키가 전부 로컬 시크릿 저장소에 있고, 유일한 클라우드 구성요소는 OAuth 중개 서비스뿐이며 로그인 없이도 사용 가능), 모델 독립(OpenAI·Anthropic·Google·GLM·DeepSeek·Kimi·Qwen·Mistral·Grok 등 자기 키로 교체, Ollama로 완전 로컬 실행). ✔ 원문 슬랙 채널에서 @OpenWorker를 멘션해 일을 시키고 스레드로 답을 받는 기능과, 아침 브리핑·주간 보고서 같은 일정 기반 자동 실행도 기본 탑재다. ✔ 원문

계층구성등급실무자 관점 메모
데스크톱 셸 Tauri 셸 + React UI. 셸이 창을 띄우고 파이썬 서버를 직접 관리 ✔ 원문 Electron이 아니라 Tauri — 용량·메모리 부담을 줄이는 최근 데스크톱 에이전트들의 공통 선택. Rust STT 사이드카로 음성 입력도 처리
에이전트 서버 로컬 파이썬 서버(openworker-server). 보도 기준 FastAPI + Uvicorn, 작업당 상호작용 최대 12회 △ 보도 "12회 상한"은 국내외 보도가 일치하지만 README에는 없다 — 코드 검증 후 확정 예정. 이 숫자가 핵심이라 등급을 명시한다
도구 계층 터미널·로컬 파일 + GitHub, Slack, Jira, Notion, Linear, HubSpot, Outlook, monday.com, Gmail, Google Calendar 등 25종 이상 + MCP(도구별 제어) ✔ 원문 코딩 에이전트의 도구 세트(파일·셸)를 사무 업무로 이식한 구성
모델 라우터 응이 만든 aisuite 기반. 도구 호출 검증을 마친 큐레이션 모델 목록 제공, 임의 모델 문자열도 자기 책임하에 사용 가능 ✔ 원문 저장소 스스로 "자기 하네스를 만들려면 aisuite에서 시작하라"고 안내 — 이 프로젝트의 정체성 선언. "약 30종"이라는 숫자는 보도 기준
FACT CHECK — 원문 대조에서 걸린 것

✖ 불일치 국내 보도는 "윈도우 버전 준비 중"이라 했지만, README는 Windows 10/11 빌드가 이미 다운로드 가능하다고 명시한다. 정확한 상태는 "배포 중이나 코드 서명 미완료(SmartScreen 경고, 서명 진행 중)"다.

✖ 불일치 해외 리뷰 사이트들은 깃허브 별 1,700~3,400개를 언급했지만, 7월 31일 저장소 페이지 직접 수집값은 별 46개·포크 3개였다. 어느 쪽이 정확한지 단정하지 않는다 — 다만 2차 소스의 수치는 그대로 옮기면 안 된다는 실례로 기록해 둔다.

하네스 관점에서 읽기

THE HARNESS LAYER

2026년 상반기 에이전트 판의 화두는 하네스 엔지니어링이었다. 미첼 하시모토가 2월에 "에이전트가 실수하면 같은 실수를 반복할 수 없도록 환경을 고쳐라"라는 원칙으로 이름을 붙였고 ✔ 원문, 이후 OpenAI·LangChain·Anthropic이 각자의 설계론으로 받으면서 "에이전트 = 모델 + 하네스"가 표준 등식이 됐다. 모델이 상향 평준화될수록 차별화는 모델 바깥 — 권한, 검증, 루프 통제 — 에서 난다는 얘기다.

용어하네스(harness)가 뭔가요?

에이전트는 모델(LLM) 혼자가 아니라, 모델을 둘러싸고 굴리는 소프트웨어와 한 몸으로 움직입니다. 어떤 도구를 쥐여줄지, 루프를 언제 멈출지, 위험한 행동 전에 누구에게 물을지, 실패하면 어떻게 복구할지 — 이 "모델 바깥의 모든 장치"를 통틀어 하네스라고 부릅니다. Claude Code를 쓸 때 모델은 Claude지만, 파일을 읽고 명령을 실행하고 승인을 묻는 그 껍데기 전체가 하네스입니다.

2026년 들어 이 말이 화두가 된 이유는 단순합니다. 좋은 모델은 누구나 API로 살 수 있으니, 에이전트의 실력 차이는 점점 하네스에서 갈리기 때문입니다.

모델이 말(馬)이라면 하네스는 마구(馬具) — 고삐, 안장, 재갈입니다. 같은 말이라도 마구가 어떠냐에 따라 짐마차를 끌 수도, 폭주할 수도 있습니다. 원래 영어 단어 뜻 그대로입니다.

오픈워커에서 눈여겨볼 장치는 세 개다.

① 우회 불가능한 승인 게이트. ✔ 원문 쓰기·전송·셸 명령은 승인 게이트를 거친다. 무인 실행에서도 게이트가 사라지지 않는다 — 스스로 행동하는 대신 요청을 받은편지함에 넣고 승인을 기다린다. "무인 = 게이트 제거"가 아니라 "무인 = 게이트의 비동기화"라는 설계 판단이며, README가 이를 기능 목록 첫 화면에 명시한다.

② 위험 분류 × 권한 모드의 매트릭스. △ 보도 보도 기준으로 모든 도구 호출은 읽기(read) / 로컬 쓰기(write_local) / 명령 실행(exec) / 외부 작업(external)의 네 위험 등급으로 타입이 지정되고, 사용자는 읽기 전용부터 자동 승인까지 다섯 권한 모드로 에이전트를 굴린다. 이 구체 스키마는 README에 없어 코드 검증 대상으로 남긴다. 다만 "도구별 위험을 타입으로 박고, 정책은 모드로 갈아끼운다"는 패턴 자체는 어느 자작 에이전트에나 이식할 가치가 있다.

용어권한 매트릭스(permission matrix)가 뭔가요?

Claude Code를 쓰면 어떤 때는 "이 명령을 실행할까요?"라고 묻고, 파일을 읽을 때는 그냥 넘어갑니다. 이 차이가 권한 매트릭스의 절반입니다. 에이전트의 행동은 위험도가 다릅니다 — 읽기(되돌릴 게 없음), 내 컴퓨터의 파일 수정(되돌릴 수 있음), 명령 실행(뭘 할지 모름), 바깥으로 보내기(메일 전송·결제, 되돌릴 수 없음). 행동마다 이런 위험 등급을 미리 붙여두는 게 첫 번째 축입니다.

두 번째 축은 사용자가 고르는 운영 방침입니다. "전부 물어봐"(신중 모드)부터 "읽기만 해"(구경 모드), "다 알아서 해"(자동 모드)까지. 매트릭스란 이 두 축을 교차시킨 표입니다 — 각 칸마다 통과/질문/차단이 정해지므로, 행동 하나하나에 if문 예외 처리를 덕지덕지 붙이는 대신 표 하나로 정책을 관리할 수 있습니다.

회사의 전결 규정입니다. 소액 지출은 담당자 전결, 큰 계약은 결재 상신 — 금액(위험 등급)과 직급별 권한(운영 방침)이 표로 정해져 있어서, 건마다 새로 고민하지 않습니다.

※ 이 카드는 일반 개념 설명이다. 오픈워커가 실제로 몇 등급 × 몇 모드인지는 본문의 소스 등급(△)을 따른다.

③ 신뢰 경계의 로컬화. 커넥터 토큰과 모델 키가 로컬 시크릿 저장소에만 있고 클라우드 구성요소는 OAuth 중개뿐이라는 구조는 원문 확인 사항이다. ✔ 원문 "운영 프롬프트가 웹·로그·파일·도구 출력을 신뢰 불가 데이터로 선언한다"는 인젝션 방어 서술은 보도 기준이며 △ 보도, 시스템 프롬프트 원문 확인 후 확정한다.

실무 유의점

FIELD NOTES — 자작 에이전트 운영자 기준

용어스텝 예산(step budget)이 뭔가요?

에이전트는 한 번에 일을 끝내지 않습니다. "생각한다 → 도구를 하나 쓴다(파일 읽기, 명령 실행 등) → 결과를 본다 → 다시 생각한다"를 반복하는 루프로 움직이고, 이 한 바퀴가 1스텝입니다. 스텝 예산은 한 작업에 이 루프를 최대 몇 바퀴까지 허용할지를 미리 정해두는 것입니다.

예산이 없는 에이전트는 막힌 문제를 만나면 같은 시도를 무한히 반복할 수 있습니다. Claude Code가 에러 하나를 고치겠다고 수정 → 실행 → 실패 → 수정을 한참 도는 걸 본 적이 있다면, 그게 이 문제입니다. 루프가 돌 때마다 API 비용이 나가고, 이전 시도의 기록이 컨텍스트에 계속 쌓여 모델이 점점 둔해집니다. 스텝 예산은 "여기까지 해서 안 되면 멈추고 사람에게 보고해"라는 안전선입니다.

게임의 행동력(AP) 시스템입니다. 턴당 쓸 수 있는 행동이 정해져 있으니, 무한정 헤매는 대신 가진 예산 안에서 끝내야 합니다.

※ 이 카드는 일반 개념 설명이다. 오픈워커의 구체 상한(보도 기준 12회)은 본문의 소스 등급(△)을 따른다.

CV-01스텝 예산은 제약이자 설계다 △ 보도

보도 기준 작업당 상호작용 12회 상한은 루프 폭주(무한 재시도, 컨텍스트 팽창)를 구조적으로 막는 하네스 장치다. 뒤집으면 그 스텝 수를 넘는 장기 작업은 설계 범위 밖이라는 뜻이기도 하다. 숫자의 확정은 코드 검증 후로 미루지만, 교훈은 숫자와 무관하다 — 자작 에이전트에 스텝·토큰 예산이 아예 없다면 그게 가장 먼저 고칠 공백이다.

CV-02"장식 게이트"와 "구조 게이트"를 구분하라 ✔ 원문

비평 모델을 붙여놓고 결과 표시만 하는 구성(display-only critic)은 게이트가 아니다. 오픈워커의 게이트는 실행 경로 자체가 승인 없이는 진행되지 않게 짜여 있고, 무인 모드에서도 예외가 없다. 자기 시스템을 점검하는 질문은 하나다 — "이 검증 단계를 코드에서 지우면 무엇이 막히는가?" 아무것도 안 막히면 그건 장식이다.

CV-03BYOK는 자유이자 청구서다 ✔ 원문

모델 독립은 원문 확인 사항이지만, 그 대가로 비용 통제는 온전히 사용자 몫이다. 도구 결과가 매 턴 컨텍스트에 누적되는 에이전트 특성상, 여러 턴짜리 작업 하나가 일반 채팅 수십 회분 토큰을 태울 수 있다. 프론티어 모델 키를 꽂고 "항상 켜두기" 전에 작업당 비용부터 실측할 것. (비용 실측은 아래 검증 노트의 대기 항목이다.)

CV-04윈도우는 "준비 중"이 아니라 "미서명 배포 중" ✔ 원문

서명·공증 완료는 macOS(Apple Silicon, macOS 12+)뿐이다. 윈도우 빌드는 지금도 받을 수 있지만 코드 서명이 없어 SmartScreen 경고가 뜨며, 서명 작업이 진행 중이라고 README가 밝힌다. 오픈 베타 + 자동 업데이트 조합이므로, 업무 기기 투입은 서명 빌드 이후가 안전하다는 판단에는 변함이 없다.

CV-05"API 래퍼" 비판은 절반만 맞다

공개 직후 "기존 도구의 재조합"이라는 시큰둥한 반응도 있었다. 모델 호출부만 보면 틀린 말이 아니다. 다만 이 프로젝트의 가치는 호출부가 아니라 승인 흐름·로컬 신뢰 경계·자동화 구조를 MIT 라이선스로 통째로 읽을 수 있다는 데 있다. README 스스로 "자기 하네스를 만들려면 aisuite에서 시작하라, 이 저장소는 동작하는 참조 구현"이라고 말한다. ✔ 원문 쓰는 도구가 아니라 읽는 교재로 접근하면 평가가 달라진다.

검증 노트

LAB LOG — 이 매거진은 돌려본 것만 "검증됨"이라 부른다

loopnote — verify/openworker STATUS: DOCS-VERIFIED · RUNTIME-PENDING
$ verify log openworker
[ OK 07-31 ] 발표문 전문 확인 — X 공지 원문 (Andrew Ng, 07-23)
[ OK 07-31 ] README 전문 대조 — 스냅샷 수집, 전문 완역 → 정본 CANON-001
[ OK 07-31 ] 팩트체크 2건 — 국내 보도 윈도우 서술 오류, 별 개수 불일치 기록
[ PENDING ] 코드 검증 — 12턴 상한·위험 4분류·권한 5모드를 coworker/ 및 docs/에서 확정 (→ 별도 정본)
[ PENDING ] 설치 및 초기 설정 — 키 등록 UX, 첫 작업까지 소요 시간 (환경: 서명 빌드가 macOS 전용)
[ PENDING ] 권한 모드 실측 — 모드별 차단/승인 대기 매핑
[ PENDING ] 인젝션 방어 실측 — 악성 지시를 심은 문서 요약 요청
[ PENDING ] Ollama 로컬 모델 연동 — 오픈웨이트만으로 실용 품질이 나오는가
[ PENDING ] 작업당 토큰 비용 실측 — 프론티어 모델 기준 대표 작업 3종

$ verify status
docs_verified=3/3 runtime_tested=0/6 # 결과는 이 글에 추기(追記)로 갱신한다
규칙: 배지는 [검증 대기 → 부분 검증 → 검증 완료] 3단계. 부분 검증 = 문서 검증 완료·실측 대기. 실측 없이 "좋다더라"는 쓰지 않는다.

어디에 꽂아 쓸까

WHERE IT FITS

도구로서의 오픈워커는 "맥을 쓰는 지식노동자의 개인 비서" 자리를 노린다. 하지만 자작 에이전트를 운영하는 입장이라면 더 좋은 용도가 있다. 자기 시스템과의 차이 대조표로 쓰는 것이다. 내 에이전트에는 스텝 예산이 있는가, 게이트는 코드에서 지우면 뭔가가 막히는 구조인가, 시크릿은 모델 입력 경로와 분리돼 있는가, 무인 실행에도 승인 경로가 살아 있는가. 네 질문에 하나라도 "아니오"가 나온다면, MIT 라이선스로 통째 열람 가능한 정답지가 방금 공개된 셈이다.