제5장. 도구 사용, 학습 및 프로토콜
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
도구 모듈은 LLM을 확장하고 에이전트에게 자율적인 행동을 생성하는 데 매우 흥미로운 모듈입니다. 일반적인 LLM은 그 자체만으로는 단순히 텍스트를 입력받아 다른 텍스트를 출력하는 함수에 불과합니다. 이를 통해 흥미로운 챗봇을 만들 수는 있지만, 아직 환경과 상호작용할 수는 없습니다. 함수나 API 형태의 도구를 통해 LLMs은 현실 세계로 진출하여, 코드베이스와 내부 도구부터 온라인 데이터베이스, 심지어 홈 어시스턴트에 이르기까지 LLM에 노출된 모든 시스템과 상호작용할 수 있습니다.
에이전트를 정의하는 핵심 특성은 도구를 자율적으로 검색, 선택, 활용하여 환경과 상호작용하고 환경에 영향을 미칠 수 있는 능력입니다. 충분한 역량을 갖춘 에이전트는 심지어 스스로 사용할 도구 세트를 만들 수도 있습니다. 일반적으로 도구를 통해 LLM은 행동을 취하고 외부 환경과 상호작용하거나, 데이터를 추출하고 외부 애플리케이션을 사용할 수 있습니다( 그림 5-1 참조). 도구의 이점은 환경과의 상호작용에만 국한되지 않습니다. 제4장에서 논의한 바와 같이, 도구는 일반적으로 외부 지식이나 기억에 접근하는 데 사용됩니다. 심지어 도구를 사용하여 멀티모달 LLMs이나 특정 작업(예: 코딩)에 특화된 LLMs과 같이 에이전트가 가진 능력을 뛰어넘는 기능을 갖춘 전문 LLM에 접근할 수도 있습니다.
그림 5-1. 도구는 ‘행동 수행’ 또는 ‘정보 검색’으로 분류될 수 있다
그러나 일반적인 LLMs은 웹 검색, 계산기 사용, 약속 예약 등을 직접 수행할 수 없습니다. 단지 그러한 의도를 전달할 뿐, 실제로 행동으로 옮기지는 못합니다. 도구가 없다면 에이전트는 자율적으로 사고하고 계획할 수는 있지만, 자율적으로 행동할 수는 없습니다.
자율성의 정도는 도구의 사용 방식도 결정합니다. 그림 5-2에서 볼 수 있듯이, 자율성이 없고 고정된 흐름이 있다면 도구는 미리 정의된 순서대로 사용될 수 있습니다. 예를 들어, 연구 에이전트는 항상 arXiv나 Google과 같은 도구를 호출하여 결과를 추출하고, 이를 요약할 수 있습니다.
그림 5-2. 도구 사용의 고정된 흐름 예시
반면, 자율성 정도가 더 높은 시스템에서는 에이전트가 어떤 도구를 언제 사용할지 선택할 수 있습니다. 그림 5-3에 설명된 바와 같이, 이는 여전히 LLM 호출의 연속이지만, 도구의 선택은 에이전트가 자율적으로 결정합니다.
그림 5-3. 도구를 동적으로 사용하는
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access