Data Science/생성형 AI
LangGraph 기반 Agent 시스템 (2)
Boxya
2025. 4. 23. 21:12
[KT] AIVLE SCHOOL 21일차
AI Agent의 일반적인 구조
- LLM은 사용자의 입력을 받아 응답을 생성
- 필요 시
- 외부에서 정보를 검색하거나(Retrieval)
- 툴을 사용하거나(Tool)
- 메모리를 읽고 쓰며(Memory)
- 결과를 종합해서 응답을 생성
Tool
- 에이전트가 특정 작업을 수행하기 위해 호출할 수 있는 외부 기능(함수)
- e.g. 계산기, 웹 검색, DB 조회, 시간 확인 등
- GPT나 LangGraph 에이전트는 모든 걸 직접 알지는 못함
- 그래서 필요할 때 적절한 Tool을 선택하고 호출해서 문제를 해결
- 두 가지 유형
- 내장된 도구 : LangChain에서 여러가지 내장된 도구 제공
- Customer Tool : 우리가 직접 만든 도구
Custom Tool을 사용한 Agent
- Agent 구성
- 사용자가 질문 -> call_model 호출
- GPT가 tool_call (도구 호출) -> tools 노드 실행
- tools 노드 실행 결과 추가 -> 다시 call_model로 돌아가서 최종 응답 생성
- 더 이상 tool_call 없으면 -> end
- 절차
- Tool 준비
- Custom Tool 정의하기
- Tool 등록 및 ToolNode 생성
- tools 리스트 생성 : 정의된 tool 함수들을 리스트에 담음
- ToolNode 인스턴스 : 등록된 tools들을 관리하고 호출 요청을 처리하기 위해 ToolNode 생성
- LLM 준비
- LLM 정의할 때 tools 리스트를 바인딩
- LLM이 호출 할 수 있는 툴 목록 연결
- LLM 정의할 때 tools 리스트를 바인딩
- 그래프 만들기
- State, Node, 그래프 구성
- Tool 준비
내장된 도구 사용 Agent
- 그래프 흐름
- 내장 툴들을 불러오기 (load_tools())
- 하나의 ToolNode에 묶기
- LangGraph로 LLM -> ToolNode -> LLM 구조 실행하기
- Custom Tool 기반 Agent와 절차 동일
- Tool 준비 부분만 간소화