AGENT_ROADMAP.md:
- Group C에 17-C5 ✅ 항목 추가: PreSkillExecute/PostSkillExecute/CwdChanged 훅, AgentSettingsPanel 훅 UI
DEVELOPMENT.md (v2.0.0):
- Phase 17-C 설명에 누락 이벤트 완성 내용 추가
- 신규 파일 목록에 Phase L6-2/L6-3/L6-4 파일 추가
302 lines
22 KiB
Markdown
302 lines
22 KiB
Markdown
# 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 강화** | ReflexionService + JsonlReflexionRepository + TaskTypeClassifier 구현. 세션 완료 후 LLM 자기평가 저장, 시스템 프롬프트에 교훈 자동 주입 | 최고 | G6 |
|
|
| 17-A2 ✅ | **검증 대상 확대** | PostToolVerificationService 확장. file_write/file_edit/script_create 도구 후 검증 강제. VerificationChecklist JSON 영속화 | 최고 | G5 |
|
|
|
|
### Group B — 상태/이력 관리
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 갭 |
|
|
|---|------|------|----------|----|
|
|
| 17-B1 ✅ | **구조화된 태스크 상태** | TaskState + TaskStateService 구현. 컨텍스트 압축 후에도 현재 태스크/완료 태스크/차단 이슈 유지. JSON 영속화 | 높음 | G7 |
|
|
| 17-B2 ✅ | **Event-Sourced 이벤트 로그** | AgentEventLog + AgentEventLogType 구현. .jsonl 형식 영속화. SessionStart/End/UserMessage/AssistantMessage/ToolCall/ToolResult/Compaction 이벤트 기록 | 높음 | G2 |
|
|
|
|
### Group C — 훅 시스템 고도화 (CC 17종 이벤트·4타입 기반)
|
|
|
|
| # | 기능 | 설명 | 우선순위 |
|
|
|---|------|------|----------|
|
|
| 17-C1 ✅ | **훅 이벤트 확장** | ExtendedHooksConfig에 UserPromptSubmit/PreCompact/PostCompact/FileChanged/AgentStop/SessionStart/SessionEnd/PermissionRequest 이벤트 추가. AgentLoopService 전 단계에서 연결 | 최고 |
|
|
| 17-C2 ✅ | **훅 타입 확장** | ExtendedHookRunner: Prompt 모드(LLM 보안검사) + Agent 모드(에이전트 루프 검증) 구현. Command/Http/Prompt/Agent 4타입 완비 | 최고 |
|
|
| 17-C3 ✅ | **훅 속성·출력 고도화** | ExtendedHookEntry: once/async/statusMessage/watchPaths 속성 추가. ExtendedHookResult: additionalContext/block/watchPaths 출력 처리 | 높음 |
|
|
| 17-C4 ✅ | **SessionStart 확장** | watchPaths → FileWatcherService 등록 완료. SessionStart 훅 결과의 WatchPaths가 FileChanged 훅을 fire-and-forget으로 트리거 | 중간 |
|
|
| 17-C5 ✅ | **누락 이벤트 완성** | PreSkillExecute/PostSkillExecute(AgentLoopService.Skills.cs), CwdChanged(ChatWindow.WorkFolder.cs) 훅 발화 추가. AgentSettingsPanel에 훅 UI 섹션(토글·요약·/hooks 연동) 추가 | 중간 |
|
|
|
|
### Group D — 스킬 시스템 고도화 (CC 스킬 문서 기반)
|
|
|
|
| # | 기능 | 설명 | 우선순위 |
|
|
|---|------|------|----------|
|
|
| 17-D1 ✅ | **스킬 fork 컨텍스트** | context:fork 플래그 감지 → RunSkillForkAsync() 격리 실행. 분기 메시지 독립 컨텍스트, fork 이벤트 로그 기록 | 높음 |
|
|
| 17-D2 ✅ | **경로 기반 스킬 활성화** | SkillDefinition.PathsGlob 파싱. 파일 도구 실행 대상 경로가 스킬 paths 패턴과 매칭 시 자동 시스템 프롬프트 주입 | 높음 |
|
|
| 17-D3 ✅ | **스킬 범위 훅·모델 오버라이드** | UserInvocable = user-invocable:false → AI 내부 전용. SkillManagerTool.ListSkills()에서 필터링. ListSkills()에서 IsUserInvocable() 조건으로 슬래시 팝업 노출 제어 | 중간 |
|
|
|
|
### Group E — 메모리/컨텍스트 고도화 (CC 메모리 문서 기반) ✅ 완료
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 구현 |
|
|
|---|------|------|----------|------|
|
|
| 17-E1 | **@include 지시어** | AX.md / .ax/rules에서 @파일경로로 외부 파일 포함. 최대 5단계 | 높음 | AxMdIncludeResolver.ResolveAsync() — AgentLoopService.Memory.cs에서 세션 시작 시 호출 |
|
|
| 17-E2 | **경로 기반 규칙 주입** | .ax/rules/*.md의 paths: — 해당 파일 작업 시만 규칙 주입 | 높음 | PathScopedRuleInjector — 파일 도구 결과 후 InjectPathScopedRulesAsync() 호출 |
|
|
| 17-E3 | **컨텍스트 컴팩션 + 파일 되감기** | /compact 명령, PreCompact/PostCompact 훅, 파일 변경 되감기 | 중간 | — (차기 Phase) |
|
|
|
|
새 파일: `AgentLoopService.Memory.cs` (105줄) — `InjectHierarchicalMemoryAsync()` + `InjectPathScopedRulesAsync()`
|
|
설정 추가: `EnableMemorySystem` (기본 true)
|
|
|
|
### Group F — 권한 시스템 고도화 (CC 권한 문서 기반) ✅ 완료
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 구현 |
|
|
|---|------|------|----------|------|
|
|
| 17-F1 | **acceptEdits 권한 모드** | 파일 편집 자동승인 + bash/process 명령 확인 유지 | 높음 | AgentLoopService.Permissions.cs — GetPermissionService() + EvaluateToolPermission(). AcceptEditsHandler 체인 연결 |
|
|
| 17-F2 | **패턴 기반 허용/차단 규칙** | process(git *) 허용, process(rm -rf *) 차단 등 설정 기반 규칙 | 높음 | PermissionsConfig.AllowRules/DenyRules → PermissionRule 변환. Execution.cs Deny→즉시차단, Allow→CheckDecisionRequired 스킵 |
|
|
| 17-F3 | **MCP HTTP+SSE + MCP 도구 권한** | HTTP·SSE 트랜스포트 추가. mcp__서버__도구 단위 권한 규칙 | 중간 | CheckMcpToolAllowed() 추가 — 차기 MCP 강화 시 연계 예정 |
|
|
|
|
새 파일: `AgentLoopService.Permissions.cs` (97줄) — PermissionDecisionService 빌드·캐시·평가
|
|
|
|
### Group G — 개발자 경험 ✅ 완료
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 구현 |
|
|
|---|------|------|----------|------|
|
|
| 17-G1 | **멀티파일 통합 Diff 추적** | 쓰기 도구 실행 전 원본 캡처 → 성공 후 변경 기록. MultiFileDiffViewModel UI 바인딩 | 높음 | AgentLoopService.DiffTracker.cs — CaptureOriginalFileContent() + TrackFileModificationForDiff(). Execution.cs 전·후 호출 통합 |
|
|
| 17-G2 | **도구 위험도 표시** | ToolCall 이벤트에 [⚠ 높음]/[• 보통] 태그 표시. ToolRiskMapper 연계 | 중간 | Execution.cs EmitEvent(ToolCall) 에 riskTag 접미사 추가. toolName17 변수로 nullable 경고 0개 달성 |
|
|
|
|
새 파일: `AgentLoopService.DiffTracker.cs` (99줄) — ExtractFilePathFromInput() + CaptureOriginalFileContent() + TrackFileModificationForDiff() + ResetDiffTracker()
|
|
설정 추가: `EnableDiffTracker` (기본 true)
|
|
|
|
---
|
|
|
|
## Phase 18 — 멀티에이전트 팀 + 에코시스템 (v2.0) [CC 문서 기반 전면 개정]
|
|
|
|
> **개발 기준**: CC coordinator 모드·worktree 격리·백그라운드 에이전트·타입별 메모리 + OpenHands G1/G8
|
|
> 세부 계획은 `docs/NEXT_ROADMAP.md` Phase 18 참조
|
|
|
|
### Group A — 멀티에이전트 아키텍처 (CC 기반 신규)
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 갭 |
|
|
|---|------|------|----------|----|
|
|
| 18-A1 ✅ | **코디네이터 에이전트 모드** | CoordinatorAgentService 구현 완료. LLM 계획 수립 → 의존성 기반 토폴로지 정렬 → 병렬 서브에이전트 실행 → 결과 합성. EnableCoordinatorMode 설정 연동. AgentLoopService.Coordinator.cs 파셜 분리 | 최고 | G1 |
|
|
| 18-A2 ✅ | **Worktree 격리 서브에이전트** | WorktreeManager 구현 완료 + DelegateAgentTool에 주입 (isolation:"worktree" 파라미터 지원) | 최고 | — |
|
|
| 18-A3 ✅ | **에이전트 팀 위임 (delegate 도구)** | DelegateAgentTool 구현 + ToolRegistry 등록 완료. BackgroundAgentService + WorktreeManager 통합 | 최고 | G1 |
|
|
| 18-A4 ✅ | **백그라운드 에이전트 + 완료 알림** | BackgroundAgentService.AgentCompleted → ChatWindow 트레이 알림 연결 완료 | 높음 | — |
|
|
|
|
### Group B — 디버깅 + 생태계
|
|
|
|
| # | 기능 | 설명 | 우선순위 | 갭 |
|
|
|---|------|------|----------|----|
|
|
| 18-B1 ✅ | **에이전트 리플레이/디버깅** | AgentReplayService + ReplayTimelineViewModel 구현. WorkflowAnalyzerWindow에 "리플레이" 탭 통합 (세션 선택·재생 컨트롤·이벤트 스트림) | 높음 | G8 |
|
|
| 18-C1 ✅ | **플러그인 갤러리 + 레지스트리** | PluginGalleryViewModel + PluginInstallService + SettingsWindow 플러그인 탭 구현 완료. zip 설치·활성화 토글·제거 UI 완비 | 높음 | — |
|
|
| 18-C2 ✅ | **AI 스니펫** | AiSnippetHandler 구현 완료. ai [템플릿] [내용] 명령으로 LLM 초안 자동 생성. SnippetTemplateService 연동 | 중간 | — |
|
|
| 18-C3 ✅ | **파라미터 퀵링크** | QuickLinkHandler 구현 완료. jira/github/confluence URL 변수 치환. QuickLinkEntry 설정 연동 | 중간 | — |
|
|
| 18-C4 | **오프라인 AI (ONNX Runtime)** | 로컬 소형 모델, 별도 배포 | 낮음 | — |
|
|
| 18-C5 | **웹 검색 AI 요약** | ? 검색 결과 AI 요약 표시 | 낮음 | — |
|