카드 재설계("멘트 카드 → 전술 카드"):
- tactics.py 신설: 카드번호→전술(카운터 산식) 레지스트리, min(counter,target) 클램프
- 카운터 수락=즉시 타결(pending_counter_price 일반화, 구 offer_1pct 흡수)
- 목표가 초과 타결 금지(성공스텝 진입 가드) + "카드 소진=실패" 폐지→종결 국면
- 선택형 와일드카드(WC-*) 발동 + card.wild_cards 멘트 DB 어댑터
LLM 계층:
- Phase 2 표현층 ScriptNaturalizer(카드 멘트 자연화, 마커·치환자·숫자 보존 검증)
- Phase 3 이해층 InputInterpreter(자유발화 NLU→기대입력, 한국어 가격 파서)
- OPENAI_API_KEY env override(server_configs) + 전역 자격증명 게이트
결정 스택(Phase 1):
- 협상 규칙 데이터화(negotiation.wildcard_*_ratio/max_counter_rounds)
- 선택카드 우선순위 prior(UCB 방문수 감쇠, Q-table 오염 없음)
버그픽스:
- 인하율 음수 표기 제거 + 인상/동일/인하 구분(discount_phrase)
- 자연화 강조마커 보존(볼드/색 소실 시 원본 폴백)
- 카드 시드 가격변수(prev_partner_price·target_mid_price·middle_price 등) 치환
정리:
- ktcommerce 테넌트 삭제 + 테스트 21파일 imarketkorea/_base 로 마이그레이션
- 실 LLM 호출 차단 conftest 가드
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
19 lines
1.1 KiB
YAML
19 lines
1.1 KiB
YAML
# 알고리즘 비교 실험 기본 설정 (H5). E2E: python -m eval_harness.runner --config configs/exp_default.yaml --tenant imarketkorea
|
||
episodes: 600 # 정책당 협상 에피소드 수 (action 11장 탐색 수렴 위해 상향)
|
||
seed: 42 # 재현용 (구매자 randomness 페어드)
|
||
max_turns: 5 # 협상 라운드 상한
|
||
n_good_cards: 3 # 시뮬 구매자: 효과 좋은 카드 수
|
||
curve_buckets: 10 # 학습곡선 구간 수
|
||
policies: # 비교 대상 (random/static = 비학습 비교군, qtable_ucb = 학습)
|
||
- random
|
||
- static
|
||
- qtable_ucb
|
||
scenario: # KT 구매자(갑): anchor(앵커링) < target(목표 매입가). 갑이 직접 입력.
|
||
target_price: 10000 # KT 목표 매입가
|
||
anchor_price: 8000 # KT 앵커링가(공격적으로 낮게 설정). 제시가 ≤ 8000 → 우선협상
|
||
# ↑ 0.99×target(9900)도 가능하나, 카드 효과가 드러나려면 협상 여지(갭)가 있어야 함
|
||
revenue_amount: 20000000
|
||
distribution_code: A
|
||
partner_count: 1
|
||
acceptance_ratio: 0.05
|