에이전트 디자인 및 최적화

Completed

팁 (조언)

자세한 내용은 텍스트 및 이미지 탭을 참조하세요.

Adventure Works 팀이 에이전트 사양(에이전트가 수행해야 하는 작업, 동작 방식 및 성공 측정 방법)을 정의하는 청사진을 작성하면 빌드할 내용을 정확히 알 수 있습니다. 이제 그들은 그것을 디자인합니다. 에이전트를 설계한다는 것은 서로 연결된 세 가지를 선택하는 것을 의미합니다. 즉, 어떤 모델이 이를 구동할지, 이를 데이터에 어떻게 기반하게 할지, 그리고 사양에 명시된 목표를 달성하도록 이를 어떻게 최적화할지입니다.

에이전트 사양을 기반으로 하는 에이전트 디자인 빌드를 보여 주는 다이어그램으로, 모델, 접지 및 최적화의 세 가지 연결된 선택 항목으로 구성됩니다.

모델 선택

사양에 따르면 에이전트는 제품 질문에 친숙한 어조로 답변합니다. 이는 자연스러운 대화형 텍스트를 생성하도록 빌드된 GPT-4와 같은 채팅 완성 모델을 가리킵니다. 추론 모델(예: o1)은 수학 및 복잡한 논리에서 빛나지만 기어 추천 에이전트에 필요한 것은 아닙니다.

크기도 선택합니다. LLM(대규모 언어 모델)은 심층적인 추론과 광범위한 컨텍스트를 처리합니다. Phi-3과 같은 작은 언어 모델(SLL)은 더 저렴하고 빠르며 포커스가 있는 작업에 충분히 적합합니다. Adventure Works는 트래픽이 많을 것으로 예상하기 때문에 요청당 비용을 제어하는 더 작은 모델의 무게를 측정합니다.

유형(채팅 완성 또는 추론)과 크기(LLM 또는 SLM)라는 두 가지 모델 결정을 보여 주는 다이어그램으로, 채팅 완성과 SLM이 선택되어 있습니다.

팁 (조언)

사용 가능한 가장 강력한 옵션이 아니라 명세에 정의된 작업에 맞춰 모델을 선택하세요. 루브릭을 충족하는 작은 모델은 대규모로 비용을 절감합니다.

데이터에 에이전트 그라운드

기본 모델은 세계에 대해 많이 알고 있지만 Adventure Works의 현재 인벤토리에 대해서는 아무것도 알지 못합니다. 이를 해결하기 위해 팀은 두 가지 방법을 비교합니다.

RAG(검색 보강 세대) 를 사용하면 에이전트가 제품 카탈로그와 같은 외부 데이터를 검색하고 응답할 때 해당 결과를 사용할 수 있습니다. 미세 조정 대신 작업별 예제에서 모델을 다시 학습하여 동작이나 톤을 형성합니다.

두 가지 접지 방법을 보여 주는 다이어그램: 자주 변경되는 데이터의 RAG 및 일관된 톤을 위한 미세 조정(종종 결합됨).

Adventure Works는 RAG를 선택합니다. 제품이 오고 가면서 카탈로그가 지속적으로 변경되고 RAG는 항상 최신 데이터를 가져오는 반면, 미세 조정된 모델은 재고가 변경될 때마다 재학습이 필요합니다. 미세 조정은 일관된 스타일이나 특수한 기술이 필요할 때에도 여전히 도움이 됩니다. 예를 들어 Adventure Works는 과거 지원 채팅 데이터를 바탕으로 모델을 미세 조정해, 항상 브랜드 특유의 따뜻하고 격려하는 말투로 답변하고 "3시즌 텐트"가 한겨울의 혹한기용은 아니라는 점을 아는 등 적절한 아웃도어 용어를 사용하게 할 수 있습니다. 스타일은 거의 바뀌지 않는 반면 재고는 자주 바뀌므로, 많은 프로덕션 에이전트는 둘 다 결합합니다. 즉, 톤은 미세 조정으로 맞추고 최신 데이터는 RAG로 보완합니다.

루브릭에 맞춰 최적화

디자인은 반복적입니다. 팀은 프롬프트 엔지니어링을 통해 명령 프롬프트 를 구체화한 다음, 앞에서 정의한 평가 루브릭에 대해 각 버전을 측정합니다. 정밀도 문제: 정밀도 에이전트는 관련성이 없거나 잘못된 권장 사항을 더 적게 반환하여 구매자의 신뢰를 구축합니다.

최적화 루프를 보여 주는 다이어그램: 명령 프롬프트를 다듬고, 스모크 테스트를 실행한 다음, 자동화된 평가를 수행하며, 이 모든 것을 루브릭을 기준으로 측정합니다.

사양의 테스트 데이터를 기반으로 합니다. 작은 프롬프트를 조정할 때마다 빠른 피드백을 위해 스모크 테스트를 실행한 다음, 전체 데이터 세트에서 반복 가능한 목표, 반복 가능한 점수 매기기를 위해 더 큰 변경 전에 전체 자동화된 평가를 실행합니다. 각 루프는 사양이 설정된 품질 표시줄에 에이전트를 더 가깝게 이동합니다.

사용 사례에 적합한 접지 접근 방식은 무엇입니까? 데이터가 자주 변경됩니까, 아니면 주로 일관된 톤이 필요한가요? 에이전트를 설계한 다음 단계는 이러한 선택이 전체 개발 수명 주기에 어떻게 적합한지 확인하는 것입니다.