앱에서
- Reliable → Simulation → New run으로 들어갑니다.
- 타겟을 고릅니다.
- 지금 Draft.
- 특정 배포 버전.
- 개선 후보.
- 데이터셋을 고릅니다. 태그로 걸러 일부만 쓸 수도 있습니다.
- 비교할 베이스라인을 고릅니다. 안 고르면 지금 배포된 버전이 기본입니다.
- Preview를 누르면 예시 수, 예상 비용, 예상 시간을 보여줍니다.
- Run을 누릅니다.
CLI에서
--target은 draft, published, version:<id>, improvement:<id>를 받습니다. --baseline은 같은 값이나 none을 받습니다.
--tags customer-facing,hard로 데이터셋을 거릅니다.
--parallelism 20으로 동시 실행 수를 조절합니다. 기본은 10입니다.
CI에서
시뮬레이션으로 배포 파이프라인을 막거나 통과시킵니다. 표준 패턴은 이렇습니다.--dry-run --gate-simulation을 함께 쓰면 타겟 Draft를 데이터셋에 돌립니다. 통과율이 최소치보다 낮으면 명령이 실패하고 CI가 멈춥니다.
흔한 방식은 모든 PR에서 게이트 시뮬레이션을 돌리고, 실패하면 머지를 막는 것입니다.
어디서 무엇이 도나
모든 시뮬레이션은 격리된 환경에서 돕니다.- 자격증명이 필요한 도구는 테스트 자격증명을 씁니다. Flow마다 test-only로 표시된 별도 커넥터라, 도는 동안 실제 프로덕션에 영향이 가지 않습니다.
- “시뮬레이션에서 돌리면 안 됨” 으로 표시한 Action은 스텁으로 처리합니다. 출력은
success로 흉내 냅니다. - 메모리 쓰기는 시뮬레이션마다 따로 두는 스크래치 공간으로 가고, 실행이 끝나면 버립니다.
결과 보기
결과 테이블은 예시 하나마다 한 줄입니다.- Input 데이터셋 예시의 입력.
- Target output 타겟이 내놓은 결과.
- Baseline output 베이스라인이 내놓은 결과(비교할 때).
- Expected 데이터셋의 기대 출력.
- Verdict pass / fail / regression / improvement.
- Cost와 latency.
중단
오래 걸리는 시뮬레이션은 언제든 멈출 수 있습니다. 그때까지의 결과는 “partial” 로 표시해 남깁니다. 앞 20개만 봐도 변경이 안 먹힌다는 게 분명할 때 쓰면 좋습니다.다시 돌리기
같은 시뮬레이션을 다시 돌릴 수는 있지만 대개 의미가 없습니다. 같은 타겟에 같은 데이터셋이면 결과도 같습니다(모델 무작위성에서 오는 잡음만 다릅니다). 보통 원하는 건 이런 쪽입니다.- 새 데이터셋 버전으로 다시 돌리기 새 예시를 집어옵니다.
- 새 타겟으로 다시 돌리기 이번 결과에서 얻은 걸로 Draft를 손본 뒤에.