Files
AX-Copilot-Codex/docs/AX_AGENT_EXECUTION_IMPROVEMENT_PLAN.md
lacvet 9344cf83d6 개발 문서를 AX 기준 계획 중심으로 정리하고 비교성 표현을 제거
- README와 DEVELOPMENT, 로드맵 문서에서 비교·모사 뉘앙스가 강한 문구를 AX 기준 설명으로 정리함

- 비교/패리티 성격의 문서를 AX Agent 구조 리뷰, 실행 개선 계획, 품질 계획, 런타임 품질 계획, 도구 커버리지 문서로 재구성함

- 회귀 프롬프트와 보조 개발 문서의 용어를 공통 핵심 명령과 운영 기준 중심으로 정리함

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_docs_cleanup\\ -p:IntermediateOutputPath=obj\\verify_docs_cleanup\\ (경고 0 / 오류 0)
2026-04-15 17:05:30 +09:00

6.0 KiB

AX Agent 실행 개선 계획

업데이트: 2026-04-15 18:20 (KST)

1. 목적

  • AX Agent의 실행 신뢰성, 권한 처리 일관성, 세션 복원 품질을 높입니다.
  • 외부 제품명 비교 대신 실제 참조 모듈 경로와 AX 적용 위치만 기준으로 관리합니다.
  • UI 보정만으로 가리는 수정은 지양하고 상태 -> 실행 -> 렌더 순서로 정리합니다.

2. 현재 판단

  • 실행 엔진과 루프 품질은 안정 구간에 들어왔지만, 장기 세션 복원과 이벤트 정규화는 계속 다듬을 여지가 있습니다.
  • 설정이 런타임 경로를 바꾸는 지점은 사용자 설정과 개발자용 실험 설정을 더 분리할 필요가 있습니다.
  • transcript, status line, queue 표시는 충분히 가벼워졌지만 상태 계산 소스는 더 단일화해야 합니다.

3. 참조 흐름

참조 모듈 AX 적용 위치 완료 조건 품질 판정 기준
src/bootstrap/state.ts src/AxCopilot/Views/ChatWindow.xaml.cs, src/AxCopilot/Services/Agent/AxAgentExecutionEngine.cs, src/AxCopilot/Services/ChatStorageService.cs 현재 턴, queue, retry, 실행 이벤트, 저장 스냅샷이 하나의 런타임 상태 모델로 정리 reopen/retry/queue 후 중복 assistant 카드나 빈 카드가 생기지 않음
src/bridge/initReplBridge.ts src/AxCopilot/Services/Agent/AxAgentExecutionEngine.cs, src/AxCopilot/Services/LlmService.cs send/regenerate/retry/queued follow-up/slash가 하나의 실행 준비 경로를 통과 같은 입력과 설정에서 진입점이 달라도 실행 경로가 흔들리지 않음
src/bridge/sessionRunner.ts src/AxCopilot/Services/Agent/AgentLoopService.cs, src/AxCopilot/Services/Agent/AgentLoopTransitions.cs, src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs tool start/result/error/progress가 루프 계층에서 한 번만 정규화 Cowork/Code 장기 실행 중 상태 문구가 과도하게 흔들리지 않음
src/bridge/bridgeMessaging.ts src/AxCopilot/Views/ChatWindow.xaml.cs, src/AxCopilot/Services/Agent/AgentLoopService.cs 실행 이벤트와 표시 전용 이벤트를 렌더 이전에 분리 replay 후 visible banner 중복이 발생하지 않음
src/screens/REPL.tsx, src/components/Messages.tsx, src/components/StatusLine.tsx src/AxCopilot/Views/ChatWindow.xaml, src/AxCopilot/Views/ChatWindow.xaml.cs timeline, composer, status strip이 공통 런타임 상태를 사용 리사이즈, queue 연속 실행, retry 후에도 UI가 패치식으로 흔들리지 않음

4. 실행 단계

