[v1.8.0] 배포 준비 — 가이드 문서 갱신 및 암호화

DEVELOPMENT.md v1.8.0 항목 상세 보완:
- Phase 17-B: TaskStateService JSON 영속화 + AgentEventLog JSONL 7종 이벤트 정확히 기술
- Phase 17-C: ExtendedHookRunner 18종 이벤트 + Prompt/Command/Http 3타입 상세 기술
- Phase 17-D: PathBasedSkillActivator + context:fork DI 콜백 주입 방식 기술
- Phase 17-E: HierarchicalMemoryService 4-layer + AxMdIncludeResolver + PathScopedRuleInjector 정확히 기술
- Phase 17-F: PermissionDecisionService Chain 5단계 + EvaluateToolPermission 3종 결정 기술
- Phase 17-G: DiffTracker CaptureOriginalFileContent + ToolRiskMapper 위험도 태그 기술

개발자 가이드 v1.8.0 버전 이력 항목 추가 (15개 신기능):
- 자기성찰 메모리, 세션 상태 영속화, 훅 시스템, 스킬 fork
- 경로 기반 스킬/규칙, 계층 메모리, 권한 시스템, 멀티파일 Diff
- 사내/사외 모드, 멀티에이전트, AI 스니펫, 퀵링크, 알림 센터

사용자 가이드: 개발자 가이드에서 버전 이력 섹션 제거 후 재생성
암호화: guide_dev.enc + guide_user.enc 재생성 (AES-256-CBC)
빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 01:17:09 +09:00
parent a635f24399
commit 0ef37554bc
5 changed files with 127 additions and 10 deletions

View File

