-
효과적인 에이전트 구축
- 지난 1년 동안 다양한 산업에서 대형 언어 모델(LLM) 에이전트를 구축하는 여러 팀과 협력해 왔음. 가장 성공적인 구현은 복잡한 프레임워크나 전문 라이브러리를 사용하지 않고, 간단하고 조합 가능한 패턴을 사용했음.
-
에이전트란 무엇인가?
- 에이전트는 여러 방식으로 정의될 수 있음. 일부 고객은 에이전트를 독립적으로 복잡한 작업을 수행하는 완전 자율 시스템으로 정의함. Anthropic에서는 워크플로우와 에이전트를 구분하여 에이전트 시스템으로 분류함.
-
에이전트를 사용할 때와 사용하지 않을 때
- LLM을 사용한 애플리케이션 구축 시 가능한 한 간단한 솔루션을 찾고, 필요할 때만 복잡성을 증가시키는 것이 좋음. 에이전트 시스템은 종종 지연 시간과 비용을 더 나은 작업 성능과 교환함.
-
프레임워크 사용 시기와 방법
- LangGraph, Amazon Bedrock의 AI Agent 프레임워크, Rivet, Vellum과 같은 프레임워크는 에이전트 시스템 구현을 쉽게 만듦. 그러나 기본 코드를 이해하는 것이 중요함.
-
구성 요소, 워크플로우, 에이전트
- 에이전트 시스템의 기본 구성 요소는 증강된 LLM임. 이 LLM은 검색, 도구, 메모리 등의 기능을 활용할 수 있음.
-
워크플로우: 프롬프트 체이닝
- 작업을 여러 단계로 나누어 각 LLM 호출이 이전의 출력을 처리하는 방식임. 이 워크플로우는 고정된 하위 작업으로 쉽게 분해될 수 있는 작업에 적합함.
-
워크플로우: 라우팅
- 입력을 분류하고 특화된 후속 작업으로 안내하는 방식임. 복잡한 작업에 적합함.
-
워크플로우: 병렬화
- 작업을 독립적인 하위 작업으로 나누어 병렬로 실행하거나, 동일한 작업을 여러 번 실행하여 다양한 출력을 얻는 방식임.
-
워크플로우: 오케스트레이터-워커
- 중앙 LLM이 작업을 분해하고 워커 LLM에게 위임하여 결과를 종합하는 방식임.
-
워크플로우: 평가자-최적화자
- 하나의 LLM 호출이 응답을 생성하고 다른 하나가 평가와 피드백을 제공하는 루프임.
-
에이전트
- 에이전트는 복잡한 입력을 이해하고, 도구를 신뢰성 있게 사용하며, 오류에서 회복하는 능력을 갖춘 LLM이 성숙해짐에 따라 생산에 등장함.
-
에이전트 사용 시기
- 예측할 수 없는 단계가 필요한 개방형 문제에 적합함. 신뢰할 수 있는 환경에서 작업을 확장하는 데 이상적임.
-
패턴 결합 및 맞춤화
- 이러한 구성 요소는 개발자가 다양한 사용 사례에 맞게 조정하고 결합할 수 있는 일반적인 패턴임.
-
요약
- LLM 분야에서 성공은 가장 정교한 시스템을 구축하는 것이 아니라, 필요에 맞는 시스템을 구축하는 것임. 간단한 프롬프트로 시작하고, 종합적인 평가로 최적화하며, 간단한 솔루션이 부족할 때만 다단계 에이전트 시스템을 추가해야 함.