A. 런타임 상태 단일화

  • 적용 위치: ChatWindow.xaml.cs, AxAgentExecutionEngine.cs, ChatStorageService.cs
  • 완료 조건:
    • Chat, Cowork, Code가 같은 런타임 상태 모델을 갱신
    • queue, retry, compact 이후 상태가 재오픈 후에도 동일하게 복원
  • 품질 기준:
    • 같은 대화를 다시 열었을 때 보이는 timeline과 저장 상태가 일치
    • queue badge와 최근 실행 이력이 어긋나지 않음

B. 실행 준비 경로 일원화

  • 적용 위치: AxAgentExecutionEngine.cs, LlmService.cs
  • 완료 조건:
    • prompt stack assembly, execution mode choice, final commit이 엔진 기준으로 통합
    • send/regenerate/retry/slash가 동일 API를 사용
  • 품질 기준:
    • 같은 탭과 같은 설정에서 실행 경로가 예측 가능
    • UI에서 별도 prompt stack을 만들지 않음

C. 루프 이벤트 정규화

  • 적용 위치: AgentLoopService.cs, AgentLoopTransitions.cs, AgentLoopTransitions.Execution.cs
  • 완료 조건:
    • 권한 요청, 실패, 재시도, 완료 이벤트가 안정적인 스키마를 사용
    • bounded activity/event record 기준이 문서화
  • 품질 기준:
    • 장기 도구 실행 중 상태 flash가 줄고 debug payload 노출이 최소화

D. timeline 유도 모델 고정

  • 적용 위치: ChatWindow.xaml, ChatWindow.xaml.cs
  • 완료 조건:
    • assistant/user message, 실행 로그, compact boundary, queue summary가 하나의 derived timeline에서 생성
    • 직접 bubble injection 경로 제거
  • 품질 기준:
    • blank assistant card 0건
    • token-only completion 0건
    • re-render 뒤 duplicate banner 0건

E. composer와 status strip 정리

  • 적용 위치: ChatWindow.xaml, ChatWindow.xaml.cs
  • 완료 조건:
    • composer height는 명시적 줄바꿈 중심으로만 증가
    • status strip, queue summary, runtime activity가 debounce된 업데이트를 사용
  • 품질 기준:
    • resize 이후 입력창이 과하게 커지지 않음
    • metadata가 메시지 본문보다 앞서 보이지 않음

F. 복구/재개/검증 마감

  • 적용 위치: ChatWindow.xaml.cs, AxAgentExecutionEngine.cs, ChatStorageService.cs
  • 완료 조건:
    • reopen after interruption, retry-last, regenerate, manual compact, manual stop, manual resume 시나리오를 모두 통과
    • 최신 assistant state와 저장 conversation이 일치
  • 품질 기준:
    • 복원 후 마지막 상태가 실제 종료 시점과 같음
    • 세션 재개 후 추가 오류 전파가 없음

5. 검증 기준

  • dotnet build 경고 0 / 오류 0
  • 고위험 변경마다 최소 1개 이상 회귀 테스트 추가
  • internal / external 운영 모드 정책 위반 0건
  • reopen, retry, regenerate, queue follow-up, permission, compact 시나리오 수동 점검 유지

6. 최신 메모

  • 2026-04-05 15:34 (KST): 실행 개선 계획을 실제 참조 모듈 흐름 기준으로 재정리했습니다.
  • 2026-04-05 16:55 (KST): 엔진, 채팅 UI, 상태 UX, 설정 연동의 구조적 갭을 분리해 정리했습니다.
  • 2026-04-06 09:36 (KST): 상태 strip 표현을 전용 카탈로그로 분리하고 permission/tool-result 설명을 정형화했습니다.
  • 2026-04-06 10:07 (KST): topic preset과 사용자 상호작용 렌더 책임을 presentation 파일로 계속 분리했습니다.
  • 2026-04-06 11:52 (KST): permission, tool-result, skill gallery 설명층을 더 구체적인 운영 정보 중심으로 보강했습니다.