Files

2.4 KiB

tbench · 강사가 수업 준비 때 직접 만든 본 (2026-10-26)

정답 자료 · 학생 저장소에는 수업 뒤 VIBE-A-TBENCH.md와 함께 올립니다. 이 본은 강사가 CLI 에이전트에 단계 요청문을 보내 만든 것이 아니라, Claude Code가 VIBE-A의 SPEC · IMP-PLAN을 보고 직접 썼습니다. 학생이 만든 것과 파일 구성이 달라도 됩니다. 요구 R1~R14의 확인 방법이 같으면 됩니다.

설치 · 실행

cd ~/aio-01d4-stu/Last3Mon/72/tbench
uv sync && uv run pytest -q              # 가짜 서버 테스트 12개 (진짜 헬프데스크를 부르지 않음)
uv tool install --editable .             # 어느 폴더에서나 tbench (R14)
cd /tmp && tbench --help
하고 싶은 것 명령
화면(TUI)으로 재기 tbench http://localhost:5678/webhook/my-helpdesk --body-file requests/faq-vpn-nocache.json -n 20
글자로 · 저장 · 기준 tbench <url> --body-file x.json -n 10 --plain --save --max-p95 2.5 --max-failures 0
요청 고르기 tbench <url> --pick requests
동시에 · 미리 부르기 --concurrency 3 · --warmup 1
키 머리글 --header 'Authorization: Bearer $MY_KEY' (저장 · 기록에는 ***)
비교 · 목록 tbench compare a.json b.json · tbench history
설정 저장 · 부르기 tbench profile save vpn <url> --body-file requests/faq-vpn-nocache.json -n 10 · tbench profile list · tbench run vpn --plain
한 번마다 한 줄 --log runs.jsonl

저장 위치는 ~/.tbench/ (results/, profiles.toml). 테스트는 TBENCH_HOME을 임시 폴더로 바꿔 씁니다.

파일

파일 하는 일
src/tbench/runner.py 엔진: 한 번 부르기(시간 · 상태 · 실패 종류 · timings), run() 제너레이터 (warmup · 동시)
src/tbench/stats.py nearest-rank 백분위, 요약, 기준 검사(PASS · FAIL)
src/tbench/store.py 저장(조건 · 본문 해시 · 키 가리기), compare, history, 기록 줄
src/tbench/profiles.py ~/.tbench/profiles.toml
src/tbench/cli.py 명령줄, --plain 출력, 종료 코드
src/tbench/app.py Textual 화면 (worker + call_from_thread), --pick 고르기
tests/conftest.py pytest 안의 가짜 서버 (지연 · N번째마다 500 · 첫 응답만 느림 · 상태 코드 · timings)