모델 프로파일 기반 Cowork/Code 루프와 진행 UX 고도화 반영

- 등록 모델 실행 프로파일을 검증 게이트, 문서 fallback, post-tool verification까지 확장 적용

- Cowork/Code 진행 카드에 계획/도구/검증/압축/폴백/재시도 단계 메타를 추가해 대기 상태 가시성 강화

- OpenAI/vLLM tool 요청에 병렬 도구 호출 힌트를 추가하고 회귀 프롬프트 문서를 프로파일 기준으로 전면 정리

- 검증: 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:
2026-04-08 13:41:57 +09:00
parent b391dfdfb3
commit a2c952879d
552 changed files with 8094 additions and 13595 deletions

View File

@@ -5337,3 +5337,52 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- Document update: 2026-04-07 09:19 (KST) - Restored the AX Agent footer/status total token aggregate so it no longer disappears after runs return to idle. The status strip now rehydrates totals from the current conversation message token sums when live loop counters are empty.
- Document update: 2026-04-07 09:19 (KST) - Corrected context-compaction popup accuracy by switching its detail copy to the last real compaction metrics (`before -> after`, automatic/manual kind, cumulative compaction count, cumulative saved tokens) instead of only the generic trigger-threshold text.
- Document update: 2026-04-07 09:19 (KST) - Prevented `total_stats` loop events from being swallowed into the generic process-feed path. AX Agent now routes those events back through the dedicated total-stats presentation so transcript summaries and footer token totals stay aligned.
## 2026-04-08 10:12 (KST)
- [AppSettings.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Models/AppSettings.cs)
- `RegisteredModel.ExecutionProfile``LlmSettings.UseAutomaticProfileTemperature`를 추가했다.
- 등록 모델은 실행 성향을 저장하고, AX Agent 내부 설정은 프로파일 기반 temperature 자동 적용 여부를 따로 제어한다.
- [ModelExecutionProfileCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ModelExecutionProfileCatalog.cs)
- `balanced`, `tool_call_strict`, `reasoning_first`, `fast_readonly`, `document_heavy` 실행 프로파일 카탈로그를 추가했다.
- 프로파일별로 초기 도구 강제, no-tool 임계값, 문서 재시도, 병렬 읽기 배치 수, terminal evidence gate, tool temperature cap을 함께 관리한다.
- [SettingsViewModel.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/ViewModels/SettingsViewModel.cs)
- 등록 모델 로드/저장 시 실행 프로파일을 함께 유지하고, 모델 행에도 프로파일 레이블을 보관하도록 확장했다.
- [ModelRegistrationDialog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ModelRegistrationDialog.cs)
- 등록 모델 추가/편집 다이얼로그에 `실행 프로파일` 선택 UI를 추가했다.
- [SettingsWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/SettingsWindow.xaml.cs)
- 일반 설정의 등록 모델 추가/편집 흐름에서 실행 프로파일 값을 저장/수정하도록 연결했다.
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)
- AX Agent 내부 설정의 등록 모델 추가/편집 흐름도 실행 프로파일을 저장하도록 맞췄다.
- 내부 설정 Temperature row에 `자동 / 사용자 지정` 선택을 추가하고, 자동일 때는 슬라이더를 읽기 전용처럼 비활성화해 프로파일 기반 정책이 우선되도록 했다.
- [LlmService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/LlmService.cs)
- 현재 활성 모델의 실행 프로파일을 조회하는 헬퍼와 프로파일 기반 tool temperature 계산을 추가했다.
- `UseAutomaticProfileTemperature=false`면 기존 사용자가 지정한 temperature를 그대로 사용한다.
- [LlmService.ToolUse.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/LlmService.ToolUse.cs)
- tool calling 경로의 temperature를 일반 값 대신 프로파일 기반 `ResolveToolTemperature()`로 통일했다.
- [AgentLoopTransitions.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopTransitions.cs)
- 읽기 도구 병렬 배치 계획에 `maxParallelBatch` 상한을 추가해 프로파일별 최대 동시 읽기 수를 제어할 수 있게 했다.
- [AgentLoopTransitions.Execution.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs)
- terminal evidence gate 재시도 횟수를 외부에서 주입받도록 바꿔 프로파일 기반 제어를 가능하게 했다.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)
- Cowork/Code 루프 시작 시 현재 모델의 실행 프로파일을 읽어 no-tool 감지, 도구 미호출 재시도, 문서 생성 재시도, terminal evidence gate, 읽기 병렬 실행, 초기 compaction/memory pressure 정책을 함께 적용하도록 변경했다.
- `tool_call_strict`/`fast_readonly` 같은 프로파일은 초기 memory guidance와 aggressive compaction을 더 늦게 적용해, vLLM 계열에서 불필요한 프롬프트 팽창을 줄이는 방향으로 조정했다.
## 2026-04-08 10:38 (KST)
- [ModelExecutionProfileCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ModelExecutionProfileCatalog.cs)
- 실행 프로파일 정책을 확장해 `post-tool verification`, `코드 품질 게이트`, `문서 검증 게이트`, `diff/실행 증거 게이트`, `final report gate`의 강도까지 함께 관리하도록 바꿨다.
- `fast_readonly``document_heavy`는 속도/산출물 우선으로 검증 게이트를 더 공격적으로 줄이고, `reasoning_first``balanced`는 기존 품질 게이트를 유지하도록 정리했다.
- [AgentLoopTransitions.Execution.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs)
- 코드 품질 게이트, high-impact build/test 게이트, final report 게이트, diff/실행 성공 게이트, 문서 검증 게이트를 모두 프로파일 기반 재시도 횟수로 바꿨다.
- 문서 검증 관련 깨진 문자열을 정상 한국어로 복구하고, document verification gate가 실제 최대 재시도 수를 기준으로 동작하도록 수정했다.
- terminal document completion/post-tool verification 경로도 `EnablePostToolVerification` 정책을 읽어 profile별로 verification을 생략할 수 있게 했다.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)
- `document_heavy`/`tool_call_strict` 프로파일에서는 `document_plan` 이후 장기 재시도보다 fallback 생성으로 더 빨리 전환되도록 조정했다.
- 후속 게이트 호출 시 현재 실행 프로파일을 함께 넘겨, Cowork/Code loop가 모델 성향에 맞는 검증 강도를 실제로 적용하도록 연결했다.
- [LlmService.ToolUse.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/LlmService.ToolUse.cs)
- OpenAI/vLLM tool-use request body에 `parallel_tool_calls` 힌트를 추가해 읽기 도구 병렬 실행 성향이 모델 요청 단계에도 반영되도록 보강했다.
- [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)
- Cowork/Code 진행 카드에 `계획 / 도구 / 검증 / 압축 / 폴백 / 재시도` 단계 메타를 더 직접적으로 붙여, 오래 걸리는 작업도 어느 단계인지 읽기 쉽게 정리했다.
- [AX_AGENT_REGRESSION_PROMPTS.md](/E:/AX%20Copilot%20-%20Codex/docs/AX_AGENT_REGRESSION_PROMPTS.md)
- 회귀 프롬프트 문서를 전면 교체하고, `tool_call_strict`, `fast_readonly`, `document_heavy`, `reasoning_first` 프로파일별 검증 시나리오를 추가했다.