409
13
장
디자인 패턴과 시스템 아키텍처
13.2
프로그래밍 패러다임
이번 장에서 살펴본 바와 같이, 프로덕션급
LLM
시스템은 시스템을 견고하고 신뢰할 수 있게
만드는 데 도움이 되는 많은 소프트웨어 컴포넌트로 구성될 수 있습니다. 당연히 생산적이고
유지 보수 가능한 시스템을 구축하는 데 도움이 되는 소프트웨어 디자인 패턴을 사용하고 싶을
것입니다. 개발자 커뮤니티는 이 부분에서 아직 성숙해 가는 과정이며, 검증되고 테스트된 설
계 패턴이 등장하기까지는 더 많은 시간이 걸릴 것입니다.
이러한 상황에서, 다양한
LLM
프로그래밍 패러다임이 제안되고 있습니다. 아직 실증적 검토가
충분히 이루어지지 않은 패러다임이 많지만, 일부는 실제 프로덕션 환경에서도 활용 가능한 수
준까지 성숙해졌습니다. 여기서는 그중 대표적인 몇 가지를 소개합니다.
13.2.1
DSPy
LLM
애플리케이션 개발은 본질적으로 반복적인 실험과 조정을 요구하는 과정입니다. 최적의
모델을 선택하기 전에 여러 후보
LLM
을 테스트해 볼 때가 많습니다. 초기에는 보통 제로샷 프
롬프트로 시작합니다. 이 방식은 다양한 프롬프트를 실험하며 구성하는 과정을 포함하는데, 이
러한 작업을 일반적으로 프롬프트 엔지니어링이라고 합니다. 제로샷 방식이 충분하지 않다면
퓨샷 프롬프트로 전환하게 됩니다. 이 방법은 다양한 예시를 포함한 프롬프트를 구성하고 반복
해서 실험하는 과정을 포함합니다. 퓨샷 방식으로도 원하는 성능이 나오지 않는다면 모델을 직
접 파인 튜닝하는 단계로 나아갈 수 있습니다. ...