Files
AX-Copilot-Codex/docs/NEXT_ROADMAP.md
lacvet 8cb08576d5 AX Agent 도구·스킬 정합성 재구성 및 실행 품질 보강
변경 목적:
- AX Agent의 도구 이름, 내부 설정, 스킬 정책, 실행 루프 사이의 불일치를 줄이고 전체 동작 품질을 높인다.
- claw-code 수준의 일관된 동작 품질을 참고하되 AX 구조에 맞는 고유한 카탈로그·정규화 레이어로 재구성한다.

핵심 수정사항:
- 도구 canonical id, legacy alias, 탭 노출, 설정 카테고리, read-only 분류를 중앙 카탈로그로 통합했다.
- ToolRegistry, AgentLoopService, 병렬 실행 분류, 권한 처리, 훅 처리, 스킬 allowed-tools 해석이 같은 이름 체계를 사용하도록 정리했다.
- Agent 설정/일반 설정/도움말의 도구 카드와 훅 편집기, 스킬 설명을 현재 런타임 구조에 맞게 갱신했다.
- 컨텍스트 압축, intent gate, spawn agents, session learning, model prompt adapter, workspace context 관련 변경과 테스트 추가를 함께 반영했다.
- 문서 이력과 비교/로드맵 문서를 최신 상태로 갱신했다.

검증 결과:
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify_toolcat\ -p:IntermediateOutputPath=obj\verify_toolcat\ : 경고 0 / 오류 0
- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter AgentToolCatalogTests -p:OutputPath=bin\verify_toolcat_tests\ -p:IntermediateOutputPath=obj\verify_toolcat_tests\ : 통과 8
2026-04-14 17:52:46 +09:00

8.9 KiB

AX Copilot 통합 로드맵 (전면 재작성)

1. 보존 이력 (요약만 유지)

  • v0.5.x: 에이전트/런처 핵심 기능 확장, MCP/스킬/검증 체계 도입.
  • v0.6.0: 문서 생성 및 업무 자동화 도구군 확장.
  • v0.7.0~v0.7.2: Plan Mode, 병렬 도구, 검증 게이트 및 안정화 강화.

2. 재작성 목표

  • OpenCode 수준의 실행 신뢰성, 세션 내구성, 결과 품질 확보.
  • AX Copilot 고유 제약(사내 운영모드, WPF UX, 로컬 우선)을 유지한 동등 품질 구현.

3. 마일스톤

마일스톤 참조 대상 (OpenCode) AX 적용 위치 완료 조건 품질 판정 시나리오
M1 (v0.7.3) Hook 계약 정식화 src/utils/hooks.ts, src/utils/hooks/hookEvents.ts, src/utils/permissions/PermissionUpdate.ts src/AxCopilot/Services/Agent/AgentHookRunner.cs, src/AxCopilot/Services/Agent/AgentLoopService.cs, src/AxCopilot/Models/AppSettings.cs, src/AxCopilot/ViewModels/SettingsViewModel.cs, src/AxCopilot/Views/SettingsWindow.xaml Hook 출력 계약(updatedInput, updatedPermissions, additionalContext) 반영. 설정값-실행코드-UI 동시 반영. JSON 훅/텍스트 훅 혼합 환경에서 실행 품질과 하위호환 유지 확인.
M2 (v0.7.4~v0.7.5) 세션/로그 내구성 src/utils/plans.ts, src/utils/sessionStorage.ts src/AxCopilot/Services/ChatSessionStateService.cs, src/AxCopilot/Services/TaskRunService.cs, src/AxCopilot/Services/TaskRunStore.cs, src/AxCopilot/Views/ChatWindow.xaml.cs, src/AxCopilot/Models/ChatModels.cs Plan/Run 상태 영속화. 이벤트 로그 표준화 및 replay 안정성 확보. 앱 재시작/강제종료 후 동일 세션 재개 시 상태/이력 불일치 0건.
M3 (v0.7.6) 도구 선택/복구 안정화 src/commands.ts, src/Tool.ts, src/query.ts src/AxCopilot/Services/Agent/AgentLoopService.cs, src/AxCopilot/Services/Agent/AgentLoopParallelExecution.cs, src/AxCopilot/Services/LlmService.ToolUse.cs 도구 선택 실패 루프 억제. 실패 유형별 복구 흐름 정형화. 오타/비활성/별칭 도구 요청이 반복 실패 없이 정상 경로로 수렴하는지 확인.
M4 (v0.8.0) 품질 게이트 최종 정렬 src/query.ts, src/QueryEngine.ts, src/utils/sessionStorage.ts src/AxCopilot/Services/Agent/AgentLoopService.cs, src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs, src/AxCopilot/Services/Agent/AgentLoopTransitions.cs 증거 기반 완료 판정 고정. 내부 벤치마크에서 OpenCode 동급 품질 달성. 코드수정/문서생성/권한거부/복구 혼합 시나리오에서 조기완료 없이 근거 기반 종료 확인.

