AI/LLM

[Agent] 자율적인 AI 에이전트

jumemory 2025. 8. 7. 16:42

[LLM 컨셉] AI Agent: 생각하고 행동하며 목표를 달성하는 지능체

**AI 에이전트(Agent)**는 주어진 목표를 달성하기 위해 스스로 계획을 세우고, 필요한 도구(Tool)를 사용하며, 그 결과를 바탕으로 다음 행동을 결정하는 자율적인 시스템입니다. 챗봇이 '말을 잘하는 사람'이라면, 에이전트는 '일을 완수하는 직원'에 비유할 수 있습니다.


1. 에이전트의 핵심 구성 요소 (The Brain & Body)

에이전트는 크게 4가지 핵심 능력을 갖추고 있어야 합니다.

  1. Planning (계획): 복잡한 목표를 작은 단위의 작업으로 쪼개고 실행 순서를 정합니다. (예: CoT, Step-by-step reasoning)
  2. Memory (기억): 현재 진행 상황과 과거의 시도 결과를 기억합니다. (단기 기억: Context Window, 장기 기억: Vector DB)
  3. Tools (도구 사용): 모델이 직접 할 수 없는 일(계산, 검색, 코드 실행, 이메일 발송 등)을 외부 API나 기능을 호출하여 해결합니다.
  4. 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 



 

https://wandb.ai/site/ko/

 

# 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