[Phase 17-A] Reflexion 자기성찰 메모리 시스템 구현
ReflexionEvaluatorService 신규 구현 (ReflexionService.cs): - LLM 기반 자기평가: 완성도 점수(0~1), 강점/약점/교훈 추출 - $$raw string 평가 프롬프트로 JSON 포맷 안전하게 삽입 - JSON 블록 추출 + 역직렬화, LLM 실패 시 규칙 기반 폴백 엔트리 - ReflexionRepository.BuildContextPromptAsync() maxEntries 파라미터 추가 AgentLoopService.Reflexion.cs (신규, 82줄): - InjectReflexionContextAsync(): 세션 시작 전 과거 교훈→시스템 메시지 주입 - FireAndForgetReflexionEval(): 세션 완료 후 Task.Run 비동기 자기평가 저장 - 지연 초기화(_reflexionRepo, _reflexionEval): 사용 시점에 생성 AgentLoopService.cs 통합 포인트 2개 추가: - RunAsync() 루프 시작 전: await InjectReflexionContextAsync() - finally 블록 통계 섹션: FireAndForgetReflexionEval() 호출 AgentSettingsPanel — 자기성찰 메모리 섹션 추가: - 활성화 토글(ChkReflexionEnabled) - 성공 세션만 평가 토글(ChkReflexionSuccessOnly) - 최대 참고 교훈 수 슬라이더(1~20, 기본값 5) - LoadFromSettings() 초기화 + 3개 이벤트 핸들러 빌드: 경고 0, 오류 0
This commit is contained in:
@@ -4954,5 +4954,29 @@ ThemeResourceHelper에 5개 정적 필드 추가:
|
||||
|
||||
---
|
||||
|
||||
최종 업데이트: 2026-04-03 (Phase 22~52 + Phase 17-UI-A~E 구현 완료)
|
||||
## Phase 17-A — Reflexion 강화 (v1.8.0) ✅ 완료
|
||||
|
||||
> **목표**: 성공·실패 모두 구조화된 자기평가 저장 → 동일 작업 유형 재실행 시 자동 참고
|
||||
|
||||
### 변경 파일
|
||||
|
||||
| 파일 | 변경 내용 |
|
||||
|------|----------|
|
||||
| `ReflexionService.cs` | `ReflexionEvaluatorService` 신규 추가: LLM 기반 자기평가(점수·강점·약점·교훈 추출), 규칙 기반 폴백 엔트리. `ReflexionRepository.BuildContextPromptAsync()` maxEntries 파라미터 추가. |
|
||||
| `AgentLoopService.Reflexion.cs` (신규, 82줄) | `InjectReflexionContextAsync()` — 세션 시작 시 과거 교훈을 시스템 메시지에 주입. `FireAndForgetReflexionEval()` — 세션 완료 후 비동기 자기평가 저장. |
|
||||
| `AgentLoopService.cs` | `RunAsync()` 루프 시작 전: `InjectReflexionContextAsync()` 호출. `finally` 블록: `FireAndForgetReflexionEval()` 호출. |
|
||||
| `AgentSettingsPanel.xaml` | "자기성찰 메모리" 섹션 추가: 활성화 토글, 성공 시만 평가 토글, 최대 참고 교훈 수 슬라이더. |
|
||||
| `AgentSettingsPanel.xaml.cs` | `LoadFromSettings()`: Reflexion 설정 초기화. `ChkReflexion_Changed()`, `ChkReflexionSuccessOnly_Changed()`, `SliderReflexionMaxEntries_ValueChanged()` 핸들러 추가. |
|
||||
|
||||
### 구현 세부사항
|
||||
|
||||
- **ReflexionEvaluatorService**: `$$"""..."""` raw string으로 평가 프롬프트 생성, JSON 블록 추출 후 역직렬화
|
||||
- **작업 유형 분류**: `TaskTypeClassifier.Classify()` — 8개 카테고리 (code_generation, file_refactor, document, analysis, search, test, git, debug, general)
|
||||
- **저장 위치**: `%APPDATA%\AxCopilot\reflexion\<taskType>.jsonl` (JSONL 형식, 최신 N개 역순 조회)
|
||||
- **비동기 처리**: fire-and-forget — 루프 취소(`CancellationToken`) 영향 없음
|
||||
- **빌드**: 경고 0, 오류 0
|
||||
|
||||
---
|
||||
|
||||
최종 업데이트: 2026-04-03 (Phase 22~52 + Phase 17-UI-A~E + Phase 17-A 구현 완료)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user