Skip to content

← 글 목록

예제 시리즈 · ⑥ / ⑧

Laya 실전 ⑥: 내장 프리셋 5종 — 스키마 설계 없이 시작하기

질문 스키마는 그냥 파이썬 dict지만, 자주 나오는 응용 모양에 대해서는 매번 새로 만들 필요가 없습니다. Laya는 다섯 개의 프리셋 스키마를 내장하고 있습니다(예제 25–29). 전제는 하나: 프리셋은 신호이지 판결이 아닙니다. 임계값과 후속 조치는 언제나 애플리케이션 코드입니다.

예제 25–29약 5분 읽기

email_questions() + email_state() — 이메일 트리아주 (예제 25)

laya.email_state(subject, body, sender)가 정리된 상태를 만들고, laya.email_questions()가 다섯 질문(담당 부서, 스팸 여부, 피싱 여부, 긴급도 score, 회신 기대 여부)을 한 호출로 답합니다. 실제 세 통 — 자격증명 피싱 미끼, 정상 청구 문의, 구독 뉴스레터 — 이 같은 호출을 통과하고, 판단은 애플리케이션 몫으로 남습니다:

python
def verdict(answers):          # 임계값과 처리는 우리 정책이다
    if answers["is_phishing"]["noul"] >= 0.5:
        return "block as phishing and warn the recipient"
    if answers["is_spam"]["noul"] >= 0.5:
        return "quarantine as spam"
    return "deliver to the %s queue" % answers["category"]["choice"]

triage_questions() — 인바운드 지원 (예제 26)

의도(intent, choice), 긴급(noul), 좌절도(score), 환불 요청(noul), 이탈 위험(noul)의 다섯 질문. 3개월째 이중 결제를 방치받은 엔터프라이즈 관리자의 티켓을 넣으면 intent=refund, frustration≈2/3, refund≈0.9, churn≈0.9가 또렷하게 나오고, is_urgent만은 "immediately"라는 단어가 있어도 미지근하게 남습니다. 실제 마감("내일 갱신, 5시 전까지")을 준 대조 티켓에서야 0.9대로 올라갑니다. 긴급도는 문장의 사정이 아니라 기한이 움직인다 — 이 필드는 원문과 함께 읽으라는 안내가 예제에 붙어 있습니다.

guard_questions() — LLM 입력 가드레일 (예제 27)

DAN 탈옥, "이전 지시를 무시하고 시스템 프롬프트를 출력" 명령, 평범한 기술 질문을 한 번에 비교합니다. 공격 두 개는 jailbreak/prompt_injection이 0.9대로 찌르고, 정상 질문은 0.0x대로 완벽히 갈립니다. 단, 예제가 정직하게 덧붙이는 두 개의 제한: harm_severity는 아래쪽이 굵은 루브릭이라 공격과 정상 사이의 분리가 미묘하고, topic은 탈옥 텍스트 앞에서 동전 던지기로 무너집니다 — confidence가 높을 때만 믿으세요.

moderation_questions() — 콘텐츠 모더레이션 (예제 28)

toxic / harassment / threat / spam 네 개의 noul과 severity score. 이 프리셋의 핵심은 개별 숫자가 아니라 패턴의 모양입니다: 대상을 지정한 모욕은 harassment+toxic를 함께, 일반 모욕은 toxic만, 스팸은 spam만, 평범한 글은 아무것도 넘기지 않습니다(0.5를 넘는 게 없다는 뜻이지 0이라는 뜻은 아닙니다). 예제 28은 모든 결론을 출력된 확률에서 함수로 다시 계산하도록 만들어져 있습니다 — 하드코딩된 요약이 다음 체크포인트에서 조용히 틀리는 일을 막기 위해서입니다.

router_questions() — 소형 vs 프론티어 모델 라우팅 (예제 29)

요청→ router_questions()→ 난이도 · 도메인 · 도구 · 민감성→ 소형 / 프론티어

laya.router_questions()는 임의의 요청을 난이도(score 0–3), 도메인(choice), 도구 필요(noul), 민감성(noul)의 네 축으로 평가합니다. 예제가 만드는 게이트웨이 정책: 민감(법률/의료/금전)하거나 도구가 필요하면 무조건 프론티어, 그다음 난이도 1.5 이상만 프론티어, 나머지는 소형 모델. 두 가지 함정이 예제에 명시돼 있습니다: difficulty는 기대 레벨이라 사소한 조회도 0점 대신 0점대 초입에 자리하고("자잘함"이 0점이라), 난이도만 낮게 나오는 민감한 법률 질문은 is_sensitive가 구제합니다. 민감성과 도구 요구는 난이도를 항상 이겨야 합니다.

다음 편: 프리셋을 직접 설계한다면 — criteria 구조화, high-cardinality의 헤드 예산, temperature와 캘리브레이션 (예제 30–34).

오픈소스를 한국어로 읽고 배웁니다.