Next.js AI SDK Tutorial - 16 - Tools
- AI 모델은 학습 데이터의 한계로 인해 외부 정보에 접근할 수 없으며, 이를 해결하기 위해 'tools'라는 특수 함수를 사용합니다. 🛠️
- 'tools'는 AI가 특정 작업을 수행하기 위해 호출할 수 있는 함수로, AI SDK의 'tool' 헬퍼 함수를 사용하여 정의합니다. 🧰
- 'tool' 정의에는 도구에 대한 설명(description), 입력 매개변수 스키마(input schema, Zod 사용), 실행 함수(execute)가 포함됩니다. 📝
- AI가 도구를 사용하기로 결정하면, 이는 프로세스의 한 단계로 간주되며, 결과를 처리하고 자연어 응답을 생성하는 데 추가 단계가 필요합니다. ⚙️
- 'streamText' 함수에 'stopWhen' 속성을 'stepCountIs(2)' 이상으로 설정하여 AI가 도구를 호출하고 결과를 처리할 수 있도록 합니다. 🔢
- 메시지 배열의 타입 안전성을 향상시키기 위해 'inferUITools' 및 'UIDataTypes'를 사용하여 도구 호출을 지원하도록 합니다. 🛡️
- AI는 도구가 관련이 있을 때와 그렇지 않을 때를 스스로 판단할 수 있으며, 사용자는 명시적으로 지시할 필요가 없습니다. 🤔
- 도구를 사용하면 사용자는 자연어 상호 작용을 통해 복잡한 시스템과 상호 작용할 수 있으며, AI가 모든 오케스트레이션을 처리합니다. 🎼
- 예제에서는 날씨 정보를 제공하는 도구를 만들어 AI가 특정 위치의 날씨를 묻는 질문에 답변할 수 있도록 했습니다. ☀️
- 다음 강의에서는 외부 API 및 시스템과 함께 도구를 호출하는 방법에 대해 알아봅니다. 📡