프롬프트 템플릿에서 동적으로 값을 주입할 수 있게 해주는 매개변수
함수나 고정값을 변수에 매핑하여 실행 시점에 값을 결정
템플릿 생성 시 일부 변수를 자동화하는 메커니즘


RunnableLambda 방식에서의 def 선언은 여러 체인에서 재사용이 가능하지만
partial_variabels에서는 해당 프롬프트에서만 사용된다.
맥도날드의 서구점의 배달에 비유하면 :

RunnableLambda는 배민 기사님이라서
넓은 범위에 배달이 가능하다.
여러 지역의 주문에서 동일한 배달 가능 여부 확인 함수를 사용한다.
각 체인(지역)에서 필요할 때마다 호출하여 사용한다.

Partial_variables는
맥도날드의 직원인데 멀리 가지 못하고
해당 프롬프트 (서구점)에서만 사용이 가능하다.
주문이 들어올 때마다 자동으로 배달 가능 여부 확인을 한다.

쉽게 말해서

RunnableLambda 방식은 맥도날드 PDA 부산지점 관리자 아이디이다.
관리자 아이디로 로그인을 하면 부산안의 맥도날드 지점들이 뜨고
서구점 매장을 선택하고 재고 확인을 눌렀을 때 def가 실행되는 반면

partial_variables는 맥도날드 PDA 서구점 사장님의 아이디이다.
서구점 사장님의 아이디로 로그인을하면 나의 매장밖에 조회가 안되고 자동으로 def 함수가 실행된다.


메일로 예를 들면

input_variables는 네이버 메일이다.

partial_variables는 사내 이메일이다.

input_variables는
로그인 할 때마다 고정된 값들을 매번 입력해주어야한다.

하지만 partial_variables는
고정된 값을 제외한 매번 바뀌는 나머지만 입력하면 된다.
결과적으로
partial_variables는 특정 상황에서 반복적으로 사용되는 값들을 미리 설정해두어 효율성을 높이는 메서드이다. input_variables의 범용성과 RunnableLambda의 동적 처리 능력과 달리, partial_variables는 고정된 환경에서 일관된 결과를 빠르게 생성하는데 특화되어 있다. 마치 사내 메일 시스템처럼, 특정 컨텍스트 내에서 최적화된 성능을 발휘하도록 설계된 메서드라고 할 수 있다.