wip: phase_z2 evidence 파이프라인 + matching 실험(phase2~26) + 프론트 trace 패널 진행분 스냅샷
- src: phase_z2 composition/mapper/pipeline/placement_planner/retry, ai_fallback(prompts/schema/validate), mdx_text_atoms 신규 - Front: PipelineTracePanel 신규, FramePanel/SlideCanvas/Home/designAgentApi 등 갱신 + 테스트 4종 추가 - templates/phase_z2: catalog(component_expansion_registry, node_slot_mapping 신규), frames, families, slide_base 갱신 - tests/matching: phase2~26 매칭 실험 스크립트·리포트·온톨로지 전체 (미커밋 진행분) - tests: b4_v4 evidence, task5~28.5 시리즈, regression(imp95 baseline) 등 신규 테스트 대량 추가 - docs/reference: MDX 구조 인벤토리, MDX→Frame 구조 계약 문서 - scripts: mdx 계약/parity/coverage/viewport 체크, gitea comment, run sync 유틸 - .gitignore: tmp*.json, chromedriver, .orchestrator, *.pkl, Front_test* 등 임시/스냅샷 제외 미완성 작업의 보존용 스냅샷 커밋 (2026-07-02) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
"""MDX03-1을 얼마나 자세히 읽느냐에 따라 매칭 결과가 어떻게 바뀌는지 테스트"""
|
||||
import sys
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
|
||||
from common import load_figma_texts
|
||||
from methods import method_tfidf, method_bm25, method_kiwi_bm25
|
||||
|
||||
ROOT = Path(r"d:\ad-hoc\kei\design_agent")
|
||||
PREVIEW_DIR = ROOT / "data" / "figma_previews"
|
||||
|
||||
|
||||
# 3가지 버전의 MDX03-1
|
||||
|
||||
# Level A: 라벨만 (기술/사람/자연 + 부제만)
|
||||
MDX03_1_LABELS = """
|
||||
기술(디지털)
|
||||
사람(역량)
|
||||
자연(여건)
|
||||
"""
|
||||
|
||||
# Level B: 라벨 + 최상위 블릿 (서브제목까지만)
|
||||
MDX03_1_MEDIUM = """
|
||||
기술(디지털)
|
||||
- Digital 기술(S/W, H/W)과 업무 Process의 통합
|
||||
- 분야별 전문 지식(설계, 시공, 유지관리 등) 보유
|
||||
|
||||
사람(역량)
|
||||
- 혁신적 사고방식과 창의적 문제 해결 능력
|
||||
- 사용자 중심 사고와 DX 수행 경험
|
||||
|
||||
자연(여건)
|
||||
- 지속적인 투자 및 실행 의지
|
||||
"""
|
||||
|
||||
# Level C: 전체 (현재 사용하는 버전 - 블릿 깊이 전체 포함)
|
||||
MDX03_1_FULL = """
|
||||
* **기술(디지털)**
|
||||
* **Digital 기술(S/W, H/W)과 업무 Process의 통합**
|
||||
* 기존 업무 프로세스에 다양한 디지털 기술을 접목하여 업무 수행
|
||||
* 프로젝트 전반에 걸친 업무 프로세스의 연결 및 조율
|
||||
* **분야별 전문 지식(설계, 시공, 유지관리 등) 보유**
|
||||
* 건설 전 단계에 대한 근본적인 이해와 지식 및 경험
|
||||
* 최신 토목 기술 트랜드 및 표준 기준 등에 대한 높은 지식
|
||||
|
||||
* **사람(역량)**
|
||||
* **혁신적 사고방식과 창의적 문제 해결 능력**
|
||||
* 기존 수행 방식과 관습적 사고 등에 의한 접근 방식 탈피
|
||||
* 디지털 기술을 활용한 창의적, 혁신적인 솔루션 제시
|
||||
* **사용자 중심 사고와 DX 수행 경험**
|
||||
* 사용자의 요구와 기대를 충족시키는 설계 및 구현
|
||||
* 시행착오를 포함한 수행 경험과 사용자 경험(UX)을 반영한 해결 방안 제시
|
||||
|
||||
* **자연(여건)**
|
||||
* **지속적인 투자 및 실행 의지**
|
||||
* 기술 도입 초기 단계에 필요한 인력·기간·비용 등의 대규모 투자
|
||||
* 기술 고도화를 위한 지속적인 개선 및 투자 체계 구축
|
||||
* 변화와 혁신을 통해 부가가치를 창출하려는 실행 의지와 추진력
|
||||
"""
|
||||
|
||||
|
||||
def main():
|
||||
figma = load_figma_texts()
|
||||
with open(PREVIEW_DIR / "index.json", encoding="utf-8") as f:
|
||||
idx_data = json.load(f)
|
||||
frame_to_short = {info["frame_id"]: sid for sid, info in idx_data.items()}
|
||||
|
||||
versions = [
|
||||
("A. 라벨만", MDX03_1_LABELS),
|
||||
("B. 라벨+최상위블릿", MDX03_1_MEDIUM),
|
||||
("C. 전체(현재)", MDX03_1_FULL),
|
||||
]
|
||||
|
||||
methods = [
|
||||
("TF-IDF", method_tfidf),
|
||||
("BM25", method_bm25),
|
||||
("Kiwi+BM25", method_kiwi_bm25),
|
||||
]
|
||||
|
||||
print(f"{'버전':20s} | {'TF-IDF':20s} | {'BM25':20s} | {'Kiwi+BM25':20s}")
|
||||
print("-" * 100)
|
||||
|
||||
for vname, text in versions:
|
||||
row = f"{vname:20s}"
|
||||
for mname, fn in methods:
|
||||
ranked = fn(text, figma)[:3]
|
||||
cells = []
|
||||
for fid, sc in ranked:
|
||||
short = frame_to_short.get(str(fid), "?")
|
||||
mark = "✅" if short == "13" else " "
|
||||
cells.append(f"{mark}{short}({sc:.1f})")
|
||||
row += " | " + " ".join(cells)
|
||||
print(row)
|
||||
|
||||
print()
|
||||
print("정답: 13 (필수조건)")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user