1. 에이전트(Agent)란?
에이전트는 스스로 행동하고 결정을 내리는 AI 시스템을 의미한다.
가장 쉽게 "자율주행자동차"가 있다.
2. Tool Calling이란?
Tool은 AI가 작업을 수행하기 위해 호출하는 외부 기능이나 API를 뜻한다.
- 예시 :
- 데이터베이스 조회 : 고객 정보를 가져오기.
- 계산기 : 복잡한 수학 연산 수행.
- 웹 검색 : 실시간 정보를 검색해 사용자 질문에 답변.
Tool Calling은 AI가 필요한 도구를 호출해 결과를 가져오는 메커니즘이다.
- 장점 :
- 다양한 기능을 손쉽게 확장 가능.
- AI가 단순히 답변을 생성하는 것을 넘어, 실제로 행동할 수 있게 만듦.
3. Tool Calling 예시
다음 2가지를 가정해보자.
- 사내망에서만 작동하는 LLM이 있다. 해당 LLM은 사내의 모든 정보를 알고 있다고 가정하자.
- 여름에 외부 기온이 28도가 되면 사내 에어컨이 켜진다.
여기서 나는 오늘 사내 에어컨이 켜질 지를 LLM에게 물어보고자 한다.
1. 첫 번째 시도 - LLM만 사용
최근에 입사한 나는 사내 에어컨이 오늘 켜질 지 궁금해서 사내 LLM에 질문한다.
하지만 사내망에서는 외부 기온을 측정할 방법이 없기 때문에 LLM은 답을 하지 못 한다.
그래서 직접 온도를 측정해서 LLM에게 알려주려고 한다.
2. 두 번째 시도 - LLM에 추가 정보 전달
결국 다음 과정을 통해 LLM에게 추가적인 정보를 전달함으로써 에어컨이 켜진다는 것을 알 수 있다.
하지만 매번 이렇게 한다면 번거로울 것이다.
그래서 우리는 이 LLM이 경우에 따라서 온도를 측정할 수 있도록 할 것이다.
3. 세 번째 시도 - LLM에 도구 전달
우리는 LLM이 온도를 측정할 수 있도록 "Tool"을 만들어서 LLM과 bind한다. (위 예시에서의 tool은 원격 온도 측정 도구 정도로 생각하면 된다.)
그 결과, 우리가 "오늘 에어컨이 켜지나?"라고 물으면 LLM이 tool을 사용할 지 사용하지 않을 지를 판단한다.
해당 과정을 통해 우리는 LLM에게 새로운 기능을 부여함과 동시에, 우리의 역할을 더 줄일 수 있다.
결론 : 도구를 bind하면 LLM 자체의 한계를 넘어 실시간 데이터 활용이나 특정 작업 수행(검색 등)이 가능해진다. 그래서 응답 정확성, 확장성이 좋다고 할 수 있다.
4. LangChain이란?
LangChain은 LLM(대형 언어 모델)을 중심으로 에이전트와 도구를 결합해 작업을 수행하는 기술이다.
- 정의: LLM을 추론 엔진으로 사용해 어떤 행동을 할지 결정하고, 필요한 도구를 호출해 문제를 해결.
- 작동 방식:
- 에이전트가 질문을 분석하고 도구 호출이 필요한지 판단.
- Tool Calling을 통해 필요한 정보를 검색하거나 작업을 수행.
- 결과를 바탕으로 추가 작업을 결정하거나 최종 응답을 생성.
- 활용 예시:
- 챗봇: 사용자의 질문에 따라 데이터베이스를 조회하고 적절한 답변 생성.
- 문서 분석: 긴 문서를 요약하거나 특정 정보를 추출.
5. LangGraph란?
LangGraph는 LLM을 활용한 복잡한 워크플로우와 의사 결정 프로세스를 시각적으로 설계하는 기술이다.
- 특징:
- 노드 기반 설계: __START__와 END 노드를 기준으로 작업의 흐름을 정의.
- 멀티 에이전트: 여러 에이전트를 조합해 복잡한 작업을 효율적으로 처리.
- 예시:
- 고객 지원: 대화 흐름을 설계해 고객의 문제를 분석하고 적절한 부서로 연결.
- 대화 설계: 조건에 따라 분기 처리 및 상태 전환을 구현.
LangGraph는 특히 대화형 AI나 상태 기반 워크플로우를 쉽게 관리하고 설계하는 데 유용하다.
4줄 요약
- Agent는 자율적인 AI 시스템으로 행동과 결정을 내린다.
- Tool Calling은 AI가 외부 도구를 호출해 작업을 수행하는 메커니즘이다.
- LangChain은 LLM과 Tool Calling을 결합해 문제 해결을 가능하게 한다.
- LangGraph는 이러한 프로세스를 시각적으로 설계하고 관리하는 기술이다.