@@ -1968,18 +1968,18 @@ allowed-tools: process file_read grep_tool
| 구분 | 내용 |
|------|------|
| **에이전트 채팅 화면 개편 (Phase 17-UI)** | 채팅 창 서브 바에 Plan 모드 3상태 토글 (Off / Auto / Always) 추가. 클릭 시 순환 전환, 활성 상태 색상 강조. `LlmSettings.PlanMode` 설정 연동 |
| **Reflexion 강화 (Phase 17-A)** | `ReflexionService` 확장: 자기 평가 → 전략 수정 루프 구현. 도구 실행 실패 시 반성 기반 재시도 전략 자동 선택 |
| **구조화된 이벤트 로그 (Phase 17-B)** | `AgentEventLog` JSONL 기록 시스템. `AgentLoopService`에 세션 ID 생성 + SessionStart / ToolRequest / ToolResult / SessionEnd 이벤트 기록 통합 |
| **훅 시스템 고도화 (Phase 17-C)** | `ExtendedHookRunner`: PreCompact / UserPromptSubmit / AgentThinking 훅 이벤트 추가. `asyncRewake` 속성으로 비동기 훅 완료 후 에이전트 재개 가능 |
| **스킬 시스템 고도화 (Phase 17-D)** | `PathBasedSkillActivator`: 경로 패턴 기반 스킬 자동 활성화. `SkillExtensionStore` 사이드카 패턴으로 스킬 확장 메타데이터 관리 |
| **메모리/컨텍스트 고도화 (Phase 17-E)** | `ContextCondenser` 경로 규칙 연동. `PathScopedRuleInjector`로 작업 폴더에 따른 규칙 자동 주입. `@include` 지시문 처리 |
| **권한 시스템 고도화 (Phase 17-F)** | `PermissionSystem` Chain of Responsibility 패턴. Allow/Deny 규칙 설정 UI 연동. acceptEdits 모드에서 파일 편집 도구 자동 승인 |
| **멀티파일 Diff + 자동 컨텍스트 (Phase 17-G)** | `MultiFileDiffViewModel`:일별 diff 추적 + 일괄 수락. `AutoContextCollector`: `@파일명` 멘션 정규식 파싱 + 자동 파일 내용 주입. `ToolRiskMapper`: 도구별 Low/Medium/High 위험도 분류 |
| **멀티에이전트 팀 (Phase 18-A)** | `DelegateAgentTool` + `BackgroundAgentService` + `WorktreeManager`. `AgentLoopService``RunSubAgentAsync` 위임 연결. ToolRegistry에 자동 등록 |
| **Reflexion 강화 (Phase 17-A)** | `ReflexionService` + `ReflexionRepository`: 성공·실패 시 자기평가 기록. 동일 유형 작업 시 과거 교훈 시스템 메시지 자동 주입. `AgentLoopService.Reflexion.cs` 파셜 추가 |
| **TaskState Working Memory + 이벤트 로그 (Phase 17-B)** | `TaskStateService`: 세션 요약·참조 파일 목록 JSON 영속화. 압축 후에도 Working Memory 복원. `AgentEventLog` JSONL 기록 (SessionStart/UserMessage/ToolRequest/ToolResult/AssistantMessage/HookFired/CompactionTriggered 등). `AgentLoopService.TaskState.cs` 파셜 추가 |
| **훅 시스템 고도화 (Phase 17-C)** | `ExtendedHookRunner` — Command/Http/Prompt 3종 타입. `HookEventKind` 열거형 18종 이벤트 (SessionStart/SessionEnd/UserPromptSubmit/PreToolUse/PostToolUse/PostToolUseFailure/PreCompact/PostCompact/AgentStop 등). Prompt 모드: `{{tool_name}}` `{{tool_input}}` 변수 치환 → LLM 보안 검사 → Block 신호 탐지. `AgentLoopService.ExtendedHooks.cs` 파셜 추가 |
| **스킬 시스템 고도화 (Phase 17-D)** | `PathBasedSkillActivator`: `paths:` 프론트매터 glob 매칭으로 파일 작업 시 스킬 자동 컨텍스트 주입. `context:fork` 스킬: `SkillManagerTool.SetForkRunner()` DI 콜백 주입 → 격리된 LLM 호출. `AgentLoopService.Skills.cs` 파셜 추가 |
| **계층 메모리/컨텍스트 고도화 (Phase 17-E)** | `HierarchicalMemoryService`: Managed→User→Project→Local 4-layer AX.md 수집. `AxMdIncludeResolver`: `@파일경로` 재귀 해석 최대 5단계 (순환 참조 감지). `PathScopedRuleInjector`: `.ax/rules/*.md` paths: 프론트매터 기반 경로 범위 규칙 주입. `AgentLoopService.Memory.cs` 파셜 추가. 설정: `EnableMemorySystem` |
| **권한 시스템 고도화 (Phase 17-F)** | `PermissionDecisionService` Chain of Responsibility: DenyRuleHandler→AllowRuleHandler→AcceptEditsHandler→PlanModeHandler→BypassHandler. `AgentLoopService.Permissions.cs` 파셜 추가. `EvaluateToolPermission()`: Deny=즉시차단/Allow=확인 스킵/Ask=기존 흐름. `PermissionsConfig.AllowRules/DenyRules` 설정 기반 패턴 규칙 |
| **멀티파일 Diff 추적 + 도구 위험도 (Phase 17-G)** | `AgentLoopService.DiffTracker.cs`셜: `CaptureOriginalFileContent()` 쓰기 전 원본 캡처, `TrackFileModificationForDiff()` 성공 후 `MultiFileDiffViewModel` 기록. `ToolRiskMapper` 연계 ToolCall 이벤트에 `[⚠ 높음]`/`[• 보통]` 위험도 태그 추가. 설정: `EnableDiffTracker` |
| **멀티에이전트 팀 (Phase 18-A)** | `DelegateAgentTool` + `AgentLoopService.RunSubAgentAsync()` 위임 연결. ToolRegistry에 자동 등록. 서브에이전트 독립 루프 실행 지원 |
| **에이전트 리플레이 (Phase 18-B)** | `AgentReplayService`: JSONL 이벤트 로그 파일 열거 + 단계별 재생. `ReplayTimelineViewModel`: 재생 UI 바인딩 ViewModel |
| **플러그인 설치 서비스 (Phase 18-C)** | `PluginInstallService`: 로컬 zip 파일 기반 설치 (URL 다운로드 없음). `PluginManifest` / `InstalledPlugin` / `PluginInstallResult` 레코드. 레지스트리 JSONL 영속화 |
| **사내/사외 네트워크 모드** | `AppSettings.InternalModeEnabled` (기본: 사내 모드). 사외 전환 시 비밀번호 `axgo123!` 인증 필요. `WebSearchHandler` + `HttpTool` 에서 모드 체크 적용 |
| **알림 센터 (L3-7)** | `NotificationCenterService`: 알림 타입(Info/Success/Warning/Error) + 히스토리 큐(최대 50건). `NotificationRaised` 이벤트로 UI 구독 지원. 기존 `NotificationService` 트레이 BalloonTip 위임 |
| **알림 센터 (L3-7)** | `NotificationCenterService`: 알림 타입(Info/Success/Warning/Error) + 히스토리 큐(최대 50건). `NotificationRaised` 이벤트로 UI 구독 지원 |
| **플러그인 갤러리 ViewModel (L3-1)** | `PluginGalleryViewModel`: 설치된 플러그인 목록 + 설치/제거/활성화 커맨드 바인딩. `PluginItemViewModel` 래퍼 |
| **파라미터 퀵링크 (L3-4)** | `QuickLinkHandler` (`ql` 프리픽스) + `UrlTemplateEngine`. `{0}`, `{query}` 플레이스홀더 치환. 설정에서 `QuickLinkEntry` 목록 관리 |
| **AI 스니펫 (L3-3)** | `AiSnippetHandler` (`ai` 프리픽스) + `SnippetTemplateService`. 업무 이메일/요약/번역/코드리뷰/커밋 기본 템플릿 5종 내장. LLM 호출 후 클립보드 복사. AI 비활성화 시 항목 미표시 |

