Initial commit to new repository

This commit is contained in:
2026-04-03 18:23:52 +09:00
commit deffb33cf9
5248 changed files with 267762 additions and 0 deletions

292
docs/AGENT_ROADMAP.md Normal file
View File

@@ -0,0 +1,292 @@
# AX Agent 대화 서비스 고도화 계획
## 완료 이력
### Phase 2.5~7 (v1.1.0 ~ v1.2.1)
- 에이전트 루프 엔진 (21개 도구), 10종 무드, 커스텀 프리셋
- 마크다운 렌더링 (테이블/인용/링크/취소선), 코드 블록 강화
- Code 탭 (5프리셋), DevEnvDetect/BuildRun/GitTool, Nexus 연동
- 8단계 워크플로우 시스템 프롬프트, AX.md 프로젝트 컨텍스트
### Phase 7.5 (v1.2.2)
- 무지개 글로우 효과 (런처/채팅), 커스텀 UI (컨텍스트 메뉴, InputDialog)
- 설정 구조 개편 (공통 탭 통합), 다크 테마 6종 가독성 개선
- 알림 오류 수정 (ShowTips/NotifyOnComplete), ViewModel 바인딩 정비
### Phase 8 (v1.5.0) — 경쟁 서비스 벤치마크 기반
| # | 기능 | 구현 내용 |
|---|------|----------|
| 8-1 | MCP 클라이언트 | McpClientService (stdio/JSON-RPC), McpTool 래핑, 설정 UI |
| 8-2 | 모델 폴백 | FallbackModels 순차 시도, 폴백 알림, 설정 편집 UI |
| 8-3 | 대화 분기 | ParentId/BranchLabel, 우클릭 "여기서 분기", 사이드바 분기 아이콘 |
| 8-4 | 스플릿 뷰 | 자동 프리뷰 (에이전트 파일 수정 시), AutoPreview 설정 |
| 8-5 | 커맨드 팔레트 | Ctrl+Shift+P, 16개 명령, 한글 초성 검색 |
| 8-6 | 토큰 관리 | TokenEstimator (비용 추정, CJK 가중치), 상태바 비용 표시 |
| 8-7 | 에이전트 자율성 | 동적 반복 한도 (도구 15+ → 2배), 다단계 반성 |
| 8-8 | 개발자 모드 | 공통 탭, 비밀번호 보호, 스텝 승인 |
| 8-9 | 보안 감사 로그 | AuditLogService (JSON 영속화), 설정 토글 + 폴더 열기 |
| 추가 | 다중 서버 | RegisteredModel에 endpoint/apiKey 필드, 모델별 서버 라우팅 |
---
## Phase 9 — 차세대 고도화 (v1.5.0) ✓ 완료
### Context (2026년 3월 기준)
- **Claude Code**: SWE-bench 80.8%, Opus 4.6 1M 컨텍스트, 서브에이전트, MCP 표준화, 원격 트리거
- **Cursor**: Tab 자동완성, Multi-file 에이전트, 백그라운드 에이전트, LSP 통합
- **논문**: Agentic Coding Survey (arXiv 2025), SWE-Agent v2, CodeAct, Reflexion
### 9-1. 코드 인텔리전스 (LSP 연동) — ✓ 완료
- **에이전트 도구**: `lsp_goto_definition`, `lsp_find_references`, `lsp_symbols`
- **기술**: OmniSharp (C#), typescript-language-server, pyright
### 9-2. 병렬 에이전트 (서브에이전트) — ✓ 완료
- **구현**: 메인 에이전트가 서브태스크 분할 → 서브에이전트 독립 실행 → 결과 병합
- **에이전트 도구**: `spawn_agent` (서브에이전트 생성), `wait_agents` (결과 대기)
- **UI**: 진행률 바에 서브에이전트 상태 표시 (메인 + 서브 N개)
### 9-3. 코드 시맨틱 검색 (TF-IDF) — ✓ 완료
- **에이전트 도구**: `search_codebase` (시맨틱 검색)
- **기술**: SQLite 기반 로컬 벡터, 서버 불필요
### 9-4. 자동 테스트 루프 — ✓ 완료
- **에이전트 도구**: `test_generate`, `test_run`, `test_analyze`
- **패턴**: SWE-bench — 실패 테스트 → 코드 수정 → 테스트 통과 루프
### 9-5. 이벤트 트리거 에이전트 — ✓ 완료
- **트리거 소스**: 타이머, 파일 변경 감지, Git push/pull 이벤트
- **결과**: 트레이 알림 + 로컬 리포트 파일 생성
### 9-6. PDF/문서 내보내기 — ✓ 완료
- **구현**: 대화 → PDF, 보고서 → Word/PDF 변환
### 9-7. 실시간 diff 뷰어 — ✓ 완료
- **구현**: 수정 전/후 비교 (라인 기반 diff, 색상 하이라이트)
- **Accept/Reject** 버튼으로 변경 승인/취소
---
## Phase 10 — 지능형 에이전트 (v1.5.0) ✓ 완료
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 10-1 | **자동 모델 선택 (Auto Router)** | 질문 유형(코딩/번역/분석) 감지 → 최적 모델 자동 라우팅 | ✅ 완료 (잠금) |
| 10-2 | **에이전트 메모리 (영속 학습)** | 프로젝트 규칙/코딩 선호도 자동 기억. 대화 간 유지 | ✅ 완료 |
| 10-3 | **웹훅 트리거 확장** | Git push/PR, Jira/Slack 웹훅 → 에이전트 자동 실행 | 높음 |
| 10-4 | **멀티모달 입력** | 이미지/스크린샷 → AI 분석 (Vision API) | ✅ 완료 |
| 10-5 | **코드 검색 개선** | TF-IDF + SQLite 영속 인덱스, 증분 업데이트, 바이그램, 스톱워드 | ✅ 완료 |
| 10-6 | **에이전트 훅 시스템** | 도구 호출 전/후 사용자 스크립트 실행 | ✅ 완료 |
## Phase 11 — 생태계 확장 (v1.5.0) ✓ 완료
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 11-1 | **스킬 시스템** | 마크다운 기반 재사용 워크플로우, 슬래시 명령 호출 | ✅ 완료 |
| 11-2 | **AI 코드 리뷰 자동화** | Git diff → AI 리뷰 → 수정 → 테스트 닫힌 루프 | ✅ 완료 |
| 11-3 | **드래그&드롭 AI 처리** | 파일 드래그 → 자동 분석/변환/요약 | ✅ 완료 |
### 11-1. 스킬 시스템 — ✓ 완료
- **구현**: *.skill.md 파일의 YAML 프론트매터 파싱 → 슬래시 명령어로 노출
- **스킬 폴더**: `%APPDATA%\AxCopilot\skills\` + 앱 기본 폴더
- **에이전트 도구**: `skill_manager` (list/info/reload)
- **UI**: 슬래시 팝업에 스킬 아이콘(⚡) + 자동완성 통합
### 11-2. AI 코드 리뷰 자동화 — ✓ 완료
- **에이전트 도구**: `code_review` (diff_review / file_review / pr_summary)
- **정적 분석**: 빈 catch, 동기 대기, 하드코딩 비밀번호, TODO/FIXME, 긴 메서드
- **리뷰 초점**: all / bugs / performance / security / style
### 11-3. 드래그&드롭 AI 처리 — ✓ 완료
- **파일 유형 4종**: 코드 (리뷰/설명/리팩토링/테스트), 문서 (요약/분석/번역), 데이터 (분석/시각화/변환), 이미지 (설명/UI리뷰)
---
## Phase 12 — 스킬/커넥터 고도화 (v1.5.x) ✓ 완료 (주요 항목)
| # | 기능 | 상태 |
|---|------|------|
| 12-1 | **도구/커넥터 관리 UI** | ✅ 완료 → Phase 16-2로 통합 |
| 12-2 | **SKILL.md 표준 호환** | ✅ 완료 → Phase 16-6으로 통합 |
| 12-3 | **스킬 시각적 편집기** | ✅ 완료 |
| 12-4 | **런타임 의존 스킬 시스템** | ✅ 완료 (v1.5.1) |
| 12-5 | **워크플로우 분석기** | ✅ 완료 (v1.5.1) |
| 12-6 | **스킬 갤러리 UI** | ✅ 완료 |
| 12-7 | **스킬 가져오기/내보내기** | ✅ 완료 |
### 12-4. 런타임 의존 스킬 시스템 — ✓ 완료 (v1.5.1)
- **RuntimeDetector**: Python/Node.js 설치 여부 자동 감지 (where.exe + --version, 5분 캐시)
- **SkillDefinition 확장**: `Requires`/`IsAvailable`/`UnavailableHint` 필드
- **고급 스킬 4종 번들**: docx-creator, xlsx-analyzer, pdf-processor, pptx-creator
- **슬래시 팝업**: 비가용 스킬 회색 표시 + "(Python 필요)" 힌트
### 12-5. 워크플로우 분석기 — ✓ 완료 (v1.5.1)
- **AgentEvent 확장**: ElapsedMs, InputTokens, OutputTokens, ToolInput, Iteration
- **WorkflowAnalyzerWindow**: 세로 타임라인 실시간 시각화 (요약 카드 4종 + 노드 클릭 상세)
- **설정 연동**: 개발자 모드 → 워크플로우 시각화 토글 → Cowork/Code 실행 시 자동 열기
---
## Phase 15 — 멀티패스 문서 엔진 + 스킬/도구 대확장 (v1.6.0) ✓ 완료
| # | 기능 | 구현 내용 |
|---|------|----------|
| 15-A | **멀티패스 문서 생성** | document_plan (개요 구조화) + document_assemble (섹션 조립). 3페이지+ 문서를 개요→섹션별 상세→조립 방식으로 품질 향상 |
| 15-B | **PPT 네이티브 생성** | pptx_create — OpenXML 기반, Python 무의존, 5종 레이아웃, 4종 테마 |
| 15-C | **데이터 피벗/집계** | data_pivot — CSV/JSON 그룹화·필터·정렬·집계 (LINQ 기반) |
| 15-D | **템플릿 렌더링** | template_render — Mustache 스타일 변수 치환·반복·조건부 |
| 15-E | **이미지 분석** | image_analyze — LLM 멀티모달 describe/OCR/데이터 추출/비교 |
| 15-F | **파일 변경 감지** | file_watch — 폴더 감시, 상대 시간(1h/7d), 유형별 통계 |
| 15-G | **텍스트 요약** | text_summarize — 청크 분할→핵심 추출 요약 (4종 스타일) |
| 15-H | **내장 스킬 16종 추가** | 비즈니스: email-draft, translate, compare, weekly-report. 데이터: log-analyze, sql-report, data-convert. 개발: refactor, gen-test, impact. 외부 검증: security-audit, prd-generator, adr-writer, changelog, dependency-audit, perf-audit — 총 29종 |
| 15-I | **설정** | EnableMultiPassDocument, MultiPassThresholdPages |
도구: 34개 → **42개** (+8), 스킬: 13개 → **29개** (+16)
---
## Phase 16 — 에이전트 지능 강화 + 개발자 경험 (v1.7.0) ✅ 완료
> **계획 기준**: Claude Code(Plan mode, Hooks, 병렬 도구), Cursor(프로젝트 규칙, 멀티파일 diff), GitHub Copilot(반복 테스트-수정), Windsurf(자동 컨텍스트, 영속 메모리) 분석 + Reflexion/CodeAct 연구 동향 반영.
| # | 기능 | 구현 내용 |
|---|------|----------|
| 16-1 | **플랜 모드 (Plan Mode)** | 에이전트가 도구 실행 전 구조화된 계획 생성 → 사용자 검토/승인 → 승인 후 실행. `PlanMode`: off/always/auto 3모드. always=텍스트 전용 계획 생성(최대 3회 수정), auto=계획 감지 시 승인 요청 |
| 16-2 | **도구/커넥터 관리 UI** | 설정 > AX Agent > 도구 탭. 52개 도구를 6개 카테고리(파일/검색, 문서 생성, 문서 품질, 코드/개발, 데이터/유틸, 시스템)별 카드로 표시. 개별 활성/비활성 토글 + MCP 서버 연결 상태 실시간 표시 |
| 16-3 | **프로젝트 규칙 시스템** | `.ax/rules/*.md` YAML 프론트매터(name, description, applies-to, when) 파싱. 파일 패턴 glob 매칭, when 조건 필터링, 시스템 프롬프트 자동 주입 |
| 16-4 | **반복 테스트-수정 루프** | TestLoopTool `auto_fix` 액션 — 테스트 실행→구조화된 실패 파싱(.NET/pytest)→반복 예산 자동 확장 (MaxTestFixIterations 설정) |
| 16-5 | **병렬 도구 실행** | 읽기 전용 도구(file_read, grep_tool, glob 등 12종) 자동 분류 → `Task.WhenAll()` 병렬 실행, 쓰기 도구는 순차 실행. `EnableParallelTools` 토글 |
| 16-6 | **SKILL.md 표준 완전 호환** | 외부↔내부 도구 이름 매핑 테이블 20개 (Bash→process, Read→file_read, Grep→grep_tool 등). ParseSkillFile에서 스킬 본문 자동 치환 |
설정 추가: `PlanMode`, `EnableProjectRules`, `MaxTestFixIterations`, `EnableParallelTools`, `DisabledTools`
---
## Phase 16.8 — 안정화 릴리즈 (v1.7.2) ✅ 완료
- **컨텍스트 자동 압축** — 2단계 압축(도구 결과 축약 + LLM 요약), 모델별 토큰 한도 자동 인식
- **대화 이력 복원** — 앱 재시작 시 탭별 마지막 대화 자동 복원
- **런처 속도 개선** — 핫키 응답 ~230ms 단축, 애니메이션 최적화
- **스크롤 캡처 개선** — 증분 스티칭으로 중복 프레임 제거, 오버랩 감지 정확도 향상
- **검증 리팩터링** — 도구 검증을 읽기 전용으로 제한하여 품질 저하 방지
- **AI 모델 호환성 가이드** — Function Calling 지원 모델 호환표 추가
- **버그 수정 6건** — 설정 비밀번호 재요구, 계획 버튼 동기화, 야간 근무 시간, 클립보드 붙여넣기, 활성 창 캡처
---
## Phase 16.5 — 검증 강제 + 오픈소스 갭 보완 (v1.7.1) ✅ 완료
> **계획 기준**: OpenHands(ICLR 2025), Claude Code, Cursor 에이전트 루프 비교 분석 기반.
> 업계 모든 에이전트 루프가 "1반복=1 LLM 호출, 검증 없음" 동일 구조임을 확인하여, AX Copilot만의 차별화 포인트로 "검증 강제"를 아키텍처 수준에서 구현.
| # | 기능 | 구현 내용 |
|---|------|----------|
| 16.5-1 | **도구 실행 후 검증 강제** | 문서 생성 도구 실행 후 LLM 검증 전용 호출 자동 삽입. `RunPostToolVerificationAsync()`, `IsDocumentCreationTool()`. 대상 7종 도구 |
| 16.5-2 | **피드백 학습 컨텍스트** | `BuildFeedbackContext()` — 최근 20건 대화의 좋아요/싫어요 패턴 분석 → 시스템 프롬프트 주입 |
| 16.5-3 | **Gemini 배열 스키마 수정** | MultiReadTool.paths, UserAskTool.options에 Items 필드 추가 |
| 16.5-4 | **워크플로우/플랜 뷰어 UI 개선** | 타이틀바 드래그, 탭 가시성, 버튼 색상 개선 |
| 16.5-5 | **수정 후 재시도** | 두 번째 액션바 재시도 버튼, 슬래시 칩 워터마크 충돌 수정 |
설정 추가: `EnablePostToolVerification`
---
### OpenHands 대비 갭 분석 (2026-03-31)
| # | 영역 | OpenHands | AX Copilot 현재 | 갭 | 보완 Phase |
|---|------|-----------|----------------|-----|-----------|
| G1 | Multi-Agent 위임 | ✅ AgentDelegateAction | ❌ 위임 패턴 없음 | 🔴 | Phase 18 |
| G2 | Event-Sourced State | ✅ 불변 이벤트 스트림 | △ Observable (재실행 불가) | 🟡 | Phase 17 |
| G3 | SecurityAnalyzer | ✅ 위험도 자동 분류 | △ Ask 모드 수동 | 🟢 | Phase 17 |
| G5 | 검증 깊이 확대 | ❌ | △ 문서만 검증 | 🟡 | Phase 17 |
| G6 | Reflexion 성공 시 | ❌ | △ 실패 시에만 | 🟡 | Phase 17 |
| G7 | 구조화 태스크 상태 | ✅ State 직렬화 | ❌ | 🟡 | Phase 17 |
| G8 | 에이전트 리플레이 | ✅ 이벤트 리플레이 | ❌ | 🟡 | Phase 18 |
---
## Phase 17 — 에이전트 인프라 고도화 (v1.8.0) — 차기 개발 [2026-04-03 CC 문서 기반 전면 개정]
> **개발 기준**: Claude Code 내부 아키텍처(훅·스킬·메모리·권한) + OpenHands 갭(G2/G5/G6/G7) 통합 보완
> 세부 계획은 `docs/NEXT_ROADMAP.md` Phase 17 참조
### Group A — 에이전트 자기성찰
| # | 기능 | 설명 | 우선순위 | 갭 |
|---|------|------|----------|----|
| 17-A1 | **Reflexion 강화** | 성공·실패 모두 자기평가. 반성 메모리 저장 → 동일 유형 참고 | 최고 | G6 |
| 17-A2 | **검증 대상 확대** | 코드 생성 후 검증 강제. 구문·참조 무결성. 체크리스트 편집 | 최고 | G5 |
### Group B — 상태/이력 관리
| # | 기능 | 설명 | 우선순위 | 갭 |
|---|------|------|----------|----|
| 17-B1 | **구조화된 태스크 상태** | 대화 압축 후에도 유지되는 TaskState. JSON 직렬화 영속 | 높음 | G7 |
| 17-B2 | **Event-Sourced 이벤트 로그** | SeqNo/ParentId/Payload. .jsonl 저장·재분석 | 높음 | G2 |
### Group C — 훅 시스템 고도화 (CC 17종 이벤트·4타입 기반)
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 17-C1 | **훅 이벤트 확장** | UserPromptSubmit, PreCompact/PostCompact, FileChanged, CwdChanged, SessionEnd, ConfigChange 추가 | 최고 |
| 17-C2 | **훅 타입 확장** | type:prompt (LLM 보안검사), type:agent (에이전트 루프 검증) 추가 | 최고 |
| 17-C3 | **훅 속성·출력 고도화** | if/once/async/statusMessage 속성. additionalContext·permissionDecision·updatedInput 출력 | 높음 |
| 17-C4 | **SessionStart 확장** | watchPaths (파일 감시 등록), initialUserMessage, additionalContext | 중간 |
### Group D — 스킬 시스템 고도화 (CC 스킬 문서 기반)
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 17-D1 | **스킬 fork 컨텍스트** | context:fork — 격리된 서브에이전트 컨텍스트에서 스킬 실행 | 높음 |
| 17-D2 | **경로 기반 스킬 활성화** | paths: 프론트매터 — 해당 파일 작업 시 스킬 자동 컨텍스트 주입 | 높음 |
| 17-D3 | **스킬 범위 훅·모델 오버라이드** | hooks: (스킬 범위 훅), model: (스킬별 모델), user-invocable:false (AI 전용) | 중간 |
### Group E — 메모리/컨텍스트 고도화 (CC 메모리 문서 기반)
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 17-E1 | **@include 지시어** | AX.md / .ax/rules에서 @파일경로로 외부 파일 포함. 최대 5단계 | 높음 |
| 17-E2 | **경로 기반 규칙 주입** | .ax/rules/*.md의 paths: — 해당 파일 작업 시만 규칙 주입 | 높음 |
| 17-E3 | **컨텍스트 컴팩션 + 파일 되감기** | /compact 명령, PreCompact/PostCompact 훅, 파일 변경 되감기 | 중간 |
### Group F — 권한 시스템 고도화 (CC 권한 문서 기반)
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 17-F1 | **acceptEdits 권한 모드** | 파일 편집 자동승인 + bash/process 명령 확인 유지 | 높음 |
| 17-F2 | **패턴 기반 허용/차단 규칙 UI** | process(git *) 허용, process(rm -rf *) 차단 등 패턴 규칙 편집기 | 높음 |
| 17-F3 | **MCP HTTP+SSE + MCP 도구 권한** | HTTP·SSE 트랜스포트 추가. mcp__서버__도구 단위 권한 규칙 | 중간 |
### Group G — 개발자 경험
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| 17-G1 | **멀티파일 통합 Diff 뷰** | 다수 파일 수정 시 파일별/헌크별 승인·거부 패널 | 높음 |
| 17-G2 | **자동 컨텍스트 + 도구 위험도** | 파일명 감지 자동 읽기, 도구 위험도 LOW/MED/HIGH 분류 | 중간 |
---
## Phase 18 — 멀티에이전트 팀 + 에코시스템 (v2.0) [CC 문서 기반 전면 개정]
> **개발 기준**: CC coordinator 모드·worktree 격리·백그라운드 에이전트·타입별 메모리 + OpenHands G1/G8
> 세부 계획은 `docs/NEXT_ROADMAP.md` Phase 18 참조
### Group A — 멀티에이전트 아키텍처 (CC 기반 신규)
| # | 기능 | 설명 | 우선순위 | 갭 |
|---|------|------|----------|----|
| 18-A1 | **코디네이터 에이전트 모드** | 계획·라우팅 전담, 구현은 서브에이전트 위임 | 최고 | G1 |
| 18-A2 | **Worktree 격리 서브에이전트** | 서브에이전트별 독립 git working copy. 승인 후 병합 | 최고 | — |
| 18-A3 | **에이전트 팀 위임 (delegate 도구)** | 특화 에이전트(코드·문서·보안·리서치) 독립 루프 실행 | 최고 | G1 |
| 18-A4 | **백그라운드 에이전트 + 타입별 메모리** | 비동기 실행 + 트레이 알림. agent-memory/타입/MEMORY.md | 높음 | — |
### Group B — 디버깅 + 생태계
| # | 기능 | 설명 | 우선순위 | 갭 |
|---|------|------|----------|----|
| 18-B1 | **에이전트 리플레이/디버깅** | Event-Sourced 로그. 과거 세션 재생·분기 재실행 | 높음 | G8 |
| 18-C1 | **플러그인 갤러리 + 레지스트리** | 로컬 NAS/Git 기반 인앱 갤러리. zip 설치 | 높음 | — |
| 18-C2 | **AI 스니펫** | ;email {수신자} {주제} 등 LLM 초안 자동 생성 | 중간 | — |
| 18-C3 | **파라미터 퀵링크** | jira {번호} → URL 변수 치환 | 중간 | — |
| 18-C4 | **오프라인 AI (ONNX Runtime)** | 로컬 소형 모델, 별도 배포 | 낮음 | — |
| 18-C5 | **웹 검색 AI 요약** | ? 검색 결과 AI 요약 표시 | 낮음 | — |