머신러닝 & 딥러닝/LLM

[LLM] AI Agent의 계획 향상 및 함수 호출(Function Calling) 개념

Haru_29 2025. 3. 6. 01:42

1. AI의 계획 능력 향상 방법

📌 AI 에이전트가 더 나은 계획(Planning)을 세우려면 다음과 같은 개선이 필요함

1️⃣ 프롬프트 최적화 (Prompt Engineering)

  • 더 많은 예제를 제공하여 AI가 패턴을 학습할 수 있도록 함
  • 예제 기반 학습 (Few-shot learning)을 활용하여 성능 향상 가능

2️⃣ 도구 및 매개변수 설명 강화

  • 도구의 기능과 필요한 매개변수(Parameter)를 명확하게 설명
  • 예제:
    • ❌ "convert_units" → AI가 이 함수가 무엇을 변환하는지 이해하기 어려움
    • ✅ "convert_lbs_to_kg" → AI가 명확하게 기능을 이해할 수 있음

3️⃣ 복잡한 함수를 단순화 (Refactoring Complex Functions)

  • 하나의 함수가 너무 많은 역할을 수행하면 AI가 계획을 잘못 세울 가능성이 있음
  • 하나의 복잡한 함수를 두 개 이상의 단순한 함수로 나누면 계획 품질이 향상됨

4️⃣ 더 강력한 모델 활용

  • 단순한 모델보다 더 강력한 LLM을 활용하면 계획 성능이 향상됨
  • 예제: GPT-3.5보다는 GPT-4를 활용하는 것이 더 정교한 계획을 수행 가능

5️⃣ 계획 생성 전용 모델 미세 조정 (Fine-tuning a model for plan generation)

  • 특정 도메인에 맞게 모델을 미세 조정(Fine-tuning)하여 계획 능력을 최적화할 수 있음

📌 결론:

  • AI가 단순한 "예측 모델"에서 "계획 수행 모델"로 발전하려면, 프롬프트 개선, 도구 최적화, 모델 선택, 미세 조정이 필수적!

2. 함수 호출(Function Calling): AI 모델을 에이전트로 전환

📌 함수 호출(Function Calling)이란?

AI 모델이 특정 기능을 수행하는 함수를 자동으로 호출하는 기능

💡 이 개념을 활용하면, AI 모델을 단순한 텍스트 생성기가 아니라, "실제 기능을 수행하는 에이전트"로 만들 수 있음!

함수 호출의 일반적인 흐름:

1️⃣ 도구 목록 생성 (Create a tool inventory)

  • AI가 사용할 수 있는 모든 함수를 정의
  • 각 함수는 이름(Name), 실행 방식(Function Name), 매개변수(Parameters), 설명(Description)을 포함해야 함

2️⃣ AI가 사용할 도구 선택 (Specify what tools the agent can use)

  • AI 모델이 어떤 도구를 호출할 수 있는지 지정
  • 선택 가능한 옵션:
    • required → AI가 최소한 하나의 도구를 사용해야 함
    • none → AI는 도구를 사용하지 않음
    • auto → AI가 적절한 도구를 자동으로 선택

3. 함수 호출 예제

📌 예제: AI가 "파운드를 킬로그램으로 변환"하는 함수 호출

💡 사용자가 입력한 질문:

"40파운드는 몇 킬로그램인가?"

📌 AI가 사용할 수 있는 함수 목록:

def lbs_to_kg(lbs: float) -> float:
    return lbs * 0.45359237

📌 AI가 자동으로 함수 호출을 생성 (Pseudo-code)

  "response": {
    "finish_reason": "tool_calls",
    "message": {
      "role": "assistant",
      "tool_calls": [
        {
          "function": {
            "name": "lbs_to_kg",
            "arguments": {
              "lbs": "40"
            },
            "type": "function"
          }
        }
      ]
    }
  }
}

해석:

  • AI는 "lbs_to_kg" 함수를 자동으로 호출
  • 매개변수 lbs=40이 포함됨
  • 결과적으로, AI가 킬로그램으로 변환된 값을 반환 가능

4. 함수 호출의 장점과 한계

📌 🔹 장점 (Advantages)

AI가 실질적인 작업을 수행 가능

  • 단순한 질문 응답(Q&A)에서 "실행 가능한 AI"로 발전✅ 다양한 API와 연동 가능
  • AI가 웹 검색, 데이터베이스 조회, 계산, 파일 처리 등의 기능을 수행 가능✅ 보다 정밀한 응답 생성
  • AI가 직접 함수를 호출하여 더 정확한 계산과 분석 가능

📌 🔹 한계 (Limitations)

🚨 잘못된 함수 호출 가능 (Hallucination Issues)

  • AI가 존재하지 않는 함수를 호출할 수도 있음
  • 해결책: 함수 호출 검증 시스템 추가

🚨 매개변수 오류 (Parameter Errors)

  • AI가 잘못된 매개변수를 전달할 수 있음
  • 해결책: 유효성 검사(Validation Checks) 적용

5. 결론: AI 에이전트의 미래는 "함수 호출"과 결합된다!

기존의 AI 모델은 단순한 텍스트 생성기였지만, "함수 호출(Function Calling)"을 통해 실제 작업을 수행할 수 있는 에이전트로 변신 가능

AI가 자동으로 적절한 도구를 선택하고 실행하면, 더욱 강력한 자동화가 가능

미래의 AI는 단순한 답변 제공을 넘어, 실질적인 작업을 수행하는 "액션 기반 AI(Agentic AI)"가 될 것! 🚀