4. 측정 지표

  • 반복 실패 루프 발생률.
  • 세션 재개 성공률.
  • 완료 응답 근거 누락률.
  • 빌드/테스트 통과율.

5. 운영 원칙

  • internal 모드: 외부 유출 경로 차단 우선.
  • 신규 기능은 반드시 설정값 연결 + 실제 동작 반영.
  • 문서 마스터는 .md, HTML은 요청 시만 갱신.

6. 즉시 실행 백로그

  1. Hook 계약 확장 마무리 및 회귀 테스트.
  2. 세션 복원 경계조건 테스트 세트 추가.
  3. 이벤트 로그 스키마 고정 및 분석 리포트 템플릿 정리.

7. 2026-04-03 실행 증적 동기화 (M4 포함)

  • 기준 시점: 2026-04-03.
  • 테스트: dotnet test 379/379 통과.
  • M1 증적: Hook 계약 필드(updatedInput, updatedPermissions, additionalContext) 반영 경로 구현 완료.
  • M2 증적: run 복원/이력 재구성(RestoreRecentFromExecutionEvents, RestoreCurrentAgentRun, plan 이력 조회) 구현 및 테스트 존재.
  • M3 증적: unknown-tool 복구 루프/결정 이벤트 처리 경로 구현 및 테스트 존재.
  • M4 증적: 실행 종료 품질 게이트(CodeQualityGate, ExecutionSuccessGate, TerminalEvidenceGate) 반영 및 관련 테스트 존재.
  • 스킬/도구 운영 정렬: 40개 스킬 모두 allowed-tools 명시 완료, Python 의존 10개는 fallback 분기 적용, 레거시 도구명(process_run, grep_tool) 참조 제거.

8. 남은 마감 항목 (M4 종료 조건)

  1. 세션 replay 불일치 0건을 재현 시나리오별 수치로 기록.
  2. 위 결과를 배포 전 체크리스트로 고정하고 매 릴리즈마다 수치 동기화.

9. 벤치마크 고정 기준 (CLAW 패리티 동기화)

  • 기준 문서: docs/OPENCODE_PARITY_PLAN.md 12절.
  • 고정 시나리오: 기본 loop / unknown-tool 복구 / plan 연결 / 권한 거부 / hook 입력 변형 / allowed-tools 강제 / hook filter.
  • 합격 게이트: 빌드 경고·오류 0 + 전체 테스트 통과 + 고정 시나리오 회귀 통과.

10. Replay 안정성 검증 연동

  • 기준 문서: docs/OPENCODE_PARITY_PLAN.md 13절.
  • 테스트 태그: Suite=ReplayStability.
  • 운영 기준: 릴리즈 전 ReplayStability 시나리오 전건 통과 시 replay 불일치 0건으로 판정.
  • 최신 실행 증적(2026-04-03): ParityBenchmark 13/13, ReplayStability 14/14, 전체 379/379.
  • 실행 자동화: scripts/release-gate.ps1로 빌드/벤치마크/리플레이/전체 테스트를 일괄 점검.

11. 권한 Hook 계약 고정 (M1 완료 기준)

  • lifecycle hook 키:
    • __permission_request__ (pre)
    • __permission_granted__ (post)
    • __permission_denied__ (post)
  • payload 기준 필드: runId, tool, target, permission, granted, reason.
  • 실행 우선순위:
    1. Hook의 updatedPermissions를 현재 run 권한 컨텍스트에 즉시 반영.
    2. 반영 후 CheckToolPermissionAsync()로 최종 권한 판정 수행.
    3. hook 예외/실패는 non-blocking으로 처리하고 권한 흐름은 지속.
    4. additionalContext는 가능한 경로에서 실행 메시지 컨텍스트에 병합.

