[gym] 경쟁 벤치마크 — rhwp vs 대안 HWP/문서 도구 실측 + 능력 매트릭스 (정직하게) - #4861
Closed
kevin9327 wants to merge 1 commit into
Closed
Conversation
samples/ 코퍼스 위에서 에이전트-대면 문서 과제(export-text·info·structure· convert)를 rhwp 와 대안 도구에 똑같이 돌려 벽시계 중앙값·성공률·간이 충실도를 재고, 문서화된 사실로 능력 매트릭스를 채우는 재현 가능한 하네스. JSON + 마크다운 리포트 생성, --from-json 재렌더, 정직한 저하(못 돌린 도구는 "n/a: 이유", 날조 금지). 이 머신 실측(Windows, rhwp v0.8.4 debug, 50 파일 = HWP 25 + HWPX 25): - 실제로 돌린 도구: rhwp(빌드) + pyhwp(hwp5txt 0.1b15, 휴면이라 six 수동 보강). - soffice(미설치 + HWP5 임포트 필터 없음)·hwplib(Java 라이브러리, CLI 아님)· Hancom SDK(Windows 전용)은 구조적 사실로만 기록(숫자 없음). - export-text: rhwp 98%(49/50)·충실도 1.00× vs pyhwp 50%(25/50, HWPX 0/25)·0.27×. 동일 HWP5 집합 속도는 pyhwp 1154ms < rhwp 2149ms(debug) — 경쟁자가 빠른 곳도 적음. - info/structure/convert 는 rhwp 만 구조화 CLI 로 수행(대안은 동일 형식 산출 없음). 가드: scripts/tests/test_gym_competitive_bench.py(순수 로직 21종, 바이너리·외부도구 불요), .github/workflows/ci.yml gym 블록에 등록(distinct anchor edwardkim#4855). Closes edwardkim#4855. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Collaborator
|
통합 PR #4883(4412546)로 병합 완료했습니다. 원 head와 CI를 다시 확인해 누적 반영했고, 상세 검토·메인터너 보정·검증 근거는 archive 검토 기록에 남겼습니다. 중복 병합을 막기 위해 이 원 PR을 닫습니다. 감사합니다. |
Collaborator
|
통합 PR #4883(4412546)로 병합 완료했습니다. 원 head와 CI를 다시 확인해 누적 반영했고, 상세 검토·메인터너 보정·검증 근거는 archive 검토 기록에 남겼습니다. 중복 병합을 막기 위해 이 원 PR을 닫습니다. 감사합니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇을 / 왜
"표준 도구 = 에이전트가 기본으로 집는 도구" 명제를 주장이 아니라 실측으로 뒷받침하는,
재현 가능한 경쟁 벤치마크 하네스를 신설한다.
samples/코퍼스 위에서 rhwp 를 대안 HWP/문서도구와 같은 과제로 나란히 재고, 문서화된 사실로 능력 매트릭스를 채우며, 정직한 리포트(JSON +
마크다운)를 생성한다.
Closes #4855.
산출물
gym/tools/competitive_bench.py— 하네스. 과제(export-text·info·structure·convert)를가용한 도구에 돌려 벽시계 중앙값·성공률·간이 충실도(문자수 비율)를 재고, JSON 결과 +
사람이 읽는 마크다운 리포트를 생성.
--from-json으로 재벤치 없이 리포트만 재렌더.mydocs/tech/benchmark_vs_alternatives.md/.json— 이 머신 실측 결과(파일별 원시 실행 기록 포함).scripts/tests/test_gym_competitive_bench.py— 바이너리·외부도구 없는 순수 로직 가드 21종(집계·충실도·능력 매트릭스 불변식·리포트 렌더·정직한 저하). gym 툴-테스트 패턴을 따름.
.github/workflows/ci.yml— gym 가드 블록에 하네스 계약 테스트 등록(distinct anchor[#4855]).실측 커버리지 (정직하게)
rhwp(빌드한 debug 바이너리 v0.8.4),pyhwp(hwp5txt 0.1b15 — venv설치, 휴면 패키지라
six수동 보강 후 import 됨).LibreOffice(이 머신 미설치 + HWP5 임포트 필터 없음),hwplib(JVM 라이브러리, CLI 아님),Hancom SDK(Windows 전용 독점).결과 — 과제 × 도구 (중앙값 시간 · 성공률 · 충실도)
충실도 = 둘 다 성공한 파일에서
문자수 ÷ rhwp 문자수의 중앙값(1.00×=동일량). pyhwp 는HWPX(ZIP) 0/25 실패(OLE 파서 한계)로 성공률 50%, 표 셀 본문을
<표>자리표로 대체해 충실도 0.27×.능력 매트릭스 (요약)
rhwp 만 전 항목 충족: 크로스플랫폼 · 단일 자립 바이너리 · 에이전트-네이티브 CLI(JSON 봉투) ·
MCP 서버 · 메모리 안전(Rust) · 검증 가능 작업(capsule/replay) · 편집 · 렌더(SVG/PNG/PDF).
pyhwp=읽기전용·HWP5만·평문출력·휴면(Py2). LibreOffice=대형 스위트·HWP5 임포트 필터 없음.
hwplib=JVM 라이브러리(CLI 아님). Hancom SDK=Windows 전용 독점. (전체 표는 리포트 참조.)
정직한 평결
형식 폭(HWPX·info·structure·convert 를 구조화 CLI 로 단독 수행), 능력(MCP·검증 가능 작업·
단일 바이너리·메모리 안전·JSON 봉투는 벤치한 대안 중 rhwp 만).
1154ms vs rhwp 2149ms 중앙값으로 pyhwp 가 더 빨랐다. 단 rhwp 는 debug 빌드이며 JSON
봉투·출처 표지를 함께 낸다(릴리스 빌드로는 좁혀진다). 방향은 코퍼스·빌드 프로파일에 따라 달라질 수 있다.
못 열어 이 과제군에선 출발선에 못 선다.
에이전트가 기본으로 집는 축(설치 한 방·구조화 출력·형식 폭·재현 가능성)에서 rhwp 가 앞선다.
이 정직함(경쟁자가 빠른 곳을 숨기지 않음)이 채택 논거다.
검증
python -m unittest scripts/tests/test_gym_competitive_bench.py→ 21 tests OK (바이너리 불요).python -m unittest scripts/tests/test_workflow_contract_wiring.py→ OK (ci.yml 편집 무해).재현