215 lines
7.5 KiB
Plaintext
215 lines
7.5 KiB
Plaintext
$ uv run tools/flow.py push reference/lab02-example1-lean.json
|
||||
|
|
! unpublished '75 IT helpdesk + safe record (answer)' (w2ae10aa66addee4): it used the same webhook path
|
|||
|
|
✔ pushed '75 IT helpdesk + lean prompt (reference)' (id wd453c4a61b08d35)
|
|||
|
|
POST http://localhost:5678/webhook/my-cost
|
|||
|
|
|
|||
|
|
$ uv run tools/flow.py test cases/lab02.json -v
|
|||
|
|
POST http://localhost:5678/webhook/my-cost · 5 case(s) × 1
|
|||
|
|
✔ 예제 1 · VPN · 보내는 양 줄이기 · 4.7s · 자동 답변 · 3 calls · $0.000346
|
|||
|
|
→ request POST /webhook/my-cost
|
|||
|
|
{
|
|||
|
|
"question": "VPN 접속이 자꾸 끊겨요. 어떻게 하나요?",
|
|||
|
|
"user": "이준호"
|
|||
|
|
}
|
|||
|
|
← response HTTP 200
|
|||
|
|
{
|
|||
|
|
"route": "자동 답변",
|
|||
|
|
"answer": "VPN 접속 오류가 발생할 경우, VPN 클라이언트를 최신 버전으로 업데이트하고 인증서 만료 여부를 확인한 후 다시 접속해 주시기 바랍니다. 현재 관련된 접수된 티켓은 없습니다. 추가 도움이 필요하시면 언제든지 문의해 주시기 바랍니다.",
|
|||
|
|
"sources": [
|
|||
|
|
"FAQ-003"
|
|||
|
|
],
|
|||
|
|
"llm_calls": 3,
|
|||
|
|
"usage": {
|
|||
|
|
"prompt_tokens": 361,
|
|||
|
|
"completion_tokens": 126,
|
|||
|
|
"by_step": {
|
|||
|
|
"classify": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 78,
|
|||
|
|
"completion_tokens": 6,
|
|||
|
|
"cost_usd": 4.08e-05
|
|||
|
|
},
|
|||
|
|
"answer": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 165,
|
|||
|
|
"completion_tokens": 56,
|
|||
|
|
"cost_usd": 0.0001556
|
|||
|
|
},
|
|||
|
|
"review": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 118,
|
|||
|
|
"completion_tokens": 64,
|
|||
|
|
"cost_usd": 0.0001496
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"cost_usd": 0.000346,
|
|||
|
|
"recorded": true
|
|||
|
|
}
|
|||
|
|
✔ 예제 1 · 접수 · 보내는 양 줄이기 · 3.2s · 자동 답변 · 3 calls · $0.000284
|
|||
|
|
→ request POST /webhook/my-cost
|
|||
|
|
{
|
|||
|
|
"question": "T-1002 처리 상태 알려 주세요",
|
|||
|
|
"user": "박서연"
|
|||
|
|
}
|
|||
|
|
← response HTTP 200
|
|||
|
|
{
|
|||
|
|
"route": "자동 답변",
|
|||
|
|
"answer": "T-1002 티켓은 현재 인증서 발급 승인 대기 중이며, 10월 20일에 완료될 예정입니다. 추가 문의 사항이 있으시면 언제든지 알려주시기 바랍니다.",
|
|||
|
|
"sources": [],
|
|||
|
|
"llm_calls": 3,
|
|||
|
|
"usage": {
|
|||
|
|
"prompt_tokens": 330,
|
|||
|
|
"completion_tokens": 95,
|
|||
|
|
"by_step": {
|
|||
|
|
"classify": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 71,
|
|||
|
|
"completion_tokens": 6,
|
|||
|
|
"cost_usd": 3.8e-05
|
|||
|
|
},
|
|||
|
|
"answer": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 152,
|
|||
|
|
"completion_tokens": 45,
|
|||
|
|
"cost_usd": 0.0001328
|
|||
|
|
},
|
|||
|
|
"review": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 107,
|
|||
|
|
"completion_tokens": 44,
|
|||
|
|
"cost_usd": 0.0001132
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"cost_usd": 0.000284,
|
|||
|
|
"recorded": true
|
|||
|
|
}
|
|||
|
|
✔ 예제 1 · 비밀번호 · 품질 그대로 · 3.1s · 자동 답변 · 3 calls · $0.000294
|
|||
|
|
→ request POST /webhook/my-cost
|
|||
|
|
{
|
|||
|
|
"question": "비밀번호를 잊어버렸어요. 재설정은 어떻게 하나요?",
|
|||
|
|
"user": "한지훈"
|
|||
|
|
}
|
|||
|
|
← response HTTP 200
|
|||
|
|
{
|
|||
|
|
"route": "자동 답변",
|
|||
|
|
"answer": "비밀번호 재설정은 사내 포털 로그인 화면의 '비밀번호 찾기'에서 휴대폰 인증 후 새 비밀번호를 설정하시면 됩니다. 추가 도움이 필요하시면 문의해 주시기 바랍니다.",
|
|||
|
|
"sources": [
|
|||
|
|
"FAQ-001"
|
|||
|
|
],
|
|||
|
|
"llm_calls": 3,
|
|||
|
|
"usage": {
|
|||
|
|
"prompt_tokens": 355,
|
|||
|
|
"completion_tokens": 95,
|
|||
|
|
"by_step": {
|
|||
|
|
"classify": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 81,
|
|||
|
|
"completion_tokens": 6,
|
|||
|
|
"cost_usd": 4.2e-05
|
|||
|
|
},
|
|||
|
|
"answer": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 169,
|
|||
|
|
"completion_tokens": 43,
|
|||
|
|
"cost_usd": 0.0001364
|
|||
|
|
},
|
|||
|
|
"review": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 105,
|
|||
|
|
"completion_tokens": 46,
|
|||
|
|
"cost_usd": 0.0001156
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"cost_usd": 0.000294,
|
|||
|
|
"recorded": true
|
|||
|
|
}
|
|||
|
|
✘ 예제 2 · 분류는 작은 모델 · 2.7s · 자동 답변 · 3 calls · $0.000183 · usage.by_step.classify.model = gpt-4.1-mini (expected gpt-5.4-nano)
|
|||
|
|
→ request POST /webhook/my-cost
|
|||
|
|
{
|
|||
|
|
"question": "회의실 화면 공유가 안 되는데 누구에게 물어보나요?",
|
|||
|
|
"user": "이준호"
|
|||
|
|
}
|
|||
|
|
← response HTTP 200
|
|||
|
|
{
|
|||
|
|
"route": "자동 답변",
|
|||
|
|
"answer": "죄송합니다만, 해당 정보를 찾지 못했습니다. 담당 직원이 곧 도움을 드리겠습니다. 감사합니다.",
|
|||
|
|
"sources": [],
|
|||
|
|
"llm_calls": 3,
|
|||
|
|
"usage": {
|
|||
|
|
"prompt_tokens": 278,
|
|||
|
|
"completion_tokens": 45,
|
|||
|
|
"by_step": {
|
|||
|
|
"classify": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 78,
|
|||
|
|
"completion_tokens": 6,
|
|||
|
|
"cost_usd": 4.08e-05
|
|||
|
|
},
|
|||
|
|
"answer": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 124,
|
|||
|
|
"completion_tokens": 14,
|
|||
|
|
"cost_usd": 7.2e-05
|
|||
|
|
},
|
|||
|
|
"review": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 76,
|
|||
|
|
"completion_tokens": 25,
|
|||
|
|
"cost_usd": 7.04e-05
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"cost_usd": 0.0001832,
|
|||
|
|
"recorded": true
|
|||
|
|
}
|
|||
|
|
✔ 예제 2 · 프린터 · 품질 그대로 · 3.2s · 자동 답변 · 3 calls · $0.000312
|
|||
|
|
→ request POST /webhook/my-cost
|
|||
|
|
{
|
|||
|
|
"question": "프린터 출력이 안 돼요",
|
|||
|
|
"user": "최유진"
|
|||
|
|
}
|
|||
|
|
← response HTTP 200
|
|||
|
|
{
|
|||
|
|
"route": "자동 답변",
|
|||
|
|
"answer": "프린터 전원과 네트워크 연결을 확인하시고, 인쇄 대기열을 비운 후 다시 출력해 보시기 바랍니다. 추가 도움이 필요하시면 담당 직원에게 문의해 주시기 바랍니다.",
|
|||
|
|
"sources": [
|
|||
|
|
"FAQ-004"
|
|||
|
|
],
|
|||
|
|
"llm_calls": 3,
|
|||
|
|
"usage": {
|
|||
|
|
"prompt_tokens": 352,
|
|||
|
|
"completion_tokens": 107,
|
|||
|
|
"by_step": {
|
|||
|
|
"classify": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 72,
|
|||
|
|
"completion_tokens": 6,
|
|||
|
|
"cost_usd": 3.84e-05
|
|||
|
|
},
|
|||
|
|
"answer": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 164,
|
|||
|
|
"completion_tokens": 54,
|
|||
|
|
"cost_usd": 0.000152
|
|||
|
|
},
|
|||
|
|
"review": {
|
|||
|
|
"model": "gpt-4.1-mini",
|
|||
|
|
"prompt_tokens": 116,
|
|||
|
|
"completion_tokens": 47,
|
|||
|
|
"cost_usd": 0.0001216
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"cost_usd": 0.000312,
|
|||
|
|
"recorded": true
|
|||
|
|
}
|
|||
|
|
Passed 4/5
|
|||
|
|
report: runs/lab02-20261028-210339.json
|
|||
|
|
|
|||
|
|
$ uv run tools/flow.py diff answers/75-lab01-challenge2-safe-record.json reference/lab02-example1-lean.json
|
|||
|
|
75 IT helpdesk + safe record (answer) → 75 IT helpdesk + lean prompt (reference)
|
|||
|
|
~ 'Answer' parameters.jsonBody: changed (3491 → 822 chars)
|
|||
|
|
1 change(s)
|