2026-04-04 추가 계획 (Codex/Claude 추격 로드맵 재정렬)

업데이트: 2026-04-04 13:24 (KST)

기준 소스

  • OpenCode/src/commands.ts
  • OpenCode/src/utils/permissions/PermissionMode.ts
  • OpenCode/src/components/PromptInput/PromptInput.tsx

현재 AX 격차 요약

  1. 입력/슬래시/권한 처리 로직이 ChatWindow 단일 파일에 상대적으로 집중되어 변경 파급도가 큼.
  2. 설정-런타임-UI 동기화는 기능은 많지만 구조적 분리가 부족해 회귀 리스크가 높음.
  3. Agent loop 품질 게이트는 확보됐으나, UI 상호작용 회귀 시나리오와 결합된 자동 검증이 더 필요함.

연속 실행 목표 (L1~L5)

  • L1. 입력 계층 모듈화
    • 목표: slash 명령 카탈로그/매칭/선택 상태를 분리해 ChatWindow 결합도 축소
    • 완료 기준: slash 관련 핵심 로직을 독립 파일로 분리하고 기존 slash 테스트 통과
  • L2. 권한 UX/로직 단일 카탈로그화
    • 목표: 권한 모드 명칭/설명/색/정렬 순서를 단일 소스에서 제공
    • 완료 기준: 팝업/상태 배너/슬래시 출력에서 동일 용어·동일 순서 유지
  • L3. 설정 동기화 강화
    • 목표: Cowork/Code 설정 분기를 실행 코드 경로까지 일치시켜 회귀 감소
    • 완료 기준: 설정 변경 즉시 반영 시나리오 체크리스트 전건 통과
  • L4. Agentic loop + UI 결합 회귀 테스트 보강
    • 목표: internal/external, permission deny/recover, mcp reconnect, compact 수동/자동 흐름을 통합 검증
    • 완료 기준: 릴리즈 게이트용 통합 테스트 세트 추가 및 통과
  • L5. Codex/Claude형 UI 마감
    • 목표: 좌측 패널/컴포저/권한 팝업 밀도와 탐색 동작을 단순·일관 패턴으로 정리
    • 완료 기준: UI 체크리스트 주요 항목 100% 충족 + 빌드 경고/오류 0

이번 턴 즉시 반영 (L1 시작)

  • ChatWindow의 대형 slash 명령 사전을 SlashCommandCatalog로 분리.
  • ChatWindow는 카탈로그 API(MatchBuiltinCommands, TryGetEntry)를 통해 조회하도록 전환.
  • 결과: 입력 계층 결합도 감소 + 향후 slash 확장/정리 시 변경 범위 축소.

2026-04-04 실행 프레임 고정 (중기 계획)

업데이트: 2026-04-04 14:47 (KST)

3축 고정 운영

  1. 로직 안정화: 권한/운영모드/compact/모델 연결 경로를 테스트 우선으로 보강.
  2. 기능 동등성: OpenCode 기준 주요 명령(/compact, /permissions, /mcp, /chrome)을 실행 시나리오로 검증.
  3. UX 정렬: 상단/컴포저/팝업 밀도는 로직 안정화 완료 범위 내에서만 단계 반영.

이번 사이클 기준 완료 조건

  • 빌드: dotnet build 경고 0 / 오류 0.
  • 핵심 회귀: 운영모드, 권한, slash, 모델연결, compact 관련 필터 테스트 통과.
  • 문서: README.md, docs/DEVELOPMENT.md에 시간 포함 이력 동기화 후 커밋/푸시.

이번 사이클 실제 보강 항목

  • ContextCondenserTests 추가:
    • proactive 비활성 시 무변경 확인
    • 대용량 tool_result 축약 동작 확인
  • LlmRuntimeOverrideTests 보강:
    • vLLM 암호화 API키 런타임 복호화 검증
    • 등록모델/전역 TLS 우회 플래그 합성 규칙 검증