[LLM 컨셉] AI Agent: 생각하고 행동하며 목표를 달성하는 지능체
**AI 에이전트(Agent)**는 주어진 목표를 달성하기 위해 스스로 계획을 세우고, 필요한 도구(Tool)를 사용하며, 그 결과를 바탕으로 다음 행동을 결정하는 자율적인 시스템입니다. 챗봇이 '말을 잘하는 사람'이라면, 에이전트는 '일을 완수하는 직원'에 비유할 수 있습니다.
1. 에이전트의 핵심 구성 요소 (The Brain & Body)
에이전트는 크게 4가지 핵심 능력을 갖추고 있어야 합니다.
- Planning (계획): 복잡한 목표를 작은 단위의 작업으로 쪼개고 실행 순서를 정합니다. (예: CoT, Step-by-step reasoning)
- Memory (기억): 현재 진행 상황과 과거의 시도 결과를 기억합니다. (단기 기억: Context Window, 장기 기억: Vector DB)
- Tools (도구 사용): 모델이 직접 할 수 없는 일(계산, 검색, 코드 실행, 이메일 발송 등)을 외부 API나 기능을 호출하여 해결합니다.
- Action (행동): 도구 사용 결과나 모델의 판단을 바탕으로 최종 결과물을 내놓거나 다음 단계로 진행합니다.
2. 에이전트의 사고 프레임워크: ReAct
에이전트가 자율적으로 일하게 만드는 가장 대표적인 논리 구조는 **ReAct (Reasoning + Acting)**입니다.
- Thought (생각): "사용자가 날씨를 물어봤네. 현재 위치를 확인하고 날씨 API를 조회해야겠다."
- Action (행동): get_weather(location="Seoul") 함수 호출
- Observation (관찰): API로부터 "맑음, 25도"라는 결과값을 받음.
- Thought (생각): "정보를 얻었으니 이제 사용자에게 친절하게 답변하자."
- Final Answer (결과): "현재 서울의 날씨는 25도로 매우 맑습니다!"
3. 에이전트의 진화: Single-Agent에서 Multi-Agent로
최근에는 하나의 모델이 모든 일을 다 하기보다, 각자의 전문 분야를 가진 여러 에이전트가 협업하는 방식이 주목받고 있습니다.
- Manager Agent: 전체 목표를 설정하고 작업을 배분.
- Coder Agent: 실제 프로그래밍 코드를 작성.
- Reviewer Agent: 작성된 코드의 버그를 검토하고 수정을 요청.
- 장점: 작업의 정밀도가 높아지고, 복잡한 프로젝트를 효율적으로 수행할 수 있습니다.
4. 에이전트 구현을 위한 핵심 기술 결합
에이전트는 앞서 배운 로드맵의 기술들이 합쳐져야 완성됩니다.
- LangGraph: 에이전트의 사고 루프(루프 구조)와 상태 관리를 설계합니다.
- MCP (Model Context Protocol): 모델이 내 컴퓨터 파일이나 외부 데이터베이스에 안전하게 접속할 수 있는 '표준 연결 통로' 역할을 합니다.
- Tool Calling: LLM이 특정 상황에서 어떤 함수를 호출해야 할지 정확한 인자(Parameter)와 함께 선택하는 능력입니다.
5. [선생님의 심화 보충] 에이전트의 한계: "루프의 함정"
에이전트 설계 시 가장 주의해야 할 점은 **'무한 루프(Infinite Loop)'**입니다. 모델이 잘못된 판단을 내려 똑같은 도구를 계속 반복 호출하거나, 길을 잃고 헤매는 현상이죠. 이를 방지하기 위해 **최대 반복 횟수(Max Iterations)**를 설정하거나, 랭그래프(LangGraph)를 통해 사람이 중간에 개입(Human-in-the-loop)할 수 있는 안전장치를 만드는 것이 실무의 핵심입니다.
✍️ 공부를 마치며
AI 에이전트는 LLM 기술의 '꽃'입니다. 이제 모델은 단순한 지식 저장소를 넘어, 우리의 손과 발이 되어 복잡한 업무를 수행할 준비가 되었습니다. 이제 이 에이전트를 실제 세상에 내놓기 위해 **[19단계: Quantization - 모델 경량화]**로 넘어가 서비스 효율성을 극대화해 볼까요?
https://huggingface.co/google/gemma-2b-it
1. 허깅페이스 토큰 발급
2. runpot 로그인
3. gpu 컨테이너 생성
(vram 48g 이상)
파인튜닝
- Gemma
주의점
1. 작은 데이터셋 학습시 과적합 문제 발생 위험 높아짐
2. Catastrophic Forgetting (재앙적 망각 현상)
3. 학습 비용이 높음
4. 쓰레기를 넣으면 쓰레기를 나옴 (Garbage In, Garbage Out)
- 데이터 품질
VS RAG
# BLEU
- BLEU (Bilingual Evaluation Understudy)
- 주로 기계 번역(Machine Translation)의 성능을 평가하기 위해 사용되는 지표
- 생성된 텍스트(Candidate)가 정답 텍스트(Reference)와 얼마나 유사한지, 특히 **얼마나 많은 n-gram이 겹치는지**를 측정합니다.
# 구현
- **N-gram 정밀도(Precision) 기반:** BLEU는 **정밀도(Precision)** 를 중심으로 평가
- 즉, 생성된 텍스트에 있는 n-gram이 정답 텍스트에 얼마나 많이 존재하는지를 측정
- **수정된 N-gram 정밀도(Modified N-gram Precision):** 단순히 n-gram이 존재하는지 여부만 보는 것이 아니라, **정답 텍스트에서 n-gram이 나타나는 횟수 이상으로 중복 계산되지 않도록 제한**합니다. 이를 통해 생성된 텍스트가 특정 구절을 반복하여 BLEU 점수를 인위적으로 높이는 것을 방지합니다.
- **길이 패널티(Brevity Penalty):** 생성된 텍스트가 정답 텍스트보다 **지나치게 짧을 경우 점수에 패널티를 부여**합니다. 이를 통해 생성된 텍스트가 너무 짧아서 정보를 충분히 담고 있지 않을 때 점수가 과도하게 높아지는 것을 방지합니다.
- **일반적으로 1~4 gram을 사용**합니다.
랭그래프pip install langgraph
ㅌㅌ
'AI > LLM' 카테고리의 다른 글
| [Quantization] 모델 경량화 (0) | 2025.08.11 |
|---|---|
| [MCP] LLM의 만능 커넥터 (0) | 2025.08.08 |
| [LangGraph] 에이전트의 설계도 (0) | 2025.08.06 |
| [LangChain] AI 파이프라인 구축 (0) | 2025.08.05 |
| [Semantic Search] 의미 기반 검색 (4) | 2025.08.04 |