[Phase 17-E] 계층 메모리/컨텍스트 고도화 — AgentLoopService 통합

AgentLoopService.Memory.cs (신규, 105줄):
- InjectHierarchicalMemoryAsync(): 세션 시작 시 4-layer 계층 메모리 수집
  (Managed→User→Project→Local AX.md + rules/*.md)
  AxMdIncludeResolver.ResolveAsync()로 @include 지시어 최대 5단계 재귀 해석
  40,000자 초과 시 크기 경고, 마커 기반 in-place 교체(중복 방지)
- InjectPathScopedRulesAsync(): 파일 도구 실행 후 .ax/rules/*.md paths: 프론트매터
  기반 경로 범위 규칙 주입. workFolder별 PathScopedRuleInjector 캐시 적용

AgentLoopService.cs (편집):
- Phase 17-A(Reflexion) 이후 await InjectHierarchicalMemoryAsync() 호출 추가

AgentLoopService.Execution.cs (편집):
- InjectPathBasedSkills() 이후 InjectPathScopedRulesAsync() fire-and-forget 추가

AppSettings.LlmSettings.cs (편집):
- EnableMemorySystem 설정 추가 (기본 true, json: "enableMemorySystem")

docs/AGENT_ROADMAP.md:
- Group E 완료 표시 + 구현 내역 기록 (17-E1/E2 완료, 17-E3 차기)

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 00:56:49 +09:00
parent 1313c65e5e
commit f1b1f1604c
5 changed files with 181 additions and 6 deletions

View File

@@ -360,6 +360,10 @@ public class LlmSettings
[JsonPropertyName("enableSkillSystem")]
public bool EnableSkillSystem { get; set; } = true;
/// <summary>계층 메모리 시스템 활성화 여부 (AX.md @include 해석 + 경로 범위 규칙). 기본 true.</summary>
[JsonPropertyName("enableMemorySystem")]
public bool EnableMemorySystem { get; set; } = true;
/// <summary>추가 스킬 폴더 경로. 빈 문자열이면 기본 폴더만 사용.</summary>
[JsonPropertyName("skillsFolderPath")]
public string SkillsFolderPath { get; set; } = "";