피드로 돌아가기
Dev.toAI/ML
원문 읽기
Stochastic Prompt를 Deterministic Workflow로 대체한 LLM 아키텍처 설계
Stop letting the prompt be your state machine
AI 요약
Context
Prompt 내에 의도 파악, 데이터 수집, 출력 포맷팅 등 모든 런타임 로직을 위임함으로써 발생하는 비결정론적 동작 문제 분석. 모델의 확률적 특성으로 인해 동일 입력에도 일관되지 않은 결과가 도출되며, 이는 테스트 불가능한 구조적 결함으로 이어지는 한계점 확인.
Technical Solution
- 모델 호출을 전체 파이프라인의 단일 단계로 격리하여 각 단계를 독립적으로 Unit Test 가능한 Typed Workflow 구조로 설계
- Zod 라이브러리를 활용한 Schema Validation 도입으로 모델 출력값의 타입 안정성 확보 및 런타임 계약(Contract) 수립
- JSON Mode 및 Tool Calling을 통해 Freeform Prose 대신 구조화된 데이터를 강제하여 데이터 파싱의 예측 가능성 증대
- Confidence Score 기반의 Typed Branch를 구축하여 저신뢰도 응답 시 Human Review 단계로 분기하는 제어 게이트 구현
- 모델의 토큰 생성 결과가 아닌 전체 워크플로우의 실행 경로와 가드레일을 제어하는 시스템적 Determinism 달성
실천 포인트
- Prompt 내에 '확신할 때만 수행하라'는 식의 자연어 지시문 대신 코드 레벨의 조건문 분기(Typed Branch)를 적용했는가 - 모델의 응답을 단순 String이 아닌 JSON Schema 기반으로 검증하고 실패 시 예외 처리 로직을 갖추었는가 - LLM 호출 전후의 데이터 가공 단계를 분리하여 모델 없이도 비즈니스 로직을 테스트할 수 있는 구조인가 - 모델의 출력값에 의존하지 않는 시스템적 가드레일과 재시도 전략(Retry Gate)이 설계되었는가