AX Agent 진행 이력 파편 메시지 정제 및 렌더링 안정화

- 스트리밍 TextDelta와 Thinking summary에 공통 정제기를 적용해 1, [, file_read] 같은 저품질 파편 문구가 이벤트와 카드에 쌓이지 않도록 개선

- V2 라이브 진행 카드와 이력 렌더링에서 정제된 thinking summary만 표시하고 low-signal 조각은 숨기며 process feed는 안전한 기본 문구로 폴백

- AgentProgressSummarySanitizerTests와 AgentLoopResponseClassificationServiceTests를 추가/확장하고 dotnet build 경고 0 오류 0, 지정 테스트 22건 통과를 확인
This commit is contained in:
2026-04-15 12:51:53 +09:00
parent 5e40204e80
commit f3a31e97b1
10 changed files with 208 additions and 17 deletions

View File

@@ -8,6 +8,14 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저
`docs/claw-code-parity-plan.md`
- 업데이트: 2026-04-15 10:57 (KST)
- 업데이트: 2026-04-15 12:51 (KST)
- AX Agent 진행 이력에 `1`, `[`, `file_read]` 같은 깨진 조각이 보이던 문제를 정리했습니다. 새 [AgentProgressSummarySanitizer.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentProgressSummarySanitizer.cs)가 스트리밍 미리보기, `Thinking` 요약, `[이전 도구 호출: ...]` transcript 꼬리 문자열을 공통 규칙으로 정제해 저품질 파편을 제거합니다.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)는 스트리밍 `TextDelta` preview와 일반 `Thinking` emit 전에 정제기를 적용해, 의미 없는 단문은 이벤트 자체를 만들지 않도록 했습니다.
- [ChatWindow.V2LiveProgressPresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.V2LiveProgressPresentation.cs), [ChatWindow.V2AgentEventPresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.V2AgentEventPresentation.cs), [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)는 렌더링 직전에도 같은 정제 로직을 사용해, 빈약한 조각 문자열은 숨기고 process feed는 `진행 내용 정리`로 안전하게 폴백합니다.
- 테스트: [AgentProgressSummarySanitizerTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentProgressSummarySanitizerTests.cs) 추가, [AgentLoopResponseClassificationServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentLoopResponseClassificationServiceTests.cs) 확장
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_agent_progress_cleanup\\ -p:IntermediateOutputPath=obj\\verify_agent_progress_cleanup\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentProgressSummarySanitizerTests|AgentLoopResponseClassificationServiceTests|AgentStatusNarrativeCatalogTests|AgentLoopIterationPreparationServiceTests|AgentToolResultBudgetTests|ChatStorageServiceTests" -p:OutputPath=bin\\verify_agent_progress_cleanup_tests\\ -p:IntermediateOutputPath=obj\\verify_agent_progress_cleanup_tests\\` 통과 22
- 업데이트: 2026-04-15 12:14 (KST)
- 코워크/코드에서 보이는 AX Agent 현재 상태 문구를 더 풍부한 narrative 기준으로 정리했습니다. 새 [AgentStatusNarrativeCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentStatusNarrativeCatalog.cs)가 이벤트 타입, 도구 성격, 탭(Cowork/Code), 대상 힌트를 함께 해석해 `작업 분석 중 → 관련 파일 확인 중 → 변경 적용 중 → 결과 검증 중`처럼 더 이해하기 쉬운 현재 상태 문구와 상세 설명을 만듭니다.
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs), [ChatWindow.AgentStatusPresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentStatusPresentation.cs), [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)는 이제 같은 narrative 카탈로그를 사용해 초기 상태, live pulse 상태, idle 진행 힌트, readable process feed 요약을 일관된 문장으로 보여줍니다. 도구명 한 줄 표시보다 `왜 기다리는지`, `무엇을 정리 중인지`, `다음 단계가 무엇인지`가 더 잘 드러납니다.