카드 카탈로그(negodata)가 Q-table action space 를 정의하는 정본이 되고, 카드 변경이
config 수정·학습 손실 없이 agent 에 자동 반영되는 고리를 완성.
- action space 정리: 카탈로그 전체(NGC-001~011, 11장) 고정, 견적별 선택은 축소가 아니라
available_mask(_selection_mask) 로 처리 — action_id↔카드 대응을 견적마다 일정하게 유지해
Q-table 학습 일관성 보장. 구 인덱스 방식(selected[action_id]) 폐기.
- ① 카탈로그 DB 정본화: action_mapping.type=db 면 registry 가 card.nego_cards(user_id NULL,
number 순) 조회로 action_to_card 동적 구성(파일은 폴백). port/adapter(card_catalog_*).
_base=type:db. → negodata 카드 추가/삭제 시 config 수정 불필요.
- ② 차원 변경 학습 보존 마이그레이션: migrate_active_version_dim — 겹치는 셀 복사
(append/truncate 안전) + 새 카드 fresh. model_store.load 가 차원 불일치 시 호출.
- ③ reload 엔드포인트: /v1/catalog-refresh(테넌트) · /v1/catalog-refresh-all(전역, 화이트리스트).
- ④ 브랜드: company_profile_repo — 자동 온보딩 고객사(company_id UUID)는
company.companies.name 으로 {company_name} 채움. 데모 테넌트는 파일 유지.
- 크로스서비스: negodata card_service 가 공용 nego 카드 변경 시 agent_notify 로 전역 리로드 알림
(best-effort, is_test skip). config 에 agent_base_url.
- 하니스 episodes 400→600(action 11 수렴). 테스트 갱신·추가로 agent 98/98.
알려진 갭(후속): per-company 카탈로그 스코프(회사 카드도 action space 포함), 카탈로그 중간
삭제 시 카드번호 기반 마이그레이션.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
# 데모 테넌트 프로파일 (합성/중립값 — CLEANROOM.md).
|
|
# 멀티테넌트 분기 학습 시연용. 두 번째 테넌트는 차원(162)은 동일하게 두되 비즈니스 값만 달리한다
|
|
# → base warm-start 호환(P5). 아래 값은 합성이며 특정 회사의 실제 운영값이 아니다.
|
|
tenant_id: imarketkorea
|
|
inherits_base: true
|
|
name: "Demo Tenant B"
|
|
company_id: null
|
|
|
|
state:
|
|
revenue:
|
|
# 다른 거래 규모 가정(데모): 구간 임계값 상향 (차원 수는 3으로 동일)
|
|
thresholds: [30000000, 100000000]
|
|
weights: [0.3, 0.6, 1.0]
|
|
descriptions: ["low", "mid", "high"]
|
|
acceptance:
|
|
thresholds: [0.02, 0.07]
|
|
weights: [0.3, 0.6, 1.0]
|
|
descriptions: ["low", "mid", "high"]
|
|
|
|
reward:
|
|
failure_penalty: -0.7 # 결렬 비용을 더 크게 둔 데모 프로파일
|
|
beta: 0.25
|
|
|
|
action_mapping:
|
|
type: file
|
|
action_to_card: # 동일 차원(11) 유지 → warm-start 가능. 합성 데모 코드(테넌트 B).
|
|
"0": "NGC-B001"
|
|
"1": "NGC-B002"
|
|
"2": "NGC-B003"
|
|
"3": "NGC-B004"
|
|
"4": "NGC-B005"
|
|
"5": "NGC-B006"
|
|
"6": "NGC-B007"
|
|
"7": "NGC-B008"
|
|
"8": "NGC-B009"
|
|
"9": "NGC-B010"
|
|
"10": "NGC-B011"
|
|
|
|
llm:
|
|
enabled: false
|
|
api_key_ref: TENANT_B_OPENAI_API_KEY
|
|
|
|
resources:
|
|
language: ko
|
|
scripts_dir: resources
|
|
company_name: "데모상사 B"
|
|
service_name: "Negosium"
|