구조 개선: transcript 지연 가상화와 tool executor 분리 적용
이번 변경은 claude-code 기준 구조 강건성을 높이기 위한 리팩터링입니다. 핵심 수정 사항: - AX Agent transcript를 TranscriptVisualItem/TranscriptVisualHost 기반 지연 materialization 구조로 전환해 MessageList 가상화 기반을 강화했습니다. - StreamingToolExecutionCoordinator를 IToolExecutionCoordinator 뒤로 분리해 AgentLoopService가 구체 구현에 직접 묶이지 않도록 정리했습니다. - 라이브 진행 카드 렌더를 ChatWindow.LiveProgressPresentation partial로 이동해 ChatWindow.xaml.cs의 책임을 더 줄였습니다. - 기존 메시지 bubble 조립 로직을 유지하면서 transcript host가 필요 시점에 bubble을 만들 수 있도록 helper 경로를 추가했습니다. 검증 결과: - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\ - 경고 0 / 오류 0
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
- Document update: 2026-04-07 02:11 (KST) - Replaced the AX Agent internal-settings service API key input from PasswordBox to TextBox so Gemini/Claude keys can be entered reliably even while the overlay is resyncing service state.
|
||||
- Document update: 2026-04-09 01:33 (KST) - Raised AX Agent transcript hosting from a raw ObservableCollection<UIElement> list to a TranscriptVisualItem wrapper model plus TranscriptVisualHost. MessageList now binds lightweight transcript items that materialize their actual UIElement content on demand, which moves the message surface closer to the claude-code style separation between data planning and visual realization.
|
||||
- Document update: 2026-04-09 01:33 (KST) - Added IToolExecutionCoordinator and switched AgentLoopService away from a direct dependency on StreamingToolExecutionCoordinator. Tool streaming/prefetch recovery remains behaviorally the same for now, but the executor is now structurally replaceable and easier to isolate for model-specific orchestration work.
|
||||
- Document update: 2026-04-09 01:33 (KST) - Split AX Agent live progress card rendering out of ChatWindow.xaml.cs into ChatWindow.LiveProgressPresentation.cs, continuing the claude-code parity cleanup where transcript host, render planning, render execution, and live-progress UI live in separate partials instead of a single main-window file.
|
||||
- Document update: 2026-04-07 02:11 (KST) - Replaced the AX Agent internal-settings service API key input from PasswordBox to TextBox so Gemini/Claude keys can be entered reliably even while the overlay is resyncing service state.
|
||||
|
||||
- Document update: 2026-04-07 02:03 (KST) - Fixed broken Korean strings in Cowork preset selection, composer guidance, and live progress/process-feed rendering. Rewrote ChatWindow.TopicPresetPresentation, normalized live progress copy, and cleaned up loop gate guidance strings that had become mojibake.
|
||||
- Document update: 2026-04-07 02:03 (KST) - Adjusted AX Agent progress visibility so Cowork/Code now shows an immediate live hint when a run starts and no longer clears that hint on every intermediate agent event. Neutralized cancellation wording to 작업이 중단되었습니다 for non-user interruption paths.
|
||||
@@ -5559,3 +5562,4 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
|
||||
- 루프 finally 단계에서 `run_summary` 성능 로그를 남기도록 보강했다.
|
||||
- iteration 수, tool 호출 수, 토큰 사용량, post-compaction suppression 수치가 함께 기록돼 사내 모델에서 `느린데 왜 느린지`를 나중에 역추적할 수 있다.
|
||||
- Document update: 2026-04-09 10:20 (KST) - Added `docs/CLAUDE_CODE_AX_AGENT_COMPARISON.md` as a new baseline document for architecture and parity reviews. It summarizes `claude-code` structure, loop, transcript/tool orchestration, prompt-quality strategy, AX Agent structure and loop, and a current comparison between both implementations.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user