Andrew Ng의 OpenWorker: 오픈 소스 데스크톱 AI 에이전트
요약
Andrew Ng가 출시한 OpenWorker는 데스크톱 환경에서 작동하는 오픈 소스 AI 에이전트입니다. 단순 텍스트 생성을 넘어 Slack, GitHub, 캘린더 등 25개 이상의 도구와 연동하여 실질적인 업무 결과물을 만들어냅니다.
핵심 포인트
- 프롬프트가 아닌 결과(Outcome) 중심의 작업 수행
- 데스크톱 GUI 기반의 지식 노동자 타겟팅
- 25개 이상의 외부 도구 및 MCP 지원
- 중요 작업 수행 전 사용자 승인을 거치는 안전 장치 제공
- 문서, 스프레드시트 등 파일 형태의 결과물 생성
Andrew Ng가 데스크톱 앱으로 실행되는 오픈 소스 AI 에이전트인 OpenWorker를 출시했습니다. 현재 오픈 베타(open beta) 단계입니다.
대부분의 AI 채팅 도구는 텍스트를 생성하고 거기서 멈춥니다. OpenWorker는 사용자의 파일, Slack, 캘린더(calendar), Jira, GitHub 및 25개 이상의 다른 도구에 연결되어 문서 초안 작성, 인시던트 분류(triaging an incident), 일정 재조정, 또는 고객 브리핑 준비와 같은 전체 작업을 완료하려고 시도합니다.
저는 매일 유사한 도구를 사용하고 있습니다. 제 VPS에서 실행되는 Hermes Agent는 콘텐츠 파이프라인, 크론 잡(cron jobs), 서버 모니터링 및 게시 워크플로(publishing workflows)를 처리합니다. 핵심적인 차이점은 Hermes는 CLI 우선(CLI-first)이며 메시징 플랫폼(Telegram, Discord) 중심이라는 점입니다. 반면 OpenWorker는 GUI를 원하는 데스크톱 우선(desktop-first) 지식 노동자를 대상으로 합니다. 동일한 카테고리이지만 대상이 다릅니다.
작동 방식
핵심 아이디어는 프롬프트(prompt)가 아닌 결과(outcome)를 요청하는 것입니다.
"요약문을 작성해줘"라고 말하는 대신 "고객 갱신 통화에 대비할 수 있게 준비해줘"라고 말합니다. 그러면 OpenWorker는 작업을 단계별로 나누고, 데스크톱과 연결된 앱 전반에서 작업하며, 중요한 작업(메시지 전송, 캘린더 항목 변경 등)을 수행하기 전에 확인을 거친 후 완성된 결과물을 반환합니다.
다음 예시는 openworker.com에서 가져온 것이며, 독립적인 테스트가 아닌 제품의 데모 시나리오를 나타냅니다:
인시던트 분류 (Incident triage): 결제 API가 500 에러를 반환한다고 보고합니다. OpenWorker는 배포 이력과 에러 로그를 분석하여 최근 배포로 인한 회귀(regression) 가능성을 식별하고, 마크다운(markdown) 파일로 인시던트 타임라인을 생성합니다. 보고서를 Slack 채널에 게시하기 전에 승인을 요청합니다.
캘린더 관리 (Calendar management): "내 화요일 일정이 엉망이야, 해결해줘"라고 말합니다. OpenWorker는 참석자들의 캘린더를 확인하여 디자인 리뷰를 위한 충돌 없는 시간대를 찾고, 일정 재조정 노트를 초안으로 작성합니다. 참석자들에게 노트를 보내기 전에 승인을 요청합니다.
고객 준비 (Client prep): 갱신 통화(renewal call)를 준비하도록 요청합니다. OpenWorker는 CRM 데이터와 사용 통계(usage stats)를 읽어 2분기 사용량이 두 배로 증가했음을 식별하고, HTML 파일 형태의 갱신 브리프(renewal brief)를 생성합니다. 후속 조치를 이메일로 보내기 전에 승인을 요청합니다.
세 가지 사례 모두 동일한 패턴을 따릅니다: 연결된 데이터를 분석하고, 파일을 생성하며, 외부 작업(external action)을 수행하기 전에 승인을 요청합니다.
주요 기능 요약
- 파일 형태의 결과물 (Deliverables as files): 단순한 채팅 출력이 아닌 문서, 스프레드시트, 보고서, 웹 페이지를 생성합니다.
- 25개 이상의 도구 통합: GitHub, Slack, Jira, Notion, Linear, HubSpot, Outlook, monday.com, Gmail, Google Calendar를 지원합니다. MCP를 지원하는 모든 도구도 연결 가능합니다.
- 승인 게이트 (Approval gates): 이메일 전송, 파일 변경, 셸 명령(shell commands) 실행 시 사용자의 승인이 필요합니다. 승인 없이 실행되는 작업은 인박스(inbox)에 대기 상태로 머뭅니다.
- 예약된 자동화 (Scheduled automations): 오전 브리프, 주간 보고서, 상시 모니터링 등을 수행합니다. 각 실행에는 전체 트랜스크립트(transcript)가 포함됩니다.
- 음성 입력: Rust 기반의 음성-텍스트 변환 (speech-to-text) 사이드카를 지원합니다.
모델 지원
OpenWorker는 모델 불가지론적 (model-agnostic)입니다. 사용자가 제공업체를 선택하고 API 키를 붙여넣으면 언제든 전환할 수 있습니다.
- 클라우드 (Cloud): OpenAI, Anthropic, Google Gemini, DeepSeek, Kimi (Moonshot), Qwen, MiniMax, Mistral, Grok (xAI)
- 오픈 웨이트 (Open-weight): Together, Fireworks
- 로컬 (Local): Ollama (완전한 로컬 실행, 데이터가 기기를 벗어나지 않음)
큐레이션된 모델 목록은 도구 호출 (tool-calling) 작업에 검증된 모델을 표시합니다. 임의의 모델 문자열을 추가하는 것은 사용자의 책임하에 가능합니다.
아키텍처
OpenWorker는 계층 구조로 구축되었습니다:
- 데스크톱 앱 (Desktop app): React GUI를 갖춘 Tauri 셸
- 에이전트 엔진 (Agent engine): 로컬 Python 서버 (도구, 커넥터, 메모리, 자동화)
- 기반 기술 (Foundation): 다양한 LLM 제공업체 간의 통합 채팅 완료 (chat-completions)를 위한 Python 라이브러리인 aisuite를 기반으로 하며, 에이전트 계층을 포함합니다.
모든 것은 사용자의 기기에서 실행됩니다. 유일한 클라우드 구성 요소는 커넥터를 위한 작은 OAuth 핸드셰이크 서비스뿐입니다. 수동으로 생성한 API 키를 제공하면 로그인 없이도 앱을 사용할 수 있습니다.
다운로드
- macOS (Apple Silicon): download.openworker.com/mac - macOS 12+ 지원, 서명 및 공증(signed and notarized) 완료, 자동 업데이트 지원
- Windows 10/11 (x64): download.openworker.com/windows - 아직 코드 서명(code-signed)되지 않아 SmartScreen 경고가 표시될 수 있음
- Linux: 현재 빌드 버전 없음. 리포지토리(repo)에는 "완전히 사용 가능하며, 스스로 업데이트하고, 현재 거친 부분들을 적극적으로 다듬고 있습니다"라고 명시되어 있음. Linux 빌드의 부재와 서명되지 않은 Windows 바이너리는 2026년 7월 출시 버전으로서 실제적인 제약 사항임.
- Source (소스): Python 3.10+, Node 20+, Rust 툴체인(toolchain)이 필요함. repo에서 클론(clone)하여 빌드 가능.
유사 도구와의 비교
| 기능 | OpenWorker | Claude Code | Codex CLI | Hermes Agent |
|---|---|---|---|---|
| 데스크톱 GUI | 있음 (Tauri) | 없음 | 없음 | 없음 |
| ... | ||||
| 표 읽는 법: OpenWorker는 지식 노동자(Slack, 캘린더, CRM)를 대상으로 합니다. Claude Code와 Codex CLI는 코드 수준의 작업을 수행하는 개발자를 대상으로 합니다. Hermes는 전체 시스템 자동화를 목표로 하지만, CLI 및 메시징 중심입니다. 각기 다른 작업에 맞는 서로 다른 도구들입니다. |
대상 사용자
적합한 경우:
- 하루 종일 Slack, 이메일, 캘린더, Jira, 문서 사이를 전환하며 업무를 수행하는 지식 노동자
- 단일 클라우드 제공업체에 종속되지 않고 AI 자동화를 원하는 팀
- 데이터가 로컬에 머물러야 하는 개인정보 보호 중시 사용자
적합하지 않은 경우:
- 심도 있는 코드베이스 접근이 필요한 개발자 (Claude Code, Codex CLI는 이를 위해 특화되어 제작됨)
- Linux 데스크톱 빌드가 필요한 사용자
- 코드 서명(code-signed)된 Windows 바이너리가 필요한 팀
관찰 사항
코딩 에이전트와는 다른 카테고리입니다. OpenWorker는 Claude Code나 Codex CLI와 경쟁하지 않습니다. 해당 도구들은 코드 편집에 탁월합니다. OpenWorker는 도구들 사이의 간극을 공략합니다. 즉, Jira + GitHub + Slack에서 데이터를 가져와 이를 문서로 합성하고, 실행하기 전에 사용자에게 확인을 요청하는 방식입니다.
모델 유연성 (Model flexibility)은 실용적입니다. 서로 다른 모델은 각기 다른 작업에 적합합니다: 글쓰기에는 Claude, 추론 (reasoning)에는 DeepSeek, 민감한 데이터에는 로컬 모델 (local model)이 적합합니다. OpenWorker를 사용하면 에이전트를 변경하지 않고도 작업별로 모델을 전환할 수 있습니다. 이는 제가 Hermes를 사용하는 방식과 유사합니다: 일상적인 작업에는 glm-5.2, 기사 작성에는 deepseek, 리서치에는 gemini-flash를 사용합니다.
승인 게이트 (Approval-gate) 설계는 합리적입니다. 모든 에이전트 프레임워크는 자율성 (autonomy)과 안전성 (safety) 사이의 긴장 상태에 직면합니다. OpenWorker의 접근 방식(중요한 작업 시 승인을 위해 일시 중지, 비대면 실행 시 받은 편지함에 보관)은 합리적인 절충안입니다. Hermes 역시 명령 승인 프롬프트를 통해 동일한 문제를 해결합니다.
aisuite가 핵심입니다. 기반이 되는 엔진은 여러 제공업체(providers)에 걸쳐 통합된 chat-completions API를 제공하는 경량 Python 라이브러리입니다. OpenWorker의 UI를 사용하는 대신 자신만의 에이전트 하네스 (agent harness)를 구축하고 싶다면, aisuite가 시작을 위한 토대입니다.
출처 (Sources):
- OpenWorker GitHub repo: https://github.com/andrewyng/openworker
- OpenWorker website: https://openworker.com
- aisuite (underlying engine): https://github.com/andrewyng/aisuite
- MCP protocol: https://modelcontextprotocol.io/
- Codex CLI (open source): https://github.com/openai/codex
- Tauri framework: https://tauri.app/
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기