View File

@@ -905,6 +905,32 @@ Ollama의 모든 모델이 도구 사용을 지원하지는 않습니다. 아래
<!-- 푸터 -->
<!-- ══════════════════════════════════════════════════════════ -->
<!-- v1.8.0 -->
<div class="version-entry" style="border-left:3px solid #6366F1; background:linear-gradient(90deg,#6366F110,transparent);">
<div class="version-meta">
<div class="version-badge" style="background:#6366F1; color:#fff;">v1.8.0</div>
</div>
<div class="version-changes">
<ul>
<li><strong>에이전트 인프라 전면 고도화</strong> — Claude Code 아키텍처 기반 Phase 17 전 구간(A~G) 완료</li>
<li><strong>자기성찰 메모리</strong> — 성공·실패 경험을 기록하고 동일 유형 작업 시 자동 참고합니다</li>
<li><strong>세션 상태 영속화</strong> — 대화 압축 후에도 작업 상태와 참조 파일 목록이 유지됩니다</li>
<li><strong>훅 시스템 고도화</strong> — 18종 라이프사이클 이벤트. AI 보안 검사(Prompt 훅)로 위험 명령 차단 가능</li>
<li><strong>스킬 fork 실행</strong> — 스킬을 격리된 AI 컨텍스트에서 실행하여 메인 대화 오염 방지</li>
<li><strong>경로 기반 스킬/규칙 자동 주입</strong> — 작업 파일에 따라 관련 스킬과 코딩 규칙이 자동 적용됩니다</li>
<li><strong>계층 메모리 통합</strong> — 전사·개인·프로젝트·로컬 4단계 AX.md를 병합하여 컨텍스트로 자동 주입</li>
<li><strong>권한 시스템 고도화</strong> — acceptEdits 모드: 파일 편집 자동 승인. 패턴 기반 허용/차단 규칙 지원</li>
<li><strong>멀티파일 Diff 추적</strong> — 에이전트가 수정한 파일 변경 내역을 세션 단위로 추적·표시</li>
<li><strong>도구 위험도 표시</strong> — 실행 중인 도구의 위험도(높음/보통)를 실시간으로 표시합니다</li>
<li><strong>사내/사외 네트워크 모드</strong> — 기본 사내 모드에서 외부 인터넷 접속 차단. 사외 모드 전환 시 인증 필요</li>
<li><strong>멀티에이전트 팀</strong> — 코드·문서·보안·리서치 특화 서브에이전트에 작업 위임 가능</li>
<li><strong>AI 스니펫</strong> — 업무 이메일·요약·번역·코드리뷰 등 자주 쓰는 AI 작업을 단축 명령으로 즉시 실행</li>
<li><strong>파라미터 퀵링크</strong> — 자주 여는 URL에 변수를 넣어 검색어·번호 등을 바로 전달</li>
<li><strong>알림 센터</strong> — 에이전트·시스템 알림을 타입별(정보/성공/경고/오류)로 분류·관리</li>
</ul>
</div>
</div>
<!-- v1.7.2 -->
<div class="version-entry" style="border-left:3px solid #22C55E; background:linear-gradient(90deg,#22C55E10,transparent);">
<div class="version-meta">

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
@@ -344,7 +344,9 @@ td {
<li><a href="#sec-symbol" style="color:#fff;text-decoration:none;font-weight:600;">⚡ 특수 기호 예약어</a></li>
<li><a href="#sec-keyword" style="color:#fff;text-decoration:none;font-weight:600;">📝 영문 키워드 예약어</a></li>
<li><a href="#sec-tips" style="color:#fff;text-decoration:none;font-weight:600;">💡 유용한 팁</a></li>
<li><a href="#sec-models" style="color:#fff;text-decoration:none;font-weight:600;">🧠 AI 모델 호환성</a></li>
<li><a href="#sec-settings" style="color:#fff;text-decoration:none;font-weight:600;">⚙️ 설정 기능 탭</a></li>
<li><a href="#sec-version" style="color:#fff;text-decoration:none;font-weight:600;">📋 버전 이력</a></li>
</ol>
</div>
@@ -737,6 +739,90 @@ td {
<span class="kw">info disk</span>에서 드라이브 항목을 Enter하면 탐색기로 바로 열립니다.
</div>
<!-- ══════════════════════════════════════════════════════════ -->
<!-- AI 모델 호환성 -->
<!-- ══════════════════════════════════════════════════════════ -->
<h2 id="sec-models" class="section-title">🧠 AI 모델 호환성 — 도구 사용(Function Calling) 지원 현황</h2>
<p class="section-desc">
AX Agent의 Cowork/Code 탭은 <strong>도구 사용(Function Calling)</strong>을 통해 파일 읽기/쓰기, 문서 생성, 코드 실행 등을 수행합니다.<br>
도구 사용을 지원하지 않는 모델에서는 Cowork/Code 기능이 정상 동작하지 않으며, Chat 탭의 일반 대화만 가능합니다.
</p>
<h3 style="font-size:16px;font-weight:700;margin:20px 0 10px;color:#1e293b;">☁️ 클라우드 서비스 (모두 도구 사용 지원)</h3>
<div class="table-wrap">
<table>
<thead><tr>
<th class="hd-dark" style="width:120px">서비스</th>
<th class="hd-dark">모델</th>
<th class="hd-dark" style="width:100px">도구 사용</th>
<th class="hd-dark" style="width:100px">컨텍스트</th>
</tr></thead>
<tbody>
<tr><td>Claude</td><td>claude-sonnet-4, claude-opus-4</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>200K</td></tr>
<tr><td>Claude</td><td>claude-haiku-3.5</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>200K</td></tr>
<tr><td>Gemini</td><td>gemini-2.5-pro, gemini-2.5-flash</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>1M</td></tr>
<tr><td>Gemini</td><td>gemini-2.0-flash</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>1M</td></tr>
</tbody>
</table>
</div>
<h3 style="font-size:16px;font-weight:700;margin:20px 0 10px;color:#1e293b;">🏠 Ollama 로컬 모델 — 도구 사용 지원 여부</h3>
<p style="font-size:13px;color:#64748b;margin-bottom:10px;">
Ollama의 모든 모델이 도구 사용을 지원하지는 않습니다. 아래 표에서 ✅ 표시된 모델만 Cowork/Code 탭에서 사용 가능합니다.
</p>
<div class="table-wrap">
<table>
<thead><tr>
<th class="hd-dark" style="width:180px">모델</th>
<th class="hd-dark" style="width:100px">도구 사용</th>
<th class="hd-dark" style="width:100px">파라미터</th>
<th class="hd-dark">비고</th>
</tr></thead>
<tbody>
<tr style="background:#f0fdf4;"><td><strong>qwen2.5</strong></td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>7B ~ 72B</td><td><strong>가장 추천</strong> — 한국어 + 도구 사용 안정적</td></tr>
<tr style="background:#f0fdf4;"><td><strong>qwen3</strong></td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>8B ~ 32B</td><td>최신 모델, 도구 지원 우수</td></tr>
<tr style="background:#f0fdf4;"><td><strong>qwen2.5-coder</strong></td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>7B ~ 32B</td><td>⭐ Code 탭 추천 — 코드 특화 + 도구</td></tr>
<tr><td>llama3.1</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>8B / 70B</td><td>Meta 공식 도구 지원</td></tr>
<tr><td>llama3.3</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>70B</td><td>도구 호출 개선 버전</td></tr>
<tr><td>mistral</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>7B</td><td>경량, 기본적인 도구 지원</td></tr>
<tr><td>mistral-nemo</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>12B</td><td>도구 지원 개선</td></tr>
<tr><td>command-r</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>35B</td><td>Cohere, 도구 특화</td></tr>
<tr><td>firefunction-v2</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>70B</td><td>Function Calling 특화</td></tr>
<tr><td>granite3</td><td style="color:#16a34a;font-weight:bold;">✅ 지원</td><td>2B / 8B</td><td>IBM, 경량 도구 지원</td></tr>
<tr style="background:#fef2f2;"><td>deepseek-r1</td><td style="color:#dc2626;font-weight:bold;">❌ 미지원</td><td>다양</td><td>추론 특화, 도구 호출 불가</td></tr>
<tr style="background:#fef2f2;"><td>phi3 / phi4</td><td style="color:#dc2626;font-weight:bold;">❌ 미지원</td><td>3B ~ 14B</td><td>도구 미지원</td></tr>
<tr style="background:#fef2f2;"><td>gemma2</td><td style="color:#dc2626;font-weight:bold;">❌ 미지원</td><td>9B / 27B</td><td>도구 미지원</td></tr>
<tr style="background:#fef2f2;"><td>codellama</td><td style="color:#dc2626;font-weight:bold;">❌ 미지원</td><td>7B ~ 70B</td><td>코드 특화이나 도구 미지원</td></tr>
<tr style="background:#fef2f2;"><td>llava / bakllava</td><td style="color:#dc2626;font-weight:bold;">❌ 미지원</td><td>다양</td><td>비전 특화</td></tr>
</tbody>
</table>
</div>
<h3 style="font-size:16px;font-weight:700;margin:20px 0 10px;color:#1e293b;">💡 사내 환경 추천 조합</h3>
<div class="table-wrap">
<table>
<thead><tr>
<th class="hd-dark" style="width:150px">용도</th>
<th class="hd-dark" style="width:180px">추천 모델</th>
<th class="hd-dark" style="width:100px">VRAM</th>
<th class="hd-dark">설명</th>
</tr></thead>
<tbody>
<tr><td>Cowork (문서 작성)</td><td><strong>qwen2.5:32b</strong> 이상</td><td>24GB+</td><td>한국어 품질과 도구 사용 모두 우수</td></tr>
<tr><td>Code (코드 작성)</td><td><strong>qwen2.5-coder:32b</strong></td><td>24GB+</td><td>코드 특화 + 도구 지원</td></tr>
<tr><td>경량 (GPU 부족)</td><td><strong>qwen2.5:7b</strong> 또는 <strong>granite3:8b</strong></td><td>8GB</td><td>기본적인 도구 사용 가능</td></tr>
<tr><td>최고 품질 (로컬)</td><td><strong>qwen3:32b</strong> 또는 <strong>llama3.3:70b</strong></td><td>24~48GB+</td><td>대규모 문서/코드 작업에 적합</td></tr>
</tbody>
</table>
</div>
<div class="info-box" style="background:linear-gradient(135deg,#1e1e3f 0%,#2d1b69 100%); color:#e2e8f0; border:1px solid #4338ca;">
<strong style="color:#fbbf24;">⚠️ 도구 미지원 모델 사용 시</strong><br>
도구 사용을 지원하지 않는 모델을 Cowork/Code 탭에서 사용하면 <code style="background:#4338ca55;padding:2px 6px;border-radius:4px;">400 BadRequest</code> 에러가 발생합니다.<br>
이 경우 AX Copilot이 자동으로 일반 텍스트 응답으로 전환하지만, 파일 생성·코드 실행 등의 에이전트 기능은 사용할 수 없습니다.<br>
<span style="color:#60a5fa;">Chat 탭의 일반 대화는 모든 모델에서 정상 동작합니다.</span>
</div>
<!-- ══════════════════════════════════════════════════════════ -->
<!-- 6. 설정 기능 토글 -->
<!-- ══════════════════════════════════════════════════════════ -->
@@ -815,6 +901,11 @@ td {
</ul>
</div>
<!-- ══════════════════════════════════════════════════════════ -->
<!-- 푸터 -->
<!-- ══════════════════════════════════════════════════════════ -->
<!-- ══════════════════════════════════════════════════════════ -->
<!-- 푸터 -->

Binary file not shown.

Binary file not shown.