코드탭 tool trace 사전 정규화와 인코딩 정리 적용
- AgentMessageInvariantHelper에 전송 직전 structured tool trace 정규화 로직을 추가해 missing tool_result assistant와 orphan tool_result를 plain transcript로 평탄화함 - AgentLoopLlmRequestPreparationService에서 query view를 clone한 뒤 normalization을 적용하고 query_context 로그에 tool_trace_repair 메타를 남기도록 확장함 - SessionLearningCollector와 AgentLoopDiagnosticsFormatter의 깨진 문자열과 주석을 영어 기준으로 정리해 active Code 경로의 mojibake 노출을 줄임 - AgentMessageInvariantHelperTests, AgentLoopLlmRequestPreparationServiceTests를 보강하고 dotnet build 및 targeted dotnet test(34 통과, 경고/오류 0)로 검증함
This commit is contained in:
@@ -1804,3 +1804,29 @@ UI ?遺우쁽????域뱀뮆???귐뗫솯?醫딆춦 ???袁る퓮 ?臾믩씜 ??疫
|
||||
- 검증:
|
||||
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_context_reliability_full\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_full\\` 경고 0 / 오류 0
|
||||
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentQueryContextBuilderTests|AgentToolResultBudgetTests|AgentLoopIterationPreparationServiceTests|AgentLoopLlmRequestPreparationServiceTests|CodeTaskWorkingSetServiceTests|AgentLoopCodeQualityTests" -p:OutputPath=bin\\verify_context_reliability_full_tests\\ -p:IntermediateOutputPath=obj\\verify_context_reliability_full_tests\\` 통과 150
|
||||
|
||||
업데이트: 2026-04-16 01:57 (KST)
|
||||
- Code 탭 컨텍스트 신뢰성 보강 2차 작업을 적용했습니다.
|
||||
- `src/AxCopilot/Services/Agent/AgentMessageInvariantHelper.cs`
|
||||
- `NormalizeHistoricalToolTrace(...)`를 추가했습니다.
|
||||
- 결과가 없는 structured assistant tool-call은 plain assistant transcript로 바꾸고, 대응 assistant가 없는 `tool_result`는 plain user transcript로 바꿔 request payload가 더 일관된 상태로 전송되도록 조정했습니다.
|
||||
- `src/AxCopilot/Services/Agent/AgentLoopLlmRequestPreparationService.cs`
|
||||
- query view를 deep clone한 뒤 normalization을 적용하도록 변경했습니다.
|
||||
- supplemental messages도 clone해서 원본 대화 이력 오염 없이 request 직전 정리를 수행합니다.
|
||||
- preparation result에 `FlattenedStructuredAssistantCount`, `ConvertedOrphanToolResultCount`를 추가했습니다.
|
||||
- `src/AxCopilot/Services/Agent/AgentLoopContextReliability.cs`
|
||||
- `query_context` workflow log에 `tool_trace_repair=assistants:X/orphan_results:Y`를 남기도록 확장했습니다.
|
||||
- `src/AxCopilot/Services/Agent/AgentLoopDiagnosticsFormatter.cs`
|
||||
- active Code 경로에서 보이던 깨진 compaction 상태 문자열을 영어 기준으로 정리했습니다.
|
||||
- `src/AxCopilot/Services/Agent/SessionLearningCollector.cs`
|
||||
- 영어 주석 기준으로 전면 정리했고, 학습 주입 메시지와 추출 요약 문자열도 영어 기준으로 통일했습니다.
|
||||
- 테스트:
|
||||
- `src/AxCopilot.Tests/Services/AgentMessageInvariantHelperTests.cs`
|
||||
- missing tool-result가 있는 structured assistant flatten
|
||||
- orphan `tool_result` plain transcript 변환
|
||||
- valid tool pair 보존
|
||||
- `src/AxCopilot.Tests/Services/AgentLoopLlmRequestPreparationServiceTests.cs`
|
||||
- preparation 단계 normalization 적용과 원본 query message 보존을 검증
|
||||
- 검증:
|
||||
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_tool_trace_hardening\\ -p:IntermediateOutputPath=obj\\verify_tool_trace_hardening\\` 경고 0 / 오류 0
|
||||
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentMessageInvariantHelperTests|AgentLoopLlmRequestPreparationServiceTests|AgentQueryContextBuilderTests|CodeTaskWorkingSetServiceTests|AgentLoopE2ETests" -p:OutputPath=bin\\verify_tool_trace_hardening_tests\\ -p:IntermediateOutputPath=obj\\verify_tool_trace_hardening_tests\\` 통과 34
|
||||
|
||||
Reference in New Issue
Block a user