Agentic AI 데스크톱 코파일럿 — 아키텍처 & 핵심 기술 분석
AX Copilot의 에이전트 엔진은 OpenHands(전 OpenDevin)와 OpenCode 두 프로젝트의 아키텍처 패턴을 분석하여, WPF 데스크톱 환경에 맞게 재설계한 결과물입니다.
OpenHands의 AgentController가 수행하는 메모리 관리 전략을 5단계 파이프라인으로 구현. 단계 1~4는 LLM 호출 없이 수행하여 비용을 절감하고, 5단계에서만 LLM 1회 호출.
OpenHands CodeActAgent의 태스크 분해 패턴 반영. LLM 응답에서 번호 매긴 단계를 추출 (TaskDecomposer.ExtractSteps()), 현재 도구 호출을 계획 단계에 매칭하여 실시간 진행률을 UI에 표시합니다.
읽기 전용 도구를 자동 분류하여 최대 12개까지 병렬 실행. 스트리밍 응답 도중에도 읽기 도구를 선행 실행(Prefetch)하여 대기 시간 최소화.
OpenCode의 Prepare → Execute → Commit 분리 패턴을 답습합니다.
ResolveExecutionMode() — 탭/설정에 따라 에이전트 루프 vs 단순 LLM 호출 결정PrepareExecution() — 시스템 프롬프트 스택 + 메시지 조립ExecutePreparedAsync() — agentLoopRunner 또는 llmRunner로 분기CommitAssistantMessage() — 결과 메시지 영속화SSE 스트리밍 중 도구 블록 도착 즉시 실행. 컨텍스트 오버플로우 자동 감지 → 강제 압축, 일시적 네트워크 오류 → 지수 백오프 재시도 포함.
에이전트 루프는 Plan → Execute → Observe → Evaluate 사이클을 작업 완료까지 자율 반복합니다.
ConcurrentQueue로 실행 중에도 사용자 메시지 수신 (Claude Code 스타일 mid-execution steering)SemaphoreSlim 기반 Pause/Resume 제어MaxAgentIterations (기본 25, 최대 200) 초과 시 자동 중단| 카테고리 | 주요 도구 | 설명 |
|---|---|---|
| 파일 조작 | file_read file_write file_edit glob grep | 파일 읽기/쓰기/검색 + folder_map |
| 문서 생성 | html_create docx_create xlsx_create pptx_create | 8가지 Mood 템플릿 + Multi-pass 조립 |
| 코드/Git | git_tool code_search build_run test_loop | 브랜치 격리, 코드 리뷰, CI 연동 |
| 시스템 | process env_tool clipboard notify | 프로세스 실행, 환경 변수, 알림 |
| 데이터 | json_tool sql_tool math_tool data_pivot | 구조화 데이터 처리 + 피벗 |
| 워크플로우 | spawn_agent enter_worktree checkpoint playbook | 에이전트 분기, 체크포인트, 자동화 |
| MCP 동적 | mcp_{server}_{fn} | JSON-RPC 2.0 over stdio 외부 도구 서버 |
모델 입력 한도의 80%에 도달하면 자동으로 트리거. 단계 1~4는 LLM 호출 없이 수행하여 비용 절감.
도구별 패턴 매칭 오버라이드: tool_name@pattern 구문 지원
http_tool 차단Chat / Cowork / Code 3개 탭으로 분리된 워크스페이스. 각 탭은 고유한 시스템 프롬프트, 도구 집합, 권한 정책을 가집니다.
응답 시 텍스트보다 도구 호출을 우선. 독립적인 문서 읽기/생성을 병렬 배치 처리합니다.
html_create, docx_create 직접 생성document_plan → 섹션별 작성 → document_assemblegit_tool — Git 전체 워크플로우file_edit — 정밀 라인 기반 코드 편집build_run / test_loop — 빌드 + 테스트 반복enter_worktree / exit_worktree — Git 워크트리 격리code_review — Git diff 기반 자동 코드 리뷰| 특성 | Chat | Cowork | Code |
|---|---|---|---|
| 에이전트 루프 | ✕ 단순 LLM | ✓ 자율 루프 | ✓ 자율 루프 |
| 도구 실행 | ✕ | ✓ 문서 중심 | ✓ 코드 중심 |
| 병렬 실행 | N/A | ✓ | ✓ |
| 컨텍스트 압축 | ✕ | ✓ 5단계 | ✓ 5단계 |
| 시스템 프롬프트 | 기본 대화 | 문서 생성 특화 | 코드 개발 특화 |
| 워크스페이스 | ✕ | ✓ 폴더 기반 | ✓ 폴더 기반 |
macOS Spotlight / Raycast 스타일이지만, AI 에이전트와 완전 통합된 시스템 전역 런처.
런처 하단에 선택적으로 표시되는 미니 위젯:
입력창이 비어있을 때 최근 사용 파일/폴더 상위 8개를 칩으로 표시. 색상 구분:
LLM 모델마다 다른 특성에 맞춰 4가지 실행 프로파일을 제공. 프로파일에 따라 온도 제한, 재시도 횟수, 병렬 규모, 검증 게이트가 자동 조정됩니다.
| 모델 계열 | 모델 한도 | 적용 한도 (90%) | 압축 트리거 |
|---|---|---|---|
| Claude (Opus/Sonnet/Haiku) | 200K | 180K | 144K (80%) |
| Gemini 2.5 Pro | 1M | 900K | 720K |
| GPT-4 / GPT-4o | 128K | 120K | 96K |
| DeepSeek | 128K | 128K | 102K |
| Qwen / LLaMA | 32K | 32K | 25.6K |
| vLLM / Ollama (미확인) | - | 32K (보수적) | 25.6K |
| 기능 | AX Copilot | Claude Code | Claude Desktop | OpenAI Codex | Cursor / Windsurf | ChatGPT Desktop |
|---|---|---|---|---|---|---|
| 플랫폼 | WPF 독립 앱 | 터미널 CLI | Electron 데스크톱 | 클라우드 샌드박스 | VS Code Fork | Electron 데스크톱 |
| 에이전트 루프 | ✓ 91+ 도구 | ✓ | ● MCP 기반 | ✓ 샌드박스 | ● 편집 특화 | ✕ |
| 멀티 모델 | ✓ 4종 백엔드 | ✕ Claude 전용 | ✕ Claude 전용 | ✕ GPT 전용 | ✓ | ✕ GPT 전용 |
| 사내 LLM | ✓ Ollama/vLLM | ✕ | ✕ | ✕ | ✕ | ✕ |
| 문서 생성 | ✓ 7종 포맷 | ✕ | ✕ | ✕ | ✕ | ✕ |
| 런처 (핫키) | ✓ Alt+Space | ✕ | ✕ | ✕ | ✕ | ● 기본 |
| 권한 세분화 | ✓ 5모드+패턴 | ✓ 3단계 | ✕ | ● 샌드박스 격리 | ● | ✕ |
| 컨텍스트 관리 | ✓ 5단계 압축 | ✓ | ● 기본 | ✓ | ● | ✕ |
| MCP 서버 | ✓ | ✓ | ✓ | ✕ | ● | ✕ |
| 모델별 프로파일 | ✓ 4종 | ✕ | ✕ | ✕ | ✕ | ✕ |
| 사내/외부 모드 | ✓ | ✕ | ✕ | ✕ | ✕ | ✕ |
| 오프라인 동작 | ✓ 로컬 모델 | ✕ | ✕ | ✕ | ✕ | ✕ |
| 로컬 파일 접근 | ✓ 직접 접근 | ✓ 직접 접근 | ● MCP 경유 | ✕ 클라우드만 | ✓ 프로젝트 내 | ✕ |
| 비용 구조 | API 종량제 | API 종량제 | 구독 (Pro/Max) | 구독 (Pro) | 구독 ($20/mo~) | 구독 (Plus) |
IDE 종속 없는 독립 실행형 에이전트. 코드 편집 + 문서 생성 + 시스템 관리 + 워크플로우 자동화를 단일 앱에서 수행. 런처로 어디서든 즉시 접근.
Ollama / vLLM 직접 연결. DPAPI+AES 암호화 API 키. 사내 모드에서 외부 완전 차단. 오프라인에서도 에이전트 루프 동작.
4가지 프로파일이 모델 특성에 맞춰 자동 조정. "chatty" 모델에는 도구 호출 강제, 고성능 모델에는 추론 우선. 온도/재시도/병렬 규모 모두 자동 최적화.
단일 앱에서 보고서/PPTX 자동 생성과 코드 개발/리뷰/테스트를 동시 수행. 같은 대화 컨텍스트에서 문서와 코드를 넘나드는 작업.
| 레이어 | 기술 / 패턴 | 핵심 파일 |
|---|---|---|
| UI 렌더링 | VirtualizingStackPanel + TranscriptVisualItem 가상화, V1/V2 분기 렌더 | ChatWindow.*.cs (40+ partial files) |
| 실행 엔진 | Prepare → Execute → Commit 3단계 분리 | AxAgentExecutionEngine.cs |
| 에이전트 루프 | Plan → Execute → Observe → Evaluate + Parallel Batch | AgentLoopService.cs |
| LLM 통신 | SSE Streaming + Override Stack + Token Tracking | LlmService.cs |
| 도구 시스템 | IAgentTool + ToolRegistry + MCP 동적 래핑 | ToolRegistry.cs, IAgentTool.cs |
| 컨텍스트 | 5단계 MemGPT 스타일 압축 파이프라인 | ContextCondenser.cs |
| 보안 | 5모드 권한 + Internal/External 운영 + DPAPI 암호화 | PermissionModeCatalog.cs |
| 런처 | WH_KEYBOARD_LL 글로벌 핫키 + Spotlight 스타일 UI | LauncherWindow.xaml.cs |