코드 탭 컨텍스트 영속화와 Auto budget 복구 적용
- AxAgentExecutionEngine에서 시스템 프롬프트 중복을 제거하고 structured tool_use/tool_result 전사본을 conversation.Messages로 동기화해 다음 턴과 저장 이력에서도 코드 작업 컨텍스트가 유지되도록 수정 - AgentQueryContextBuilder와 ContextCondenser에 post-compact tool snippet 복원, recent window 확대, tool result 보존 강화 로직을 추가해 장기 코드 실행 중 빌드/파일 근거 손실을 줄임 - MaxContextTokens=0 Auto 모드를 AppSettings, SettingsService 마이그레이션, 설정 UI, 오버레이 UI, 컨텍스트 사용량 표시, LLM 요청 본문에 연결하고 Auto 모드에서는 provider output cap 강제 주입을 제거 - 관련 회귀 테스트와 문서 README/DEVELOPMENT/CODE_CONTEXT_RELIABILITY_PLAN을 갱신하고 깨진 진단 문자열 기대값을 영어 기준으로 정리 검증: - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_context_reliability_followup\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_followup\\ - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AxAgentExecutionEngineTests|AgentQueryContextBuilderTests|ContextCondenserTests|SettingsServiceTests|AgentLoopDiagnosticsFormatterTests" -p:OutputPath=bin\\verify_context_reliability_followup_tests\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_followup_tests\\ - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopQueryAssemblyServiceTests|AgentLoopPreLlmStageServiceTests|AgentLoopLlmRequestPreparationServiceTests|AgentMessageInvariantHelperTests|CodeTaskWorkingSetServiceTests|AgentLoopE2ETests" -p:OutputPath=bin\\verify_context_reliability_followup_tests2\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_followup_tests2\\ - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_context_reliability_final\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_final\\
This commit is contained in:
@@ -1,5 +1,32 @@
|
||||
# Code Context Reliability Plan
|
||||
|
||||
Update: 2026-04-16 07:40 (KST)
|
||||
|
||||
- Closed the main gaps that were still open versus the comparison checklist:
|
||||
- durable structured tool transcript persistence back into `conversation.Messages`
|
||||
- `MaxContextTokens = 0` Auto mode with model-aware context budget resolution
|
||||
- snippet-based post-compact tool trace restoration
|
||||
- repeated system prompt deduplication before each prepared turn
|
||||
- The active implementation now spans:
|
||||
- `src/AxCopilot/Services/Agent/AxAgentExecutionEngine.cs`
|
||||
- `src/AxCopilot/Services/Agent/AgentQueryContextBuilder.cs`
|
||||
- `src/AxCopilot/Services/Agent/ContextCondenser.cs`
|
||||
- `src/AxCopilot/Models/AppSettings.cs`
|
||||
- `src/AxCopilot/Services/SettingsService.cs`
|
||||
- `src/AxCopilot/ViewModels/SettingsViewModel.cs`
|
||||
- `src/AxCopilot/Views/SettingsWindow.xaml`
|
||||
- `src/AxCopilot/Views/SettingsWindow.xaml.cs`
|
||||
- `src/AxCopilot/Views/AgentSettingsWindow.xaml.cs`
|
||||
- `src/AxCopilot/Views/ChatWindow.xaml`
|
||||
- `src/AxCopilot/Views/ChatWindow.xaml.cs`
|
||||
- `src/AxCopilot/Views/ChatWindow.OverlaySettingsPresentation.cs`
|
||||
- `src/AxCopilot/Views/ChatWindow.ContextUsagePresentation.cs`
|
||||
- `src/AxCopilot/Services/LlmService.cs`
|
||||
- `src/AxCopilot/Services/LlmService.ToolUse.cs`
|
||||
- Remaining follow-up is now narrower:
|
||||
- consider splitting context budget and output budget into separate user-facing controls if future provider tuning needs it
|
||||
- continue cleaning legacy mojibake strings in low-traffic diagnostic paths as they are touched
|
||||
|
||||
Update: 2026-04-16 06:41 (KST)
|
||||
|
||||
- Added `src/AxCopilot/Services/Agent/AgentLoopLlmDispatchStageService.cs` so the LLM dispatch path is now split into:
|
||||
|
||||
Reference in New Issue
Block a user