13 KiB
13 KiB
AX Copilot 기술 세미나
사내 AI 생산성 플랫폼 — 아키텍처와 핵심 기술
발표 대상: 사내 개발팀 / AI 연구팀 버전: v1.6.1 기준 (2026년 3월) 발표자: AX연구소 AI팀
1. AX Copilot 이란?
"Alt+Space 한 번으로 모든 업무 도구에 접근하는 사내 전용 AI 플랫폼"
세 가지 제품으로 구성
| 제품명 | 역할 | 주요 기능 |
|---|---|---|
| AX Commander | 글로벌 런처 | 명령 검색, 도구 실행, 자동화 |
| AX Agent | AI 대화 엔진 | Chat / Cowork / Code 3탭 |
| AX Copilot | 통합 플랫폼 | 위 두 제품 + 설정·보안 통합 |
왜 데스크탑 앱인가? — 2026년 AI 도구의 방향
"브라우저 안의 AI"에서 "내 PC에서 직접 움직이는 AI"로 전환 중
2024~2025년 AI 서비스들은 웹 채팅(ChatGPT, Claude.ai)이 주류였지만, 2026년 현재 주요 AI 코딩 서비스가 모두 데스크탑 앱/터미널 네이티브로 전환했습니다:
| 서비스 | 형태 | 로컬 파일 접근 |
|---|---|---|
| Claude Code | 터미널 CLI (사용자 PC에서 직접 실행) | ✅ 파일 읽기/쓰기/실행 |
| Cursor | 데스크탑 IDE (Electron 기반) | ✅ 프로젝트 전체 분석 |
| Windsurf | 데스크탑 IDE (VS Code 포크) | ✅ 48시간 자동 인덱싱 |
| GitHub Copilot | VS Code 확장 → 독립 에이전트 | ✅ 로컬 Git 연동 |
| Raycast | 데스크탑 런처 (macOS 네이티브) | ✅ 앱·파일·클립보드 통합 |
공통 패턴: AI가 실제로 유용하려면 사용자의 실제 파일을 읽고, 수정하고, 실행해야 합니다. 웹 브라우저에서는 이것이 불가능하므로, 모든 서비스가 데스크탑/터미널로 내려왔습니다.
AX Copilot은 이 흐름의 정중앙에 위치합니다:
- 🖥️ 데스크탑 네이티브 — WPF 앱이 OS 레벨에서 파일·프로세스·클립보드에 직접 접근
- ⌨️ 글로벌 런처 — Alt+Space 한 번으로 어떤 앱 위에서든 즉시 호출
- 🤖 에이전트 도구 52개 — 파일 읽기/쓰기, 코드 실행, Git, 문서 생성을 AI가 직접 수행
핵심 설계 원칙
- 🏢 사내 전용 — 외부 서버 의존 없음, 텔레메트리 없음
- 💾 로컬 우선 — 모든 데이터는
%APPDATA%\AxCopilot\에 저장 - 🔒 보안 — AES-256 설정 암호화, 역공학 방지
- 📦 인스톨러 150MB 이하 — .NET 8 런타임 내장 단일 배포
2. 전체 아키텍처
┌─────────────────────────────────────────────┐
│ App.xaml.cs (진입점) │
│ 서비스 초기화 · 트레이 아이콘 · 전역 훅 관리 │
└────────┬──────────────┬──────────────────────┘
│ │
┌────────▼───────┐ ┌───▼──────────────────────┐
│ AX Commander │ │ AX Agent │
│ (런처 WPF) │ │ (Chat / Cowork / Code) │
└────────┬───────┘ └───┬──────────────────────┘
│ │
┌────────▼──────────────▼──────────────────────┐
│ 공통 서비스 계층 │
│ SettingsService · LogService · IndexService │
│ CryptoService · McpClientService · LLMRouter │
└──────────────────────────────────────────────┘
기술 스택
| 계층 | 기술 |
|---|---|
| UI | WPF (.NET 8), WinForms (트레이) |
| 언어 | C# 12, XAML |
| 데이터 | JSON 직렬화 (System.Text.Json) |
| 검색 | TF-IDF + SQLite (코드), 퍼지 엔진 (런처) |
| AI | Ollama·vLLM (사내), Gemini·Claude (외부 옵션) |
| 프로토콜 | MCP (Model Context Protocol) |
3. AX Commander — 런처 기술
입력 → 결과 처리 파이프라인
사용자 입력
│
▼
CommandResolver (프리픽스 라우터)
│
├── 프리픽스 매칭 ──► 44개 핸들러 실행
│ = 계산기 ; 스니펫 # 클립보드
│ @ URL 별칭 ~ 폴더 $ 클립보드 변환
│ ! 워크스페이스 / 시스템 명령
│ color·date·emoji·port·json·encode …
│
└── 프리픽스 없음 ──► FuzzyEngine
(한국어 초성 + 퍼지 매칭)
FuzzyEngine 핵심 알고리즘
입력: "설정"
→ 초성 추출: "ㅅㅈ"
→ LCS(최장 공통 부분 수열) 기반 점수 계산
→ 사용 빈도 가중치 적용 (UsageRankingService)
→ 정렬 후 결과 반환
주요 핸들러 카탈로그 (44종)
| 카테고리 | 핸들러 | 기능 |
|---|---|---|
| 개발 도구 | json, encode, port, color | JSON 검증, 인코딩, 포트 조회, 색상 변환 |
| 파일/시스템 | recent, rename, scaffold, svc | 최근 파일, 일괄 이름변경, 프로젝트 생성 |
| 생산성 | note, snippet, date, stats | 메모, 스니펫, 날짜 계산, 텍스트 분석 |
| UI/화면 | cap, snap, pick | 화면 캡처, 창 배치, 색상 추출 |
| 워크스페이스 | !, workspace | 22개 레이아웃, 프로파일 저장/복원 |
4. AX Agent — AI 대화 엔진
에이전트 루프 (AgentLoopService)
사용자 메시지
│
▼
┌─────────────────────────────┐
│ 에이전트 루프 (반복) │
│ │
│ 1. LLM API 호출 │
│ 2. 응답 파싱 │
│ 3. 도구 호출 감지 │
│ 4. 도구 실행 │◄──── 52개 도구
│ 5. 결과 → 컨텍스트 추가 │
│ 6. 목표 달성? → 종료 │
└─────────────────────────────┘
│
▼
최종 응답 스트리밍 출력 (SSE)
3개 대화 탭의 특성
| 탭 | 목적 | 시스템 프롬프트 | 주요 도구 |
|---|---|---|---|
| Chat | 일반 AI 대화 | 범용 어시스턴트 | 기본 도구 |
| Cowork | 업무 자동화 | 20개 프리셋 특화 | 문서·데이터 도구 |
| Code | 개발 지원 | 코딩 에이전트 | LSP·Git·빌드 도구 |
컨텍스트 관리
- 토큰 추정:
TokenEstimator— CJK 문자 가중치 적용, 실시간 비용 표시 - 대화 압축: 컨텍스트 초과 시
ContextCondenser로 요약 → 재압축 - 대화 분기:
ParentId기반 트리 구조, 우클릭 "여기서 분기"
5. 도구 생태계 — 52개 에이전트 도구
도구 카테고리
파일·코드 (18개) 문서·데이터 (12개)
file_read/write document_read/write
directory_list pptx_create
search_files xlsx_analyze
file_watch data_pivot
lsp_goto_definition template_render
lsp_find_references text_summarize
search_codebase (TF-IDF) image_analyze
개발 (12개) 시스템·프로세스 (10개)
git_status/diff/commit process_run
build_run environment_read
test_generate/run clipboard_read/write
code_review screen_capture
spawn_agent notification_show
스킬 시스템 (29개 내장 슬래시 명령)
/daily-standup /email-draft /code-review
/translate /security-audit /prd-generator
/weekly-report /refactor /gen-test
/changelog /sql-report /perf-audit …
*.skill.md마크다운 파일로 정의 (YAML 프론트매터)%APPDATA%\AxCopilot\skills\외부 폴더로 재빌드 없이 추가- Python/Node.js 런타임 감지 → 고급 스킬 자동 활성화
6. 코드 인텔리전스 기술
LSP (Language Server Protocol) 연동
에이전트 LSP 서버
│ │
├─ lsp_goto_definition ──► OmniSharp (C#)
├─ lsp_find_references ──► typescript-language-server
└─ lsp_symbols ──► pyright (Python)
효과: 텍스트 검색이 아닌 의미 기반 코드 탐색 → 수정 정확도 대폭 향상
시맨틱 코드 검색 (TF-IDF 엔진)
1. 프로젝트 파일 인덱싱
└── 바이그램 토크나이저 + 스톱워드 제거
└── SQLite 영속 저장 (증분 업데이트)
2. 질의 시 관련 파일 자동 검색
└── TF-IDF 점수 계산 → 상위 N개 반환
└── 에이전트가 자동으로 관련 코드 읽기
MCP (Model Context Protocol) 클라이언트
stdio+JSON-RPC 2.0표준 구현- 외부 MCP 서버의 도구를 에이전트 도구로 자동 래핑
- 사내 전용 MCP 서버만 연결 허용
7. 보안 & 사내 환경 설계
다층 보안 구조
레이어 1: 설정 암호화
└── settings.json → AES-256-GCM → settings.dat
└── PC별 DPAPI 키 조합 (이식 불가)
레이어 2: 역공학 방지 (AntiTamper)
└── 디버거 감지, 리버싱 도구 프로세스 감지
└── 사내 IP 대역 예외 처리 (개발 환경)
레이어 3: 보안 감사 로그
└── AuditLogService — 모든 도구 호출 JSON 영속화
└── 개발자 모드에서 감사 로그 폴더 열기
레이어 4: 실행 범위 제한
└── 외부 HTTP 호출 금지 (LLM API 제외)
└── 원격 코드 실행 금지
└── 텔레메트리 완전 차단
모델 라우팅 전략
질문 유형 분류
│
├── 코딩/기술 → 코드 특화 모델 (사내 vLLM)
├── 번역/요약 → 경량 모델 (Ollama)
└── 복잡 분석 → 대형 모델 (Gemini Pro / Claude)
폴백 처리: 모델 오류 시 FallbackModels 순차 시도
8. Phase별 개발 현황
완료된 주요 Phase
| Phase | 버전 | 핵심 성과 |
|---|---|---|
| 2.5~7 | v1.1~1.2 | 에이전트 루프, 21개 도구, 마크다운 렌더러 |
| 8 | v1.5.0 | MCP 클라이언트, 모델 폴백, 대화 분기, 토큰 관리 |
| 9 | v1.5.0 | LSP 연동, 병렬 에이전트, 코드 시맨틱 검색, 이벤트 트리거 |
| 10~11 | v1.5.0 | Auto Router, 에이전트 메모리, 스킬 시스템, AI 코드 리뷰 |
| 15 | v1.6.0 | 멀티패스 문서 생성, 42→52개 도구, 29개 내장 스킬 |
| 16 | v1.7.0 | 플랜 모드, 병렬 도구 실행, 프로젝트 규칙 시스템 |
현재 규모 (v1.6.1)
에이전트 도구: 52개
내장 스킬: 29개
코워크 프리셋: 20개
지원 LLM: 4종 (Ollama · vLLM · Gemini · Claude)
런처 핸들러: 44개
지원 테마: 10종
9. 차기 개발 방향 (v1.8~2.0)
경쟁 서비스 대비 로드맵
| 기능 | 경쟁 서비스 | AX Copilot 계획 |
|---|---|---|
| 자기 성찰 루프 | Claude Code Reflexion | v1.8 자기 성찰 서비스 |
| 영속 작업 기억 | Windsurf Memory | v1.8 Working Memory |
| 멀티파일 Diff | Cursor diff view | v1.8 통합 Diff UI |
| HTTP+SSE MCP | Claude Code 원격 | v1.8 MCP HTTP 전송 |
| 에이전트 팀 | GitHub Copilot Workspace | v2.0 다중 에이전트 |
| 플러그인 갤러리 | Raycast Store | v2.0 로컬 레지스트리 |
사내 환경 특화 원칙 유지
- ✅ 외부 서버 의존 없음 → 온프레미스 LLM 우선
- ✅ 인스톨러 150MB 이하 유지
- ✅ 플러그인 로컬 zip 설치만 허용
- ✅ 모든 데이터 로컬 저장
10. 정리 및 Q&A
AX Copilot의 기술적 차별점
1. 완전 오프라인 동작 가능 (사내 Ollama/vLLM)
2. 52개 에이전트 도구 + 29개 슬래시 스킬
3. LSP 기반 실제 코드 이해 (텍스트 검색 수준 초월)
4. MCP 표준으로 사내 서버 자유 연결
5. AES-256 + DPAPI 이중 암호화 설정 보안
6. 전역 핫키 Alt+Space — 어떤 앱에서도 즉시 호출
향후 기여 방법
- 스킬 추가:
*.skill.md파일 작성 →%APPDATA%\AxCopilot\skills\배치 - MCP 서버: 사내 도구를 MCP 서버로 노출 → AX Copilot에서 자동 사용
- 플러그인:
IActionHandler인터페이스 구현 → DLL 배치
발표 자료 작성: AX연구소 AI팀 | 문의: 내부 메신저